evasion-technique-integrate について
Windows Loader のソースコードに回避技術を統合するセキュリティスキルです。指定データベースから互換性に基づいて技術を選び、確認後に個別のコンパイル検証と変更・リスク報告を行います。
主な機能
- 01Loader の特性に基づく互換性分析
- 02指定データベースからの技術選択
- 03適用候補の提示と承認確認
- 04統合ごとの個別コンパイル検証
- 05ソースのバックアップと変更・リスク報告
活用シーン
- 01Loader と技術の互換性評価
- 02承認されたソース変更の統合
- 03変更ごとのコンパイル検証
- 04変更内容とリスクの確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ wgpsec/ aboutsecurity --skill evasion-technique-integrateインストール後、Claude Code で/evasion-technique-integrateを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonrecall.jsonreferences/evasion-techniques-db.jsonintegration-patterns.md詳細
回避技術の統合方法論
⛔ 詳細な参考資料
- 172 件の回避技術データベース → references/evasion-techniques-db.json
- 統合パターンとコード例 → references/integration-patterns.md
7 種類の回避技術早見表
| 種類 | 目的 | 複雑さ | 代表的な技術 |
|---|---|---|---|
| api_obfuscation | API インポートを隠す | medium | API Hashing、IAT 難読化 |
| string_obfuscation | 機密文字列を隠す | simple | XOR 暗号化、コンパイル時の難読化 |
| memory_evasion | RWX メモリページを回避する | simple | 権限の切り替え(RW→RX) |
| execution_evasion | Hook を回避する | complex | 直接 Syscall、間接 Syscall |
| anti_analysis | デバッグ/サンドボックスを検出する | medium | IsDebuggerPresent、時間差、CPU コア数 |
| amsi_etw_bypass | AMSI/ETW を無効化する | medium | AmsiScanBuffer Patch、EtwEventWrite Patch |
| unhooking | Hook された DLL を復元する | complex | NTDLL の再マッピング |
統合プロセス
1. 读取目标 Loader 源码
2. 查免杀技术库 → references/evasion-techniques-db.json
3. 分析兼容性
├─ 使用 RWX? → 加 memory_evasion(权限翻转)
├─ 使用标准 API? → 加 execution_evasion(Syscall)
├─ 有明文字符串? → 加 string_obfuscation(XOR)
└─ 无反调试? → 加 anti_analysis
4. 逐项整合(参考 references/integration-patterns.md)
5. 交叉编译验证
6. 输出变更报告
互換性マトリックス
| Loader の特性 | 互換性のある技術 |
|---|---|
| 任意の Loader | API 難読化、文字列難読化、デバッグ対策 |
| RWX メモリを使用 | 権限の切り替え |
| 標準の Win API を使用 | Syscall への置き換え |
| Unhook 未実施 | NTDLL Unhooking |
簡単なコード例
権限の切り替え(最も一般的)
// Before: PAGE_EXECUTE_READWRITE(一步到位,易被检测)
LPVOID addr = VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
// After: 先 RW 写入,再改 RX 执行
LPVOID addr = VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_READWRITE);
memcpy(addr, shellcode, size);
VirtualProtect(addr, size, PAGE_EXECUTE_READ, &oldProtect);
文字列 XOR
char dllName[] = { 0x1a, 0x14, 0x07, ... }; // XOR encrypted
for (int i = 0; i < sizeof(dllName); i++) dllName[i] ^= KEY;
RWX 権限の分離
- 2 段階の操作:書き込み後に実行する(W+X を分離)。RWX で一度に処理しないでください
- 検証:コンパイルの成功、機能の正常動作、実行結果の確認
⛔ エージェントの動作ルール
⛔ NEVER
- NEVER 互換性を分析せずに技術を直接組み込まないでください — 事前に互換性マトリックスの分析を完了する必要があります
- NEVER ナレッジベースにない技術を使用しないでください — すべての技術は evasion-techniques-db.json に含まれている必要があります
- NEVER ユーザーが提供していないコードファイルを変更しないでください
- NEVER 変更したバイナリを実行またはテストしないでください — コンパイルが成功すれば十分です
- NEVER 変更レポートを省略しないでください — 変更内容と影響評価を必ず出力してください
✅ ALWAYS
- まず技術データベース references/evasion-techniques-db.json を読み込んでください
- ALWAYS 適用可能な技術をすべて列挙し、ユーザーの確認を得てから統合してください
- ALWAYS 技術を統合するたびに個別にコンパイルして検証してください
- ALWAYS 変更レポート(元のファイル、適用した技術の一覧、変更した API/文字列、リスク評価)を出力してください
- ALWAYS 元のコードをバックアップしてください
🔧 ツールの優先順位
- references/... を読み込む — 技術データベースと統合パターンを確認します
bash— クロスコンパイルで検証します- ファイルを直接作成/編集する — Loader のソースコードを変更します
コメント
Markdown 対応