
Cisco 라우터 구성 노출(CVE-2019-1653)을 탐지하고 악용하기 위한 자동화된 Nuclei 템플릿 및 Shodan 워크플로우로, 보안 감사용으로 설계되었습니다.
Cisco Router Configuration Exposure Vulnerability 취약점 설명
이 저장소는 특정 Cisco 라우터에서 config.exp 구성 파일이 공개적으로 접근 가능한 URL을 통해 노출되는 취약점의 악용 과정을 자세히 설명합니다. 이 파일에는 자격 증명(USERNAME 및 PASSWD), 네트워크 구성 및 기타 중요한 시스템 세부 정보를 포함한 민감한 정보가 포함될 수 있습니다. 인증 없이 접근 가능할 경우 장치 및 해당 장치가 배포된 네트워크의 보안을 손상시킬 수 있습니다.
관련 CVE
이 취약점은 CVE-2003-1567 및 CVE-2019-1653과 관련될 수 있으며, 둘 다 Cisco 장치에서 구성 파일의 비인가 노출과 관련이 있습니다. 다만 특정 장치와 펌웨어가 이러한 CVE에 해당하는지 조사하는 것이 중요합니다. 악용을 위한 단계별 가이드
이 절차는 Shodan을 사용하여 취약한 장치를 식별한 다음, Nuclei를 사용하여 Cisco 라우터의 중요한 구성 노출을 스캔하고 확인합니다. 사전 요구 사항
Shodan 계정: Shodan 계정이 있고 명령줄에서 접근할 수 있도록 API Key가 구성되어 있는지 확인하십시오.
Nuclei: 아래에 설명된 사용자 지정 Nuclei 템플릿과 함께 환경에 설치되어 있어야 합니다.
도구: IP 주소를 전체 URL로 변환하기 위한 shodan-cli, awk, httpx.
1단계: Shodan에서 취약한 장치 검색
첫 번째 단계는 고급 검색을 통해 Shodan에서 취약한 장치를 식별하는 것입니다. 다음 Shodan 쿼리는 Cisco 라우터일 가능성이 있는 장치를 검색합니다.
shodan download apache_results.json.gz "http.favicon.hash:-299287097 Apache"
이 명령은:
Shodan에서 검색을 수행하여 Apache favicon이 있고, Apache와 관련된 서버를 식별할 수 있는 특정 해시를 가진 장치를 찾습니다. 이는 서버 감사 맥락에서 유용합니다.
2단계: 결과 다운로드 및 URL 형식 지정
apache_results.json.gz 파일이 준비되면, 다음 단계는 각 장치의 IP와 포트를 추출하여 프로토콜(http 또는 https)과 포트를 포함한 전체 URL로 형식화하는 것입니다.
.json 파일 데이터 처리를 위한 명령
다음 명령을 사용하여 IP와 포트를 추출하고 urls.txt라는 파일에 전체 URL로 형식화하십시오:
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: `apache_results.json.gz` 파일의 각 결과에서 IP와 포트를 추출합니다.
awk: 포트가 443이거나 SSL이 감지되면 https를 사용하고, 그 외의 경우 http를 사용하여 출력을 전체 URL로 형식화합니다.
이제 urls.txt 파일에는 완전하고 형식화된 URL이 포함됩니다.
3단계: 사용자 지정 Nuclei 템플릿 만들기
이러한 장치에서 config.exp 파일에 접근할 수 있는지 확인하기 위해 사용자 지정 Nuclei 템플릿을 사용합니다. 이 템플릿은 파일에 접근을 시도하고 USERNAME 및 PASSWD와 같은 민감한 데이터가 있으면 추출합니다.
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:
이 템플릿은:
`/cgi-bin/config.exp` 파일에 GET 요청을 보냅니다.
응답에 특정 키워드나 패턴(Cisco, config, version)이 있는지 확인하여 노출 여부를 확인합니다.
파일에 USERNAME 및 PASSWD 값이 있으면 추출을 시도합니다.
이 템플릿을 Nuclei 템플릿 폴더에 cisco-router-config-exposure.yaml로 저장하십시오.
4단계: Nuclei를 실행하여 취약한 장치 탐지
템플릿과 urls.txt 파일이 준비되면 다음 Nuclei 명령을 실행하여 URL을 스캔하십시오:
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: 우리가 만든 사용자 지정 템플릿을 지정합니다.
-l urls.txt: 형식화된 URL이 포함된 `urls.txt` 파일을 사용합니다.
-o resultados_nuclei.txt: 결과를 `resultados_nuclei.txt` 파일에 저장합니다.
-debug -vv: 진행 상황과 디버깅 세부 정보를 확인하기 위해 Nuclei를 상세 모드로 실행합니다.
결과
Nuclei를 실행한 후 resultados_nuclei.txt 파일에는 config.exp 구성 파일을 노출하는 취약한 장치 목록이 포함됩니다. 여기에는 자격 증명이나 민감한 구성을 반환하는 모든 장치가 포함되며, 이는 취약점 노출을 확인합니다.
결론
이 프로세스를 통해 Shodan과 Nuclei를 사용하여 Cisco 장치에서 중요한 구성 파일의 노출을 식별하고 확인할 수 있습니다. 이 흐름의 자동화는 기업 네트워크의 안전하지 않은 구성을 식별하고 수정하는 데 관심이 있는 보안 감사자와 사이버 보안 전문가에게 특히 유용합니다.