現役ペンテスト技術者が選ぶ 使えるセキュリティツール(9)「xprobe2」
このコーナーでは、現役のペネトレーションテスト技術者が、使えるセキュリティツールを、ペンテストの現場の視点から紹介します。
特集
特集
・名称…xprobe2
・分野…フィンガープリンティング
・配布制限…GPL
・商用版の有無…無
・類似ツール…nmap(一部の機能)、SinFP
・DL URL…http://xprobe.sourceforge.net/
・対応OS…Linux系OS、FreeBSD、Solaris、OpenBSD、NetBSD、IRIX
(1) 基本項目と概要
xprobe2は、調査対象に対し、様々なパケットを送信し、それらのパケットを送信調査対象のOSの種類やバージョンの特定/推測を行う「OSフィンガープリンティングツール」である。
主に、
・ICMP Echo Requestへの応答
・ICMP Timestamp Requestへの応答
・ICMP Address Mask Requestへの応答
・ICMP Information Requestへの応答
・閉じているであろうポートへのUDPパケットによるICMP Unreachable(到達不能)応答
を確認し、自身が持っているシグネチャとマッチングさせることでOSを特定/推測を行っている。
また、別途オプションを指定することでSMBやSNMPを用いたOSの特定/推測を行うことも可能である。
(2) コマンドサンプル
特になにもオプションを指定せず、実行することで前述した項目によるチェックを行う。
以下はWindows 2003 Server Standard Edition対して、オプションを指定せず、実行した結果(抜粋)である。
[+] Primary guess:
[+] Host 10.100.0.137 Running OS: "Microsoft Windows 2003 Server Standard Edition" (Guess probability: 100%)
[+] Other guesses:
[+] Host 10.100.0.137 Running OS: "Microsoft Windows 2003 Server Enterprise Edition" (Guess probability: 100%)
[+] Host 10.100.0.137 Running OS: "Microsoft Windows XP SP2" (Guess probability: 100%)
「[+] Primary guess:」と書かれた行の1行下の行が推測結果の中で確率の高いものが表示されている。その下に続くものは、候補として推測されたものが列挙されることとなる。今回の実行結果としては、見事、OS特定に成功している。だが、xprobe2も万能ではなく、いつも正しい結果を導き出すわけではない。対象やパケットのフィルタリングの影響下で得られた情報によっては、WindowsかLinux系OSであることのみの特定に留まってしまう場合などもある。
(3) 使用例とTIPS、検査者の視点から
前述したとおり、対象の置かれている環境によっては、正しく結果を導き出すことができない。
そのような場合は、検査の過程で得た情報をオプションによってxprobe2に与えることによりできるだけ正しい結果を導き出すのである。
例えば、ICMPパケットがすべてフィルタされている対象のOS上でtcp/443番ポートの開放の確認がとれていたとする…
【執筆:NTTデータ・セキュリティ株式会社 辻 伸弘】
【セキュリティ用語解説】
フィンガープリント(Finger print)とは
https://www.netsecurity.ne.jp/dictionary/fingerprint.html
ポートスキャン(Port Scan)とは
https://www.netsecurity.ne.jp/dictionary/portscan.html
【関連リンク】
現役ペンテスト技術者が選ぶ 使えるセキュリティツール(8)「httprint」
https://www.netsecurity.ne.jp/3_10254.html
NTTデータ・セキュリティ株式会社
http://www.nttdata-sec.co.jp/
──
※ この記事は Scan購読会員向け記事をダイジェスト掲載しました
購読会員登録案内 http://www.ns-research.jp/cgi-bin/ct/p.cgi?w02_ssw
《ScanNetSecurity》