Nuclei Template Exploit F5 BIG-IP iControl REST Auth Bypass RCE | Parâmetros de comando
Nuclei é a coisinha mais gostosa que tive a oportunidade de brincar nos últimos anos. essa ferramenta faz parte do Projeto Discovery e seu direcionamento seria automatização de requests falando a “grosso modo”.

NUCLEI TEMPLATE
O grande diferencial do Nuclei é seu esquema de templates. Os templates são praticamente o core da ferramenta. Foi criado um repositório focado em receitas(templates) para o scanner. Existem templates criados pela equipe Discovery e contribuições da comunidade. que é uma mesclagem perfeita.
ARQUIVO YAML
Os templates nuclei usam arquivos de extensão .YAML que é um documento criado no formato YAML (YAML Ain’t Markup Language), um formato de dados legível por humanos usado para serialização de dados. É usado para leitura e escrita de dados independentes de uma linguagem de programação específica.
Como qualquer brinquedo hacking é necessário fuçar nas documentações e criar algo diferente. Fiz um uma POC da CVE-2022-1388, na verdade fiz dois templates. um checker e depois fiz um que explorar o RCE.
Nuclei Template CVE-2022-1388 BIG-IP iControl REST Exposed
Basicamente checa se existe a path /mgmt/shared/authn/login
e valida o retorno http com seu body.
- https://github.com/MrCl0wnLab/Nuclei-Template-CVE-2022-1388-BIG-IP-iControl-REST-Exposed
- https://github.com/projectdiscovery/nuclei-templates/blob/master/exposed-panels/bigip-rest-panel.yaml
Nuclei Template Exploit F5 BIG-IP iControl REST Auth Bypass RCE | Command Parameter
Exploração da vulnerabilidade CVE-2022-1388 é uma vulnerabilidade de bypass de autenticação no componente REST da API iControl do BIG-IP. Diferente do template padrão do Nuclei, fiz modificações que possibilita o uso de comandos dinâmicos.
EXECUTANDO TEMPLATE
Este template nuclei aceita o parâmetro shell para exploit. é possível usar o recurso de variável CLI do nuclei para alimentar dinamicamente um valor de token único ou uma lista de tokens nesses modelos em tempo de execução.
-V, -var value custom vars in var=value format
nuclei -l targets.txt -t exploit-CVE-2022-1388.yaml -vv -var CMD=commands.txt nuclei -l targets.txt -t exploit-CVE-2022-1388.yaml -vv -var CMD=uname -a
VARIÁVEL CLI
Os comandos de injection
podem ser passados de forma fixa ou dinâmica via um arquivo.txt
-var recebe o nome da variável interna do template e seu respectivo valor.

Diferente dos outros templates fiz algo mais verboso para facilitar o debug / retorno do request.

ALVOS VIA SHODAN
http.title:"BIG-IP®- Redirect"
RECOMENDAÇÕES
REF
- https://twitter.com/MrCl0wnLab/status/1522325376319512578
- https://blog.projectdiscovery.io/nuclei-v2-5-release/
- https://clouddocs.f5.com/products/big-iq/mgmt-api/v5.4/ApiReferences/bigiq_api_ref/r_auth_login.html
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=2022-1388
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-1388
- https://github.com/alt3kx/CVE-2022-1388_PoC
- https://github.com/dorkerdevil/CVE-2021-22986-Poc/blob/main/README.md
- https://github.com/horizon3ai/CVE-2022-1388/blob/main/CVE-2022-1388.py
- https://github.com/numanturle/CVE-2022-1388/
- https://github.com/tenable/audit_files/tree/master/cve-2022-1388
- https://support.f5.com/csp/article/K23605346
- https://thehackernews.com/2022/05/f5-warns-of-new-critical-big-ip-remote.html
- https://twitter.com/1ZRR4H/status/1522165718975922178
- https://www.tenable.com/blog/cve-2022-1388-authentication-bypass-in-f5-big-ipaml
Post feito ao som de: