
Recon-Ninja
このツールは、アップロードオプションを使用してドメイン発見結果をアップロードできるreconツールを提供するGitHubリポジトリです。このツールは、生存しているドメインをスキャンするツールであるHTTPXを利用しています。また、クラウドベースのデータベースであるMongoDB Atlasが統合されており、reconデータを保存できます。
ユーザーは、アップロードされたサブドメインを検索可能なビューで提供するユーザーインターフェース(UI)を通じてツールを操作できます。UIはタイトルとCNAMEを区別し、アップロードされたサブドメインデータを簡単にナビゲートできる検索オプションも提供します。
さらに、このツールはUIを介してバックエンドでNucleiを実行する機能を提供します。Nucleiは脆弱性スキャンに使用されるツールで、他の偵察ツールと併用されることがよくあります。Nucleiスキャンが完了すると、Discordを介して通知を受け取ることができます。
全体として、このツールはreconデータを収集・保存する効率的かつ効果的な方法を提供し、ユーザーフレンドリーなUIを介して収集したデータを簡単に検索・ナビゲートできます。NucleiとDiscord通知の統合は、追加のスキャン機能とスキャン完了の簡単な通知を提供することで、ツールにさらなる価値をもたらします。



GO langがインストールされていることを確認してください。参考として https://go.dev/doc/install をご覧ください。
Nuclei と HTTPX を必ずインストールしてください。
https://www.mongodb.com/atlas/database にアクセスしてアカウントを作成してください。必要に応じて、無料アカウントまたは有料アカウントを選択できます。 アカウントを作成したら、https://www.mongodb.com/try/download/compass からUIアプリであるMongoDB Compassをインストールすると便利かもしれません。このツールを使うと、データベースをより簡単に管理できます。
データベースを設定したら、データベース接続URLを保存してください。後でこのツールのために必要になります。
サーバーが起動して実行中であること、および必要なすべての手順が完了していることを確認してください。 サーバーが実行されると、データベースは自動的にテストデータベースを作成し、そこにさまざまなファイルが一覧表示されます。たとえば、ユーザー名とパスワード用のUsers、すべてのサブドメインリスト用のFiles、すべてのテンプレート用のTemplatesなどです。 データベースのUsersセクションに移動し、Recon Ninjaにアクセスするための任意のユーザー名とパスワードを追加してください。デフォルトでは、ユーザー名とパスワードが必要なログインページが付属しています。
以下の手順に従って、データベースのUsersセクションにこのようなドキュメントを作成してください。
/**
* Paste one or more documents here
*/
{
"username": "admin",
"password": "admin"
}
ノードのバージョンが最新であることを確認してください。
このリポジトリをクローンしてください。
git clone https://github.com/tess-ss/recon-ninja.git
まあ、すごい!見てくださいよ。メインフォルダは 'recon-ninja/' という名前で、その中には 'Frontend/' と 'Backend/' という2つのボーナスフォルダまで付いています。なんて便利なんでしょう!
さてさて、いよいよ楽しいパートです! 'cd /recon-ninja' に移動して、'ls' で大当たりかどうか確認してください。中には魔法の 'Frontend/' と 'Backend/' フォルダが待っていますよ。
npmがインストールされていることを確認するか、次のコマンドを実行してください。
sudo apt install npm
/Frontend ディレクトリに移動して、次の操作を行います。npm install
src/axiosConfig.js 内のバックエンドAPIパスをサーバーのIPに変更します。
axios.defaults.baseURL = 'http://ip:port/';
Reactアプリのプロダクションビルドを作成します。
npm run build
/Backend に移動して、次の操作を行います。cd /Backend のように移動してから、以下を実行します。依存関係をインストールします。
npm install
Frontendの build フォルダをルートディレクトリに移動します。
mv ../Frontend/build .
次の操作を適用します。
db.js の関数 mongoose.connect 内でmongodb URIを割り当てます。app.js 内の定数 discordWebhookUrl を変更します。アプリを実行する前にredisサーバーを起動します。(redis-serverがない場合は、sudo apt-get install redis-server でインストールしてください)
redis-server
uploads フォルダを作成します。
mkdir uploads
Node.jsアプリをホストするためにpm2サーバーをインストールします。
npm i pm2 -g
アプリを起動します。
pm2 start app.js
アプリはポート 3000 で実行されます(必要に応じて、app.js の app.listen 関数のポート番号を変更できます)。
次に、http://YOUR-VPS-IPS:3000 にアクセスすると、Recon Ninjaが起動して実行されているのが確認できます。このように
興味があれば、VPSをセットアップするために私のDigital Ocean紹介リンクを自由に使用してください。