Notas sobre las contramedidas de defensa contra explosiones de RDP para propiedad intelectual sin origen
Se suponía que era un día soleado. Estaba aburrido y abrí el visor de eventos de Windows. Oye, ¿no cambié el puerto predeterminado de RDP (Conexión a escritorio remoto)? Inicie sesión en más registros y tendrá que cambiar el puerto. Es un autoengaño. fue arruinado. Después de mirar más de cerca, no se registró ninguna IP en el evento. Entonces, hagámoslo.
Permítanme hablar primero sobre mi entorno. Windows Server 2012 R2 no tiene configuración de seguridad excepto cambiar el puerto 3389.
De hecho, a primera vista, cuando vi el registro, pensé que era culpa de servicios como SMB (445) y NETBIOS (135, 139), porque los ID de eventos del registro de seguridad fueron 4625 y 4776.
El LogonProcessName del primero es NtLmSsp y el PackageName del segundo es MICROSOFT_AUTHENTICATION_PACKAGE_V1_0.
A través de las dos palabras clave anteriores, encontré muchos artículos relacionados con ataques NtLm (luego descubrí que no tiene nada que ver con esto...), así que comencé con la configuración de seguridad SMB (el truco es para apagar SMB directamente, simple Por conveniencia, los lectores no necesitan realizar las siguientes operaciones, pero quiero explorar qué es este ataque).
1. Cómo verificar el estado de SMBv1:
Ejecute el comando en Powershell:
Get-SmbServerConfiguration | Seleccione EnableSMB1Protocol
Si imprime "Ture" significa que SMBv1 está activado.
2. Cómo desactivar SMBv1
Ejecute el comando en power shell:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
Más Para obtener información de referencia, consulte la documentación de Microsoft
Y debido al artículo de Freebuf sobre el análisis de ataques de repetición de solicitudes SMB de Windows, decidí habilitar la firma SMB nuevamente.
Establezca la clave de registro "RequireSecuritySignature" en 1 para habilitar la firma SMB
Se puede ejecutar con powershell
Set-ItemProperty -Path "HKLM:\SYSTEM\ CurrentControlSet \Services\LanmanWorkstation\Parameters" RequireSecureNegotiate -Value 1 –Force
Modificó algunas configuraciones en la Política de grupo local-gt; Configuración del equipo-gt; Configuración de Windows-gt; Configuración de seguridad-gt; Opciones de seguridad.
Por ejemplo:
No tengo muy clara la configuración anterior. No se ampliará aquí.
Nota: Una modificación incorrecta puede provocar que no pueda conectarse al servidor.
Para obtener más información, consulte este artículo Cómo proteger la seguridad de la intranet y mejorar la seguridad de Windows AD.
Después de realizar las modificaciones anteriores, el registro de eventos de seguridad todavía emitía advertencias. Luego revisé la nube. grupo de seguridad del servidor, no he abierto puertos como 445 y 139 en absoluto.
Luego noté el registro de eventos operativo Microsoft-Windows-RemoteDesktopServices-RdpCoreTS en el Registro de aplicaciones y servicios.
Según el resumen del jefe en la imagen de arriba, di prioridad al uso del grupo de políticas para la configuración y la estrategia de bloqueo de cuentas. Esta configuración también es relativamente simple. Ejecute y abra gpedit.msc y configúrelo como se muestra a continuación.
wail2ban, existe una herramienta muy útil en Linux llamada Fail2ban en su versión para Windows. Hace más o menos lo mismo: compara y extrae direcciones IP de registros (eventos) y las prohíbe.
Windows Server Wail2ban y Folder Sharing no funcionan juntos - Error 4625 sin IP
Es muy sencillo de usar.
No es necesario añadir los últimos 139 eventos. Se utilizará más adelante.
El efecto después de la configuración es el siguiente:
Se puede ver de un vistazo que todas son IP realmente diferentes.
(Y parece que después de encender el firewall, la configuración del grupo de políticas también entra en vigor)
De hecho, casi está hecho hasta ahora, pero creo que aún hay Debe haber alguna configuración frágil del servidor que estará sujeta a este ataque. Solo quiero ver la diferencia entre la explosión RDP de la otra parte y mi conexión RDP normal.
Pues ¡Wireshark está instalado!
Debido a que se usa la capa TLS, incluso lo descifré más tarde (está bien si no lo hago). Para conocer métodos específicos, consulte Cómo utilizar Wireshark para descifrar el protocolo de escritorio remoto (RDP) de Windows
Mi filtro de captura es el número de puerto y el filtro de visualización no es ip.addr eq ip local
Puedes ver que su protocolo usa Tlsv1 y yo uso Tlsv1.2. Tls 1.0 también tiene muchos problemas. Es muy simple. Simplemente desactive Tls 1.0.
Después de deshabilitar TLS1.0, verifiqué los eventos nuevamente y descubrí que los 140 eventos originales habían cambiado a 139 eventos. La descripción era que la capa de seguridad del servidor detectó un error (0x80090304) en el flujo del protocolo y. lo interrumpió. El cliente está conectado (IP del cliente: 45.145.64.5). ¡Ni siquiera un intento del atacante puede tener éxito!
wail2ban también se puede dejar abierto y se pueden realizar algunas configuraciones para evitar más explosiones.
Finalmente, también seguí el ejemplo de un IOC de inteligencia de amenazas. Las siguientes IP aparecieron en este ataque.
Configuración y refuerzo de seguridad del servidor Windows 2016
Refuerzo simple del sistema Windows