
Exploit de prova de conceito para CVE-2024-6387 visando servidores OpenSSH vulneráveis através de manipulação de heap e condição de corrida para alcançar execução remota de código.
Este repositório contém um Proof of Concept (POC) para explorar a vulnerabilidade CVE-2024-6387 em servidores SSH que executam versões vulneráveis do OpenSSH.
Um POC, ou Proof of Concept, é um programa ou script que demonstra a exploração de uma vulnerabilidade de segurança de forma controlada e reproduzível. Seu objetivo principal é mostrar que a vulnerabilidade existe e que pode ser aproveitada para executar código malicioso ou realizar ações não autorizadas no sistema afetado.
O POC neste repositório foi projetado para aproveitar a vulnerabilidade CVE-2024-6387 em servidores SSH. A seguir, explica-se brevemente como funciona cada parte do código:
CVE-2024-6387.py: Este arquivo contém o código principal do POC. Aqui são definidas funções para estabelecer uma conexão com o servidor SSH, enviar pacotes específicos para manipular o heap do servidor, medir tempos de resposta e explorar a condição de corrida no servidor.
setup_connection(ip, port): Estabelece uma conexão TCP/IP com o servidor remoto. send_packet(sock, packet_type, data): Envia um pacote para o servidor remoto. perform_ssh_handshake(sock): Realiza o handshake SSH completo. prepare_heap(sock): Prepara o heap do servidor com pacotes específicos para explorar a vulnerabilidade. time_final_packet(sock, parsing_time): Mede o tempo de resposta final do servidor. attempt_race_condition(sock, parsing_time, glibc_base): Tenta explorar a condição de corrida no servidor SSH. perform_exploit(ip, port): Realiza a exploração completa tentando vários endereços base do glibc.
Para que este POC funcione com a vulnerabilidade CVE-2024-6387, devem ser realizadas as seguintes modificações ou considerações:
Atualização de shellcode: Substitua o placeholder de shellcode shellcode = b"\x90\x90\x90\x90" por um shellcode real que execute a ação desejada no servidor afetado.
Adaptação à CVE-2024-6387: Assegure-se de que as estruturas de dados e os pacotes enviados nas funções prepare_heap e create_public_key_packet estejam projetados especificamente para aproveitar as vulnerabilidades descritas em CVE-2024-6387.
Este repositório é fornecido para fins educacionais e de pesquisa. A exploração de vulnerabilidades sem autorização pode ser ilegal e é estritamente proibida em ambientes não autorizados. O autor não se responsabiliza pelo uso indevido deste código.