Protección del tráfico SMB contra la interceptación
En este artículo, obtendrá información sobre algunas de las formas en que un atacante podría usar técnicas de interceptación en el protocolo SMB y cómo se puede mitigar un ataque. Los conceptos le ayudarán a desarrollar su propia estrategia de defensa intensiva del protocolo SMB.
¿En qué consiste un ataque de interceptación?
Un ataque de intermediario (AITM) pretende modificar la comunicación de red entre un cliente y un servidor, lo que permite a un actor de amenazas interceptar el tráfico. Después de la interceptación, un actor malintencionado puede tener la capacidad de suplantar la identidad, alterar, revelar o denegar el acceso a los datos de la organización o las credenciales de la cuenta.
Muchas organizaciones emplean SMB para compartir archivos entre usuarios y admitir otras aplicaciones o tecnologías como Active Directory Domain Services. Con una adopción tan amplia, SMB es un objetivo popular para los atacantes y si es atacado pueda afectar a toda la empresa.
Por ejemplo, un ataque AITM podría usarse para el espionaje industrial o de estado, la extorsión o para buscar datos confidenciales de seguridad almacenados en archivos. También se puede usar como parte de un ataque más amplio para permitir que el atacante se mueva lateralmente dentro de una red o que tenga como destino varios puntos de conexión.
Los ataques evolucionan constantemente, y los atacantes a menudo usando una combinación de técnicas establecidas y nuevas. Al proteger el sistema contra la interceptación de SMB, existen dos objetivos principales:
- Reducir el número de métodos de ataque disponibles.
- Proteger los trazados que presenta a los usuarios.
Debido a la diversidad de tecnología y clientes de muchas organizaciones, una defensa bien organizada debe combinar varios métodos y seguir los principios de confianza cero. Obtenga más información sobre la confianza cero en el artículo ¿Qué es la confianza cero?
Ahora obtendrá información sobre algunas de las configuraciones recomendadas típicas para reducir el riesgo de interceptación de SMB.
Reducir los métodos de ataque disponibles
Para proteger el sistema frente a ataques de interceptación de SMB, el primer paso debe ser reducir la superficie expuesta a ataques. Las superficies expuestas a ataques son lugares donde el sistema es vulnerable a ciberamenazas y otros riesgos.
En las secciones siguientes, analizaremos algunos de los pasos básicos que debe llevar a cabo para reducir la superficie expuesta a ataques.
Instalar actualizaciones de
Instale periódicamente todas las actualizaciones de seguridad disponibles en los sistemas de Windows Server y cliente lo más rápido posible que lo permite su organización tras su lanzamiento. Instalar las actualizaciones de seguridad más recientes es la manera más rápida y sencilla de proteger los sistemas frente a las vulnerabilidades de seguridad conocidas actuales que afectan no solo a SMB, sino a todos los productos y servicios de Microsoft.
Puede instalar actualizaciones de seguridad empleando distintos métodos en función de los requisitos de las organizaciones. Los métodos típicos son los siguientes:
- Azure Update Management
- Windows Update
- Windows Server Update Services (WSUS)
- Actualizaciones de software en Endpoint Configuration Manager
Considere la posibilidad de suscribirse a las notificaciones de la Guía de actualización de seguridad del Centro de respuestas de seguridad de Microsoft (MSRC). El sistema de notificaciones de la Guía de actualizaciones de seguridad le permitirá saber cuándo se publican las actualizaciones de software para abordar vulnerabilidades y exposiciones comunes (ECV) nuevas y existentes.
Quitar SMB 1.0
Debe quitar o deshabilitar la característica SMB 1.0 de todos los servidores y clientes de Windows que no lo requieran. En el caso de los sistemas que requieren SMB 1.0, debe pasar a SMB 2.0 o superior lo antes posible. A partir de Windows 10 Fall Creators Update y Windows Server 2019, SMB 1.0 ya no está instalado de forma predeterminada.
Sugerencia
Windows 10 Home y Windows 10 Pro todavía contienen el cliente SMB 1.0 de forma predeterminada después de una instalación limpia o de una actualización local. Este comportamiento está cambiando en Windows 11, puede leer más en el artículo SMB1 ahora deshabilitado de forma predeterminada para compilaciones de Windows 11 Home Insider.
Al quitar SMB 1.0, se protegen los sistemas mediante la eliminación de varias vulnerabilidades de seguridad conocidas. SMB 1.0 carece de las características de seguridad de SMB 2.0 y versiones posteriores que ayudan a protegerse contra la interceptación. Por ejemplo, para evitar que una conexión en peligro SMB 3.0 o posterior use integridad de autenticación previa, cifrado y firma. Puede obtener más información en el artículo Mejoras de seguridad de SMB.
Antes de quitar la característica SMB 1.0, asegúrese de que en el equipo no haya aplicaciones ni procesos que lo requieran. Para obtener más información sobre cómo detectar y deshabilitar SMB 1.0, consulte el artículo Detección, habilitación y deshabilitación de SMBv1, SMBv2 y SMBv3 en Windows.
También puede usar la herramienta Archivos y uso compartido de archivos de Windows Admin Center para habilitar rápidamente la auditoría de las conexiones de cliente SMB1 y desinstalar SMB 1.
Deshabilitación de la reserva y la autenticación de invitados
En SMB 1.0 cuando se produzca un error en las credenciales de un usuario, el cliente SMB probará el acceso de invitado. A partir de Windows 10, la versión 1709 y los clientes de Windows Server 2019, SMB2 y SMB3 ya no permiten el acceso o la reserva de la cuenta de invitado de forma predeterminada. Debe usar SMB 2.0 o superior y deshabilitar el uso del acceso de invitado SMB en cualquier sistema en el que el acceso de invitado no esté deshabilitado de forma predeterminada.
Sugerencia
Windows 11 Home y las ediciones Pro no cambian su comportamiento predeterminado anterior, sino que permiten la autenticación de invitado de forma predeterminada.
Cuando el acceso de invitado está deshabilitado, se impide que un actor malintencionado cree un servidor y engañe a los usuarios para acceder a él mediante el acceso de invitado. Por ejemplo, cuando un usuario accede al recurso compartido suplantado, se producirá un error en sus credenciales y SMB 1.0 revertirá al uso del acceso de invitado. Al deshabilitar el acceso de invitado, se impide que se conecte la sesión de SMB, lo que impide que el usuario acceda al recurso compartido y a los archivos malintencionados.
Para evitar el uso de reserva de invitado en clientes SMB de Windows cuando el acceso de invitado no está deshabilitado de forma predeterminada (incluido Windows Server):
- Abra la Consola de administración de directivas de grupo.
- En el árbol de la consola, seleccione Configuración del equipo > Plantillas administrativas > Red > Estación de trabajo Lanman.
- Para la opción, haga clic con el botón derecho en Habilitar inicios de sesión de invitado no seguros y seleccione Editar.
- Seleccione Habilitado y, luego, Aceptar.
Para obtener más información sobre el comportamiento predeterminado del acceso de invitado, lea el artículo Acceso de invitado en SMB2 y SMB3 deshabilitado de forma predeterminada en Windows.
Deshabilitar el protocolo WebDAV
Es posible que los clientes de Windows no requieran que se ejecute el servicio WebClient
. El servicio ofrece el protocolo Web Distributed Authoring and Versioning (WebDAV). Si los clientes no acceden a recursos compartidos SMB a través de HTTP o HTTPS empleando WebDAV, puede deshabilitar el servicio.
Cuando los usuarios acceden a archivos empleando WebDAV, no hay ningún método para forzar una conexión basada en TLS a través de HTTPS. Por ejemplo, el servidor puede configurarse para requerir el cifrado o la firma SMB, pero el cliente web podría conectarse a HTTP/80 si WebDAV se ha habilitado. Cualquier conexión resultante no será cifrada, independientemente de la configuración de SMB.
Puede usar preferencias de directiva de grupo para deshabilitar el servicio en un gran número de máquinas cuando lo tenga todo listo para implementarlo. Para obtener más información sobre cómo configurar las preferencias de directiva de grupo, consulte Configurar un elemento de servicio.
Restringir destinos SMB salientes
Bloquee el tráfico SMB saliente a dispositivos fuera de la red como mínimo. Al bloquear SMB saliente se impide que los datos se envíen a puntos de conexión externos. Los actores malintencionados suelen intentar realizar ataques de suplantación de identidad o manipulación para enviar usuarios a puntos de conexión malintencionados disfrazados de vínculos inofensivos o accesos directos en correos electrónicos u otros archivos. Para obtener más información sobre cómo bloquear el acceso a SMB saliente, lea el artículo Proteger el tráfico SMB en Windows Server.
Siga este principio mediante la introducción de microperímetros y microsegmentación en la arquitectura. Bloquear el tráfico SMB saliente a redes externas ayuda a evitar la filtración directa de datos a Internet, sin embargo, los ataques modernos emplean técnicas avanzadas para obtener acceso indirectamente atacando otros sistemas y, después, moviéndose lateralmente dentro de la red. Los microperímetros y la microsegmentación tienen como objetivo reducir el número de sistemas y usuarios que pueden conectarse directamente a su recurso compartido de SMB, a menos que sea necesario explícitamente. Obtenga más información sobre la segmentación de red como parte de nuestra Guía de confianza cero.
Proteger el protocolo
El segundo objetivo es proteger los trazados entre los usuarios y sus datos, conocidos como protección de datos en tránsito. La protección de datos en tránsito normalmente implica el uso del cifrado, la protección de la interfaz y la eliminación de protocolos no seguros para mejorar la resistencia ante ataques.
En las secciones siguientes, analizaremos algunos de los pasos básicos que debe llevar a cabo para proteger el protocolo SMB.
Usar SMB 3.1.1
Windows siempre negocia con el protocolo más alto disponible, así que asegúrese de que los dispositivos y las máquinas admiten SMB 3.1.1.
SMB 3.1.1 está disponible a partir de Windows 10 y Windows Server 2016. SMB 3.1.1 incluye una nueva característica de seguridad obligatoria denominada integridad de autenticación previa. La integridad de la autenticación previa firma o cifra las primeras fases de las conexiones SMB para evitar la alteración de los mensajes de configuración de negociación y sesión mediante un hash criptográfico.
El hash criptográfico significa que el cliente y el servidor confían mutuamente en las propiedades de conexión y sesión. La integridad de la autenticación previa sustituye a la negociación de dialecto segura introducida en SMB 3.0. No se puede desactivar la integridad de la autenticación previa, pero si un cliente usa un dialecto anterior, no se utilizará.
Puede mejorar aún más la seguridad forzando el uso de SMB 3.1.1 como mínimo. Para establecer el dialecto SMB mínimo en 3.1.1, desde un símbolo del sistema de PowerShell con privilegios elevados, ejecute los comandos siguientes:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name "MinSMB2Dialect" -Value 0x000000311
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name "MaxSMB2Dialect" -Value 0x000000311
Para obtener más información sobre cómo establecer el dialecto SMB mínimo y máximo usado en Windows Server y Windows, consulte Administración de dialectos SMB en Windows.
Usar la protección de UNC para requerir la firma, el cifrado y la autenticación mutua
Habilite la protección de UNC para todos los recursos compartidos SMB requiriendo al menos la autenticación mutua (Kerberos) y la integridad (firma SMB). También debe considerar la posibilidad de evaluar la privacidad (cifrado SMB) en lugar de la firma SMB. No es necesario configurar tanto la firma como el cifrado SMB porque el cifrado incluye implícitamente las firmas que usa la firma.
Precaución
El cifrado SMB se introdujo con SMB 3 en Windows 8 y Windows Server 2012. No debe requerir cifrado a menos que todas las máquinas admitan SMB 3.0 o posterior, o sean terceros con compatibilidad con SMB 3 y cifrado. Si configura el cifrado SMB en clientes o trazados de UNC alojados en servidores que no admiten el cifrado SMB, el cliente SMB no podrá acceder a los trazados especificados. Además, si configura el servidor para el cifrado SMB y acceden a él clientes que no lo admiten, esos clientes, de nuevo, no podrán acceder al trazado.
La protección de UNC ofrece la capacidad de comprobar los trazados de UNC para la configuración de seguridad obligatoria y se negará a conectarse si un servidor no puede satisfacerlas. A partir de Windows Server 2016 y Windows 10, la protección de UNC está habilitada de forma predeterminada para los recursos compartidos SYSVOL y NETLOGON en controladores de dominio. Es una herramienta muy eficaz contra la suplantación de identidad y la manipulación, ya que el cliente puede autenticar la identidad del servidor y validar la integridad de las cargas de SMB.
Al configurar la protección de UNC, puede especificar varios patrones de trazado de UNC. Por ejemplo:
\\<Server>\<Share>
- La entrada de configuración se aplica al recurso compartido que tiene el nombre especificado en el servidor especificado.\\*\<Share>
- La entrada de configuración se aplica al recurso compartido que tiene el nombre especificado en cualquier servidor.\\<Server>\*
- La entrada de configuración se aplica a cualquier recurso compartido del servidor especificado.
Puede usar una directiva de grupo para aplicar la característica de protección de UNC a un gran número de máquinas cuando esté listo para implementarla. Para obtener más información sobre cómo configurar la protección de UNC a través de la directiva de grupo, consulte el boletín de seguridad MS15-011.
Asignar unidades a petición con firma o cifrado obligatorios
Además de la protección de UNC, puede usar la firma o el cifrado al asignar unidades de red.
A partir de la versión 1709 y posteriores de Windows, puede crear unidades asignadas cifradas o firmadas a petición mediante Windows PowerShell o el símbolo del sistema. Puede usar el comando NET USE
o el comando de PowerShell New-SmbMapping
para asignar unidades especificando los parámetros RequireIntegrity (firma) o RequirePrivacy (cifrado).
Los administradores pueden usar comandos o incluirlos en scripts para automatizar la asignación de unidades que requieren comprobaciones de cifrado o integridad.
Los parámetros no cambian cómo funcionan las firmas o el cifrado, ni los requisitos de dialecto. Si intenta asignar una unidad y el servidor se niega a cumplir sus requisitos de firma o cifrado, se producirá un error en la asignación de las unidades en lugar de conectarse de forma no segura.
Obtenga información sobre la sintaxis y los parámetros del comando New-SmbMapping
en el artículo de referencia New-SmbMapping.
Más allá de SMB
Deje de usar NTLM y aumente la seguridad de Kerberos. Para empezar, puede habilitar la auditoría para el uso de NTLM y, a continuación, revisar los registros para buscar dónde se usa NTLM.
La eliminación de NTLM ayuda a protegerse contra ataques comunes, como tablas hash pass-the-hash, brute-force o rainbow debido a su uso de la función hash de criptografía MD4/MD5 anterior. NTLM tampoco puede comprobar la identidad del servidor, a diferencia de los protocolos más recientes como Kerberos, lo que hace que también sea vulnerable a los ataques de relé NTLM. Muchos de estos ataques frecuentes se mitigan fácilmente con Kerberos.
Para descubrir cómo auditar NTLM como parte de su trabajo para comenzar la transición a Kerberos, consulte el artículo Evaluación del uso de NTLM. También puede leer información sobre cómo detectar protocolos no seguros mediante Azure Sentinel en el artículo de blog Guía de implementación de libros de protocolos no seguros de Azure Sentinel.
En paralelo a quitar NTLM, debe considerar la posibilidad de agregar más capas de protección a ataques de paso de vales y sin conexión. Use los elementos siguientes como guía para mejorar la seguridad de Kerberos.
- Implementar Windows Hello para empresas o tarjetas inteligentes: la autenticación en dos fases con Windows Hello para empresas agrega una nueva capa de protección completa. Más información sobre Windows Hello para empresas.
- Aplicar contraseñas y expresiones largas: se recomienda usar contraseña con longitudes más largas, como 15 caracteres o más, para reducir la resistencia a los ataques por fuerza bruta. Para que la contraseña sea aún más segura, también debe evitar palabras o expresiones habituales.
- Implementación de Protección con contraseña de Microsoft Entra para Active Directory Domain Services: use Protección con contraseña de Microsoft Entra ID para bloquear contraseñas conocidas y términos no válidos que sean específicos de su organización. Para obtener más información, consulte Aplicación de la Protección con contraseña local de Microsoft Entra para Active Directory Domain Services.
- Uso de cuentas de servicio administradas de grupo (gMSA): los servicios habilitados para gMSA con su construcción de 127 caracteres aleatorios, hacen que los ataques por fuerza bruta y de diccionario para descifrar contraseñas precisen mucho tiempo. Descubra qué son las gMSA en el artículo Información general sobre las cuentas de servicio administradas de grupo.
- Protección de Kerberos, conocida como tunelización segura de autenticación flexible (FAST): FAST impide el uso de Kerberos porque los datos de autenticación previa del usuario están protegidos y ya no están sujetos a ataques de fuerza bruta o diccionario sin conexión. También evita ataques de degradación de los KDC suplantados, para obtener más información, consulta la sección Protección de Kerberos.
- Uso de Windows Defender Credential Guard: Credential Guard dificulta el compromiso local de los vales evitando que se roben los vales de servicio de concesión de vales y almacenados en caché. Puede obtener más información en el artículo Cómo funciona Credential Guard Windows Defender.
- Considere la posibilidad de requerir SCRIL: tarjeta inteligente necesaria para el inicio de sesión interactivo: al implementar SCRIL, AD cambia la contraseña del usuario a un conjunto aleatorio de 128 bits que los usuarios ya no pueden usar para iniciar sesión de forma interactiva. SCRIL normalmente solo es adecuado para entornos con requisitos de seguridad concretos. Para obtener más información sobre las estrategias sin contraseña, consulte Configuración de cuentas de usuario para no permitir la autenticación de contraseñas.
Pasos siguientes
Ahora que ha obtenido información sobre algunos de los controles de seguridad y las mitigaciones para evitar la interceptación de SMB, comprenderá que no existe un paso único para evitar todos los ataques de interceptación. El objetivo es crear una combinación cuidadosa, holística y prioritaria de mitigaciones de riesgos que abarquen varias tecnologías a través de defensas en capas.
Puede obtener más datos sobre estos conceptos en los artículos siguientes.