Cómo recopilé estadísticas sobre la fuerza bruta de nuestros servidores y los traté



Hemos colocado 5 honeypots, en lo sucesivo simplemente "servidores", para recopilar estadísticas sobre la fuerza bruta de RDP en nuestras redes.



Un servidor estaba en Londres, el otro en Zúrich, uno en una red segura en M9, otros dos en el centro de datos de Rucloud en una red segura y no protegida. Las direcciones IP de cada uno de los servidores están en subredes diferentes, cada dirección IP se distingue por el primer octeto. Si intenta medir la "distancia" de escaneo entre direcciones IP usando la fórmula:



((Primer octeto de la subred n. ° 1) - (Primer octeto de la subred n. ° 2)) * (2 ^ 24),



Si busca 0.0.0.0/0, un atacante tendrá que hojear al menos 771751936 direcciones IP para encontrar los dos servidores más cercanos entre sí. Además, ninguno de los servidores respondió a ICMP y cada dirección IP no fue utilizada por nadie durante 3 meses, los 5 servidores abrieron puertos al mismo tiempo. Todos los servidores estaban conectados a AD.



Gráficos multicolores



Comenzamos con lo interesante y terminamos con lo significativo.







El comienzo fue bueno. El primer bruteforcer llegó al servidor en Rucloud la primera hora en que se abrió el puerto. En todos los demás centros de datos, el servidor se descubrió solo en la segunda hora.



Como puede ver en los gráficos, la fuerza bruta no cambió mucho de un día para otro. ¿Y si miras la hora del día? Aquí están los gráficos. Diferentes colores son diferentes días.





Horario del día dc ZUR1.





Gráfico de la hora del día en una subred M9 segura.





Gráfico de la hora del día en dc LD8.





Gráfico de la hora del día en la subred protegida de Rucloud.





Gráfico de la hora del día en Rucloud.



Una imagen bastante aburrida, podemos decir que la imagen no cambia según la hora del día.



Veamos los mismos gráficos por hora del día, pero en total para todos los centros de datos.





Gráfico de hora del día apilado.





Gráfico de la hora del día.



El patrón de fuerza bruta no cambia según la hora del día. Es decir, los dispositivos que participaron en el ataque de fuerza bruta probablemente estén siempre encendidos.





Estadísticas de intentos de inicio de sesión fallidos para cada dirección en una subred Rucloud desprotegida.



En total, 89 direcciones IP participaron en la búsqueda durante toda una semana en una de las subredes Rucloud desprotegidas. 10 direcciones IP llenaron el 50% de 114809 intentos.





Estadísticas de intentos de inicio de sesión fallidos para cada dirección de todos los centros de datos.



Lo mismo, pero solo con estadísticas para todos los centros de datos. El 50% de todas las estadísticas llenaron 15 direcciones IP. Hubo más de medio millón de intentos en los cinco servidores. ¿Cuán diferentes eran los atacantes?







Se vieron 143 direcciones IP en todas las redes y solo se vieron 29 direcciones IP en los 5 servidores. Menos de la mitad de todos los atacantes atacaban 2 o más servidores. Esto significa que la distancia de escaneo entre direcciones IP es importante. Esto significa que los atacantes obtuvieron información sobre puertos abiertos usando nmap, escaneando las direcciones IP una por una.



Contando botnets



Al mirar los informes y los nombres de usuario que se usaron para la búsqueda, me sorprendieron los diccionarios que usaban diferentes direcciones IP, la cantidad de inicios de sesión en los diccionarios.



Supongamos que todas estas son redes de bots diferentes con diccionarios diferentes, luego conté N botnets. Aquí están los diccionarios para cada uno de ellos:



admin, administrador, administrador, administrateur, admin, administrador, administrador, administrateur, ADMIN, USER, USER1, TEST, TEST1, ADMINISTRATOR, USER1, USER2, USER3, USER4, USER5, USER6, USER7, USER8, USER9, HP, ADMIN, USER, PC, DENTAL



Esta botnet era la más grande y utilizaba el diccionario más grande. Hubo muchos inicios de sesión en diferentes idiomas, incl. Ruso, francés e inglés:



1, 12, 123, 1234, 12345, 13, 14, 15, 19, 1C, CAMERA, CAMERA, ADMIN, USERL8, GVC, ADMINISTRATEUR, IPAD3, USR_TERMINAL, JEREMY, ADMINISTRATOR, ADM, ALYSSA, ADMINISTRATOR, CAMERA, AT CAMERA, ADMIN, USERL8, GVC, ADMINISTRATEUR, USR_TERMINAL, JEREMY, IPAD3, USR_TERMINAL, JEREMY, ADMINISTRATOR, ADMIN, ADM, SERGEY, OLEG, IRINA, NATASHA, SYSTEM, SERVICE, GVC, USTRATER ADMIN, ADM, SERGEY, OLEG, IRINA, NATASHA, etc., incluidos incluso los inicios de sesión chinos.



