脆弱性探しのためのハッキングツール

プロキシツール

プロキシツールは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ユーザーはコマンドラインで操作する必要があります。

おすすめ書籍