
Impacket 라이브러리를 사용하여 Zerologon 취약점(CVE-2020-1472)을 테스트하는 Python 스크립트입니다.
Netlogon 인증 우회를 시도합니다. 이 스크립트는 우회에 성공하면 즉시 종료되며, 어떠한 Netlogon 작업도 수행하지 않습니다. 도메인 컨트롤러에 패치가 적용된 경우, 탐지 스크립트는 2000쌍의 RPC 호출을 전송한 후 포기하고 대상이 취약하지 않다고 결론을 내립니다(false negative 확률 0.04%).
Python 3.7 이상과 Pip이 필요합니다. 다음과 같이 의존성을 설치하십시오:
pip install -r requirements.txt
pip install impacket을 실행해도 동작합니다. 단, 향후 Impacket 버전에서 이 스크립트가 깨지지 않아야 합니다.
이 스크립트는 DC(도메인 컨트롤러) 또는 백업 DC를 대상으로 사용할 수 있습니다. 읽기 전용 DC에서도 동작할 가능성이 높지만, 테스트되지는 않았습니다. IP 주소가 1.2.3.4인 EXAMPLE-DC라는 도메인 컨트롤러가 있다고 가정하고, 다음과 같이 스크립트를 실행하십시오:
./zerologon_tester.py EXAMPLE-DC 1.2.3.4
DC 이름은 NetBIOS 컴퓨터 이름이어야 합니다. 이 이름이 올바르지 않으면 스크립트는 STATUS_INVALID_COMPUTER_NAME 오류와 함께 실패할 가능성이 높습니다.
이 취약점에 대한 백서(Whitepaper)는 9월 14일 월요일에 https://www.secura.com/blog/zero-logon 에 게시될 예정입니다.