sábado, 1 de noviembre de 2014

null Sessions en Windows



De Null Session, NetBIOS y otras vulnerabilidades conocidas en sistemas Windows

 
 
 
 
 
 
 
Róger un buen amigo mío auditor de sistemas, me ha enviado un artículo acerca de Null Sessions para que como especialista en seguridad le comentara mi opinión al respecto, pues efectivamente es un tema un poco controversial, les comparto mis reflexiones. 
Muy interesante tu artículo Róger está bastante detallado y muy informativo, le recomiendo a los lectores del blog que antes de continuar descarguen el archivo que me remitió Róger y lo lean, es un poco largo pero vale la pena. Null Sessions o Login Anónimo
En resumen el texto habla de Null Sessions, que es un recurso de NetBIOS (Network Basic Input/Output System) en los sistemas Windows para lograr ciertos tipos de conectividades que permiten unas tantas funcionalidades importantes a nivel de sistema para redes Windows; pero esto plantea ser un agujero de seguridad dejado a propósito por los programadores de Windows para resolver de una manera ligera un problema de compatibilidad hacia atrás entre sistemas Windows Server y Sistemas NT, he aquí el dilema. ¿Porqué es una vulnerabilidad?, porque permite que un usuario sin cuenta pueda establecer una sesión con un equipo Windows y hacer una enumeración de recursos como cuentas de usuarios, grupos, recursos compartidos, políticas de contraseña, etc., aunque esta actividad aparentemente sería incapaz de dañar el sistema operativo el punto sería analizar si es o no una amenaza. 
 
 
  

Análisis de Fundamento

¿Es o no saludable que alguien husmee mi sistema “inocentemente”?, pues a mí no me gustaría ver a ningún extraño asomando por la ventana hacia el interior de mi casa y contabilizando mis enseres domésticos; televisor, equipo de sonido, computadora, etc. ¿A usted le gustaría?, OK, esa es la respuesta para la pregunta de si Null Sessions es o no inocente. ¿Cómo lo declaro yo?, CULPABLE, no quiero que nadie esté husmeando mis sistemas, inocente o no inocentemente. 
 
 
 
 
  

Un poquitín de historia (Aquellos que no aprendieron la historia, están condenados a repetirla.)

  
Suficiente de parábolas, examinemos un poco de materia. Recuerdo los albores de la civilización cuando salió a la venta Windows 95 (de hecho esta historia comienza un poco antes) y aún los más duchos informáticos eran incapaces de conectar en red dos computadoras, simple y sencillamente por su desconocimiento de protocolos como TCP/IP (en aquellos entonces los protocolos de Novell Networks eran los reyes), pero como Billy desde hacía años venía urdiendo su malévolo plan de colocar una PC con Windows en cada hogar del mundo, tuvo la genial idea de empacar con Windows un protocolo llamado NetBIOS, jovencito precoz que media vez le ponías un cable ethernet era capaz de mostrarte las otras PC con sus recursos compartidos, carpetas compartidas, impresoras compartidas, ¡Hasta el nombre de la PC!, imaginen que maravilla…. Y sin configurar el sistema operativo ni un ápice. La maravilla de la tecnología te permitía montar la red en tu oficina o en tu Pyme con solo tener un hub, unos pocos cables y las compu con su respectiva impresora, OK ahora a producir dinero todo el mundo. ¿Qué hacía esto posible? Simple, todos los puertos habidos y por haber venían abiertos por defecto y NetBios enumeraba todos esos recursos, imagínense, más de 65,000 puertos en escucha, el paraíso de los hackers; pero, siempre hay un pero, como ni los chicos buenos estaban muy instruidos tampoco los chicos malos estaban muy instruidos, así que quedamos tablas. Windows 95 se comenzó a apoderar de la red y vino Billy y vio que eso era bueno.  
 
Un minuto de silencio para Linux, la fortaleza, con todos y cada uno de sus puertos deshabilitados por defecto, a como debe ser un sistema operativo seguro y robusto; con una ligereza técnica como esa Windows puso el primer pie en la luna.  

Hablemos ya más técnico pues

Máxima de Seguridad 1: A mayor seguridad, menor funcionalidad y facilidad de uso.  
Y los Windows siguieron estando con todos sus puertos abiertos hasta que salió Service Pack 2 para Windows XP (6 de agosto del 2004), en el cual Billy ya incluyó el primer Firewall de Windows, tiempos aún remotos en los que pocos administradores de sistemas sabían qué era un Firewall o para qué servía (aparte de no dejar que algunas aplicaciones trabajaran). Resulta que, este Firewall primitivo (solo podías administrar tráfico entrante, no el saliente) y unas cuantas directivas de grupo (políticas de Windows) eran ya suficientes para combatir al hacker más taimado, pues estos hackers sí habían aprendido la lección y comenzaron a explotar la falta de seguridad de Windows, armados los administradores con estos primitivos pertrechos y un poco de conocimiento de puertos necesarios por sistema podías aplicar otra máxima de seguridad.  
 
Máxima de Seguridad 2: Aplicar donde se pueda, el principio del menor privilegio posible.  
Convirtamos entonces a nuestro Windows en un Linux (Ahggg! Pero no importa, Windows ya le llevaba entonces 10 años de ventaja a Linux en el mercado) y cerremos todos los puertos de red, esto bloqueará Null Session y cualesquier otra vulnerabilidad de red, ahora comencemos a preguntarnos qué puertos deberían de estar abiertos y a quien se le deberían presentar:  
¿Estoy en un dominio?, Si: abrir puertos 137, 138, 445, etc., ¿A toda la red?, No: a las direcciones IP de los controladores de dominio, no más.  
¿Comparto recursos?….mmm… carpetas compartidas; mala idea, erradíquenlas. Emmm…¿Impresoras compartidas? ¡Diablos!, ¿Es que la empresa para la cual trabajas no tiene para una impresora de red?, No le pongamos 3 patas al gato.  
¿Tengo aplicaciones de administración de equipos?, inventario de PC, anti-virus,s administración de parches, monitoreo, etc. Todas estas aplicaciones por lo general trabajan con un puerto específico, averígüenlo y lo abren… ¿Para toda la red?, Otra vez no, solamente para la IP de sus servidores de administración.  
Al final las estaciones de trabajo NO son servidores, por lo tanto NO deben de tener puertos abiertos para otras estaciones de trabajo, deben de ser ciegas, sordas y mudas, solo deben de intercambiar conectividad con los servidores, en puertos puntuales y en direcciones IP puntuales, punto.  
Los hackers ahora saben más, pero también los administradores de red saben más; y tenemos más herramientas, tenemos IPSec, IPv6, VPN, SSL y toda una miríada de utilidades que nos permiten asegurar nuestros recursos. A partir de Windows XP Service Pack 3 muchas de esas herramientas de enumeración no pueden vulnerar Windows, ya ni se diga de Windows Vista y Windows 7 con firewalls poderosos y compatibilidad nativa con todos los protocolos de seguridad listados anteriormente, es cuestión de estudiar estas funcionalidades a fondo y sacarles el máximo provecho antes que la tecnología decaiga a como lo hizo NetBios, en su tiempo fue una maravilla pero ahora ingratamente es catalogado como un agujero de seguridad, cuando lo que ha ocurrido es que simplemente se ha tornado obsoleto.  

No hay comentarios:

Publicar un comentario