
サーバーレスタスク分散フレームワーク。CLIツールを数千のクラウド関数に並列化し、高速な偵察とデータ処理を実現します。
ShadowClone を使用すると、長時間実行されるタスクを動的に数千のサーバーレス関数に分散し、通常は完了に数時間かかるところを数秒で結果を得ることができます。
クラウドプロバイダーが提供する無料枠を最大限に活用し、あなたのありふれたCLIツールをシャドウクローン術(ナルトスタイル!)で強化しましょう!
インストールと初期設定の手順については、wiki を参照してください。
⚡ python shadowclone.py -h
usage: shadowclone.py [-h] -i INPUT [-s SPLITNUM] [-o OUTPUT] -c COMMAND
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
-s SPLITNUM, --split SPLITNUM
Number of lines per chunk of file
-o OUTPUT, --output OUTPUT
-c COMMAND, --command COMMAND
command to execute
--no-split NOSPLIT File to be used without splitting
初期セットアップ時にコンテナイメージを作成し、AWS/GCP/Azureなどで関数のランタイムとして登録します。ShadowClone をコンピュータ上で実行すると、そのコンテナのインスタンスが自動的に起動され、実行中のみアクティブになります。起動するインスタンス数は、提供された入力ファイルのサイズと分割係数に応じて実行時に動的に決定されます。入力はチャンクに分割され、すべてのインスタンスに均等に分配されて並列実行されます。例えば、入力ファイルが10,000行で分割係数を100行に設定した場合、100行ずつの100チャンクに分割され、100個のインスタンスが並列実行されます!
このツールは、素晴らしい Axiom と Fleex プロジェクトに触発され、サーバーレス関数とコンテナを使用することで、ツール実行のためのVPSという概念を超えたものです。
* ほとんどのクラウドプロバイダーはデフォルトで大量のインスタンス起動を許可していないため、最大で10~15インスタンス程度に制限されます。この数を増やすにはサポートにリクエストする必要があります。
** AWSとAzureでは月100万回の呼び出しが無料、Googleでは月200万回の呼び出しが無料です。これらの制限を超えた場合のみ課金されます。
43MBのファイルを使用したDNSブルートフォース - 34秒
94Kのサブドメインに対してhttpxを1分で実行
もちろん、1か月に何度でも関数を呼び出すことができます。上の表は、無料で呼び出せる回数のみを示しています。
ShadowClone が気に入ったら、感謝の気持ちとしてこのツールで見つけたバグを送ってください ;)
または、コーヒーを買ってくれると嬉しいです :)
このツールは概念実証実装として設計されており、その使用は教育目的のみを意図しています。事前の相互同意なしにターゲットを攻撃するために使用することは違法です。適用されるすべての地域、州、連邦法を遵守するのはエンドユーザーの責任です。開発者は一切の責任を負わず、このプログラムによって引き起こされた誤用や損害についての責任は負いません。
| 機能 | Axiom/Fleex | ShadowClone |
|---|
| インスタンス数 | 10~100* | 1000 |
| コスト | インスタンス毎/分毎 | ほぼ無料** |
| 起動時間 | 4~5分 | 2~3秒 |
| 最大実行時間 | 無制限 | 15分 |
| アイドルコスト | $++ | 無料 |
| オンデマンドスケーラビリティ | いいえ | ∞ |
| クラウドプロバイダー | 無料枠 | リンク |
|---|
| Google Functions | 月200万回の呼び出し、月400,000 GB-秒 | Google Cloud 無料プログラム |
| AWS Lambda | 月100万回の呼び出し、最大320万秒のコンピュート時間 | 無料のクラウドコンピューティングサービス - AWS 無料利用枠 |
| Azure Functions | 月100万回の呼び出し | Microsoft Azure 無料サービス |