23 - Pentesting Telnet

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks

Informações Básicas

Telnet é um protocolo de rede que oferece aos usuários uma maneira INsegura de acessar um computador através de uma rede.

Porta padrão: 23

23/tcp open  telnet

Enumeração

Captura de Banner

bash
nc -vn <IP> 23

Toda a enumeração interessante pode ser realizada pelo nmap:

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

O script telnet-ntlm-info.nse obterá informações NTLM (versões do Windows).

Do telnet RFC: No Protocolo TELNET existem várias "opções" que serão sancionadas e podem ser usadas com a estrutura "DO, DON'T, WILL, WON'T" para permitir que um usuário e um servidor concordem em usar um conjunto mais elaborado (ou talvez apenas diferente) de convenções para sua conexão TELNET. Essas opções podem incluir a mudança do conjunto de caracteres, o modo de eco, etc.

Eu sei que é possível enumerar essas opções, mas não sei como, então me avise se souber como.

Força bruta

Arquivo de configuração

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

Comandos Automáticos 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'

Vulnerabilidades Recentes (2022-2025)

  • CVE-2024-45698 – Roteadores D-Link Wi-Fi 6 (DIR-X4860): O serviço Telnet embutido aceitava credenciais codificadas e falhou em sanitizar a entrada, permitindo RCE remota não autenticada como root via comandos manipulados na porta 23. Corrigido no firmware ≥ 1.04B05.
  • CVE-2023-40478 – NETGEAR RAX30: Um estouro de buffer baseado em pilha no comando passwd do Telnet CLI permite que um atacante adjacente contorne a autenticação e execute código arbitrário como root.
  • CVE-2022-39028 – GNU inetutils telnetd: Uma sequência de dois bytes (0xff 0xf7 / 0xff 0xf8) aciona uma desreferenciação de ponteiro NULL que pode travar o telnetd, resultando em um DoS persistente após várias falhas.

Mantenha esses CVEs em mente durante a triagem de vulnerabilidades—se o alvo estiver executando um firmware não corrigido ou um daemon Telnet inetutils legado, você pode ter um caminho direto para a execução de código ou um DoS disruptivo.

Capturando Credenciais & Man-in-the-Middle

Telnet transmite tudo, incluindo credenciais, em texto claro. Duas maneiras rápidas de capturá-las:

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)

Para MITM ativo, combine o ARP spoofing (por exemplo, arpspoof/ettercap) com os mesmos filtros de sniffing para coletar senhas em redes comutadas.

Força bruta automatizada / Spraying de senhas

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

A maioria das botnets IoT (variantes do Mirai) ainda escaneia a porta 23 com pequenos dicionários de credenciais padrão—refletir essa lógica pode identificar rapidamente dispositivos fracos.

Exploração & Pós-Exploração

O Metasploit possui vários módulos úteis:

  • auxiliary/scanner/telnet/telnet_version – enumeração de banner e opções.
  • auxiliary/scanner/telnet/brute_telnet – bruteforce multithreaded.
  • auxiliary/scanner/telnet/telnet_encrypt_overflow – RCE contra Telnet vulnerável do Solaris 9/10 (manipulação da opção ENCRYPT).
  • exploit/linux/mips/netgear_telnetenable – habilita o serviço telnet com um pacote elaborado em muitos roteadores NETGEAR.

Após obter um shell, lembre-se que TTYs geralmente são simples; faça upgrade com python -c 'import pty;pty.spawn("/bin/bash")' ou use os HackTricks TTY tricks.

Fortalecimento & Detecção (canto da equipe azul)

  1. Prefira SSH e desative completamente o serviço Telnet.
  2. Se o Telnet for necessário, vincule-o apenas a VLANs de gerenciamento, aplique ACLs e envolva o daemon com TCP wrappers (/etc/hosts.allow).
  3. Substitua implementações legadas de telnetd por ssl-telnet ou telnetd-ssl para adicionar criptografia de transporte, mas isso apenas protege dados em trânsito—adivinhação de senhas continua trivial.
  4. Monitore o tráfego de saída para a porta 23; compromissos frequentemente geram shells reversos via Telnet para contornar filtros de saída HTTP rigorosos.

Referências

  • D-Link Advisory – CVE-2024-45698 RCE crítica do Telnet.
  • NVD – CVE-2022-39028 inetutils telnetd DoS.

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks