Oct 3, 2017

nmapとsmb-vuln-ms17-010について

nmapの本や、Blackhat USAでもご活躍のPaulino Calderonという人の解説が興味深いので、自分用のメモを以下に

インストール

#nmap --script-updatedb
脆弱性を見つけるには
$nmap --script smb-vuln-ms17-010 -p445 <target>

動作原理

スクリプトは 'IPC$' tree に接続、FID 0 にトランザクション実行を試みる。
エラー "STATUS_INSUFF_SERVER_RESOURCES" が返ってくれば、
マシンは ms17-010に脆弱。
パッチされたシステムは "STATUS_ACCESS_DENIED"を返す。
スクリプトは IPC$ へのアクセスを要求する。
IPC$への匿名アクセスを制限しているシステムでは、
この脆弱性検査のために、認証情報を提供しなければならない(参照、下記)
$nmap --script smb-vuln-ms17-010 --script-args smbuser=<user>,smbpass=<pass> -p445 <target>

パッチ適用済みか

スクリプトのレポートを取得するには、verbosityを有効に
$nmap -v --script smb-vuln-ms17-010 -p445 <target>
結果は、次の通り:
Host script results:
|_smb-vuln-ms17-010: This system is patched.

バックドアがあるか

システムが smb-double-pulsar-backdoorと呼ばれる
DOUBLEPULSAR を埋め込まれているか
検査するための NSEスクリプトがあります。
$nmap --script smb-double-pulsar-backdoor -p445 <target>

最後に

「Win 7, 8.1, 10で試して期待通りの動作。
 問題に気づいたらpcapを送ってください。」だそうです。

出典

https://github.com/cldrn/nmap-nse-scripts/wiki/Notes-about-smb-vuln-ms17-010
------ 以下、2017/10/09 追記

メタスプロイト、末尾のリンクからダウンロード可能

動作の仕組み
これも IPC$に接続試行しFID 0のトランザクション後、
"STATUS_INSUFF_SERVER_RESOURCES"が返ってきたら、MS17-010のパッチ未適用と判断。
 
もしMS17-010パッチが未適用だったら、本モジュールは DoublePulsar 感染有無をチェック。
デフォルトのサーバ設定だと、本モジュールには、有効なSMB認証情報は不要。
ユーザ "\" としてログオンし、IPC$ に接続できるので、とのこと。

出典
 https://www.rapid7.com/db/modules/auxiliary/scanner/smb/smb_ms17_010
--> 2018.05.20 追記
矢印の順に試したところ。
手元のアンチウイルスは無反応だった。

SMBv1を無効にして、nmapで探索を再実行

すると(「patched」じゃなく)、「Could not connect to 'IPC$'」と表示された
...

No comments: