CVE-2020-1472 일명 Zerologon Exploit POC

무엇인가?
NetLogon(MS-NRPC)은 도메인 간 제어에 사용되는 취약한 보안 채널을 설정할 수 있습니다.
도메인 컨트롤러의 컴퓨터 계정 비밀번호를 0으로 초기화하는 것이 가능합니다.
참고 사항:
- DC는 비밀번호가 0으로 초기화되는 동안 반쯤 손상된 상태가 되지만, 이 프로그램은 작업이 끝나면 비밀번호를 다시 원래 값으로 변경합니다.
- DC에 DNS 문제가 발생할 수 있습니다(재부팅으로 해결됨).
- Kerberos 티켓은 만료되기 전까지 10시간의 수명을 가집니다.
- netlogon 구조가 추가된 최신 impacket이 GitHub에서 필요합니다.
- 기본적으로 이 도구는 도메인 컨트롤러 시스템 계정의 비밀번호를 변경한 다음 다시 되돌린다는 점에 유의하십시오. 이로 인해 DCSync가 가능해지지만, 그 짧은 시간 동안 다른 도메인 컨트롤러와의 통신이 끊어질 수 있으므로 주의하십시오!
연구 자료:
필수 종속성
- netlogon 구조가 추가된 최신 impacket이 GitHub에서 필요합니다.
취약 여부 확인:
- 스크립트의 기본 동작은 취약 여부를 확인하고 아무것도 변경하지 않는 것입니다!
zerologon.py 사용법
- 위의 블로그/백서를 읽고 무엇을 하는지 이해하십시오.
- 이 스크립트는 CVE-2020-1472 취약점이 있는지 도메인 컨트롤러를 확인합니다.
- -exploit 옵션이 제공되면 다음을 수행합니다:
- 도메인 컨트롤러의 시스템 비밀번호를 0으로 초기화합니다.
- ntds 해시를 얻기 위해 빈 비밀번호로 secretsdump의 DRSUAPI를 호출합니다.
- 덤프된 데이터를 파싱하여 rid가 :500:인 도메인 관리자 계정을 찾고, lsa 시크릿을 얻기 위해 secretsdump를 다시 호출합니다.
- 두 번째 덤프에서 plain_password_hex 값을 파싱합니다.
- hex 값을 사용하여 복원 스크립트를 호출하고 DC의 시스템 비밀번호를 원래 값으로 복원합니다.
python zerologon.py
usage: zerologon.py [-h] [-exploit] dc_name dc_ip
Tests whether a domain controller is vulnerable to the Zerologon attack. Resets the DC account password to an empty string
when vulnerable.
positional arguments:
dc_name The (NetBIOS) computer name of the domain controller.
dc_ip IP Address of the domain controller.
optional arguments:
-h, --help show this help message and exit
-exploit Zero out the computer's hash
탐지 방법:
- 이벤트 4661: (이전 비밀번호를 알지 못한 채) SetPassword에 대한 권한 요청(첨부된 스크린샷 참조)
- 이벤트 4723: 계정의 비밀번호를 변경하려는 시도
- 이벤트 4738: Password Last Set 값이 변경된 사용자 계정
패치 방법:
영향을 받는 시스템:
- Windows Server 2008 R2 for x64-based Systems Service Pack 1
- Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core 설치)
- Windows Server 2012
- Windows Server 2012 (Server Core 설치)
- Windows Server 2012 R2
- Windows Server 2012 R2 (Server Core 설치)
- Windows Server 2016
- Windows Server 2016 (Server Core 설치)
- Windows Server 2019
- Windows Server 2019 (Server Core 설치)
- Windows Server, version 1903 (Server Core 설치)
- Windows Server, version 1909 (Server Core 설치)
- Windows Server, version 2004 (Server Core 설치)