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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Malleable-C2-Randomizer — Cobalt Strike Malleable C2プロファイルをランダム化し、シグネチャベースの検出制御に検知される可能性を減らすスクリプト | Kitploit
ツール/GitHubGitHub/bluscreenofjeff/malleable-c2-randomizer
エクスプロイトフレームワークペイロード生成IDS/IPS回避ペネトレーションテストコマンド&コントロールレッドチーミング
GitHubbluscreenofjeff/malleable-c2-randomizer

Malleable-C2-Randomizer

Cobalt Strike Malleable C2プロファイルをランダム化し、シグネチャベースの検出制御に検知される可能性を減らすスクリプト

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る
454863年前Kitploit レビュー済み

Malleable-C2-Randomizer

このスクリプトは、メタ言語を通して Cobalt Strike の Malleable C2 プロファイルをランダム化し、シグネチャベースの検知コントロールにフラグを立てられる可能性を減らすことを目的としています。簡単に言うと、スクリプトは指定されたテンプレートを解析し、提供されたワードリストまたは内蔵ワードリストからランダムな値を変数に代入し、c2lint で新しいテンプレートをテストし、( c2lint エラーがない場合) 新しい Malleable C2 プロファイルを出力します。

このスクリプトと互換性のあるサンプルの Malleable C2 プロファイルは、このリポジトリの Sample Templates ディレクトリにあります。

このスクリプトの詳細については、私のブログ記事 Randomized Malleable C2 Profiles Made Easy を参照してください。

目次

  • スクリプト構文
    • 基本オプション
    • カスタムワードリスト
  • 置換メタ言語
    • 変数一覧
    • ワードリストの作成
  • テンプレートと出力の例
  • 参考リソース

スクリプト構文

root@kitploit:~
python malleable-c2-randomizer.py [-h] -profile PROFILE
                                  [-count COUNT]
                                  [-cobalt COBALT]
                                  [-output OUTPUT]
                                  [-notest]
                                  [-charset CHARSET]
                                  [-wordlist WORDLIST]
                                  [-useragent USERAGENT]
                                  [-spawnto SPAWNTO]
                                  [-pipename PIPENAME]
                                  [-pipename_stager PIPENAME_STAGER]
                                  [-dns_stager_subhost DNS_STAGER_SUBHOST]

基本オプション

パラメータ説明
-profile, -pランダム化する Malleable C2 テンプレートへのパス (必須)
-count, -c作成するランダム化プロファイルの数 {デフォルト = 1}

カスタムワードリスト

ワードリストが提供されない場合、デフォルトで内蔵リストが使用されます。これらのリストの作成に関する詳細は、下記またはこのリポジトリの Sample Wordlists フォルダを参照してください。

これらのワードリスト変数のほとんどは、Malleable C2 オプションに直接関連しています。これらのプロファイルオプションの機能の詳細については、公式ドキュメントを参照してください。

置換メタ言語

置換メタ言語は、特定の変数 (一部はオプションで繰り返し数を指定可能) を二重パーセント記号で囲んだもので構成されます。例:

root@kitploit:~
%%variable:count%%

別の例として、次の変数は20文字の英数字を生成します:

root@kitploit:~
%%alphanumeric:20%%

変数一覧

ワードリストの作成

ワードリストファイルは、単にテキストファイル内に配置された改行区切り、タブ区切り、または連続した文字列です (ワードリストの種類によって異なります)。

次のワードリストは、各エントリを新しい行に配置して改行区切りにする必要があります:

  • wordlist
  • useragent
  • pipename
  • pipename_stager
  • dns_stager_subhost
  • dns_stager_prepend

spawnto ワードリストはもう少し複雑です。Malleable C2 では、すべてのプロセス生成を変更するために x86 オプションと x64 オプションが必要です。したがって、ワードリストの各行には、x86 と x64 の両方のプロセスパスをタブで区切って含め、x86 プロセスを最初にリストする必要があります。例:

root@kitploit:~
%windir%\\syswow64\\eventvwr.exe	%windir%\\sysnative\\eventvwr.exe

プロセスパス内の syswow64 と sysnative という文字列は小文字にする必要があることに注意してください。

最後のワードリストの種類は、カスタム文字セットです。このファイルには、スクリプトがランダムに置換する任意の文字を含める必要があります。たとえば、AEIOUY の文字セットファイルと %%custom:5%% 変数は、文字セット文字列から5つのランダムな文字を出力します。この文字セットを作成するときは、一部の文字は URI に出現することが禁止されており、Beacon の通信に干渉する可能性があることに留意してください。

サンプルのワードリストについては、このリポジトリの Sample Wordlists ディレクトリを参照してください。

テンプレートと出力の例

以下は、修正された Amazon プロファイルからの抜粋です:

root@kitploit:~
# This profile has been modified to use with the Malleable C2 Profile Randomizer

#
# Amazon browsing traffic profile
# 
# Author: @harmj0y
#

set sleeptime "%%number:2%%00";
set jitter    "1%%number%%";
set maxdns    "24%%number%%";
set useragent "%%useragent%%";

