
Codice Proof of Concept per CVE-2016-5696
Codice proof-of-concept per CVE-2016-5696
Rover è un piccolo programma Python per scoprire porte sorgente arbitrarie del client, come mostrato in CVE-2016-569. Una volta nota la porta sorgente, la quadrupla di informazioni necessaria per confermare che due host stiano comunicando può essere completata. Quando viene eseguito, rover stabilisce una connessione con il server di destinazione, sincronizza il proprio orologio interno con il tempo di challenge ACK del server, quindi inizia a cercare nell'intervallo di porte effimere predefinito della maggior parte degli host Linux (questo può essere modificato se necessario).
Per maggiori informazioni, consulta l'articolo originale qui
È stato testato per funzionare su Kali 1.0 contro un server SSH Ubuntu 14.04. Dovrebbe funzionare anche su altri, tuttavia alcune modifiche al codice potranno/dovranno essere necessarie. I requisiti sono:
Utilizzo:
rover.py [-h] -c 192.168.1.1 -s 192.168.1.10 -p 22 [-v v, vv]
CVE2016-5969 Demonstrator.
optional arguments:
-h, --help show this help message and exit
-c 192.168.1.1 The target client IP.
-s 192.168.1.10 The target server IP.
-p 22 The target server port.
-v v, vv The verbosity level
Rover terminerà in circa 1-2 minuti, a seconda della qualità della sincronizzazione.

os.system('iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP') perché il kernel reimposta di default una connessione scapy. Questa regola deve essere presente in IPTABLES affinché il programma funzioni.