Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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
PacketWhisper — PacketWhisper: Esfiltrare furtivamente i dati e aggirare l'attribuzione utilizzando query DNS e steganografia testuale. Evita i problemi associati ai tipici metodi di esfiltrazione DNS. Trasferisci dati tra sistemi senza che i dispositivi comunicanti si connettano direttamente tra loro o a un endpoint comune. Nessuna necessità di controllare un server DNS. | Kitploit
Strumenti/GitHubGitHub/trycatchhcf/packetwhisper
Esfiltrazione DatiSteganografiaCrittografiaRed TeamingAnalisi DNS
GitHubtrycatchhcf/packetwhisper

PacketWhisper

Vedi Repository

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 →

Informazioni

PacketWhisper: Esfiltrare furtivamente i dati e aggirare l'attribuzione utilizzando query DNS e steganografia testuale. Evita i problemi associati ai tipici metodi di esfiltrazione DNS. Trasferisci dati tra sistemi senza che i dispositivi comunicanti si connettano direttamente tra loro o a un endpoint comune. Nessuna necessità di controllare un server DNS.

653122716 anni faRevisionato da Kitploit
Condividi

PacketWhisper

PacketWhisper - Trasferisci furtivamente dati e sconfiggi l'attribuzione utilizzando query DNS e steganografia basata su testo, senza la necessità di server dei nomi o domini controllati dall'attaccante; Eludi i dispositivi DLP/MLS; Sconfiggi i controlli di whitelisting dei dati e dei server dei nomi DNS. Converti qualsiasi tipo di file (es. eseguibili, Office, Zip, immagini) in un elenco di Fully Qualified Domain Names (FQDNs), usa le query DNS per trasferire dati. Semplice ma estremamente efficace.

(Aggiornamento 27/05/2020: Sì, migrerò tutti i miei progetti Github a Python3 durante l'estate del 2020.)

Autore

Joe Gervais (TryCatchHCF)

Perché è diverso da ogni altra tecnica di esfiltrazione DNS?

L'esfiltrazione DNS tradizionale si basa su uno dei seguenti metodi: tunneling DNS; nascondere i dati nei campi delle query DNS; o payload codificati/cifrati che vengono suddivisi e utilizzati come sottodomini nella query DNS. Tutti questi metodi richiedono che l'attaccante controlli un dominio e/o un server dei nomi DNS associato per ricevere i dati, il che porta all'attribuzione. Questi approcci sono anche vulnerabili al blacklisting (comune) e al whitelisting (sempre più comune) dei server dei nomi DNS. Un altro problema è che gli analisti DFIR conoscono questi metodi e i sistemi SIEM spesso rilevano e segnalano la loro presenza.

PacketWhisper supera queste limitazioni.

E se i dati potessero essere trasferiti utilizzando i server DNS whitelistati del target, senza che i sistemi comunicanti si connettano mai direttamente tra loro o a un endpoint comune? Anche se il confine di rete impiegasse il whitelisting dei dati per bloccare l'esfiltrazione?

Come Funziona

Per realizzare tutto ciò, PacketWhisper combina le query DNS con la steganografia basata su testo. Sfruttando il Cloakify Toolset, trasforma il payload in un elenco di stringhe FQDN. PacketWhisper utilizza quindi l'elenco di FQDN per creare query DNS sequenziali, trasferendo il payload attraverso (o all'interno) i confini di rete, con i dati nascosti in bella vista e senza che i due sistemi si connettano mai direttamente tra loro o a un endpoint comune. I cifrari utilizzati da PacketWhisper forniscono molteplici livelli di inganno per evitare di generare allarmi e per fuorviare i tentativi di analisi.

Per ricevere i dati, catturi il traffico di rete contenente le query DNS, utilizzando il metodo più conveniente per te. (Vedi "Catturare il file PCAP" più avanti per esempi di punti di cattura.) Quindi carichi il file PCAP catturato in PacketWhisper (in esecuzione su qualsiasi sistema sia conveniente), che estrae il payload dal file e lo Decloakifica nella sua forma originale.

DNS è un protocollo interessante da utilizzare perché, sebbene sia un mezzo relativamente lento per trasferire dati, il DNS è quasi sempre consentito attraverso i confini di rete, anche nelle reti più sensibili.

Nota importante: Stiamo usando le query DNS per trasferire i dati, non ricerche DNS riuscite. PacketWhisper non ha mai bisogno di risolvere con successo alcuna delle sue query DNS. In realtà PacketWhisper non guarda nemmeno le risposte DNS. Questo amplia i nostri casi d'uso e sottolinea il fatto che non abbiamo mai bisogno di controllare un dominio per cui stiamo eseguendo query, né di controllare un server dei nomi DNS che gestisce le richieste DNS.

