
Modelo automatizado Nuclei e fluxo de trabalho Shodan para detectar e explorar exposição de configuração de roteadores Cisco (CVE-2019-1653) para auditoria de segurança.
Cisco Router Configuration Exposure Vulnerability Descrição da Vulnerabilidade
Este repositório detalha o processo de exploração de uma vulnerabilidade em determinados roteadores Cisco que permite a exposição do arquivo de configuração config.exp por meio de uma URL pública acessível. Esse arquivo pode conter informações sensíveis, incluindo credenciais (USERNAME e PASSWD), configurações de rede e outros detalhes críticos do sistema. Caso esteja acessível sem autenticação, pode comprometer a segurança do dispositivo e da rede na qual está implantado. CVE Relacionado
Esta vulnerabilidade pode estar relacionada com CVE-2003-1567 e CVE-2019-1653, ambas relacionadas com a exposição não autorizada de arquivos de configuração em dispositivos Cisco, embora seja importante investigar se o dispositivo e o firmware específicos se aplicam a esses CVEs. Guia Passo a Passo para a Exploração
Este procedimento utiliza o Shodan para identificar dispositivos vulneráveis, seguido do Nuclei para escanear e verificar a exposição de configurações críticas em roteadores Cisco. Pré-requisitos
Conta no Shodan: Certifique-se de ter uma conta no Shodan e de que sua API Key esteja configurada para acessar pela linha de comando.
Nuclei: Instalado no seu ambiente, juntamente com o template personalizado do Nuclei descrito abaixo.
Ferramentas: shodan-cli, awk e httpx para a conversão de endereços IP em URLs completas.
Passo 1: Buscar Dispositivos Vulneráveis no Shodan
O primeiro passo é identificar dispositivos vulneráveis no Shodan por meio de uma busca avançada. A seguinte consulta no Shodan busca dispositivos que possivelmente sejam roteadores Cisco:
shodan download apache_results.json.gz "http.favicon.hash:-299287097 Apache"
Este comando:
Realiza uma busca no Shodan para identificar dispositivos que tenham o favicon do Apache, com um hash específico que identifica servidores que podem estar relacionados ao Apache. Isso é útil no contexto de auditorias de servidores.
Passo 2: Baixar Resultados e Formatar URLs
Depois de ter o arquivo apache_results.json.gz, o próximo passo é extrair IPs e portas de cada dispositivo para formatá-los em URLs completas, incluindo o protocolo (http ou https) e a porta. Comando para processar os dados do arquivo .json
Use o seguinte comando para extrair os IPs e portas e formatá-los em URLs completas em um arquivo chamado urls.txt:
shodan parse --fields ip_str,port,ssl.version apache_results.json.gz |
awk '{if ($2 == 443 || $3 ~ /https/) print "https://"$1":"$2; else print "http://"$1":"$2}' > urls.txt
shodan parse: Extrai os IPs e portas de cada resultado no arquivo apache_results.json.gz.
awk: Formata a saída em URLs completas, usando https se a porta for 443 ou se SSL for detectado, e http nos demais casos.
O arquivo urls.txt agora contém URLs completas e formatadas. Passo 3: Criar um Template Personalizado do Nuclei
Para verificar se o arquivo config.exp está acessível nesses dispositivos, vamos utilizar um template personalizado do Nuclei. Este template tentará acessar o arquivo e extrairá dados sensíveis como USERNAME e PASSWD se estiverem presentes. Template do Nuclei (cisco-router-config-exposure.yaml)
id: cisco-router-config-exposure info: name: Cisco Router Configuration Exposure author: elzer severity: high description: | Detecta la exposición del archivo config.exp en routers Cisco que contiene credenciales y configuraciones críticas.
tags:
requests:
method: GET path:
matchers-condition: or matchers:
Este template:
Envia uma solicitação GET ao arquivo /cgi-bin/config.exp.
Verifica se na resposta são encontradas palavras-chave ou padrões específicos (Cisco, config, version) para confirmar a exposição.
Tenta extrair valores de USERNAME e PASSWD se estiverem presentes no arquivo.
Salve este template como cisco-router-config-exposure.yaml na pasta de templates do Nuclei. Passo 4: Executar o Nuclei para Detectar Dispositivos Vulneráveis
Com o template e o arquivo urls.txt prontos, execute o seguinte comando do Nuclei para escanear as URLs:
nuclei -t path/to/cisco-router-config-exposure.yaml -l urls.txt -o resultados_nuclei.txt -debug -vv
-t path/to/cisco-router-config-exposure.yaml: Indica o template personalizado que criamos.
-l urls.txt: Usa o arquivo urls.txt com as URLs formatadas.
-o resultados_nuclei.txt: Salva os resultados no arquivo resultados_nuclei.txt.
-debug -vv: Executa o Nuclei em modo detalhado para ver o progresso e os detalhes de depuração.
Resultado
Depois de executar o Nuclei, o arquivo resultados_nuclei.txt conterá uma listagem de dispositivos vulneráveis que expõem o arquivo de configuração config.exp. Isso inclui qualquer dispositivo que retorne credenciais ou configurações sensíveis, o que confirma a exposição da vulnerabilidade. Conclusão
Este processo permite identificar e confirmar a exposição de arquivos de configuração críticos em dispositivos Cisco utilizando Shodan e Nuclei. A automação desse fluxo é especialmente útil para auditores de segurança e profissionais de cibersegurança interessados em identificar e remediar configurações inseguras em redes corporativas.