先日購入して読んだ本
★【電子版じゃなくて付録目当てで紙の本購入】Software Design (ソフトウェア デザイン) 2026年 2月号【特別付録 IIJ謹製「インターネット便利帳」】(2026年1月17日(土曜日))
でございますが、その中の記事で「はじめてのオフェンシブセキュリティ サイバー攻撃者の視点で学ぶハッキング技術 第8回 Boot2Rootに挑戦してみよう!(Windows編)」というのがございましてまあ攻撃の手段を知ることにより防御も考える記事でございますわな。
流れとしてはnmapによるポートスキャン、ただちに脆弱性的なのがなければFFUFによるWebサイトのディレクトリスキャン→phpinfo発見、MSSQLのIDとパスワード発見・・・・的なのでございますがちょいとFFUF、興味を持ちました。Webサーバーのログを見ているとお馴染みの存在しないファイルやディレクトリにアクセスしようとしている奴、これらのツールを組み合わせた奴なのかな?と。
FFUFは侵入テストやセキュリティ診断で人気の高いCLIツールなんだそうな。
とりあえずインストールしてみるか。環境は
★Intel Mac(x86)のmacOS 12のVirtualBOX(仮想環境)でLinux(CentOS 7)のインストールからサーバー環境構築(2022年11月08日 (火曜日))
★Dockerで--mountしてたらそんなフラグ(オプション)はない、とエラー。yumで入れたCentOS 7のDockerのバージョンが古かった【なので最新?安定VerのDockerインストールした】(2023年02月04日 (土曜日))
のLinux環境。コマンド1個なのでDocker使うまでもないかな?という事でGoがインストールされていれば
go install github.com/ffuf/ffuf/v2@latest
で良いようですがインストールした覚えないので普通にバイナリ、ダウンロードします。
★GitHub - ffuf/ffuf: Fast web fuzzer written in Go · GitHub
でバイナリダウンロードなら

★Release v2.1.0 · ffuf/ffuf · GitHub
から。
自分の環境にあったファイルをダウンロードします。今日の時点で家の環境だと
curl -LO https://github.com/ffuf/ffuf/releases/dow
nload/v2.1.0/ffuf_2.1.0_linux_amd64.tar.gz
というような感じでしょうか?
ダウンロードして
tar xzvf ffuf_2.1.0_linux_amd64.tar.gz
解凍してffufのファイルをmvして
/usr/local/bin
にぶち込んで。
ちなみにMacであればHomebrewが入っていれば
★macOS(またはLinux)用パッケージマネージャーHomebrewをIntel Mac miniにインストールしてみた(2023年07月10日 (月曜日))
└M1の方にはまだ入れてなかった。
brew install ffuf
でいいみたい。
人様のサイトにやるのは不味いのでひとまずわが家内のLinux上(というかFFUFコマンドをインストールした環境なので自分から自分へ撃つ感じ)で動いているWebサイトに向けて撃ってみます。
コマンドの書式としては
ffuf -u http://WebサイトのURL/FUZZ -w 探す文字列リストのファイルのパス -c(カラーで文字を出力してわかりやすくするだけ)
という感じですかね。
ffuf -u http://127.0.0.1/FUZZ -w /home/ユーザー名/Documents/common.txt -c
common.txt
の中身は
★http://www.ffuf.me/wordlist/common.txt
から拝借したのとindex.htmlを付け加えて。
コマンドの結果は
/'___\ /'___\ /'___\
/\ \__/ /\ \__/ __ __ /\ \__/
\ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\
\ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/
\ \_\ \ \_\ \ \____/ \ \_\
\/_/ \/_/ \/___/ \/_/v2.1.0
:: Method : GET
________________________________________________
:: URL : http://127.0.0.1/FUZZ
:: Wordlist : FUZZ: /home/ユーザー名/Documents/common.txt
:: Follow redirects : false
:: Calibration : false
:: Timeout : 10
:: Threads : 40
:: Matcher : Response status: 200-299,301,302,307,401,403,405,500
________________________________________________
一部省略
:: Progress: [1056/4687] :: Job [1/1] :: 0 req/sec :: Duration: [0:00:00] :: Err:: Progress: [1430/4687] :: Job [1/1] :: 0 req/sec :: Duration: [0:00:00] :: Err
index.html [Status: 200, Size: 35, Words: 1, Lines: 6, Duration: 1ms]
となります。一部省略の所ではいろいろヒットしたわね・・・・とりあえずどんなもんかは理解できました。
関連
★Linxu環境にnmap入れてみた【ポートスキャンして空いてるポートを調べたりするコマンド】(2025年12月21日(日曜日))