
Код Proof of Concept для CVE-2016-5696
Код Proof of Concept для CVE-2016-5696
Rover — это небольшая программа на Python для обнаружения произвольных исходных портов клиента, как показано в CVE-2016-569. Как только исходный порт известен, 4-элементный кортеж информации, необходимой для подтверждения того, что два хоста общаются, может быть завершён. При запуске rover устанавливает соединение с целевым сервером, синхронизирует свои внутренние часы со временем подтверждения вызова сервера, а затем начинает поиск в диапазоне эфемерных портов по умолчанию для большинства хостов Linux (это можно изменить при необходимости).
Для получения дополнительной информации найдите оригинальную статью здесь
Протестировано для работы на kali 1.0 против SSH-сервера Ubuntu 14.04. Должно работать и с другими, однако могут/будут необходимы некоторые изменения в коде. Требования:
Использование следующее:
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 завершится примерно через 1-2 минуты, в зависимости от качества синхронизации.

os.system('iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP'), потому что ядро по умолчанию сбрасывает соединение Scapy. Эта строка должна быть в IPTABLES для работы программы.