Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-6387 PoC — Openssh: regresshion - race condition in ssh allows rce/dos

Source
Associated Vulnerability
Title:Openssh: regresshion - race condition in ssh allows rce/dos (CVE-2024-6387)
Description:A security regression (CVE-2006-5051) was discovered in OpenSSH's server (sshd). There is a race condition which can lead sshd to handle some signals in an unsafe manner. An unauthenticated, remote attacker may be able to trigger it by failing to authenticate within a set time period.
Readme
# CVE-2024-6387-Exploit-POC

Este repositorio contiene un Proof of Concept (POC) para explotar la vulnerabilidad CVE-2024-6387 en servidores SSH que ejecutan versiones vulnerables de OpenSSH.

# ¿Qué es un POC?
Un POC, o Proof of Concept, es un programa o script que demuestra la explotación de una vulnerabilidad de seguridad de manera controlada y reproducible. Su objetivo principal es mostrar que la vulnerabilidad existe y que se puede aprovechar para ejecutar código malicioso o realizar acciones no autorizadas en el sistema afectado.

# Funcionamiento del POC
El POC en este repositorio está diseñado para aprovechar la vulnerabilidad CVE-2024-6387 en servidores SSH. A continuación, se explica brevemente cómo funciona cada parte del código:

# Estructura del Código
CVE-2024-6387.py: Este archivo contiene el código principal del POC. Aquí se definen funciones para establecer una conexión con el servidor SSH, enviar paquetes específicos para manipular el heap del servidor, medir tiempos de respuesta y explotar la condición de carrera en el servidor.

# Funciones Principales:

setup_connection(ip, port): Establece una conexión TCP/IP con el servidor remoto.
send_packet(sock, packet_type, data): Envía un paquete al servidor remoto.
perform_ssh_handshake(sock): Realiza el handshake SSH completo.
prepare_heap(sock): Prepara el heap del servidor con paquetes específicos para explotar la vulnerabilidad.
time_final_packet(sock, parsing_time): Mide el tiempo de respuesta final del servidor.
attempt_race_condition(sock, parsing_time, glibc_base): Intenta explotar la condición de carrera en el servidor SSH.
perform_exploit(ip, port): Realiza la explotación completa intentando varias direcciones base de glibc.
Uso
# Configuración: Modifique las variables ip y port en el archivo exploit.py para apuntar al servidor SSH que desea explotar.

# Ejecución: Ejecute el script CVE-2024-6387.py. Si la explotación es exitosa, recibirá un mensaje indicando que la vulnerabilidad fue aprovechada con éxito.

# Modificación para CVE-2024-6387
Para que este POC funcione con la vulnerabilidad CVE-2024-6387, se deben realizar las siguientes modificaciones o consideraciones:

Actualización de shellcode: Reemplace el placeholder de shellcode shellcode = b"\x90\x90\x90\x90" con un shellcode real que ejecute la acción deseada en el servidor afectado.

Adaptación a la CVE-2024-6387: Asegúrese de que las estructuras de datos y los paquetes enviados en las funciones prepare_heap y create_public_key_packet estén diseñados específicamente para aprovechar las vulnerabilidades descritas en CVE-2024-6387.

# Aviso Legal
Este repositorio se proporciona con fines educativos y de investigación. La explotación de vulnerabilidades sin autorización puede ser ilegal y está estrictamente prohibida en entornos no autorizados. El autor no se hace responsable del uso indebido de este código.
File Snapshot

[4.0K] /data/pocs/a7e61c9b7a020bc015a4c2e78c5d063ccd3833ab ├── [ 11K] CVE-2024-6387.py └── [2.9K] README.md 0 directories, 2 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →