目次
プロキシツール
プロキシツールはWEBサイト・WEBアプリの脆弱性を探す際にもっとも利用頻度の高いツールのひとつです。WEBブラウザとWEBサーバー間の通信を中継し暗号化された通信内容を解析したり通信内容を改変して送信する機能があります。
Burp Suite
公式サイト:https://portswigger.net/
有料版と無料版がありますが、最も利用頻度の高い機能であるRepeaterを使う分には無料版で十分です。ただし、ファジングやブルートフォースを実行するIntruderは機能制限により低速で使いものになりません。その他にも無料版はCollaboratorが使えません(アウトバウンドトラフィックを補足する機能)。
Intruderはffufで代用できますし、CollaboratorはVPSで代用できるので無理に有料版を使う必要はありません。ただし無料版はプロジェクトの保存ができないので、バグバウンティで稼げるようになったら有料版を使った方がいいかもしれません。
サブドメイン列挙
攻撃対象とするドメインが複数のサブドメインを持っている場合、あらゆる情報源を使ってサブドメインを列挙する必要があります。手動では非常に手間がかかるため、ツールで効率よくサブドメインを収集することをおすすめします。
findomain
公式サイト:https://github.com/Findomain/Findomain
複数のAPIから高速にサブドメインを列挙するツール。他のツールよりも高速で信頼性が高いの素早くサブドメインを列挙したい場合、わたしはfindomainを使います。
subfinder
公式サイト:https://github.com/projectdiscovery/subfinder
複数の情報源からサブドメインを収集するツール。非常に多くのサブドメインを取得できる場合がありますが、有効でないサブドメインも含まれるのでhttpxなどを利用してクレンジングした方がいいでしょう。
amass
公式サイト:https://github.com/owasp-amass/amass
数多くのAPIやオンラインサービスなどから情報収集するツールです。サブドメインだけでなくドメインの組織情報を取得するなど豊富な機能を備えています。また、前回調査からの差分なども出せるので新規に追加されたサブドメインを検出できます。特定のドメインを監視したい場合に重宝します。
高機能なのですが、非常に時間がかかるためサクッとサブドメインを列挙したい場合はfindomainの方がおすすめです。
HTTPコンテンツ列挙
大量のサブドメイン・WEBサイトから攻撃対象を絞り込みたい場合、手動では非常に手間がかかるため自動的にアクセスして情報を集めます。
httpx
公式サイト:https://github.com/projectdiscovery/httpx
WEBサイトにアクセスしてステータスコードやタイトル、コンテンツタイプ、IPアドレスなどを効率よく取得します。スクリーンショットは不要という方におすすめです。
EyeWitness
公式サイト:https://github.com/FortyNorthSecurity/EyeWitness
WEBサイトにアクセスしてスクリーンショットを取得し、応答ヘッダーを記録します。HTML形式でレポート出力するので、保存されたスクリーンショットや応答ヘッダーをWEBブラウザを使って閲覧できます。
Dockerを使えばGUIアクセスできないLinuxマシン(VPS等)でもスクリーンショットを取得できます。
ディレクトリ/APIサーチ
ディレクトリやAPIエンドポイント、隠されたファイルを探し出します。
dirsearch
公式サイト:https://github.com/maurosoria/dirsearch
ディレクトリやファイルをブルートフォースします。効率的にディレクトリやファイルを探し出してくれるので、最初にまずdiresearchを実行する事が多いです。
gobuster
公式サイト:https://github.com/OJ/gobuster
ディレクトリやサブドメイン名を高速にファジングできるツールです。簡単に使えるのでffufの扱いを難しく感じる場合、こちらのツールがおすすめです。dirsearchでサクッと調べて何も見つからない場合はgobusterでワードリストを使ってブルートフォースする事が多いです。
公式サイト:https://github.com/ffuf/ffuf
kiterunner
公式サイト:https://github.com/assetnote/kiterunner
APIに特化したファジングツールです。APIエンドポイントを探し出したい場合に役に立ちます。巨大なワードリストを使う場合、メモリサイズが小さなマシンではハングアップするので注意してください。
これもffufと同様に高速に大量のアクセスをおこなうのでCTFでは重宝しますが実世界ではレート制限などに引っかかる可能性があります。
APIをハッキングする際は「ハッキングAPI」がとてもおすすめです。
arjun
公式サイト:https://github.com/s0md3v/Arjun
隠されたHTTPパラメーターを高速にファジングするツールです。一度に大量のパラメーターを送信することで少ない回数で効率的にパラメーターを検出できます。非公開のパラメーターを探し出す場合に役に立ちます。
HTTPファジング
LFIやパストラバーサル、RCEの脆弱性を探したりWAFのエスケープ方法を探したりします。
ffuf
高速なHTTPファジングツールです。単一あるいは複数のポイントでファジングを実行することができ、エンドポイントを探したり脆弱性がないか調査できます。
gobusterと比較される事がありますが、gobusterがディレクトリやサブドメインをワードリスト使って探し出すというツールに特化しているのに対して、ffufは(gobusterと同じような事ことができるものの)ファザーとしての要素が強いです。
ffufはかなり高速にリクエストを送信するのでレート制限しないとアクセス拒否される場合があるので注意が必要です。詳しくはffufの使い方をご覧ください。
関連記事:ffufの使い方
ポートスキャナ
単純にポートが空いているのかチェックするだけのツールだったポートスキャナですが、現在のポートスキャナはOS判定や脆弱性スキャンの要素を含んだ高度なツールとなっています。
nmap
公式サイト:https://nmap.org/
1997年、Phrackで公開されたNmapはアンダーグラウンド界隈で広く使われるハッキングツールとして発展し、現在はインフラエンジニアのような一般の方々にも利用されるポートスキャナとして知られています。
Nmapが公開された当初はステルススキャンやOS判定といった当時あまり知られていなかったテクニックを実装していて人気を博しましたが、現在は更に進化してスクリプトで拡張し脆弱性スキャナとしての顔も持っている万能のポートスキャナとなっています。
関連記事:Nmapの使い方
SQLインジェクション
sqlmap
公式サイト:https://sqlmap.org/
SQLインジェクションを自動化する非常に優れたツールです。SQLインジェクションは謝ってデータベースを破壊してしまう場合があるため、手動でSQLインジェクションのテストを実施するよりもsqlmapでリスクレベルを指定してテストした方が安全です。
関連記事:sqlmapの使い方
ワードリスト
ファジングやパスワードクラックはワードリストによって成功率が変わります。
SecLists
公式サイト:https://github.com/danielmiessler/SecLists
ファジングの際に非常に役に立つリストが揃っています。基本的にSecListsで十分ですがファジングの際はどのファイルを使うかが重要です。
Assetnote Wordlists
公式サイト:https://wordlists.assetnote.io/
SecListsと合わせてチェックしておきたいワードリスト。
VPS
VPSはVirtual Private Serverの略で、root権限が使えるLinuxマシンを低価格で利用できます。
わたしはサブドメインを検出してポートスキャンを実行し、各サーバーにhttpxとdirsearchを実行するという作業を自動化していますが、作業を完了するのに数日を要する場合があります。そのため、わたしはそれらの自動化を全てVPSで実行し情報を蓄積しています。
VPSの多くは月額契約ですが、ピンポイントで使えるように1日あるいは1時間単位で利用できる、おすすめVPSを紹介します。
KAGOYA CLOUD VPS
公式サイト:https://www.kagoya.jp/vps/
1日単位で利用できる安価なVPSサービスで、現在わたしが一番気に入っていて常用しているVPSです。
大容量プランであるCPU2コア/メモリー2GB/ストレージ200GBを選ぶと月額880円(1日32円)で利用できます。通信速度も速いので非常におすすめです。
WebARENA Indigo
公式サイト:https://web.arena.ne.jp/indigo/
1時間単位で利用できる非常に安価なVPSサービスです。ただし、通信速度が少しだけ遅く感じます。サーバーとしての動作自体は問題ないのですが、価格が安いので仕方ありません。
ConoHa VPS
公式サイト:https://www.conoha.jp/vps/
1時間単位で利用できる安価なVPSサービスです。ConoHa VPSはWebARENA Indigoに比べると少し価格が上がるものの、サーバースペックと通信速度については申し分ないため、快適にVPSを利用したい場合はConoHaがおすすめです。
VPN
ハッカーの強い味方「VPN」はVirtual Private Networkの略です。VPNを使うと本当のIPアドレスを隠したり簡単にIPアドレスを変更することができます。
わたしはIP制限回避のためVPNを使うことが多いです。また、IPアドレスを隠してトラブルを回避しています。特にバグバウウンティ以外でバグ探しをするとISP経由で警告されたりISPアカウントを停止される場合があるので、無用なトラブルを回避したい場合はVPNの利用をおすすめします。
関連記事:ハッカー向けVPNサービス
PIA
公式サイト:https://www.privateinternetaccess.com/
PIAはLinux向けにGUIアプリを提供しており、しかも価格が安いため常用しています。Kali Linuxを使っている方には一番おすすめのVPNサービスです。
NordVPN
公式サイト:https://nordvpn.com/
NordVPNはVPNサービスの中でも最も有名なサービスのひとつです。通信速度が高速でアプリも使いやすいので人気がありますが、専用のGUIアプリはWindowsとmacOS向けです。Linuxユーザーはコマンドラインで操作する必要があります。