Había diccionarios que solo usaban palabras en chino e inglés. No pude extraer caracteres chinos de la base de datos usando Powershell. Aquí hay solo una parte del vocabulario de los camaradas chinos:



SHENZHEN, TIANJIN, MANDARIN, CHONGQING, SHENYANG, XIAN, CONS, CHINA, TECHNOLOGY, ISPADMIN, BEIJING, SHANGHAI



También había direcciones IP únicas que intentaban iterar sobre estos inicios de sesión. Probablemente, solo los niños están jugando:



USR1CV8, ADMINISTRATOR

ADMI, NIMDA, ADMS, ADMINS



Solo hay un estúpido ataque de fuerza bruta a las contraseñas, una búsqueda de diccionario, pero hay una búsqueda más o menos interesante. Los atacantes tienen la capacidad de obtener nombres de usuario, recursos compartidos SMB, a veces incluso hash de contraseñas, nombres de equipos, nombres de dominio AD o grupos de trabajo.



Los especialistas en seguridad conocen BloodHound y los piratas informáticos lo saben. Si dejamos AD en su estado predeterminado, entonces podemos robar el nombre de dominio, el nombre de la computadora, incluso los hash de las contraseñas de los usuarios. Habré ya ha escrito sobre los vectores de ataque en AD y esta herramienta. Recomiendo leer este brillante material .



Por cierto, el primer ataque con el nombre del servidor y el dominio comenzó 13 horas después de que se abrieron los puertos, pero el atacante rápidamente se quedó atrás, tratando de ingresar solo 138 veces. El segundo ataque de este tipo con el mismo diccionario se repitió 3 días después, pero tampoco duró mucho.



Un total de 5 botnets con diferentes diccionarios. Será necesario recopilar estadísticas más detalladas sobre los inicios de sesión utilizados para comprender cuáles se utilizan con más frecuencia y en qué proporciones. Es muy probable que el primer vistazo se vea borroso por una recopilación no muy precisa de todas las estadísticas y la imagen real sea un poco más interesante.



¿Es esto un problema?



Desde el inicio del autoaislamiento, comenzamos a registrar una indisponibilidad del servidor muy extraña. Al principio, lo atribuimos todo a la sobrecarga de la red de proveedores de Internet domésticos, Netflix y torrents, a veces la infraestructura no estaba lista.



Las sospechas sobre la infraestructura desaparecieron rápidamente cuando nuestros pocos clientes en Windows Server 2008, no pudieron ir a RDP en principio. Después de mirar el registro de seguridad, registramos tasas récord de ataques, más de 36 mil intentos en 24 horas.



Al final resultó que, la fuerza bruta de suficiente intensidad es capaz de matar por completo a RDP o de causar roturas permanentes.



La génesis del problema no se comprende completamente. O el RDP lo pone todo el grupo o un atacante. El script y mstsc.exe no pudieron reproducir las desconexiones y la imagen se congela.



O la fuerza bruta se convierte en DDoS, o algunos de los atacantes tienen una implementación de fuerza bruta de alguna manera de una manera especial, lo que también causa problemas. Lo único que está claro es que el momento de la desconexión coincide con los intentos fallidos de inicio de sesión.



Los ataques más brutales tuvieron lugar este verano en junio, cuando nuestro apoyo registró el mayor número de retrasos y rupturas del PDR. Desafortunadamente, todavía no recopilamos estadísticas.





Fuente: Kaspersky



¿Decisión?



Si.

Todo lo que necesita hacer para protegerse es cerrarse con un firewall. Pero siento la misma pereza que tú, así que hice estos módulos.



Los módulos funcionan en Windows Powershell 5.1 y Powershell Core 7. El enlace al proyecto github está aquí . Ahora echemos un vistazo a las funciones.



Proteger-Bruteforce



Hasta ahora, el módulo se llama así. Modifica la regla de firewall agregando todas las direcciones IP registradas correctamente a la regla. Conveniente para usar junto con una dirección IP estática, simplifica la implementación de servidores de escritorio remotos junto con una puerta de enlace VPN.







Desproteger-Bruteforce



Restablece RemoteAddress para las reglas de firewall predeterminadas.







Stop-Bruteforce



Analiza el registro de eventos en busca de inicios de sesión fallidos y bloquea las direcciones IP de la lista con una regla separada "Stop-Bruteforce".







Obtener fuerza bruta



Devuelve una matriz de objetos de estadísticas para cada dirección IP. Esta función se utilizó para recopilar estadísticas para los gráficos anteriores.







Entrevista



En RUVDS creemos que el sistema operativo debe entregarse al usuario en un estado extremadamente inalterado. Creemos que en un mundo ideal, el sistema operativo debería presentarse como estaba en su estado original cuando se lanzó por primera vez. Pero después de todo, funciones, como generar contraseñas desde la cuenta personal, no solo simplifican la vida, simplemente son necesarias para muchos de nuestros clientes. Nos gustaría conocer tu opinión sobre este tipo de piezas de calidad de vida. Vota y comenta.












All Articles