
Impacketを使用して、Netlogon認証バイパスを介してZerologon脆弱性(CVE-2020-1472)のドメインコントローラをテストするPythonスクリプト。パッチ適用済みシステムの検出機能付き。
Impacketライブラリを使用してZerologonエクスプロイト(CVE-2020-1472)の脆弱性をテストするPythonスクリプトです。
Netlogon認証バイパスを試みます。バイパスが成功すると即座に終了し、Netlogon操作は一切実行しません。ドメインコントローラーがパッチ適用済みの場合、検出スクリプトは2000回のRPC呼び出しペアを送信した後で諦め、ターゲットは脆弱ではないと結論付けます(偽陰性の確率は0.04%)。
Python 3.7以上とPipが必要です。依存関係を以下のようにインストールします:
pip install -r requirements.txt
なお、将来のImpacketバージョンでスクリプトが壊れない限り、pip install impacketを実行しても動作するはずです。
このスクリプトはDCまたはバックアップDCを標的にするために使用できます。読み取り専用DCに対してもおそらく動作しますが、テストはされていません。EXAMPLE-DCというドメインコントローラーとIPアドレスのリストを含むファイルIPlist.txtがある場合、以下のようにスクリプトを実行します:
./zerologon_tester.py EXAMPLE-DC IPlist.txt
DC名はそのNetBIOSコンピュータ名である必要があります。この名前が正しくない場合、スクリプトはSTATUS_INVALID_COMPUTER_NAMEエラーで失敗する可能性があります。
この脆弱性に関するホワイトペーパーは、2020年9月14日月曜日にこちらで公開されます:https://www.secura.com/blog/zero-logon