69
TFTP
linuxUDP tabanlı kimlik doğrulamasız TFTP servisinde dosya okuma/yazma denemeleri, bilinen dosya isimleriyle config sızdırma ve webroot'a yazma ile foothold.
┌──
Komutlar
nmap ✓ EXAM-SAFE
nmap -sU -p69 -sV {{RHOST}} TFTP UDP port ve sürüm tespiti (TFTP UDP olduğu için -sU şart). HackTricks — Pentesting TFTP
nmap ✓ EXAM-SAFE
nmap -sU -p69 --script tftp-enum {{RHOST}} Yaygın dosya adları sözlüğüyle TFTP'de okunabilir dosyaları enumerate eder. Nmap NSE — tftp-enum
tftp ✓ EXAM-SAFE
tftp {{RHOST}} Etkileşimli TFTP istemcisi; içeride 'get <dosya>' ve 'put <dosya>' denenir. HackTricks — Pentesting TFTP
tftp ✓ EXAM-SAFE
tftp {{RHOST}} -c get {{URL}} Belirli bir dosyayı TFTP'den indirir (kimlik doğrulama yok). HackTricks — Pentesting TFTP
tftp ✓ EXAM-SAFE
tftp {{RHOST}} -c put shell.php Yazma açıksa webroot'a webshell/dosya yükleme denemesi. HackTricks — Pentesting TFTP
Genel Bakış
TFTP (69/udp) kimlik doğrulaması olmayan, UDP üzerinden çalışan basit bir dosya transfer protokolüdür. Dizin listeleme yoktur; dosya adını bilmen veya tahmin etmen gerekir.
Enumeration
- UDP olduğu için tarama yavaştır;
-sU -p69ile teyit et. Açık isetftp-enumscripti yaygın dosya adlarını (config, startup-config, vb.) dener. - Dizin listelemesi olmadığından
tftp-enumveya kendi kelime listenle (router/cihaz config isimleri) okuma denemeleri yap.
Exploitation
- Okuma açıksa hassas dosyaları (örn. ağ cihazı config’leri,
/etc/passwdbenzeri yollar) çekmeyi dene. - Yazma açıksa ve TFTP kök dizini web sunucusunun köküyle çakışıyorsa, webshell
putedip HTTP üzerinden tetikleyerek RCE elde edebilirsin.
Gotchalar
- TFTP’de binary mod (octet) ile çalış; metin dışı dosyalarda bozulma olmasın.
- UDP olduğu için paket kaybında transfer takılabilir; tekrar dene.
Pivot / Loot
- Çekilen cihaz/uygulama config’lerinde parola, SNMP community string ve anahtar ara.
┌──
İlgili teknikler
┌──
Kaynaklar
↗ HackTricks — Pentesting TFTPNmap NSE — tftp-enum