Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
nuclearpond-OFJAAAH — Nuclear Pondは、Nucleiを活用して、コーヒー1杯分のコストでインターネット全体を対象としたスキャンを実行できるユーティリティです。 | Kitploit
ツール/GitHubGitHub/kingofbugbounty/nuclearpond-ofjaaah
脆弱性スキャナーウェブセキュリティクラウドセキュリティDevSecOps
GitHubkingofbugbounty/nuclearpond-ofjaaah

nuclearpond-OFJAAAH

Nuclear Pondは、Nucleiを活用して、コーヒー1杯分のコストでインターネット全体を対象としたスキャンを実行できるユーティリティです。

リポジトリを見る
1052年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Nuclear Pond V.2

私たちはこのプロジェクトをフォークし、この素晴らしいアイデアを継続できるようにしました。一緒にコードを改善し、誰もが利用できるようにできればと思います - @OFJAAAH

Nuclear Pondをインストールするには、バックエンドのterraform moduleを設定する必要があります。これはterraform applyを実行するか、terragruntを利用して行えます。

AWS Lambdaをバックエンドとして利用してNucleiスキャンを並列に実行し、JSONの検出結果をS3に保存してAWS Athenaでクエリすることを選択できます。これは、クラウドでスキャンを実行する方法としては、間違いなく最も低コストな方法の1つです。

機能

  • 結果をターミナル、json、またはS3に出力
  • 任意のバッチ数でスレッド数と並列呼び出しを指定
  • ローカルで実行する場合と同じように任意のNuclei引数を指定
  • 単一ホストまたはファイルからホストを指定
  • HTTPサーバーを実行してAPIからスキャンを受け付ける
  • HTTPサーバーを実行してスキャンのステータスを取得
  • AthenaでS3を検索するための検出結果をクエリ
  • カスタムのNuclei設定とレポート設定を指定

使用方法

Nuclear Pondは、クラウドでNucleiを実行するための手段だと考えてください。ローカルマシンで使用するのと同じように使用できますが、並列実行ができ、指定したい数のホストで実行できます。考える必要があるのは、渡したいNucleiのコマンドラインフラグだけです。

セットアップとインストール

Nuclear Pondをインストールするには、バックエンドのterraform moduleを設定する必要があります。これはterraform applyを実行するか、terragruntを利用して行えます。

root@kitploit:~
$ go install github.com/DevSecOpsDocs/nuclearpond@latest

環境変数

バックエンドはフラグまたは環境変数のどちらでも渡すことができます。-fまたは--function-nameでLambda関数を指定し、-rまたは--regionでリージョンを指定できます。以下は使用できる環境変数です。

  • AWS_LAMBDA_FUNCTION_NAME はスキャンを実行するLambda関数の名前です
  • AWS_REGION はリソースがデプロイされているリージョンです
  • NUCLEARPOND_API_KEY はAPIへの認証に使用するAPIキーです
  • AWS_DYNAMODB_TABLE はAPIスキャンの状態を保存するDynamoDBテーブルです

コマンドラインフラグ

以下はnuclearpondの実行時に指定できるフラグの一部です。主要なフラグは、ターゲットを指定する-tまたは-l、Nucleiの引数を指定する-a、出力を指定する-oです。Nucleiの引数を指定する場合、-a $(echo -ne "-t dns" | base64)のようにbase64エンコードされた文字列として渡す必要があります。

コマンド

以下はnuclearpond内で実行できるサブコマンドです。

  • run: Nucleiスキャンを実行
  • service: Nucleiスキャンを実行するための基本API

実行

nuclearpondのサブコマンドであるnuclearpond run -t devsecopsdocs.com -r us-east-1 -f jwalker-nuclei-runner-function -a $(echo -ne "-t dns" | base64) -o cmd -b 1を実行します。この場合、ターゲットはdevsecopsdocs.com、リージョンはus-east-1、Lambda関数名はjwalker-nuclei-runner-function、Nucleiの引数は-t dns、出力はcmdで、-b 1により1ホストのバッチで1つの関数を実行します。

root@kitploit:~
$ nuclearpond run -h
Executes nuclei tasks in parallel by invoking lambda asynchronously

Usage:
  nuclearpond run [flags]

Flags:
  -a, --args string            nuclei arguments as base64 encoded string
  -b, --batch-size int         batch size for number of targets per execution (default 1)
  -f, --function-name string   AWS Lambda function name
  -h, --help                   help for run
  -o, --output string          output type to save nuclei results(s3, cmd, or json) (default "cmd")
  -r, --region string          AWS region to run nuclei
  -s, --silent                 silent command line output
  -t, --target string          individual target to specify
  -l, --targets string         list of targets in a file
  -c, --threads int            number of threads to run lambda functions, default is 1 which will be slow (default 1)

カスタムテンプレート

terraform moduleはデフォルトで実行時にテンプレートをダウンロードし、テンプレートをレイヤーとして追加します。テンプレートをダウンロードするための変数は、terraform githubプロバイダーを使用してリリースのzipをダウンロードします。zip内のフォルダ名は/opt内に配置されます。Nucleiは実行時にテンプレートをダウンロードするためその必要はありませんが、パフォーマンスを向上させるには-t /opt/nuclei-templates-9.3.4/dnsを指定して、ダウンロードしたzipからテンプレートを実行できます。独自のテンプレートを指定するには、リリースを参照する必要があります。独自のリポジトリで行う場合、terraform moduleに以下の変数を指定する必要があります。リポジトリが公開されている場合、github_tokenは不要です。

  • github_repository
  • github_owner
  • release_tag
  • github_token

検出結果の取得

出力としてs3を指定した場合、検出結果はS3に保存されます。最速でアクセスする方法はAthenaを使用することです。terraform-moduleをバックエンドとして設定している場合は、Athenaから直接クエリするだけで済みます。まだ設定していない場合は、クエリ結果の設定が必要になることがあります。

root@kitploit:~
select
  *
from
  nuclei_db.findings_db
limit 10;

高度なクエリ

クエリをもう少し深く掘り下げるために、簡単な例を示します。SELECT文ではinfo列をドリルダウンします。"matched-at"列は-文字が含まれるため二重引用符で囲む必要があります。また、Nucleiによって生成されたhighおよびcriticalの検出結果のみを検索しています。

root@kitploit:~
SELECT
  info.name,
  host,
  type,
  info.severity,
  "matched-at",
  info.description,
  template,
  dt
FROM 
  "nuclei_db"."findings_db"
where 
  host like '%devsecopsdocs.com'
  and info.severity in ('high','critical')

インフラストラクチャ

バックエンドのインフラストラクチャは、すべてterraform module内にあります。関連するREADMEには重要な注意事項が記載されているため、読むことを強くお勧めします。

  • Lambda関数
  • S3バケット
    • Nucleiバイナリを保存
    • 設定ファイルを保存
    • 検出結果を保存
  • Glueデータベースとテーブル
    • S3内の検出結果をクエリできるようにする
    • 時間単位でパーティション分割
    • パーティションプロジェクション
  • Lambda関数用のIAMロール
ツールをダウンロード