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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
RefleXXion — RefleXXionは、AV/EPP/EDRなどが利用するユーザーモードフックのバイパスを支援するために設計されたユーティリティです。ユーザーモードフックをバイパスするために、まずLdrpThunkSignature配列内にあるNtOpenFile、NtCreateSection、NtOpenSection、NtMapViewOfSectionのシステムコール番号を収集します。 | Kitploit
ツール/GitHubGitHub/hlldz/reflexxion
防御ツール特権昇格永続化メカニズムIDS/IPS回避ポストエクスプロイトレッドチーミングArchived
GitHubhlldz/reflexxion

RefleXXion

RefleXXionは、AV/EPP/EDRなどが利用するユーザーモードフックのバイパスを支援するために設計されたユーティリティです。ユーザーモードフックをバイパスするために、まずLdrpThunkSignature配列内にあるNtOpenFile、NtCreateSection、NtOpenSection、NtMapViewOfSectionのシステムコール番号を収集します。

リポジトリを見る
4991084年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

RefleXXion

はじめに

RefleXXionは、AV/EPP/EDRなどで利用されるユーザーモードフックをバイパスするためのユーティリティです。ユーザーモードフックをバイパスするために、まずLdrpThunkSignature配列内のNtOpenFile、NtCreateSection、NtOpenSection、NtMapViewOfSectionのシステムコール番号を収集します。その後、ユーザーモードフックをバイパスするために2つのテクニックから選択できます。

テクニック1:C:\Windows\System32\ntdll.dllからNTDLLをファイルとして読み込みます。パース後、メモリ上に既にロードされているNTDLL(フックが実行されている場所)の.TEXTセクションを、クリーンなNTDLLの.TEXTセクションで置き換えます。

テクニック2:NTDLLをKnownDllsからセクションとして読み込みます(\KnownDlls\ntdll.dll)。DLLファイルはKnownDllsにセクションとしてキャッシュされているためです。パース後、メモリ上に既にロードされているNTDLL(フックが実行されている場所)の.TEXTセクションを、クリーンなNTDLLの.TEXTセクションで置き換えます。

方法論とすべてのテクニックの詳細なフローを以下に示します。

RefleXXion Flow

使用方法

Visual Studioでプロジェクトを開いてコンパイルできます。プロジェクト全体はx64アーキテクチャをサポートしており、DebugモードとReleaseモードの両方に対応しています。

RefleXXion-EXEソリューションはPoC目的のEXEを生成します。プロジェクトの動作を段階的に理解したい場合に役立ちます。main関数にはTechnique1とTechnique2の関数定義が含まれています。いずれかをコメントアウトしてコンパイルしてください。両方の関数を同時に使用しないでください。

RefleXXion-DLLソリューションは、NTDLLのユーザーモードフックをバイパスしたいプロセスに注入するDLLを生成します。main.cppファイルの先頭に、使用するテクニックの定義があります。その中から一つを選んでコンパイルできます。すべての値を同時に設定せず、希望するテクニックのみを設定してください。設定例を以下に示します。

root@kitploit:~
// Techniques configuration section
#define FROM_DISK 1 // If you set it to 1, the Technique-1 will be used. For more information; https://github.com/hlldz/RefleXXion
#define FROM_KNOWNDLLS 0 // If you set it to 1, the Technique-2 will be used. For more information; https://github.com/hlldz/RefleXXion

運用上の注意事項とOPSEC上の懸念事項

  • RefleXXionは現在、x64アーキテクチャのみをサポートしています。

  • RefleXXionはNTDLLの関数のみアンフックします。他のDLL(kernel32.dll、advapi32.dllなど)もアンフックする必要があるかもしれません。その場合は、プロジェクト内の必要な箇所を簡単に編集できます。

  • RefleXXionは、.TEXTセクションの上書きプロセスを開始する際にのみRWXメモリ領域を使用します。このプロセスでは新しいメモリ領域は作成されず、既存のメモリ領域(既にロードされているNTDLLのTEXTセクション)がRWXに変更され、その後RXに戻されます。

    root@kitploit:~
    ULONG oldProtection;
    ntStatus = NtProtectVirtualMemory(NtCurrentProcess(), &lpBaseAddress, &uSize, PAGE_EXECUTE_READWRITE, &oldProtection);
    memcpy()...
    ntStatus = NtProtectVirtualMemory(NtCurrentProcess(), &lpBaseAddress, &uSize, oldProtection, &oldProtection);
    

    追記:RefleXXionは、クリーンにインストールされたNTDLL上でNtProtectVirtualMemory APIを呼び出します。その際、CustomGetProcAddress関数を使用します。なぜなら、クリーンなNTDLLはメモリにロードされていてもInLoadOrderModuleListに含まれていないため、ここ(https://stackoverflow.com/questions/6734095/how-to-get-module-handle-from-func-ptr-in-win32)のような解決策は機能しません。そのため、カスタムのGetProcAddress関数が存在し、使用されています。

  • RefleXXion DLLをディスクからターゲットプロセスにロードできます。Red Teamオペレーションのようなセンシティブな作業ではこのような実行方法は好ましくないかもしれません。そのため、sRDIプロジェクトを使用してRefleXXion DLLをシェルコードに変換するか、RefleXXionのコードを独自のローダーやプロジェクトに統合することができます。

  • 注入されたプロセスにNTDLL(ファイルとして、またはセクションとして)を再ロードしても、ロードされたままにはなりません。RefleXXionは自身のプロセスのために開かれたすべてのハンドル(ファイルハンドルとセクションハンドル)を閉じます。

謝辞とクレジット

  • LdrpThunkSignatureを使用したクリーンなシステムコール収集の研究とPoC:Peter Winter-Smith(@peterwintrsmith)。EDR Parallel-asis through Analysis、https://www.mdsec.co.uk/2022/01/edr-parallel-asis-through-analysis/
  • Windows 10の並列ローディングの解説:Jeffrey Tang。https://blogs.blackberry.com/en/2017/10/windows-10-parallel-loading-breakdown
  • https://stackoverflow.com/questions/42789199/why-there-are-three-unexpected-worker-threads-when-a-win32-console-application-s
  • Shellycoat:Upayan(@slaeryan)。https://github.com/slaeryan/AQUARMOURY/tree/master/Shellycoat
ツールをダウンロード