El Blog de Gualtrysoft

Windows 2000/2003/2008, Active Directory, VBScript, Hyper-V, PowerShell y todo aquello interesante a la hora de usar, configurar y administrar Windows Server. También tenemos longanizas…

¡La que te puede liar un nulo!

Posted by urpiano en Lunes 4 \04\UTC julio \04\UTC 2011

Tremendo lío tuvimos en el bosque… Resulta que de repente empezó a fallar la réplica y varios controladores de dominio se reiniciaban nada más arrancar, mostrando el conocido mensaje LSASS.EXE: Se está apagando el sistema. Guarde todos los trabajos en curso y cierre la sesión. Todos los cambios que no haya guardado se perderán. El apagado, iniciado por NT AUTHORITY\SYSTEM comenzará en 56 segundos. Mensaje de apagado: El proceso de sistema ‘C:\WINDOWS\system32\lsass.exe’ ha finalizado inesperadamente y muestra el código de estado -1073741819. El sistema se cerrará y reiniciará.

¡¡Dios, a estas altura tenemos el Blaster o el Sasser!! Ponte a revisar los servidores en modo restauración de servicios de directorio con Stinger para ver si están infectados; negativo, están limpitos. Incorpora nuevos DCs para que sustituyan a los caídos en combate y comprueba cómo éstos pasan a engrosar también la lista de caídos. A todo esto, compruebas que si a los equipos afectados los desconectas de la red dejan de reiniciarse, así que ponte a analizar el tráfico de red de red por si algún equipo está infectado y explota en remoto la vulnerabilidad DCOM en los DCs (vulnerabilidad que por otra parte no debería tenerse, por estar debidamente parcheados los equipos, aunque a esas alturas dudas hasta de tu sombra). No obstante te das cuenta de que sólo están afectados los controladores de dominio, nada más, así que tampoco parece que la teoría del equipo atacante sea demasiado válida, a no ser que sólo ataque controladores de dominio (Blaster y Sasser no tienen un paladar tan exquisito, devoran todo lo que se encuentre a su alcance). Esto te hace pensar ¿estaremos siendo víctimas de un nuevo exploit? Pero entras en los foros de Microsoft y ves que no, que a nadie le pasa lo mismo, mientras que si se tratase de un nuevo exploit estarían los foros repletitos de mensajes haciendo referencia a este problema. Rarro, rarro, rarro…

Tuvimos que abrir incidencia con Microsoft, incidencia de tipo A (máxima prioridad, MS se pone a currar en ella 24×7 hasta solucionarla, o al menos hasta que no sea tan grave y se pueda pasar a nivel B, en la que son 8 horitas al día). Después de toda la noche en contacto con Redmon, analizando trazas de red, niveles de parcheado de los equipos, etc., en Redmon llegan a la conclusión de que la culpa de todo era provocada por un objeto que había sido eliminado (estaba en Deleted Objects) y que contenía un nulo (realmente desconozco dónde estaba ese nulo, si era en algún atributo requerido o qué) y que estaba en los catálogos globales; al intentar replicar este objeto en el DC de destino se volvía loco LSASS.EXE y tumbaba el servidor. Como el objeto con el nulo estaba en el catálogo global, la réplica era a nivel del bosque (la información del catálogo global es de objetos de todo el bosque, no sólo del dominio al que pertenecen), con lo que cualquier DC del bosque que fuera catálogo global era susceptible de tener el problema.

Así pues, para solucionarlo, había que identificar los DCs que tuvieran el objeto, despromocionarlos y volverlos a promocionar ¡¡Menudo par de días, y nos los queríamos perder!!

No sé cómo reaccionará MS ante este caso. MS sólo se molesta en realizar cambios cuando tendrán una audiencia grande, no para raritos, y según los técnicos de soporte de MS, una cosa así nunca se había producido, así que somos raritos. Por otra parte ¿no es una vulerabilidad que un objeto mal formado sea capaz de tumbar un bosque? Vale que es muy dificil que esté mal formado un objeto, pero vistas las consecuencias pienso que MS debería sacar un parche que o impidiera que existieran objetos mal formados o impidiera que LSASS.EXE se vuelva loco al recibirlos (tampoco es tan dificil que un método o una función compruebe si determinado dato es un nulo y en ese caso proceder como corresponda) ¿Qué pasaría si algún niño malo encontrase la forma de inyectar objetos así en un controlador que sea catálogo global? ¡¡Menudo exploit terrorífico que habría desarrollado!!

Una respuesta to “¡La que te puede liar un nulo!”

  1. Juansa said

    Y yo pasando de 2000 a 2008 R2 los DCs, jejejeje

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: