diff --git a/src/network-services-pentesting/pentesting-telnet.md b/src/network-services-pentesting/pentesting-telnet.md index 44225beea..39e8ad021 100644 --- a/src/network-services-pentesting/pentesting-telnet.md +++ b/src/network-services-pentesting/pentesting-telnet.md @@ -5,7 +5,7 @@ ## **Temel Bilgiler** -Telnet, kullanıcılara bir ağ üzerinden bir bilgisayara erişim sağlamak için güvensiz bir yol sunan bir ağ protokolüdür. +Telnet, kullanıcıların bir ağ üzerinden bir bilgisayara güvensiz bir şekilde erişim sağlamasına olanak tanıyan bir ağ protokolüdür. **Varsayılan port:** 23 ``` @@ -23,7 +23,7 @@ nmap -n -sV -Pn --script "*telnet* and safe" -p 23 ``` `telnet-ntlm-info.nse` betiği NTLM bilgilerini (Windows sürümleri) alacaktır. -[telnet RFC](https://datatracker.ietf.org/doc/html/rfc854)'deki TELNET Protokolünde, kullanıcı ve sunucunun TELNET bağlantıları için daha karmaşık (veya belki sadece farklı) bir dizi kural kullanmayı kabul etmesine olanak tanıyan çeşitli "**seçenekler**" bulunmaktadır. Bu seçenekler karakter setini, yankı modunu değiştirmeyi vb. içerebilir. +[telnet RFC](https://datatracker.ietf.org/doc/html/rfc854)'deki TELNET Protokolünde, kullanıcı ve sunucunun TELNET bağlantıları için daha karmaşık (veya belki sadece farklı) bir dizi kural kullanmayı kabul etmesine olanak tanıyan çeşitli "**seçenekler**" bulunmaktadır. Bu seçenekler karakter setini değiştirmek, yankı modunu ayarlamak vb. içerebilir. **Bu seçenekleri sıralamanın mümkün olduğunu biliyorum ama nasıl yapıldığını bilmiyorum, eğer biliyorsanız lütfen bana bildirin.** @@ -67,4 +67,60 @@ Note: sourced from https://github.com/carlospolop/legion Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/brocade_enable_login; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_encrypt_overflow; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_ruggedcom; set RHOSTS {IP}; set RPORT 23; run; exit' ``` -{{#include ../banners/hacktricks-training.md}} +### Son Güvenlik Açıkları (2022-2025) + +* **CVE-2024-45698 – D-Link Wi-Fi 6 yönlendiricileri (DIR-X4860)**: Yerleşik Telnet servisi, sabit kodlanmış kimlik bilgilerini kabul etti ve girişi temizlemede başarısız oldu, bu da yetkisiz uzaktan RCE'ye root olarak, port 23 üzerinden hazırlanmış komutlar aracılığıyla olanak tanıdı. Firmware ≥ 1.04B05 ile düzeltildi. +* **CVE-2023-40478 – NETGEAR RAX30**: Telnet CLI `passwd` komutundaki yığın tabanlı tampon taşması, komşu bir saldırganın kimlik doğrulamayı atlamasına ve root olarak rastgele kod çalıştırmasına olanak tanır. +* **CVE-2022-39028 – GNU inetutils telnetd**: İki baytlık bir dizilim (`0xff 0xf7` / `0xff 0xf8`), `telnetd`'yi çökerten bir NULL işaretçi dereferansı tetikler ve birkaç çökmeden sonra kalıcı bir DoS'a yol açar. + +Bu CVE'leri güvenlik açığı triage'ı sırasında aklınızda bulundurun—hedef, yamanmamış bir firmware veya eski inetutils Telnet daemon'u çalıştırıyorsa, kod yürütme veya kesintili bir DoS için doğrudan bir yolunuz olabilir. + +### Kimlik Bilgilerini Dinleme & Adam Ortada + +Telnet, kimlik bilgileri de dahil olmak üzere her şeyi **düz metin** olarak iletir. Onları yakalamanın iki hızlı yolu: +```bash +# Live capture with tcpdump (print ASCII) +sudo tcpdump -i eth0 -A 'tcp port 23 and not src host $(hostname -I | cut -d" " -f1)' + +# Wireshark display filter +tcp.port == 23 && (telnet.data || telnet.option) +``` +Aktif MITM için, ARP sahtekarlığını (örneğin `arpspoof`/`ettercap`) aynı sniffing filtreleriyle birleştirerek anahtarlamalı ağlarda şifreleri toplamak. + +### Otomatik Kaba Güç / Şifre Spreyi +```bash +# Hydra (stop at first valid login) +hydra -L users.txt -P rockyou.txt -t 4 -f telnet:// + +# Ncrack (drop to interactive session on success) +ncrack -p 23 --user admin -P common-pass.txt --connection-limit 4 + +# Medusa (parallel hosts) +medusa -M telnet -h targets.txt -U users.txt -P passwords.txt -t 6 -f +``` +Çoğu IoT botneti (Mirai varyantları) hala port 23'ü küçük varsayılan kimlik bilgisi sözlükleri ile tarıyor—bu mantığı yansıtmak zayıf cihazları hızlıca tanımlayabilir. + +### Sömürü ve Sonrası + +Metasploit'in birkaç yararlı modülü vardır: + +* `auxiliary/scanner/telnet/telnet_version` – banner ve seçenek sayımı. +* `auxiliary/scanner/telnet/brute_telnet` – çoklu iş parçacıklı brute force. +* `auxiliary/scanner/telnet/telnet_encrypt_overflow` – savunmasız Solaris 9/10 Telnet'e karşı RCE (ENCRYPT seçeneği işleme). +* `exploit/linux/mips/netgear_telnetenable` – birçok NETGEAR yönlendiricisinde telnet hizmetini özel bir paket ile etkinleştirir. + +Bir shell elde edildikten sonra **TTY'lerin genellikle aptal olduğunu** unutmayın; `python -c 'import pty;pty.spawn("/bin/bash")'` ile yükseltin veya [HackTricks TTY tricks](/generic-hacking/reverse-shells/full-ttys.md) kullanın. + +### Güçlendirme ve Tespit (Mavi takım köşesi) + +1. SSH'yi tercih edin ve Telnet hizmetini tamamen devre dışı bırakın. +2. Telnet gerekiyorsa, yalnızca yönetim VLAN'larına bağlayın, ACL'leri zorlayın ve daemon'u TCP wrapper'ları ile sarın (`/etc/hosts.allow`). +3. Eski `telnetd` uygulamalarını `ssl-telnet` veya `telnetd-ssl` ile değiştirin, ancak **bu yalnızca veri iletimini korur—şifre tahmin etme basit kalır**. +4. Port 23'e giden çıkış trafiğini izleyin; ihlaller genellikle sıkı HTTP çıkış filtrelerini aşmak için Telnet üzerinden ters shell'ler oluşturur. + +## Referanslar + +* D-Link Danışmanlığı – CVE-2024-45698 Kritik Telnet RCE. +* NVD – CVE-2022-39028 inetutils `telnetd` DoS. + +{{#include /banners/hacktricks-training.md}}