38 lines
2.2 KiB
Markdown

# Cisco SNMP
{{#include ../../banners/hacktricks-training.md}}
## Pentesting Cisco Networks
**SNMP**는 일반 메시지에 대해 161/UDP 포트, 트랩 메시지에 대해 162/UDP 포트를 사용하여 UDP에서 작동합니다. 이 프로토콜은 SNMP 에이전트와 서버 간의 통신을 가능하게 하는 비밀번호 역할을 하는 커뮤니티 문자열에 의존합니다. 이러한 문자열은 접근 수준을 결정하므로 중요하며, 특히 **읽기 전용(RO) 또는 읽기-쓰기(RW) 권한**을 설정합니다. 펜테스터에게 주목할 만한 공격 벡터는 **커뮤니티 문자열의 무작위 대입 공격**으로, 네트워크 장치에 침투하는 것을 목표로 합니다.
이러한 무작위 대입 공격을 실행하기 위한 실용적인 도구는 [**onesixtyone**](https://github.com/trailofbits/onesixtyone)이며, 이는 잠재적인 커뮤니티 문자열 목록과 대상의 IP 주소가 필요합니다:
```bash
onesixtyone -c communitystrings -i targets
```
#### `cisco_config_tftp`
Metasploit 프레임워크는 `cisco_config_tftp` 모듈을 제공하여 RW 커뮤니티 문자열을 획득한 경우 장치 구성을 추출할 수 있습니다. 이 작업에 필요한 필수 매개변수는 다음과 같습니다:
- RW 커뮤니티 문자열 (**COMMUNITY**)
- 공격자의 IP (**LHOST**)
- 대상 장치의 IP (**RHOSTS**)
- 구성 파일의 대상 경로 (**OUTPUTDIR**)
구성이 완료되면 이 모듈은 지정된 폴더로 장치 설정을 직접 다운로드할 수 있습니다.
#### `snmp_enum`
또 다른 Metasploit 모듈인 **`snmp_enum`**은 상세한 하드웨어 정보를 수집하는 데 특화되어 있습니다. 이 모듈은 두 가지 유형의 커뮤니티 문자열로 작동하며, 성공적인 실행을 위해 대상의 IP 주소가 필요합니다:
```bash
msf6 auxiliary(scanner/snmp/snmp_enum) > set COMMUNITY public
msf6 auxiliary(scanner/snmp/snmp_enum) > set RHOSTS 10.10.100.10
msf6 auxiliary(scanner/snmp/snmp_enum) > exploit
```
## 참고문헌
- [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
{{#include ../../banners/hacktricks-training.md}}