ffuf

Kalilinux
OLYMPUS DIGITAL CAMERA
この記事は約5分で読めます。

ffuf ( Fuzz Faster U Fool ) は、ディレクトリブルートフォースやパラメータ探索、サブドメイン列挙などに使える高速なWeb Fuzzerです。

分かりやすく言うと、ターゲットWebサイトのURLのうちの探索したい部分を ” FUZZ ” の文字を設定し、実行ではその部分を辞書に基づいて色々変更しながら試します。

で、結果的に隠しファイルなどを発見します。

OSINTやWebペンテストでよく使われます。

起動

左上のKaliメニュー ー 01-Reconaissance ー ffuf でhelp画面がでます。

kali menu

バージョンは2.1.0

help

ターミナルからCLIで実行出来ます。

このツールは、多数のリクエストをwebサイトに送信して負荷をかけるので、他人の管理下のサーバーには行わないようにしましょう。

例によってラズパイ5(左)から、ラズパイ4B(右)のサイトを探索します。

Raspberry pi
左のラズパイ5から右のラズパイ4Bに攻撃します。

実行

構文は下記の通りですが、検索したい部分の ” FUZZ ” の文字を入れます。

ディレクトリ検索

ターゲットサイトのディレクトリ検索では、ディレクトリの位置に ” FUZZ ” を入れます。

directory

結果の説明)
ファイル名 [Status: status code, Size: 大きさ, Words: 単語数, Lines: 行数, Duration: 時間]

Response status code

response status codeの簡単な説明。

status code意味説明具体例
100番台情報通常は表示されない
200番台成功リクエストの成功200 : 実在するページやファイル
300番台リダイレクト他のURLへ移動の必要301/302 : リダイレクト。実は存在しているケースがある。
400番台クライアントエラーリクエストのミス403 : アクセス拒否だが、存在はしている可能性大
404 : 存在しない
500番台サーバーエラーサーバー側に問題

拡張子付きのファイル検索

” FUZZ.拡張子 ” の形で検索します。

複数の拡張子で検索

検索したい拡張子が複数の場合はオプション ” -e ” を使用します。

下の例では、 ” .php ” と ” .html ” で検索しています。

extend

サブドメイン検索

サブドメインの部分に ” FUZZ ” を入れます。

subdomain

パラメータ検索

例としてphotonツールでサイトを探索して ” fuzzable.txt ” として出た結果を利用します。

photon

上図ではphotonツールの探索の結果、2つのファイルがパラメータを持つファイルとして列挙されています。

これをffufツールで、パラメータ部分のブルートフォースをします。

1行目

1行目 ” /wp-login.php?action=lostpassword ” に対して、 ” lostpassword ” の部分を ” FUZZ ” に置き換えて探索します。

parameter1

2行目

2行目の ” /?replaytocom=1 ” の ” 1 ” を ” FUZZ ” に置き換えて探索します。

parameter2

上の例では、オプション ” -fc 301 ” でフィルターをかけています。

つまりresponse status codeの “301” (リダイレクト)を除外しています。

よく使われるのは ” -fc 404 ” オプションです。(存在しないものを除外する)

結果の出力

出力の記録は ” -o ” オプションです。

output

デフォルトではjsonフォーマットで記録されます。

json

これでは読みにくいのでpythonで形成した結果

python

” -of ” オプションでは下記フォーマットでの保存が指定出来ます。

まとめ

数学では数式内の分からないところに ” x ” を置いて計算しますが、それと同じ感覚でURL内の分からない(調べたい)ところに ” FUZZ ” を置いて、隠しファイルなどを発見するツールです。

” FUZZ ” は、毛羽立ち、綿毛、警察官など色々な意味で使われるようですが、不明瞭・曖昧という意味も持っています。

kaliのツール的な ” FUZZ ” は、不明瞭・曖昧から転じて、付け入る隙・弱点、脆弱性・攻撃の起点という意味を持っているようです。

コメント

タイトルとURLをコピーしました