
C2 redirector base on caddy
caddy ベースの C2 リダイレクタ
c2 malleable プロファイルから caddyfile を生成します
set trust_x_forwarded_for "true"; が既に有効になっていることを確認してください1. "self-signed-cert.py" で自己署名証明書を生成 :
python3 self-signed-cert.py -t [Https Server]
ご覧のとおり、localhost.* は core/cert-out に生成されます

2. C2 malleable プロファイルで set trust_x_forwarded_for "true"; を有効にする

3. C2 malleable プロファイルの各 client ブロックで Host と Referer ヘッダーを定義する必要があります
⚠️ 注: 偽のサブドメインは自己署名証明書の SAN (subject alternative name) 属性に存在する必要があります

4. C2 プロファイルを RedCaddy にコピー
例として threatexpress の jquery-c2.4.3.profile を使用しています

5. "chains.list" のリダイレクトルールを編集
443:https:192.168.128.64:10001 は、ポート *:443 からの着信を localhost の (C2 バックエンド) へリダイレクトすることを意味します
git clone https://github.com/XiaoliChan/RedCaddy-core.git
cd cmd/caddy
go get github.com/aksdb/caddy-cgi/v2
go get github.com/XiaoliChan/caddy-maxmind-geolocation@self
CGO_ENABLED=0 go build
upx --best --lzma caddy
Q: なぜ json や yaml 形式を使わないのですか?
A: すみません、caddyfile を json/yaml 形式で書く方法が分かりません。
Q: 一致しないルートに対して 404 を返せますか?
A: うーん、caddy にはそれはできません ¯\(ツ)/¯.
https://192.168.128.64:10001
Q: "warden" とは何ですか?
A: Warden は teamserver ポートを保護するためのホワイトリスト機能で、ランダムな安全な文字列を含むランダムなリンクを生成します。ユーザーはそれをトリガーする前に teamserver に接続することはできません ("warden" の後の 443 は、ポート 443 でリンクを処理することを意味します)。
6. generator.py に必要な引数を渡し、Enter を押します。
python3 generator.py -f geacon_jd_pro.profile -r forward-chains.list -c CN -vps-ip 1.1.1.1

7. 最後に、生成された caddyfile で caddy を実行します :)
sudo ./run.sh

8. 任意: 特定のモジュールを含むカスタム caddy をビルド