http-get {

    set uri "/s/ref=nb_sb_noss_1/%%number:3%%-%%number:8%%-%%number:7%%/field-keywords=%%word%%";

    client {

        header "Accept" "*/*";
        header "Host" "www.amazon.com";

        metadata {
            base64;
            prepend "session-token=";
            prepend "skin=noskin;";
            append "csm-hit=s-%%alphanumeric:20%%|%%number:13%%";
            header "Cookie";
        }
    }
}

そして、同じプロファイルから生成された2つの出力セットは次のとおりです:

root@kitploit:~
# This profile has been modified to use with the Malleable C2 Profile Randomizer

#
# Amazon browsing traffic profile
# 
# Author: @harmj0y
#

set sleeptime "5600";
set jitter    "19";
set maxdns    "244";
set useragent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1";

http-get {

    set uri "/s/ref=nb_sb_noss_1/818-61846941-6716865/field-keywords=number";

    client {

        header "Accept" "*/*";
        header "Host" "www.amazon.com";

        metadata {
            base64;
            prepend "session-token=";
            prepend "skin=noskin;";
            append "csm-hit=s-UXnlEVYWc36qEuDMFPzW|2872195700726";
            header "Cookie";
        }
    }
}
root@kitploit:~
# This profile has been modified to use with the Malleable C2 Profile Randomizer

#
# Amazon browsing traffic profile
# 
# Author: @harmj0y
#

set sleeptime "7400";
set jitter    "19";
set maxdns    "246";
set useragent "Mozilla/5.0 (Windows NT 10.0; WOW64)";

http-get {

    set uri "/s/ref=nb_sb_noss_1/684-10075672-1686806/field-keywords=year";

    client {

        header "Accept" "*/*";
        header "Host" "www.amazon.com";

        metadata {
            base64;
            prepend "session-token=";
            prepend "skin=noskin;";
            append "csm-hit=s-ub5oBmGd0pnDoImCjDyK|2539750656854";
            header "Cookie";
        }
    }
}

参考リソース

  • Randomized Malleable C2 Profiles Made Easy - Jeff Dimmock
  • Malleable Command and Control Documentation - Raphael Mudge
  • Malleable C2 Profiles - GitHub
  • How to Write Malleable C2 Profiles for Cobalt Strike - Jeff Dimmock
  • Cobalt Strike 2.0 - Malleable Command and Control - Raphael Mudge
  • Cobalt Strike 3.6 - A Path for Privilege Escalation - Raphael Mudge
  • A Brave New World: Malleable C2 - Will Schroeder
ツールをダウンロード
-cobalt, -dCobalt Strike が配置されているディレクトリ (c2lint 用) {デフォルト = カレントディレクトリ}
-output, -o出力ベース名 {デフォルト = テンプレートのベース名とランダムな文字列}
-notest, -nc2lint によるテストをスキップする (フラグ)
パラメータ説明
-charset%%customchar%% 変数で使用するカスタム文字セットを含むファイル
-wordlist%%word%% 変数で使用するカスタム単語のリストを含むファイル
-useragentユーザーエージェントのリストを含むファイル
-spawntoカスタム spawnto プロセスのリストを含むファイル
-pipenameカスタム pipename 値のリストを含むファイル
-pipename_stagerカスタム pipename_stager 値のリストを含むファイル
-dns_stager_subhostカスタム dns_stager_subhost 値のリストを含むファイル
-dns_stager_prependカスタム dns_stager_prepend 値のリストを含むファイル
変数説明Count指定可能?
alphanumeric大文字小文字混在のランダムな ASCII 英字または数字を出力はい
alphanumspecial大文字小文字混在のランダムな ASCII 英字、数字、または句読点を出力はい
alphanumspecialurl大文字小文字混在のランダムな ASCII 英字、数字、または次の文字のいずれかを出力: -._~はい
alphaupperランダムな大文字の ASCII 英字を出力はい
alphalowerランダムな小文字の ASCII 英字を出力はい
alphauppernumberランダムな大文字の ASCII 英字または数字を出力はい
alphalowernumberランダムな小文字の ASCII 英字または数字を出力はい
alphaランダムな ASCII 英字を出力はい
numberランダムな数字を出力はい
hexランダムな16進数字を出力はい
netbios大文字小文字混在のランダムな ASCII 英字、数字、または次の文字のいずれかを出力: !@#$%^&)(.-'_{}~はい
custom指定された charset ファイル内のランダムな文字にマップはい
word提供された、または内蔵のワードリストからランダムな単語を出力はい
boolean'True' または 'False' を出力はい
useragent提供された、または内蔵のリストからランダムなユーザーエージェントを出力いいえ
spawnto_x86提供された、または内蔵のリストからランダムな x86 プロセスパスを出力いいえ
spawnto_x64提供された、または内蔵のリストからランダムな x64 プロセスパスを出力いいえ
pipename提供された、または内蔵のリストからランダムな pipename を出力いいえ
pipename_stager提供された、または内蔵のリストからランダムな pipename_stager を出力いいえ
dns_stager_subhost提供された、または内蔵のリストからランダムな dns_stager_subhost を出力いいえ
dns_stager_prepend提供された、または内蔵のリストからランダムな dns_stager_prepend を出力いいえ