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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
go-shellcode — Windows Shellcodeランナーとサポートユーティリティのリポジトリ。これらのアプリケーションは、さまざまなAPI呼び出しや手法を使用してShellcodeをロードおよび実行します。 | Kitploit
ツール/GitHubGitHub/ne0nd0g/go-shellcode
ペイロード生成エクスプロイトシェルコードポストエクスプロイトペネトレーションテストレッドチーミングペイロード開発
GitHubne0nd0g/go-shellcode

go-shellcode

Windows Shellcodeランナーとサポートユーティリティのリポジトリ。これらのアプリケーションは、さまざまなAPI呼び出しや手法を使用してShellcodeをロードおよび実行します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

go-shellcode

go-shellcode は、Windows 用 Shellcode ランナーと補助ユーティリティのリポジトリです。これらのアプリケーションは、さまざまな API 呼び出しやテクニックを使用して Shellcode をロードおよび実行します。

利用可能な Shellcode ランナーの一覧:

  • CreateFiber
  • CreateProcess
  • CreateProcessWithPipe
  • CreateRemoteThread
  • CreateRemoteThreadNative
  • CreateThread
  • CreateThreadNative
  • EarlyBird
  • EtwpCreateEtwThread
  • NtQueueApcThreadEx (ローカル)
  • RtlCreateUserThread
  • Syscall
  • Shellcode Utils
  • UuidFromStringA

CreateFiber

このアプリケーションは、Windows の CreateFiber 関数(Kernel32.dll から)を利用して、このアプリケーションのプロセス内でシェルコードを実行します。これは、リモートプロセスインジェクションを避け、CreateThread の呼び出しを避けたい場合に便利です。このアプリケーションは、golang.org/x/sys/windows パッケージの関数を使用しません。最も顕著な違いは、必要な DLL とプロシージャをすべて自身でロードし、プロシージャの Call() 関数を使用することです。

注: プロセスを終了させる方法は見つかっておらず、手動で終了する必要があります。

Windows ホスト上でプロジェクトのルートディレクトリから以下のコマンドでコンパイルできます:

set GOOS=windows GOARCH=amd64;go build -o CreateFiber.exe .\cmd\CreateFiber\main.go

CreateProcess

このアプリケーションは、Kernel32.dll の Windows CreateProcess 関数を利用します。プロセスは中断状態で作成され、IMAGE_OPTIONAL_HEADER 構造体内の AddressOfEntryPoint が更新されて子プロセスでシェルコードを実行するようになり、その後プロセスが再開されます。これはプロセスハローイングの一種ですが、既存の PE はアンマップされず、ThreadContext も更新されません。指定するシェルコードのアーキテクチャ(x86 または x64)は、子プロセスのアーキテクチャと一致している必要があります。

Windows ホスト上でプロジェクトのルートディレクトリから以下のコマンドでコンパイルできます:

set GOOS=windows GOARCH=amd64;go build -o CreateProcess.exe .\cmd\CreateProcess\main.go

CreateProcessWithPipe

このアプリケーションは、Kernel32.dll の Windows CreateProcess 関数を利用します。プロセスは中断状態で作成され、IMAGE_OPTIONAL_HEADER 構造体内の AddressOfEntryPoint が更新されて子プロセスでシェルコードを実行するようになり、その後プロセスが再開されます。これはプロセスハローイングの一種ですが、既存の PE はアンマップされず、ThreadContext も更新されません。指定するシェルコードのアーキテクチャ(x86 または x64)は、子プロセスのアーキテクチャと一致している必要があります。

このアプリケーションは CreateProcess とは異なり、子プロセスで STDOUT または STDERR に書き込まれたデータを収集し、親プロセスに返します。データは CreatePipe 関数を使用して匿名パイプを作成し、そのパイプを介して親プロセスと子プロセスが通信することで収集されます。これは、Donut のようなツールを使用して .NET アセンブリをシェルコードとして子プロセスで実行し、実行プログラムの出力を取得する場合に便利です。以下のコマンドを使用して、Donut v0.9.3 で Seatbelt を実行するための位置独立型シェルコードを生成できます:

.\donut.exe -o donut_v0.9.3_Seatbelt.bin -x 2 -c Seatbelt.Program -m Main -p "ARPTable" Seatbelt.exe

Windows ホスト上でプロジェクトのルートディレクトリから以下のコマンドでコンパイルできます:

set GOOS=windows GOARCH=amd64;go build -o CreateProcessWithPipe.exe .\cmd\CreateProcessWithPipe\main.go

CreateRemoteThread

このアプリケーションは、Kernel32.dll の Windows CreateRemoteThread 関数を利用して、リモートプロセスでシェルコードを実行します。このアプリケーションは、インジェクション対象のターゲットプロセスが既に実行中であることを必要とします。テスト時にターゲットのプロセス ID (PID) を実行時に指定するには、-pid コマンドラインフラグを使用できます。運用時に使用する場合は、以下のコード行で 0 をターゲット PID に置き換えて PID をハードコードします:

