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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
C2concealer — ランダム化され、lint検証済みのC2 malleableプロファイルを生成し、Cobalt Strike向けにHTTP/S、DNS、SMB、SSHビーコン設定を自動化し、カスタマイズ可能なIOCランダム化を提供します。 | Kitploit
ツール/GitHubGitHub/redsiege/c2concealer
ペネトレーションテストフレームワークペイロード生成コマンド&コントロールレッドチーミング
GitHubredsiege/c2concealer

C2concealer

ランダム化され、lint検証済みのC2 malleableプロファイルを生成し、Cobalt Strike向けにHTTP/S、DNS、SMB、SSHビーコン設定を自動化し、カスタマイズ可能なIOCランダム化を提供します。

リポジトリを見る
1.1k1724ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

C2concealer

C2concealerは、Cobalt Strikeで使用するランダム化されたC2 malleableプロファイルを生成するコマンドラインツールです。

インストール

root@kitploit:~
git clone https://github.com/RedSiege/C2concealer.git
cd C2concealer
python3 -m venv .venv
source .venv/bin/activate
pip3 install -e .

Dockerインストール

詳細はDockerの手順を参照してください。

使用例

root@kitploit:~
Usage:
	$ C2concealer --hostname google.com --variant 3

Flags:
	
	(optional)
	--hostname 
		The hostname used in HTTP client and server side settings. Default is None.
	--variant 
		An integer defining the number of HTTP client/server variants to generate. 
		Recommend between 1 and 5. Max 10.

コンソール出力例

root@kitploit:~
root@kali:~# C2concealer --variant 1 --hostname google.com
[i] Searching for the c2lint tool on your system (part of Cobalt Strike). Might take 10-20 seconds.
[i] Found c2lint in the /opt/cobaltstrike/c2lint directory.

Choose an SSL option:
1. Self-signed SSL cert (just input a few details)
2. LetsEncrypt SSL cert (requies a temporary A record for the relevant domain to be pointed to this machine)
3. Existing keystore
4. No SSL

[?] Option [1/2/3/4]:

ヒント: 常にSSL証明書を使用してください。できればLetsEncryptまたは同様の証明書が望ましいです。 ヒント: HTTPバリアントを使用すると、異なるビーコンでHTTPトラフィックのIOCを選択できます。少なくとも1の値を推奨します。

仕組み

私たちはCobalt Strikeのドキュメントを徹底的に調査し、各プロファイル属性に適した値の範囲を定義しました。データは単純な範囲内のランダムな整数であることもあれば、Python辞書からランダムな値を選ぶ必要があることもあります。いずれにせよ、ツールの作成は有効なプロファイルを構成するデータを定義することから始めました。

次に、malleableプロファイルの各セクション(ブロック)を個別の.pyファイルに分割しました。これらのファイルには、各属性にランダムで適切な値を取得し、そのプロファイルブロックのフォーマット済み文字列を出力するロジックが含まれています。すべてのプロファイルブロックを連結し、いくつかの簡単な整合性チェックを実行した後、Cobalt Strikeのリンター(c2lint)でプロファイルを検査します。出力されるプロファイルは、あなたのエンゲージメントで動作するはずです。キャンペーンを実行する前に、プロファイル(プロセスインジェクションやスポーンを含む)をテストすることを常に推奨します。

コードを見る場合は、次の2つのファイルから始めることをお勧めします: /C2concealer/__main__.py と /C2concealer/profile.py。コメントを確認した後、/C2concealer/components フォルダ内の個々のプロファイルブロックジェネレーターを確認してください。

ツールのカスタマイズ

これは重要です。これはオープンソースツールです。ベンダーは生成されたプロファイルのシグネチャを簡単に書くことができます。ツールの実行はCobalt Strikeのmalleableプロファイル構築の優れた出発点を提供しますが、生成されたプロファイルのデータをカスタマイズするために以下の領域を掘り下げることをお勧めします。

/C2concealer/data/

  • dns.py (DNSサブドメインをカスタマイズ)
  • file_type_prepend.py (http-get-server応答の見え方をカスタマイズ... つまりC2制御命令)
  • params.py (一般的なパラメータ名と汎用ワードリストを含む2つの辞書)
  • post_ex.py (spawn_toプロセスリスト... これは必ず変更してください)
  • reg_headers.py (User-AgentやServerなどの典型的なHTTPヘッダー)
  • smb.py (通信がSMB経由の場合に使用するSMBパイプ名)
  • ssh.py (SSHビーコン使用時のSSHパイプとバナー名)
  • stage.py (ステージャに関連するIOCを変更するためのデータ)
  • transform.py (ペイロードデータ変換... 変更不要)
  • urls.py (URI構築に使用するファイルタイプとURLパスコンポーネント... これは必ず変更してください)

