CVE-2025-10230 — Inyección de Comandos en el Hook WINS de Samba
El autor no asume ninguna responsabilidad por el mal uso o daño causado por esta herramienta.
La investigación se proporciona estrictamente con fines educativos y defensivos.
Descripción
Este repositorio contiene una Prueba de Concepto (PoC) para CVE-2025-10230, una falla de inyección de comandos en el mecanismo WINS hook de Samba.
La falla afecta a instalaciones de Samba donde:
wins support = yes está habilitado
- Se define un comando shell personalizado en
wins hook = ...
- El servidor recibe una solicitud de registro NetBIOS malformada
- El nombre NetBIOS se concatena directamente en la invocación del shell, permitiendo la ejecución de código
Esta PoC demuestra cómo paquetes de Registro de Nombres NetBIOS especialmente diseñados pueden desencadenar comandos shell arbitrarios dentro de Samba.
CVE-2025-10230 es una vulnerabilidad de inyección de comandos en la implementación del servidor WINS de Samba, específicamente cuando actúa como Controlador de Dominio de Active Directory con soporte WINS y un parámetro 'wins hook' configurado.
- Mecanismo de Vulnerabilidad: Cuando se recibe un paquete de registro WINS, el nombre NetBIOS del paquete se inserta directamente en un comando shell que ejecuta el proceso de Samba. No se realiza ninguna validación ni escape sobre el nombre NetBIOS, que puede tener hasta 15 caracteres y puede incluir metacaracteres de shell.
- Vector de Ataque: Un atacante envía un paquete de registro WINS especialmente diseñado al puerto UDP 137 que contiene un nombre NetBIOS con metacaracteres de shell (como ;, |, &, o comillas invertidas). El código shell inyectado se ejecuta con los privilegios del proceso de Samba, a menudo root.
- Causa Raíz: Falta de saneamiento de entrada para el campo de nombre NetBIOS antes de pasarlo a un comando shell (CWE-78: Inyección de Comandos del Sistema Operativo).
- Configuración Afectada: Solo los servidores Samba que actúan como Controladores de Dominio de Active Directory con 'wins support = yes' y un parámetro 'wins hook' no vacío en smb.conf son vulnerables. La configuración por defecto no está afectada.
Cálculo CVSSv3
CVSS:3.1: AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H (10.0)
Disponibilidad del Parche
Se han publicado parches que abordan este problema en:
https://www.samba.org/samba/security/
Además, se han emitido Samba 4.23.2, 4.22.5 y 4.21.9 como versiones de seguridad para corregir el defecto. Se recomienda a los administradores de Samba actualizar a estas versiones o aplicar el parche lo antes posible.
Vector de Ataque (Resumen Técnico)
- El atacante elabora un paquete de registro del Servicio de Nombres NetBIOS (NBNS)
- El nombre contiene caracteres de payload dentro del límite permitido de ≤15 caracteres
- Samba recibe la solicitud WINS en el puerto 137/UDP
- El manejador
wins hook se ejecuta con entrada sin sanear
- El payload se ejecuta con los privilegios del demonio de Samba (a menudo root)
Restricciones
- Los nombres NetBIOS no pueden contener
< > ;
- El tamaño del payload debe ser ≤ 15 caracteres
- La inyección se produce a través de argumentos posicionales
Ejemplos de comandos que se ejecutan correctamente:
ls
pwd
uname
directorio: /etc/samba/smb.conf
[global]
wins support = yes
wins hook = /usr/bin/ls
Uso del PoC
python3 poc/cve-2025-10230.py \
-t <TARGET_IP> \
-n <PAYLOAD_NAME> \
-i <SOURCE_IP>
Ejemplo 192.168.0.10 (Servidor Samba) | bin (Mostrar directorio) | 192.168.0.50 (lo que sea)
python3 poc/cve-2025-10230.py -t 192.168.0.10 -n bin -i 192.168.0.50
Estructura del Repositorio
CVE-2025-10230/
│
├── poc/
│ └── cve-2025-10230.py
│
├── evidence/
│ └── logs.md
│
├── conf/
│ └── smb.conf
│
└── README.md
- Investigador: krakhen.dev
- GitHub: @nehkark
- Email: [email protected]
- Website: https://vciso.cloud
- Reference: https://github.com/dptsec/CVE-2025-10230/