
概要 • インストール • モジュール • トラブルシューティング • よくある質問 • Ars0n Security • YouTube • Twitch
こんにちは! 私は Harrison Richardson、または rs0n (arson) です。本当よりもかっこよく見せたいときに使っています。このリポジトリのコードは、バグバウンティハンティングでよく繰り返す共通のプロセスを自動化するための小さなスクリプト集として始まりました。時が経つにつれ、MongoDB に接続して結果を管理し、価値のあるデータポイントを特定するシンプルな Web アプリケーションを構築しました。5年間、パートタイムとフルタイムの両方でバグバウンティハンティングを行ってきた私は、ようやくこのツール集を適切なフレームワークとしてパッケージ化する準備ができました。
Ars0n フレームワーク は、意欲的なアプリケーションセキュリティエンジニアがバグバウンティハンティングを活用して、実践的な AppSec の概念を学び、💰 を稼ぐためのあらゆるツールを提供するように設計されています! 私の目標は、使いやすい自動化ツールを教育コンテンツやハウツーガイドと組み合わせ、幅広い Web ベースおよびクラウドベースの脆弱性に対応することで、バグバウンティハンティングへの参入障壁を下げることです。YouTube のコンテンツと組み合わせることで、このフレームワークは意欲的なアプリケーションセキュリティエンジニアが、サイバーセキュリティの高収入キャリアに直結する実世界のセキュリティ概念を迅速かつ簡単に理解するのに役立ちます。
このツールをバグバウンティハンティングに使用するだけでなく、意欲的なエンジニアはこの Github リポジトリをキャンバスとして、他の開発者とのコラボレーションを練習することもできます! このツールは Metasploit に触発され、同様にモジュール化されるように設計されました。各スクリプト(例:wildfire.py や slowburn.py)は基本的にアルゴリズムであり、特定のパターンでモジュール(例:fire-starter.py や fire-scanner.py)を実行して目的の結果を得ます。この設計により、コミュニティは自由に新しいスクリプトを作成して特定のユースケースを解決したり、モジュールを追加してこれらのスクリプトの結果を拡張したりできます。このフレームワークのコードを学び、Github を使って独自のコードを貢献することで、意欲的なエンジニアは Security Engineer I の初日から応用できる実践的なスキルを学び続けることができます。
このモジュラーフレームワークが、私がキャリアを通じて学んだことを次世代のセキュリティエンジニアと共有するためのキャンバスとして機能することを願っています! 信じてください、私たちはできる限りの助けを必要としています!!
以下のコードブロックを Kali Linux 2023.4 のクリーンインストールに貼り付けて、フレームワークの最新安定版 Alpha バージョンをダウンロード、インストール、実行します。
sudo apt update && sudo apt-get update
sudo apt -y upgrade && sudo apt-get -y upgrade
wget https://github.com/R-s0n/ars0n-framework/releases/download/v0.0.2-alpha/ars0n-framework-v0.0.2-alpha.tar.gz
tar -xzvf ars0n-framework-v0.0.2-alpha.tar.gz
rm ars0n-framework-v0.0.2-alpha.tar.gz
cd ars0n-framework
./install.sh
wget https://github.com/R-s0n/ars0n-framework/releases/download/v0.0.2-alpha/ars0n-framework-v0.0.2-alpha.tar.gz
tar -xzvf ars0n-framework-v0.0.2-alpha.tar.gz
rm ars0n-framework-v0.0.2-alpha.tar.gz
Ars0n フレームワークには、Kali Linux 2023.4 のクリーンインストール上でフレームワークを実行するために必要なすべてのツール、パッケージなどをインストールするスクリプトが含まれています。
このフレームワークのサポート対象のインストールは、Kali Linux 2023.3 のクリーンインストールのみであることに注意してください。クリーンな Kali インストール以外でフレームワークを実行しようとする場合、問題が発生してもトラブルシューティングのお手伝いはできません。
./install.sh
この 動画 で、正常なインストールで期待できる内容が正確に示されています。
ARM プロセッサを使用している場合は、すべてのインストール/実行スクリプトに --arm フラグを追加する必要があります。
./install.sh --arm
インストールが開始されると、さまざまな API キーとトークンの入力を求められます。これらの入力を求められても、フレームワークのコア機能を実行するためには必須ではありません。インストール時にこれらの API キーとトークンを入力しない場合は、各プロンプトで単に Enter を押してください。キーは後で ~/.keys ディレクトリに追加できます。これらのキーを手動で追加する方法の詳細は、この README の「よくある質問」セクションに記載されています。
インストールが完了すると、Y を入力してアプリケーションを実行するかどうかを選択できます。すぐにアプリケーションを実行しない場合、または再起動後にアプリケーションを実行する必要がある場合は、ルートディレクトリに移動して run.sh スクリプトを実行してください。
./run.sh
ARM プロセッサを使用している場合は、すべてのインストール/実行スクリプトに --arm フラグを追加する必要があります。
./run.sh --arm
Ars0n フレームワークのコアモジュールは、基本的なスキャンロジックを決定するために使用されます。各スクリプトは、ユーザーが達成しようとしていることに基づいた特定の偵察方法をサポートするように設計されています。
現在、Wildfire スクリプトは Ars0n フレームワークで最も広く使用されているコアモジュールです。このモジュールの目的は、研究者によって発見されたすべてのサブドメインに対するテストを許可する複数のターゲットをスキャンできるようにすることです。
仕組み:
ほとんどの Wildfire スキャンは、すべてのサブモジュールが実行されている場合、単一ドメインに対して完了するまでに 8 ~ 48 時間かかります。この時間の変動は、ターゲットアプリケーションやフレームワークを実行しているマシンなど、いくつかの要因によって引き起こされる可能性があります。
また、スキャンが完了するまでほとんどのデータは GUI に表示されないことに注意してください。スキャンするドメインの数にもよりますが、スキャンは夜間または週末に実行し、スキャンが完了したら偵察から列挙に移るのが最善です。
Wildfire の実行:
Wildfire は、ダッシュボードの Wildfire ボタンを使用して GUI から実行できます。クリックすると、フロントエンドは画面上のチェックボックスを使用して、スキャナーに渡すフラグを決定します。
GUI からのスキャン実行にはまだいくつかのバグと未解決のエッジケースがあることに注意してください。問題が発生した場合は、CLI からスキャンを実行できます。
Ars0n フレームワークのすべてのコアモジュールは /toolkit ディレクトリに保存されています。ディレクトリに移動し、必要なフラグを指定して wildfire.py を実行するだけです。少なくとも1つのサブモジュールフラグを指定する必要があります。
python3 wildfire.py --start --cloud --scan
ユーザーがスキャンするターゲットドメインを特定する必要がある Wildfire モジュールとは異なり、Slowburn モジュールはその作業を自動で行います。さまざまなバグバウンティハンティングプラットフォームの API と通信することで、このスクリプトは発見されたすべてのサブドメインに対するテストを許可するすべてのドメインを特定します。データが入力されると、Slowburn は Wildfire と同じ方法でランダムに1つのドメインを選択してスキャンします。
Slowburn モジュールはまだ開発中であり、安定版 alpha リリースの一部とは見なされていないことに注意してください。ユーザーはバグやエッジケースに遭遇する可能性があります。
Slowburn がスキャンするターゲットを特定するには、まず初期化する必要があります。この初期化ステップでは、さまざまな API から必要なデータを収集し、ローカルに保存された JSON ファイルに格納します。この初期化ステップが完了すると、Slowburn は自動的にターゲットを1つずつ選択してスキャンを開始します。
Slowburn を初期化するには、次のコマンドを実行します。
python3 slowburn.py --initialize
データが収集されたら、ユーザーは次のスキャン時にツールを再初期化するかどうかを選択できます。
公開バグバウンティプログラムのスコープとターゲットは頻繁に変更される可能性があることを忘れないでください。データを初期化せずに Slowburn を実行することを選択した場合、プログラムのスコープ外になったドメインをスキャンしている可能性があります。毎回実行する前に Slowburn を再初期化することを強くお勧めします。
ターゲットデータを再初期化しないことを選択した場合、以前に収集したデータを使用して次のコマンドで Slowburn を実行できます。
python3 slowburn.py
Ars0n フレームワークのサブモジュールは、コアモジュールによって利用され、偵察と列挙のフェーズを特定のタスクに分割するように設計されています。各サブモジュールで収集されたデータは、他のサブモジュールによってターゲットの攻撃対象領域の全体像を拡大するために使用されます。
Fire-Starter は、ターゲットドメインに対する偵察を実行する最初のステップです。このスクリプトの目的は、ターゲットの攻撃対象領域に関する豊富な情報を収集することです。収集されたデータは、他のすべてのサブモジュールによって使用され、ユーザーが潜在的に脆弱な特定の URL を特定するのに役立ちます。
Fire-Starter は、一連のオープンソースツールを実行して、隠されたサブドメイン、DNS レコード、および ASN を列挙し、それらの外部エントリがどこでホストされているかを特定します。現在、Fire-Starter は以下の広く使用されているオープンソースツールを連鎖させることで動作します。
これらのツールは、Web スクレイピング、ブルートフォース、クローリングによるリンクや JavaScript URL の特定など、隠されたサブドメインを特定するための幅広い技術をカバーしています。
スキャンが完了すると、ダッシュボードが更新され、ユーザーが利用できるようになります。
Ars0n フレームワークのほとんどのサブモジュールは、Fire-Starter モジュールから収集されたデータを必要とします。そのため、Fire-Starter は、有用なデータを収集するために、ターゲットに対する最初のスキャンに含める必要があります。
近日公開予定...
Fire-Scanner は、Fire-Starter と Fire-Cloud の結果を使用して、以前のスキャンで発見されたすべてのサブドメインとクラウドサービスに対して 広帯域スキャン を実行します。
この開発段階では、このスクリプトはほぼ独占的に Nuclei をスキャンに利用しています。単にツールを実行するのではなく、Fire-Scanner はスキャンを特定の Nuclei テンプレート のコレクションに分割し、1つずつスキャンします。この戦略により、スキャンが安定して一貫した結果を生成し、不要または安全でないスキャンチェックを排除し、実用的な結果を提供することが保証されます。
Ars0n フレームワークのインストールや実行に関する問題の 大部分 は、Kali Linux のクリーンインストールにツールをインストールしていないことが原因です。
フレームワークの中核は、既存のオープンソースツールを実行するための自動化スクリプトの集まりであることを忘れないことが重要です。これらのツールはそれぞれ独自の動作方法を持ち、ユーザーのシステム上で実行されている既存のサービス/ツールと競合が発生すると、予期しない動作が発生する可能性があります。この複雑さが、Ars0n フレームワークを Kali Linux のクリーンインストールでのみ実行する必要がある理由です。
ユーザーが経験するもう1つの非常に一般的な問題は、MongoDB がマシンに正常にインストールまたは実行されないことが原因です。この問題の最も一般的な症状は、ユーザーが最初の FQDN を追加できず、壊れた GUI だけが表示されることです。 これが発生した場合は、マシンが MongoDB を実行するために必要なシステム要件を満たしていることを確認してください。残念ながら、この問題が発生した場合の現在の解決策はありません。
近日公開予定...