ホワイトハッカーの知識
脆弱性を検索するSearchSploitを理解するためにまとめてみました。
このFierceの動作確認は自分の仮想環境でテストを行っています。
SearchSploitとは
マシン上で実行されているターゲットのサービスに関連する脆弱性をExploit-DBを利用して検索します。Exploit-DBは、既知のセキュリティ脆弱性を利用するエクスプロイトコードを公開しているデーターベースで、ペネトレーションテストやバグハンティングで非常に有用です。
機能
1.豊富な情報量
Exploit-DBには、数千のエクスプロイトコードや脆弱性情報が登録されています。これには、ウェブアプリケーション、ネットワークサービス、ソフトウェアなど、多岐にわたるカテゴリが含まれます。
2.柔軟な検索機能
検索クエリにフィルタをかけたり、特定の条件を指定して効率的にエクスプロイトを見つけることができます。
ツールの場所
[Applications]→[08-Exploitation Tools]→[SearchSploi]
ツールと使用方法
searchsploit [options] term1 [term2] … [termN]
例 nmapを利用して、ターゲットマシンにおいて稼働中のサービスを特定します。
1.nmapを実行
“nmap -sS -sV -A 192.168.1.23"
2.nmapの結果より、searchsploitを実行
“searchsploit apache 1.3.20"
※apacheの脆弱性が見つかりました。
・検索語はいくつでも使用できます。
・デフォルトでは、検索語は大文字小文字を区別せず、順序は関係なく、バージョン範囲内で検索されます。
・大文字小文字を区別して検索結果を減らしたい場合は、’-c’を使用してください。
・完全一致で検索結果を絞り込みたい場合は、’-e’を使用します。
・完全一致のバージョンを検索したい場合は、’-s’を使用します。
・ファイルのパスを除外して検索結果を絞り込むには '-t’ を使用します。
・偽陽性の除去(特に数字(バージョンなど)を使って検索する場合
・nmap’を使用する場合、’-v'(verbose)を追加すると、さらに多くの組み合わせを検索します。
・ヘルプを更新または表示する場合、検索語は無視されます。
オプション(options)
検索条件(Search Terms)
-c, –case [term]
Perform a case-sensitive search. (Default is inSEnsITiVe)
大文字と小文字を区別して検索する (デフォルトは inSEnsITiVe)
-e, –exact [term]
Perform an EXACT & order match on exploit title. (Default is an AND match on each term) [Implies “-t"]
e.g. “WordPress 4.1" would not be detect “WordPress Core 4.1")
Exploitタイトルの完全一致と順序一致を実行 (デフォルトは各用語のAND一致) [-t “を意味する]。
例:「WordPress 4.1 」は 「WordPress Core 4.1 」を検出しない)
-s, –strict
Perform a strict search, so input values must exist, disabling fuzzy search for version range.
e.g. “1.1" would not be detected in “1.0 < 1.3")
厳密な検索を行うため、入力値が存在する必要があり、バージョン範囲のあいまい検索を無効にする。
例:「1.1 」は 「1.0 < 1.3 」では検出されない)
-t, –title [term]
Search JUST the exploit title (Default is title AND the file’s path)
エクスプロイトのタイトルだけを検索する(デフォルトはタイトルとファイルのパス)。
–exclude="term"
Remove values from results. By using “|" to separate, you can chain multiple values
e.g. –exclude="term1|term2|term3″
結果から値を削除する。|」で区切ることで、複数の値を連結することができます。
例:–exclude="term1|term2|term3」
–cve [CVE]
Search for Common Vulnerabilities and Exposures (CVE) value
共通の脆弱性と暴露(CVE)の値を検索する。
出力(Output)
-j, –json [term]
Show result in JSON format
結果をJSON形式で表示する。
-o, –overflow [term]
Exploit titles are allowed to overflow their columns
エクスプロイトのタイトルが列をオーバーフローすることを許可する。
-p, –path [EDB-ID]
Show the full path to an exploit (and also copies the path to the clipboard if possible)
エクスプロイトへのフルパスを表示する(可能であればクリップボードへのパスコピーも行う)
-v, –verbose
Display more information in output
出力に詳細情報を表示する。
-w, –www [term]
Show URLs to Exploit-DB.com rather than the local path
ローカルパスではなくExploit-DB.comへのURLを表示する。
–id
Display the EDB-ID value rather than local path
ローカルパスではなく、EDB-ID値を表示する。
–disable-colour
Disable colour highlighting in search results
検索結果のカラーハイライトを無効にする。
非検索(Non-Searching)
-m, –mirror [EDB-ID]
Mirror (aka copies) an exploit to the current working directory
現在の作業ディレクトリにエクスプロイトをミラー(別名コピー)する。
-x, –examine [EDB-ID]
Examine (aka opens) the exploit using $PAGER
$PAGERを使用してエクスプロイトを調べる(別名開く)
検索しない(Non-Searching)
-h, –help
Show this help screen
ヘルプ画面を表示する。
-u, –update
Check for and install any exploitdb package updates (brew, deb & git)
exploitdbパッケージのアップデートをチェックし、インストールする (brew, deb & git)
自動化(Automation)
–nmap [file.xml]
Checks all results in Nmap’s XML output with service version
NmapのXML出力に含まれる全ての結果をサービスバージョンと共にチェックする。
SearchSploitのまとめ
SearchSploitは、脆弱性情報の効率的な収集と調査を可能にする強力なツールです。
特に、ペネトレーションテストやバグバウンティプログラムで、目標とするシステムやアプリケーションの脆弱性を調査する際に役立ちます。