mcpField
E
evasion-technique-integrate

evasion-technique-integrate

github.com/wgpsecセキュリティ1.8k50 回インストール4 日前に更新
リポジトリ

evasion-technique-integrate について

Windows Loader のソースコードに回避技術を統合するセキュリティスキルです。指定データベースから互換性に基づいて技術を選び、確認後に個別のコンパイル検証と変更・リスク報告を行います。

主な機能

  1. 01Loader の特性に基づく互換性分析
  2. 02指定データベースからの技術選択
  3. 03適用候補の提示と承認確認
  4. 04統合ごとの個別コンパイル検証
  5. 05ソースのバックアップと変更・リスク報告

活用シーン

  1. 01Loader と技術の互換性評価
  2. 02承認されたソース変更の統合
  3. 03変更ごとのコンパイル検証
  4. 04変更内容とリスクの確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wgpsec/aboutsecurity --skill evasion-technique-integrate

インストール後、Claude Code で/evasion-technique-integrateを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
evals.json
recall.json
references/
evasion-techniques-db.json
integration-patterns.md

詳細

回避技術の統合方法論

⛔ 詳細な参考資料


7 種類の回避技術早見表

種類目的複雑さ代表的な技術
api_obfuscationAPI インポートを隠すmediumAPI Hashing、IAT 難読化
string_obfuscation機密文字列を隠すsimpleXOR 暗号化、コンパイル時の難読化
memory_evasionRWX メモリページを回避するsimple権限の切り替え(RW→RX)
execution_evasionHook を回避するcomplex直接 Syscall、間接 Syscall
anti_analysisデバッグ/サンドボックスを検出するmediumIsDebuggerPresent、時間差、CPU コア数
amsi_etw_bypassAMSI/ETW を無効化するmediumAmsiScanBuffer Patch、EtwEventWrite Patch
unhookingHook された DLL を復元するcomplexNTDLL の再マッピング

統合プロセス

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 の特性互換性のある技術
任意の LoaderAPI 難読化、文字列難読化、デバッグ対策
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 元のコードをバックアップしてください
🔧 ツールの優先順位
  1. references/... を読み込む — 技術データベースと統合パターンを確認します
  2. bash — クロスコンパイルで検証します
  3. ファイルを直接作成/編集する — Loader のソースコードを変更します

コメント