
Pythonスクリプトを使用して、Impacketを用いたCVE-2020-1472(Zerologon)に対するドメインコントローラのテストを実施します。最小限の偽陰性でNetlogon認証バイパスの検出を実行します。
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