
シンプルで拡張可能なC&Cビーコンシステム。
C2 リポジトリは、https://github.com/bluscreenofjeff/Red-Team-Infrastructure-Wiki にある Red Team Infrastructure Wike に含まれるアイデアの実践的な実装を提供することを目的としています。具体的には、このリポジトリは beaconer 用と downloader 用の 2 つの Go パッケージを提供します。さらに、これらの beaconer と downloader を使用するサンプルインプラントも提供します。最後に、C2 用のバックエンド DNS サーバーと HTTP サーバー、およびフロントエンドリダイレクタサーバーを構築するための構成情報が含まれています。
implants フォルダには、beaconer パッケージと downloader パッケージの使用方法を示す 2 つのインプラントが含まれています。これらのインプラントは、独自のインプラントを構築する際の参考として使用できます。基本的な考え方は、beaconer と downloader を選択し、何らかのタイミング機構を備えたループで包んで、インプラントがビーコンを送信する頻度を制御するというものです。
新しい beaconer と downloader を作成するには、適切な interface を満たす struct を構築する必要があります。beaconer ディレクトリと downloader ディレクトリには、HTTP と DNS の両方の例が含まれています。
servers ディレクトリには、さまざまなビーコンとダウンローダーのバックエンドサーバーとして使用できる DNS サーバーと HTTP サーバーの両方が含まれています。これらのサーバーは本番環境での使用を想定して設計されていませんが、必要に応じて本番環境で使用できます。さらに、servers フォルダにはペイロードファイルが含まれており、go build -o payload.bin payload.go でビルドできます。サーバーは現在のディレクトリに payload.bin ファイルがあることを想定しており、そのファイルはダウンローダーに配信されてクライアント上で実行されます。
docs フォルダには、C2 システム用のフロントエンドリダイレクタを構築するために必要な構成情報が含まれています。この構成により、特定の条件に基づいて C2 トラフィックを C2 サーバーにリダイレクトし、その他のすべてのトラフィックを無害なサーバーに送信できます。
私は C2 の専門家ではありません。Red Team Infrastructure Wiki を読んで、実践的な実装を構築することにしました。とはいえ、新しい beaconer と downloader のプルリクエストを歓迎します。自分でコードを書くのが難しい場合は、実装してほしい beacon または downloader の手法を issue を提出して知らせてください。