
Proof of Concept-Code für CVE-2016-5696
Proof-of-Concept-Code für CVE-2016-5696
Rover ist ein kleines Python-Programm, um beliebige Client-Quellports zu entdecken, wie in CVE-2016-569 gezeigt. Sobald der Quellport bekannt ist, kann das 4-Tupel von Informationen vervollständigt werden, das benötigt wird, um zu bestätigen, dass zwei Hosts kommunizieren. Bei der Ausführung stellt Rover eine Verbindung zum Zielserver her, synchronisiert seine interne Uhr mit der Server-Challenge-Ack-Zeit und beginnt dann, den standardmäßigen ephemeren Portbereich der meisten Linux-Hosts zu durchsuchen (dies kann bei Bedarf geändert werden).
Für weitere Informationen finden Sie das Originalpapier hier
Dies wurde getestet, um auf Kali 1.0 gegen einen Ubuntu 14.04 SSH-Server zu laufen. Es sollte auch gegen andere funktionieren, jedoch sind möglicherweise/wahrscheinlich einige Änderungen am Code erforderlich. Voraussetzungen sind:
Die Verwendung ist wie folgt:
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 wird in etwa 1-2 Minuten abgeschlossen sein, abhängig von der Qualität der Synchronisation.

os.system('iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP'), weil der Kernel standardmäßig eine Scapy-Verbindung zurücksetzen wird. Diese muss in IPTABLES vorhanden sein, damit das Programm funktioniert.