pid := flag.Int("pid", 0, "Process ID to inject shellcode into")

このアプリケーションは、可能な限り golang.org/x/sys/windows パッケージの関数(例: windows.OpenProcess())を利用します。Windows ホスト上でプロジェクトのルートディレクトリから以下のコマンドでコンパイルできます:

set GOOS=windows GOARCH=amd64;go build -o CreateRemoteThread.exe .\cmd\CreateRemoteThread\main.go

CreateRemoteThreadNative

このアプリケーションは、Kernel32.dll の Windows CreateRemoteThread 関数を利用して、リモートプロセスでシェルコードを実行します。このアプリケーションは、インジェクション対象のターゲットプロセスが既に実行中であることを必要とします。テスト時にターゲットのプロセス ID (PID) を実行時に指定するには、-pid コマンドラインフラグを使用できます。運用時に使用する場合は、以下のコード行で 0 をターゲット PID に置き換えて PID をハードコードします:

pid := flag.Int("pid", 0, "Process ID to inject shellcode into")

このアプリケーションは、golang.org/x/sys/windows パッケージの関数を使用しません。最も顕著な違いは、必要な DLL とプロシージャをすべて自身でロードし、プロシージャの Call() 関数を使用することです。Windows ホスト上でプロジェクトのルートディレクトリから以下のコマンドでコンパイルできます:

set GOOS=windows GOARCH=amd64;go build -o CreateRemoteThreadNative.exe .\cmd\CreateRemoteThreadNative\main.go

CreateThread

このアプリケーションは、Kernel32.dll の Windows CreateThread 関数を利用して、このアプリケーションのプロセス内でシェルコードを実行します。これは、リモートプロセスインジェクションを避けたい場合に便利です。このアプリケーションは、可能な限り golang.org/x/sys/windows パッケージの関数(例: windows.VirtualAlloc())を利用します。Windows ホスト上でプロジェクトのルートディレクトリから以下のコマンドでコンパイルできます:

set GOOS=windows GOARCH=amd64;go build -o CreateThread.exe .\cmd\CreateThread\main.go

CreateThreadNative

このアプリケーションは、Kernel32.dll の Windows CreateThread 関数を利用して、このアプリケーションのプロセス内でシェルコードを実行します。これは、リモートプロセスインジェクションを避けたい場合に便利です。このアプリケーションは、golang.org/x/sys/windows パッケージの関数を使用しません。最も顕著な違いは、必要な DLL とプロシージャをすべて自身でロードし、プロシージャの Call() 関数を使用することです。Windows ホスト上でプロジェクトのルートディレクトリから以下のコマンドでコンパイルできます:

set GOOS=windows GOARCH=amd64;go build -o CreateThreadNative.exe .\cmd\CreateThreadNative\main.go

EarlyBird

このアプリケーションは、Windows CreateProcess 関数を使用して、中断状態のプロセスを作成します。子プロセスが中断されると、Windows QueueUserAPC 関数を使用して、割り当てられたシェルコードを指す UserAPC を子プロセスに追加します。次に ResumeThread が呼び出され、間接的に未文書化の NtTestAlert 関数が呼び出されて、作成された UserAPC が実行され、その結果シェルコードが実行されます。これは、AV/EDR が関数をフックして検出をサポートする前にシェルコードが実行されるため便利です。参考: New 'Early Bird' Code Injection Technique Discovered。Windows ホスト上でプロジェクトのルートディレクトリから以下のコマンドでコンパイルできます:

export GOOS=windows GOARCH=amd64;go build -o goEarlyBird.exe cmd\EarlyBird\main.go

EtwpCreateEtwThread

このアプリケーションは、ntdll.dll の Windows EtwpCreateEtwThread 関数を利用して、このアプリケーションのプロセス内でシェルコードを実行します。元の研究は TheWover によるものです。リモートプロセスインジェクションを避けたい場合に便利です。このアプリケーションは、golang.org/x/sys/windows パッケージの関数を使用しません。最も顕著な違いは、必要な DLL とプロシージャをすべて自身でロードし、プロシージャの Call() 関数を使用することです。Windows ホスト上でプロジェクトのルートディレクトリから以下のコマンドでコンパイルできます:

set GOOS=windows GOARCH=amd64;go build -o EtwpCreateEtwThread.exe .\cmd\EtwpCreateEtwThread\main.go

NtQueueApcThreadEx (ローカル)

このアプリケーションは、未文書化の NtQueueApcThreadEx を使用して、現在のプロセスの現在のスレッドに「Special User APC」を作成し、シェルコードを実行します。シェルコードは現在のプロセスにロードされて実行されるため、「ローカル」です。同じ手法はリモートプロセスにも使用できます。注: これは Windows 7 以降でのみ動作します。参考: APC Series: User APC API。

export GOOS=windows GOARCH=amd64;go build -o goNtQueueApcThreadEx-Local.exe cmd\NtQueueApcThreadEx-Local\main.go

RtlCreateUserThread

ツールをダウンロード