
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に対しても恐らく動作しますが、テストされていません。IPアドレス 1.2.3.4 のドメインコントローラ EXAMPLE-DC に対して、次のようにスクリプトを実行します。
./zerologon_tester.py EXAMPLE-DC 1.2.3.4
DC名はそのNetBIOSコンピュータ名である必要があります。この名前が正しくない場合、スクリプトは STATUS_INVALID_COMPUTER_NAME エラーで失敗する可能性があります。
この脆弱性に関するホワイトペーパーは、9月14日月曜日にこちらで公開予定です:https://www.secura.com/blog/zero-logon