
Strumento di test per l'esfiltrazione di dati basato su DNS con trasferimento bidirezionale, interfaccia web e script client per il rilevamento di vulnerabilità RCE/XXE cieche in ambienti vincolati.
Il request.bin delle richieste DNS
DNSBin è un semplice strumento per testare l'esfiltrazione di dati tramite DNS e aiutare a testare vulnerabilità come RCE o XXE quando l'ambiente ha vincoli significativi. Il progetto è composto da due parti: la prima è il server web e i suoi componenti. Offre una semplice interfaccia web; nella maggior parte dei casi non avrai bisogno di altro. La parte client offre uno script Python che permette di trasferire dati in entrambe le direzioni tramite DNS utilizzando il servizio web.
La configurazione DNS attuale che ho per il server demo è la seguente. Tieni presente che l'ho fatta per tentativi ed errori, quindi la configurazione potrebbe essere troppo complicata o avere problemi. Se sei più esperto, sentiti libero di aprire un issue.
È altamente consigliato avviare il ricevitore DNS e l'endpoint WebSocket con il modulo Node.JS "forever".
forever start index.js
Per il frontend, il file "index.html" può essere ospitato sul web server di tua scelta. Assicurati che l'URL WebSocket punti al tuo server.
Lo script client richiede l'installazione di "dnspython" su entrambi i lati. Che tu stia inviando o ricevendo dati, devi prima avviare lo script sulla macchina che si trova al di fuori della zona ristretta. Lo script ti fornirà un token univoco che dovrai passare quando esegui lo script sulla macchina all'interno della zona ristretta.
Macchina esterna
echo test12345 | python main.py -f- -d out -t-
Macchina interna
python main.py -f- -d in -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU
Macchina esterna
python main.py -f- -d in -t-
Macchina interna
echo test12345 | python main.py -f- -d out -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU