
Code de preuve de concept pour CVE-2016-5696
Code de preuve de concept pour CVE-2016-5696
Rover est un petit programme Python permettant de découvrir des ports source arbitraires d'un client, comme le montre la CVE-2016-569. Une fois le port source connu, le 4-tuple d'informations nécessaire pour confirmer que deux hôtes communiquent peut être complété. Lorsqu'il est exécuté, rover établit une connexion avec le serveur cible, synchronise son horloge interne sur l'heure du challenge ack du serveur, puis commence à parcourir la plage de ports éphémères par défaut de la plupart des hôtes Linux (cela peut être modifié si nécessaire).
Pour plus d'informations, consultez l'article original ici
Ceci a été testé pour fonctionner sur Kali 1.0 contre un serveur SSH Ubuntu 14.04. Cela devrait fonctionner avec d'autres, cependant certaines modifications du code peuvent/seront nécessaires. Les prérequis sont :
L'utilisation est la suivante :
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 se termine en environ 1 à 2 minutes, selon la qualité de la synchronisation.

os.system('iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP') car le noyau réinitialise une connexion scapy par défaut. Cela doit être dans IPTABLES pour que le programme fonctionne.