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.

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.

https://github.com/MrCl0wnLab/Nuclei-Template-Exploit-F5-BIG-IP-iControl-REST-Auth-Bypass-RCE-Command-Parameter/blob/main/exploit-CVE-2022-1388.yaml

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

Captura de tela de 2022-05-10 01-28-12

ALVOS VIA SHODAN

RECOMENDAÇÕES

REF

Post feito ao som de: