꿈을꾸는 파랑새

지난 시간에 원도우 인쇄 스풀러 인 인쇄 스풀러 제로 데이 취약점인 CVE-2021-34527 일명 Print Nightmare에 대한 긴급 보안 업데이트인 KB5004945 업데이트가 진행이 되었습니다. 해당 취약점을 악용할 때 악의적인 목적을 가진 자가 시스템에 대한 권한을 높이거나 원격에서 코드를 실행할 수 있습니다. 하지만, 해당 보안패치를 하더라도 앞서 이야기한 것처럼 우회할 수 있습니다. 해당 취약점은 Mimikatz 창시자인 Benjamin Delpy 는 악의적인 목적 가진 자가 자신이 제어하는 ​​원격 인쇄 서버를 통해 Windows 시스템에서 SYSTEM 권한을 쉽게 획득할 수 있도록 하는 새로운 제로데이 취약점을 공개했습니다. 해당 부분은 해당 트위터를 참고 하시면 됩니다. 파일은 인쇄 서버에 연결하는 각 클라이언트에 다운로드되며 취약점을 악용하기 위해 연구원은 대기열별 파일 기능을 사용하는 두 대의 공유 프린터로 인터넷을 통해 액세스할 수 있는 인쇄 서버를 만든 환경에서 취약점을 재현했습니다.
해당 부분은 악성 DLL을 실행할 때 SYSTEM 권한으로 실행되며 컴퓨터에서 모든 명령을 실행하는 데 사용 가능합니다. 모든 현재 버전의 Windows에 영향을 미치고 위협 행위자가 네트워크에 대한 제한된 액세스 권한을 얻고 취약한 장치에 대한 SYSTEM 권한을 즉시 획득 가능하면 액세스를 사용하여 위협 행위자는 도메인 컨트롤러에 액세스할 수 있을 때까지 네트워크를 통해 확산할 수 있습니다. 해당 취약점을 해결하는 방법은 다음과 같습니다.

관련 트위터
1. 네트워크 아웃 바운드 SMB 트래픽 차단
Delpy의 공개 익스플로잇은 원격 인쇄 서버를 사용하므로 아웃 바운드 SMB 트래픽을 차단하여 원격 컴퓨터에 대한 액세스를 방지 가능하면 Dormann은 MS-WPRN을 사용하여 SMB를 사용하지 않고 드라이버를 설치할 수도 있으며 위협 행위자가 로컬 프린터 서버에서 이 기술을 계속 사용할 수 있다고 전하고 있습니다. 따라서 해당 해결 방법은 완벽한 방법이 아닙니다.

2.PackagePointAndPrintServerList 구성 
첫 번째 방법보다는 그나마 안정적인 방법은 PackagePointAndPrintServerList 구성을 하는 방법입니다. 해당 방법은 로컬그룹정책 기능을 활용하는 방법으로 로컬그룹정책은 홈 버전에서 사용할 수가 없지만 윈도우 홈 버전에서 사용하는 방법은 지난 시간에 적은 글을 보시면 해결을 할 수가 있습니다.

[소프트웨어 팁] - 윈도우10 홈 버전 로컬 그룹 정책 편집기 gpedit.msc 사용방법

 

윈도우10 홈 버전 로컬 그룹 정책 편집기 gpedit.msc 사용방법

오늘은 윈도우10 홈 버전 로컬 그룹 정책 편집기 gpedit.msc 사용방법에 대해 알아보겠습니다.일단 기본적으로 gpedit.msc 는 윈도우 프로 버전에서만 사용이 되기 떄문에 로컬정책편집기를 사용을 하

wezard4u.tistory.com

일단 로컬그룹정책을 실행하고 나서 컴퓨터 구성->관리 템플릿->프린터->패키지 지정하여 인쇄-승인된 서버로 이동합니다.
내용을 보면 다음과 같이 적혀져 있습니다.
패키지 지정하여 인쇄를 승인된 서버로 제한합니다.
이 정책 설정은 패키지 지정하여 인쇄 연결을 승인된 서버로 제한합니다. 이 설정은 패키지 지정하여 인쇄 연결에만 적용되며 패키지 지정하여 인쇄가 아닌 연결 동작을 제어하는 "지정하여 인쇄 제한" 정책과는 완전히 별개입니다.

패키지 지정하여 인쇄 승인된 서버
패키지 지정하여 인쇄-승인된 서버

Windows Vista 이상 클라이언트는 이 정책에 의해 시도가 차단되는 경우를 비롯하여 패키지 지정하여 인쇄 연결이 실패할 때마다 비패키지 지정하여 인쇄 연결을 수행하려고 시도합니다. 관리자는 특정 인쇄 서버에 대한 모든 인쇄 연결을 차단하기 위해 두 가지 정책을 모두 설정해야 할 수 있습니다.
이 설정을 사용하면 사용자는 네트워크 관리자가 승인한 인쇄 서버에 대해서만 패키지 지정하여 인쇄를 수행할 수 있습니다. 패키지 지정하여 인쇄를 사용할 때 클라이언트 컴퓨터는 인쇄 서버에서 다운로드한 모든 드라이버의 드라이버 서명을 확인합니다.
이 설정을 사용하지 않거나 구성하지 않으면 패키지 지정하여 인쇄가 특정 인쇄 서버로 제한되지 않습니다.(ポイント アンド プリントの実装を、許可されたサーバーのみに制限します。
このポリシー設定では、ポイント アンド プリントの実装接続を、許可されたサーバーのみに制限します。この設定は、ポイント アンド プリントの実装接続にのみ適用され、ポイント アンド プリントの実装以外の接続の動作を管理する [ポイント アンド プリントの制限] ポリシーからは完全に独立しています。
Windows Vista およびそれ以降のクライアントは、このポリシーでブロックされている試行も含め、ポイント アンド プリントの実装接続が失敗するとポイント アンド プリントの実装以外の接続の確立を試行します。管理者は、両方のポリシーを設定して特定のプリント サーバーへのすべての印刷接続をブロックする必要がある場合があります。
この設定が有効な場合、ユーザーは、ネットワーク管理者により承認されたサーバーに対してのみ、ポイント アンド プリントの実装が可能になります。クライアント コンピューターがポイント アンド プリントの実装を使用する際に、プリント サーバーからダウンロードされたすべてのドライバーのドライバー署名が確認されます。
この設定が無効にされている場合、または構成しなかった場合、ポイント アンド プリントの実装は特定のプリント サーバーだけに制限されなくなります)
해당 부분을 사용으로 변경합니다.
해당 정책은 관리자가 아닌 사용자가 인쇄 서버가 승인된 목록에 없는 경우 지정하여 인쇄를 사용하여 인쇄 드라이버를 설치하는 것을 방지하며 그룹정책편집에 있는 그룹 정책을 사용하면 알려진 악용에 대해 최상의 보호를 제공할 수 있습니다.
가장 확실한 방법은 Print Spooler 기능을 사용 중지하는 방법이지만 해당 프린트 스풀러 기능을 중지하면 인쇄 기능 등을 이용하지 못하기 때문에 그렇게 권장을 하지 않으면 앞서 이야기한 것처럼 PackagePointAndPrintServerList 구성해서 제대로 된 보안 갱신이 나올 때까지 해당 기능을 통해서 방어하는 방법도 좋은 방법일 것입니다.

반응형
그리드형

공유하기

facebook twitter kakaoTalk kakaostory naver band