Quindi usando PacketWhisper, trasformiamo un payload che assomiglia a questo:

In un elenco di FQDN come questo:

Che PacketWhisper trasforma in query DNS che appaiono nel traffico di rete come questo:

Che catturi come file PCAP in qualsiasi punto del percorso di risoluzione DNS, e poi carichi quel PCAP nella tua copia locale di PacketWhisper per recuperare il payload:

Tutorial

Vedi le slide del DEF CON 26 (incluse nel progetto) della mia presentazione al Packet Hacking Village. Le slide presentano il background sull'esfiltrazione DNS, la steganografia basata su testo / Cloakify Toolset, e come PacketWhisper li combina in un metodo per trasferire dati. Ho creato appositamente le slide per essere utili da sole, quindi il background e le informazioni dovrebbero essere complete. Tuttavia puoi anche guardare il video della mia presentazione al DC26 Packet Hacking Village che fornisce un contesto aggiuntivo.

Ho incluso un file PCAP di esempio nel progetto (chiamato intelligentemente "sample.pcap") che contiene payload separati per ciascuno dei cifrari. Avrebbero potuto essere qualsiasi tipo di file, ovviamente, ma in questo caso ho trasmesso solo file di testo nel PCAP. Caricalo in PacketWhisper e provalo!

Come test rapido nel tuo ambiente, esegui PacketWhisper da una VM, poi invia un file mentre effettui una cattura di pacchetti sull'interfaccia di rete della VM tramite il sistema host. Puoi quindi caricare il file PCAP in qualsiasi istanza di PacketWhisper sia conveniente per decodificare il file. Ricorda solo che non è un trasferimento veloce. File più piccoli e pazienza sono tuoi amici.

Richiede

  1. Python 2.7.x (è in corso il porting a 3.6.x)
  2. Per decodificare i payload: tcpdump (incluso in Linux e MacOS) o WinDump (Windows)

Domanda: "Perché non hai usato Scapy o il toolset dnspython?"

Risposta: Odio le dipendenze di progetto nei miei strumenti operativi. Mantengo i miei progetti il più atomici e autonomi possibile per la massima affidabilità, specialmente lato client dove potrei non controllare l'ambiente e/o avere privilegi minimi. Con la struttura di PacketWhisper, posso farlo funzionare su un host shell limitato semplicemente comprimendo il progetto ed estraendolo sull'host di destinazione.

Domanda: "Perché PacketWhisper non è un fork del Cloakify Toolset?"

Risposta: Stessa risposta di sopra. Abbiamo bisogno solo di un sottinsieme molto specifico delle capacità di Cloakify, e aggiungere tutto il resto a PacketWhisper porterebbe solo a una directory disordinata e strumenti/cifrari che PacketWhisper non può utilizzare. Poiché possiedo entrambi i progetti, prometto di sincronizzare eventuali modifiche tra i due.

Eseguire PacketWhisper

$ python packetWhisper.py

Cifrari Basati su FQDN

I cifrari basati su FQDN consistono in 3 categorie:

  1. Sottodomini FQDN unici e casuali (Consigliato - evita la memorizzazione nella cache DNS, supera il NAT)
  2. FQDN unici ripetuti (Il DNS può memorizzare nella cache, ma supera il NAT)
  3. FQDN di siti web comuni (La cache DNS potrebbe bloccare, il NAT interferisce)

Sottodomini FQDN unici e casuali

MODALITÀ DI CIFRATURA CONSIGLIATA PER LA MAGGIOR PARTE DEI CASI D'USO

Si tratta di FQDN con elementi casuali incorporati nei sottodomini. Questo aiuta a prevenire la memorizzazione nella cache DNS, consentendo anche di trasferire dati oltre i dispositivi di rete NAT che potrebbero trovarsi lungo il percorso della query DNS. Poiché l'indirizzo IP del sistema mittente non è disponibile oltre il dispositivo NAT, i sottodomini generati dal cifrario contengono elementi tag unici per aiutarci a identificare i payload di PacketWhisper nella cattura di pacchetti.

Questi cifrari imitano i formati di vari servizi che si affidano a sottodomini complessi come mezzo per identificare una sessione, un utente, contenuti memorizzati nella cache, ecc. Questo approccio aiuta le query DNS di PacketWhisper a mimetizzarsi con il resto del traffico di rete.

Scarica lo strumento