zerologon(cve-2020-1472)のPoCを検証してみた
こんにちは、Lokiです。
今回は、世間を騒がせているzerologonについてPoCが9/26時点で4つ確認できましたので、それらをパッチ適用前と適用後のドメコンに対して実行してみたいと思います。
脆弱性の概要
ざっと概要について触れていきます。
元々マイクロソフトが8月の月例セキュリティ更新で修正した脆弱性「CVE-2020-1472」でした。「Netlogon Remoteプロトコル(MS-NRPC)」の実装に起因し、同プロトコルを使用してドメインコントローラーと脆弱なNetlogonセキュアチャネル接続を行った場合に、権限の昇格が生じるおそれがあるというものです。その後Zerologon脆弱性の詳細がオランダのセキュリティ企業Securaによって9月14日に公開されました。(Securaの記事はこちら)
脆弱性の検証
さて、本題に入りましょう。環境の設定は以下です。
OS | IP | 役割 |
Windows Server 2012R2 | 192.168.153.172 | 被害者AD(ad-server01) |
Windows10 Pro | 192.168.153.175 | 攻撃用端末(ドメイン非参加) |
Kali | 192.168.153.160 | 攻撃用端末(ドメイン非参加) |
PoCのURLは以下です。
パッチ適用前
SecuraBV
kaliで実行します。脆弱性かどうかを判定するスクリプトで、脆弱性なら「Success!」と表示されます。
Mimikatz
実行できたみたいです。
dirkjanm
最新版のimpacketでないと「Unexpected error: module 'impacket.dcerpc.v5.nrpc' has no attribute 'NetrServerPasswordSet2」エラーが出ます。こちらから最新のimpacketをDLしてインストールしてください。実行すると以下のようになります。
こちらも実行できたみたいです。
risksense
こちらも実行できたみたいです。
zer0dump
PoCを使用して、Administratorのハッシュが取得できました。
その後パスワードクラックしてみます。
パスワードが判明したので、攻撃は成功しているようです。
パッチ適用後
SecuraBV
「パッチが適用されているから失敗」と表示されます。
Mimikatz
実行失敗のようです。
dirkjanm
こちらも失敗のようです。
risksense
こちらも失敗の様子。
zer0dump
こちらも出来ないみたいです。
今回の記事は以上です。他にも情報が更新され次第検証する予定です。
おまけ
どうやら、2月のパッチが適用されるまではドメインに参加している非windows端末からだと攻撃が可能とのことなので、後日、AD環境に参加しているUbumtu18.04からZerologonのPoCを実行してみました。
まずは、WindowsServer2012R2に8月11日のセキュリティパッチを手動で導入します。
ダウンロードはこちらから。適用すると下図のようにパッチが適用されていることが確認できます。
さて、この状態で攻撃が可能か見てみましょう。
まずは、SecureBVのスキャナから。
続いてMimikatzも試します。
パッチはしっかりと適用されているみたいです。
さて、この状態で、ad-server01(ドメコン)に対してzerologon攻撃を仕掛けてみましょう。
まずは、SecureBVのスキャナから
成功しないようですね・・・w
続いてzer0dumpスクリプトを試します。
こちらも成功しないようです・・・w
イベントには「ID:5085」と書かれていたので、アクセスが拒否されているようです。。。