Búsqueda de Ciberamenazas

Un fallo crítico de Samba podría permitir que cualquiera se convirtiera en administrador de dominio

Samba es un conjunto de herramientas de código abierto muy utilizado que no sólo facilita la comunicación de los ordenadores Linux y Unix con las redes Windows, sino que también permite alojar un dominio de Active Directory al estilo de Windows sin necesidad de servidores Windows.

El nombre, por si alguna vez te lo has preguntado, es una derivación fácil de recordar de SMB, abreviatura de Server Message Block, un protocolo de compartición de archivos que se remonta a principios de la década de 1980.

Si tienes suficiente edad, probablemente recordarás sin demasiado cariño, haber conectado ordenadores OS/2 para compartir archivos usando SMB sobre NetBIOS.

Samba empezó a funcionar a principios de los 90 gracias al duro trabajo del pionero australiano de código abierto Andrew Tridgell, que descubrió a partir de los principios básicos cómo funcionaba SMB para poder implementar una versión compatible para Unix mientras estaba ocupado con su doctorado en la Universidad Nacional de Australia.

(El doctorado de Tridge, por cierto, era rsync, otro conjunto de herramientas de software que probablemente hayas utilizado alguna vez, aunque no te hayas dado cuenta).

SMB se convirtió en CIFS, el Sistema Común de Archivos de Internet, cuando Microsoft lo hizo público en 1996, y desde entonces ha generado SMB 2 y SMB 3, que siguen siendo protocolos de red propietarios, pero con especificaciones publicadas oficialmente para que herramientas como Samba no tengan que depender de la ingeniería inversa y las conjeturas para proporcionar implementaciones compatibles.

Como te puedes imaginar, la utilidad de Samba significa que se utiliza ampliamente en los mundos de Linux y Unix, incluso en la empresa, en la nube, e incluso en el hardware de red, como los routers domésticos y los dispositivos NAS.

(NAS es la abreviatura de “network attached storage”, normalmente una caja llena de discos duros que conectas a tu LAN y que automáticamente aparece como un servidor de archivos al que todos tus otros ordenadores pueden acceder).

¡Imprime tu propio pasaporte!

Samba acaba de ser actualizado para corregir una serie de vulnerabilidades de seguridad, incluyendo un error crítico relacionado con el restablecimiento de contraseñas.

Como se detalla en las últimas notas de la versión de Samba, hay seis errores numerados CVE parcheados, incluyendo estos cinco:

Y ésta, que es la más grave del lote, como verás inmediatamente en la descripción del fallo:

En teoría, el fallo CVE-2022-32744 podría ser explotado por cualquier usuario de la red.

En términos generales, los atacantes podrían manipular el servicio de cambio de contraseña de Samba, conocido como kpasswd, a través de una serie de intentos fallidos de cambio de contraseña hasta que finalmente acepta una solicitud de cambio de contraseña autorizada por los propios atacantes.

En términos de argot, esto es lo que podríamos llamar un ataque de “imprime tu propio pasaporte” (PYOP), en el que se te pide que demuestres tu identidad, pero puedes hacerlo presentando un documento “oficial” que tú mismo has creado.

La santa trinidad de la ciberseguridad

Como dice el informe de errores de Samba:

Los tickets recibidos por el servicio kpasswd eran descifrados sin especificar que sólo se debían probar las claves propias de ese servicio. Configurando el nombre del servidor del ticket con una clave asociada a tu propia cuenta, o explotando un fallback en el que se probaban claves conocidas hasta encontrar una adecuada, un atacante podía hacer que el servidor aceptara tickets cifrados con cualquier clave, incluida la tuya.

Un usuario podría así cambiar la contraseña de la cuenta de administrador y obtener el control total del dominio. Sería posible la pérdida total de la confidencialidad e integridad, así como de la disponibilidad al negar a los usuarios el acceso a sus cuentas.

Como recordarás de casi cualquier introducción a la ciberseguridad que hayas visto, la disponibilidad, la confidencialidad y la integridad son los tres pilares” de la seguridad informática.

Estos tres principios pretenden garantizar: que sólo tú puedas ver tus datos privados (confidencialidad); que nadie más pueda manipularlos, aunque no puedan leerlos, sin que te des cuenta de que han sido alterados (integridad); y que personas no autorizadas no puedan impedirte el acceso a tus propias cosas (disponibilidad).

Evidentemente, si cualquiera puede restablecer la contraseña de todo el mundo (o quizás mejor decir si todo el mundo puede restablecer la contraseña de cualquiera), ninguna de esas propiedades de seguridad se aplica, porque los atacantes pueden entrar en tu cuenta, cambiar tus archivos y bloquearte.

¿Qué hacer?

Samba viene en tres sabores soportados: actual, anterior y pre-anterior.

Las actualizaciones que necesitas son las siguientes:

  • Si usas la versión 4.16, actualiza de la 4.16.3 o anterior a la 4.16.4
  • Si usas la versión 4.15, actualiza de la 4.15.8 o anterior a la 4.15.9
  • Si usas la versión 4.14, actualiza de la 4.14.13 o anterior a la 4.14.14

Si no puedes actualizar, algunos de los errores mencionados anteriormente pueden mitigarse con cambios de configuración, aunque algunos de esos cambios desactivan funcionalidades de las que podría depender tu red, lo que te impediría utilizar esas soluciones particulares.

Por lo tanto, como siempre ¡Parchea temprano, parche a menudo!

Si utilizas una distribución Linux o BSD que proporciona Samba como un paquete instalable, ya deberías tener (o debería recibir pronto) una actualización a través del gestor de paquetes de tu distribución; para dispositivos de red como NAS, consulta con tu proveedor para obtener más detalles.