はじめに
Hack The Boxやtry hack meはまずは列挙しろってよく言われます。そのツールとしてgobuster,nmap,rustscan,whatweb,WPScanなどなど...使うと思います。
そのツールの1つとしてあるのがffufです。
ffufはgobusterと同じWebアプリケーションへの攻撃に使います。
ただ、gobusterと違っていろんな扱い方があります。
コマンド例
ffuf -c -u http://victim.com/FUZZ -w wordlists.txt
まず、ffufはFUZZの部分にwordlistの文字列を順に入れて-uのURLにアクセスします。なので、ffufのコマンドのどこかにはFUZZの文字列が存在しています。
標準的なオプション
標準的なオプションで見やすくしたり、出力結果が欲しい時に使えます。
オプション | 内容 |
---|---|
-c | 出力のカラー化 |
-u | 攻撃先のURL |
-w | ワードリストファイルのパス |
-o | 出力ファイルとして出力 |
-of | 出力ファイルのフォーマット (標準:json) |
フィルターのオプション
fが付くと条件に合うものについては出力をしなくなる。
mが付くと条件に合うものだけ出力する。
以下の表に*にfかmを指定すればOKです。
オプション | 内容 |
---|---|
-*c | レスポンスコードの指定 |
-*s | レスポンスサイズの指定 |
-*w | レスポンスの文字数を指定 |
実例
以下に実例を示します。
VHOST
組織が複数のドメイン名を1代のサーバーでホストしている仮想ホストを見つけることが可能です。
デフォルト
ffuf -c -u http://victim.com -w wordlists.txt -H "Host: FUZZ.victim.com"
オプション付き
ffuf -u "http:/victim.com/FUZZ" -w /your/wordlist.txt -fw 13127
今回はレスポンスの文字数が13127文字のレスポンスを表示しないようにする。
DIR
隠されたディレクトリを探すために使用する。
デフォルト
ffuf -u "http:/victim.com/FUZZ" -w /your/wordlist.txt -e .php
オプション付き
ffuf -u "http:/victim.com/FUZZ" -w /your/wordlist.txt -e .php -fc 403
今回は表示する拡張子をphpとレスポンスコード403を表示しないようにする。
LFI
デフォルト
LFIとはローカルファイルインクルードで外部ファイルの読み込みではなくサーバー内のファイルを不正に読み込んだり、意図しない動作を起こして脆弱性を発生させます。
ffuf -u "http:/victim.com/upload.php?file=FUZZ" -w /your/wordlist.txt
まとめ
まだもっとオプションがあってhttpのリクエストの指定したりできたりもします。でも、まずはこれさえできれば不自由なく扱えると思います。
ちなみに...
実行中にエンターキーを押すことでインタラクティブモードにできます。
ここで-fwといったフィルター系のコマンドやrestartという再スタートさせるコマンドが使えるのでわざわざctrl+Cを押さなくても済みます!