꿈을꾸는 파랑새

마이크로소프트에서 제공하는 운영체제인 윈도우 10 에서 제공하는 테마 기능을 악용해서 사용자 윈도우 암호를 훔칠 수가 있는 문제가 발견되었다고 합니다.
공격 방식은 다음과 같습니다.
특수 제작된 Windows 10 테마 및 테마 팩을 해시 통과 공격(Pass-the-Hash attacks)에 사용하여 의심하지 않는 사용자로부터 Windows 계정 자격 증명을 훔칠 수 있습니다.
Windows에서는 사용자가 사용자 지정 색상, 사운드, 마우스 커서 및 운영 체제에서 사용할 배경 무늬가 포함된 사용자 지정 테마를 만들 수 있습니다.
테마 설정은 C:\Users\사용자 이름\AppData\Local\Microsoft\Windows\Themes폴더 아래에 Custom Dark.theme과 같은 .theme 확장자를 가진 파일로 저장됩니다.
해당 파일을 강제로 메모장 또는 notepad++을 열어 보면 다음과 같은 결과를 볼 수가 있습니다.
그런 다음 활성 테마를 마우스 오른쪽 버튼으로 클릭하고 공유를 위해 테마 저장을 선택하여 Windows 테마를 다른 사용자와 공유할 수 있습니다. 그러면 테마가 .deskthemepack 파일로 패키징 됩니다.
이러한 데스크탑 테마 팩은 이메일을 통해 공유하거나 웹 사이트에서 다운로드 할 수 있으며 두 번 클릭하여 설치할 수 있습니다.
이런 방법을 통해서 사용자 지정 테마를 사용하여 Windows 암호를 훔칠 수 있습니다.

Jimmy Bayne(@bohops)트위터

윈도우 10 테마윈도우 10 테마

보안 연구원 Jimmy Bayne(@bohops )은 특별히 제작된 Windows 테마를 사용하여 Pass-the-Hash 공격을 수행할 수 있다고 발표를 했습니다.
Pass-the-Hash 공격은 사용자가 인증이 필요한 원격 SMB 공유에 액세스하도록 속여 Windows 로그인 이름과 암호 해시를 훔치는 데 사용됩니다.
원격 리소스에 접근하려고 할 때 Windows는 Windows 사용자의 로그인 이름과 암호의 NTLM 해시를 전송하여 원격 시스템에 자동으로 로그인을 시도하며
Pass-the-Hash 공격에서 전송된 자격 증명은 공격자가 수집 한 다음 방문자의 로그인 이름과 암호에 접근하기 위해 암호를 해독하려고 시도하며 Bayne이 발견 한 새로운 방법에서 공격자는 특수 제작된 .theme 파일을 생성하고 바탕 화면 배경 무늬 설정을 변경하여 아래와 같이 원격 인증이 필요한 리소스를 사용할 수 있으며 Windows에서 원격 인증이 필요한 리소스에 액세스하려고하면 로그인한 계정에 대한 NTLM 해시와 로그인 이름을 보내 공유에 자동으로 로그인을 시도하며 다음 공격자는 자격 증명을 수집하고 특수 스크립트를 사용하여 암호를 해독할 수 있으므로 일반 텍스트 형식이 됩니다.

Windows 10 테마 파일Windows 10 테마 파일

Pass-the-Hash 공격은 Microsoft 계정을 포함하여 Windows에 로그인하는 데 사용되는 계정을 보내므로 이러한 유형의 공격은 더욱 문제가 되며 Microsoft가 로컬 Windows 10 계정에서 Microsoft 계정으로 이동하기 때문에 원격 공격자는 이 공격을 사용하여 Microsoft에서 제공하는 수많은 원격 서비스에보다 쉽게 ​​액세스 할 수 있으며 잠재적으로 이메일, Azure 또는 액세스 가능한 회사 네트워크에 원격에서 액세스 할 수 있는 기능이 포함되며 Bayne은 올해 초 Microsoft에이 공격을 공개했지만, 설계에 의한 기능이므로 수정되지 않을 것이라고 말했습니다.
악성 테마 파일로부터 보호하기 위해 Bayne은 .theme, .themepack 및 .desktopthemepack 파일 확장자를 차단하거나 다른 프로그램에 다시 연결하도록 권장하고 있으며
이를 방지 하려고 예방하는 방법은 다음과 같습니다.
NTLM 자격 증명이 원격 서버로 전송되지 않도록 방지
먼저 윈도우키+R를 눌러서 gpedit.msc를 입력을 해주고 실행을 해줍니다. 그리고 나서
컴퓨터 구성->Windows 설정->보안 설정->로컬 정책->보안 옵션->네트워크 보안 : NTLM 제한:원격 서버로 보내는 NTLM 트래픽

NTLM 누출 확인

ValdikSS`s Test 결과ValdikSS`s Test 결과

해당 정책이 모두 거부로 구성되어 있으면 Windows는 더는 공유에 액세스 할 때 NTLM 자격 증명을 원격 서버로 자동 전송하지 않습니다.
네트워크 보안 : NTLM 제한 : 원격 서버로 나가는 NTLM 트래픽 정책
그룹 정책
이 정책이 도메인 가입 시스템에 구성되면 공유에 액세스 할 때 문제가 발생할 수 있습니다.
Windows 10 Home 사용자였으면 그룹 정책 편집기에 액세스 할 수 없으며 이 정책을 구성하려면 Windows 레지스트리를 사용해야 합니다. (물론 지난 시간에 글을 적은 그룹 정책 편집기를 사용하는 방법을 통해서 사용 가능)
HKEY_LOCAL_MACHINE \ SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 키 아래에 RestrictSendingNTLMTraffic 레지스트리 값을 작성하고 2로 설정하면 됩니다.

NTLM 자격 증명 제한NTLM 자격 증명 제한

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0]
"RestrictSendingNTLMTraffic"=dword:00000002
을 메모장에 적고 저장을 할 때 기본적인 txt가 아닌 reg로 저장해야 합니다.
이 값을 올바르게 만들려면 Windows 사용자가 레지스트리 편집기를 관리자 권한으로 시작해야 합니다. 해당 정책을 구성할 때는 컴퓨터를 다시 부팅 할 필요가 없습니다.
NTLM 자격 증명을 보내는 기본 Windows 동작으로 되돌리려면 RestrictSendingNTLMTraffic 값을 삭제하여 정책을 비활성화하면 됩니다.
단 원격 공유를 사용하는 엔터프라이즈 환경에서는 사용이 필요하다는 것에 불편할 수가 있을 것입니다.

그리드형

공유하기

facebook twitter kakaoTalk kakaostory naver band