꿈을꾸는 파랑새

반응형

마이크로소프트에서 제공하는 운영체제인 윈도우 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