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

Basiese Inligting

Telnet is ’n netwerkprotokol wat gebruikers ’n onveilige manier bied om toegang tot ’n rekenaar oor ’n netwerk te kry.

Standaard poort: 23

23/tcp open  telnet

Enumerasie

nc -vn <IP> 23

Al die interessante enumeration 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) verkry.

From the telnet RFC: In the TELNET Protocol are various “opsies” that will be sanctioned and may be used with the “DO, DON’T, WILL, WON’T” structure to allow a user and server to agree to use a more elaborate (or perhaps just different) set of conventions for their TELNET connection. Sulke opsies kan insluit die verandering van die karakterstel, die echo-modus, ens.

Ek weet dit is moontlik om hierdie opsies te enumereer, maar ek weet nie hoe nie — laat weet my as jy weet hoe.

Enumereer Telnet Opsies / Kenmerke

Telnet gebruik IAC + DO/DONT/WILL/WONT-onderhandelinge om opsies te aktiveer. Jy kan ondersteunde opsies waarneem deur die aanvanklike onderhandeling vas te vang en deur te toets vir spesifieke kenmerke.

Nmap opsie-/kenmerkprobes

# 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 script kontroleer of die ENCRYPT-opsie ondersteun word; sommige implementasies het histories hierdie opsie verkeerd hanteer en was kwesbaar, maar die script kontroleer slegs ondersteuning. telnet-ntlm-info openbaar NTLM metadata (NetBIOS/DNS/OS build) wanneer Microsoft Telnet NTLM geaktiveer 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 Kommando’s

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): Onbehoorlike invoerverifiëring in die telnet-diens laat afgeleë aanvalleerders toe om aan te meld met hard-gekodeerde inlogbewyse en OS-opdragte in te spuit; reggestel in firmware 1.04B05 of later.
  • CVE-2023-40478 – NETGEAR RAX30: Stack-based buffer overflow in die Telnet CLI passwd command maak netwerk-aanliggende code-execution as root moontlik; verifikasie is vereis maar kan omseil word.
  • CVE-2022-39028 – GNU inetutils telnetd: A two-byte sequence (0xff 0xf7 / 0xff 0xf8) kan telnetd laat crash via ’n NULL-pointer dereferensie, en herhaalde crashes kan inetd daartoe bring om die diens te deaktiveer (DoS).

Hou hierdie CVE’s in gedagte tydens kwesbaarheidstriage — as die teiken ’n nie-gepatchte firmware of ’n legacy inetutils Telnet daemon bestuur, mag jy ’n direkte pad hê na code-execution of ’n ontwrigtende DoS.

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

Opsomming: telnetd in GNU Inetutils through 2.7 laat remote authentication bypass toe via ’n USER omgewingveranderlike waarde van -f root, wat lei tot ongeverifieerde root-toegang. Oorsaak: argument injection (CWE-88) omdat telnetd die kliënt-gelewerde USER omgewingveranderlike na login deurgee sonder sanitisering. Omvang: GNU Inetutils telnetd weergawes 1.9.3–2.7 is aangetas (gepubliseer January 21, 2026).

Mitigasies

  • Patch/upgrade affected packages immediately (e.g., Debian fixes are in 2:2.4-2+deb12u2, 2:2.6-3+deb13u1, and 2:2.7-2).
  • Disable Telnet of beperk toegang tot vertroude bestuursnetwerke terwyl jy opdateer.

Sniffing Credentials & Man-in-the-Middle

Telnet stuur alles oor, insluitend credentials, in clear-text. Twee vinnige maniere om dit te vang:

# 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 passwords op switched networks te oes.

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

Die meeste IoT-botnets (Mirai-variante) skandeer nog steeds poort 23 met klein default-credential dictionaries—’n nabootsing van daardie logika kan vinnig swak toestelle identifiseer.

Exploitation & Post-Exploitation

Metasploit het verskeie nuttige modules:

  • auxiliary/scanner/telnet/telnet_version – banner & option enumeration.
  • auxiliary/scanner/telnet/brute_telnet – multithreaded bruteforce.
  • auxiliary/scanner/telnet/telnet_encrypt_overflow – RCE teen kwesbare Solaris 9/10 Telnet (opsie ENCRYPT hantering).
  • exploit/linux/mips/netgear_telnetenable – aktiveer die telnet-diens met ’n gekontrueerde pakket op baie NETGEAR-routers.

Nadat ’n shell verkry is, onthou dat TTYs gewoonlik dom is; verbeter dit met python -c 'import pty;pty.spawn("/bin/bash")' of gebruik die HackTricks TTY tricks.

Verharding & Opsporing (Blou-span hoek)

  1. Gebruik by voorkeur SSH en deaktiveer die Telnet-diens heeltemal.
  2. As Telnet vereis word, bind dit slegs aan management-VLANs, dwing ACLs af en omsluit die daemon met TCP wrappers (/etc/hosts.allow).
  3. Vervang legacy-implementasies van telnetd met ssl-telnet of telnetd-ssl om transporbenkripsie by te voeg, maar dit beskerm slegs data-in-transit — password-guessing bly triviaal.
  4. Monitor uitgaande verkeer na poort 23; kompromitterings lei dikwels tot reverse shells oor Telnet om streng HTTP egress-filters te omseil.

Verwysings

  • D-Link Advisory – CVE-2024-45698 Kritiese 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 gerepareerde weergawes.

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