さらに、プロファイル生成プロセス全体で様々な属性をカスタマイズできます。例として、ファイル /C2concealer/components/stageblock.py では、PEイメージサイズ値の範囲を変更できます(73~74行目付近)。componentsディレクトリ内のすべての異なるファイルを確認してください。

ここまで来たなら、このツールを大いに活用できるでしょう。このツールの推奨される使い方は、自動的にプロファイルを生成する骨組みコードを構築したと考えることです。あとは、各属性に対してどの値がキャンペーンに適しているかを考え、データソースを更新するのはあなたの役割です。

プロファイルのさらなるカスタマイズ

Malleable C2プロファイル言語の多くの可能なオプションをカバーしましたが、設定していないオプションも多数あります。Malleable Command and Controlドキュメントを参照し、プロファイルを変更することを強くお勧めします。

以下のオプションは設定されていないか、C2concealerによって静的に設定されており、変更を検討すべきです。

http-config ブロック

未設定のオプション備考
set block_useragents非ビーコンのUAパターンをブロック
set allow_useragents許可リストUAパターン (CS 4.3+)

stage ブロック

process-inject ブロック

post-ex ブロック

未設定のオプション備考
set pipenamepost-exジョブ用の名前付きパイプ

dns-beacon ブロック

未設定のオプション備考
set ns_responsedrop/idle/zero NS処理。未設定の場合はデフォルトでdrop。
set dns_stager_prependステージングペイロードにデータを前置する

データ変換 (すべての変換コンテキスト)

欠落している変換備考
lznt1圧縮 — どのエンコードチェーンにもない
rc4 "key"暗号化 — どのエンコードチェーンにもない
xor "key"XOR — どのエンコードチェーンにもない

謝辞

Raphael Mudge氏に大きな感謝を捧げます。彼はmalleableプロファイル機能セットとその学習のためのドキュメントを常に改善しています。また、@killswitch-GUI氏のスクリプトにも感謝します。このスクリプトはCSチームサーバー向けのLetsEncrypt証明書生成を自動化します。最後に、作業を大幅に楽にしてくれた2つのブログ記事: @bluescreenofjeff氏の記事 (https://bluescreenofjeff.com/2017-01-24-how-to-write-malleable-c2-profiles-for-cobalt-strike/) とJoe Vest氏の記事 (https://posts.specterops.io/a-deep-dive-into-cobalt-strike-malleable-c2-6660e33b0e0b) に感謝します。

バージョン変更履歴

Version 1.0

  • FortyNorth Securityの内部ツールの公開バージョン。
  • CS 4.0のサポート追加(特に複数のHTTPバリアント)
  • README.mdの更新

Version 1.1

  • CS 4.12でサポートされるプロファイルオプションを含めるよう更新
  • ブラウザUA文字列の更新
  • 現代で一般的に観測されるクッキー文字列に更新
  • SSHバナーとSSHパイプ名オプションの追加
  • Dockerインストールガイダンスの更新
  • Let's Encryptサポートの修正
ツールをダウンロード
未設定のオプション備考
set allocatorVirtualAlloc にハードコード; HeapAlloc, MapViewOfFile のランダム化が欠落
set magic_mz_x86 / magic_mz_x64MZヘッダーのなりすまし
set magic_pePEマーカーのなりすまし
set rich_headerコンパイラメタデータのなりすまし
set module_x86 / module_x64Module stomping
set copy_pe_header—
set data_store_size—
set eaf_bypassEATチェックバイパス
set syscall_methodNone/Direct/Indirect (CS 4.8+)
set rdll_loaderPrependLoader/StompLoader
set rdll_use_syscalls—
set rdll_use_driploading—
set rdll_dripload_delay—
transform-obfuscate ブロックbase64, lznt1, rc4, xor オプションが完全に欠落
transform-x86/x64 内の appendprepend と strrep のみ使用
未設定のオプション備考
set allocatorVirtualAllocEx にハードコード; NtMapViewOfSection のランダム化が欠落
set use_driploading—
set dripload_delay—
transform-x86/x64 内の appendprepend のみ使用
Execute: NtQueueApcThreadexecuteブロックに未設定
Execute: NtQueueApcThread-sexecuteブロックに未設定
Execute: ObfSetThreadContextexecuteブロックに未設定
Execute: SetThreadContextexecuteブロックに未設定
Execute関数のなりすましmodule!function+0x## 構文は未サポート
uri-append終了ステートメント — 未実装