Nick Security Log

securityを始めとしたNickのブログです

Microsoft Exchange CVE-2020-0688 検証

※勉強目的のみ。悪用厳禁。

環境構築

Windows Server 2016
Windows Server 2019でやったら、Windows Defender が邪魔して入れられなかった。
www.microsoft.com

Exchange 2016
docs.microsoft.com

参考にした動画
www.youtube.com

管理者コンソールが見えるようになった。
f:id:NickShadows:20200307172204p:plain

CVE内容

Microsoft Exchange コントロールパネル(ECP)における、リモートコード実行可能な脆弱性。
jp.tenable.com

検証

pocは記事内リンクからたどったものを使用した。
Burp Collaboratorへ通信を発生させてコード実行を確認する。
以下のコマンドを脆弱性経由で実行させる。

ping {Collaborator}.burpcollaborator.net

実行前

接続情報なし
f:id:NickShadows:20200307172811p:plain

poc実行

f:id:NickShadows:20200307173012p:plain

ViewStateの作成には「ysoserial.net」を使用する。
github.com

f:id:NickShadows:20200307173257p:plain

「ysoserial.net」の結果をpocに貼り付ける。
f:id:NickShadows:20200307173411p:plain

実行後

DNSへリクエストが来た通知がCollaboratorに来た。
このことから、pingコマンドが実行されたと考えられる。
f:id:NickShadows:20200307173519p:plain

感想

環境構築が一番大変だった。
Exchangeのインストーラ探しから始まり、サーバインストール、Exchangeインストールなどなど。

脆弱性自体の検証は簡単だった。
悪用となると、認証情報が必要となるので難しい印象がある。
リストを使って連続でペイロードを投げることが出来るなら、ある程度認証周りの課題は解決できそうな気もするが。

根本的な原因であるデシリアライズのあたりは理解が出来ていない。
どうやったらこの脆弱性が発生するのか気になるが、OSSではないのでソースが確認できないのが難しいところ。

Windowsサーバを立てられたので、またWindows関連のCVEを検証してみたい。