martes, 5 de julio de 2011

Conoce a tu Enemigo

Conoce a tu enemigo
Las herramientas y metodologías del "Script Kiddie"
 Revisión de la traducción al castellano del texto: Know Your Enemy - The Tools and Methodologies of the Script Kiddie. Disponible en
Honeynet Project
http://www.honeynet.org/
Última modificación: 21 julio, 2000

 

Licencia de la traducción

Se da permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia Libre de Documentación GNU, versión 1.2 o cualquier versión posterior publicada por la Free Software Foundation (Fundación para el Software Libre); este documento no tiene secciones invariantes, textos de portada ni de contraportada. Se incluye una copia de dicha licencia en la sección titulada "Licencia de Documentación Libre GNU".

Mi comandante me solía decir que para protegerte a ti mismo contra el enemigo, primero debías conocer quien era tu enemigo. Esta doctrina militar se aplica fácilmente al mundo de la seguridad en red. Simplemente como los militares, tienes una información que intentas proteger. Para ayudar a la protección de estos datos, necesitas saber quiénes son tus enemigos y cómo te van a atacar. Este artículo, el primero de varias series, simplemente hace esto, explica las herramientas y la metodología de uno de las clases de atacantes más comunes, el Script Kiddie. Si tu o tu organización tiene cualquier terminal conectado a Internet, este enemigo irá a por ti.
Las series "Conoce a tu enemigo" están escritas para enseñar las herramientas, tácticas y motivos de la comunidad blackhat (sombrero negro). "Conoce a tu enemigo: II" se centra en como puedes detectar estos atacantes, detectar que herramientas están usando y en que vulnerabilidades se centran. "Conoce a tu enemigo: III" se fija en que pasara una vez ellos ganan privilegios de root. Concretamente, como borran sus huellas y que harán a continuación. "Conoce a tu enemigo: Resultados forenses" cubre como puedes analizar un ataque de ese tipo. "Conoce a tu enemigo: Motivos" explica los motivos y la psicología de algunos miembros de la comunidad blackhat capturando sus comunicaciones. Finalmente, "Conoce a tu enemigo: Gusanos en la guerra" relata como gusanos automatizados atacan sistemas Windows vulnerables.
¿Quién es el Script Kiddie?
El Script Kiddie es alguien que busca una presa fácil. No buscan información especifica o una víctima en concreto. Su objetivo es ganar de la forma mas fácil posible privilegios de root. Ellos hacen esto centrando su actividad en la búsqueda de una vulnerabilidad por toda Internet, que les permita explotar el sistema. Tarde o temprano encontraran a alguien vulnerable.
Algunos de ellos son usuarios avanzados que desarrollan sus propias herramientas y garantizan su futuro acceso mediante puertas traseras. Otros no saben lo que hacen y solo saben como escribir "go" en la línea de comandos. Independientemente de su nivel de conocimientos, comparten una estrategia común, una búsqueda aleatoria de cualquier vulnerabilidad, para a continuación aprovecharse de ella.
El peligro
Es esta selección aleatoria de víctimas lo que hace al script kiddie un peligro en potencia. Tarde o temprano tus sistemas serán probados, no puedes esconderte de ellos. Conozco administradores que estaban sorprendidos de que sus sistemas fueran escaneados cuando sus sistemas sólo llevaban conectados un par de días, y nadie los conocía. No hay nada de sorprendente en esto. Lo mas probable, es que sus sistemas fuesen escaneados por un Script Kiddie que escaneara ese rango de IPs determinado.
Si esto estuviera limitado por los escaneos individuales, las estadísticas estarían a tu favor, ya que con millones de sistemas en Internet, las probabilidades nos hacen pensar que nadie podrá encontrarte. Sin embargo, este no es el caso. La mayoría de las herramientas usadas por los script kiddies son fáciles de usar y ampliamente distribuidas, cualquiera puede usarlas. Un rápido crecimiento de la cantidad de gente que poseen estas herramientas constituye un porcentaje alarmante. Dado que Internet no conoce fronteras geográficas, este peligro se ha difundido rápidamente a lo largo del mundo. De repente, las leyes numéricas se están volviendo contra nosotros. Con tantos usuarios en Internet usando estas herramientas, la pregunta no es si te va a suceder, sino cuando te sucederá.
Esto es un excelente ejemplo de por qué la "seguridad a través de la oscuridad" puede fallarte. Podrías creer que si nadie conoce acerca de tus sistemas, entonces estas seguro. Otros creen que sus sistemas no son de valor, así que, ¿para que molestarse en escanearlos? Estos son los sistemas que los script kiddies están buscando, los sistemas desprotegidos que son fáciles de penetrar y destruir.
La metodología
La metodología del script kiddie es simple. Escanea Internet en busca de una vulnerabilidad especifica, y cuando la encuentra, la explota. La mayoría de las herramientas que usan son automáticas; requieren poca interacción. Puedes lanzar el escaneo, y volver algunos días mas tarde para recoger los resultados. No hay dos herramientas iguales, al igual que no hay dos vulnerabilidades iguales. Sin embargo, la mayoría de las herramientas usan la misma estrategia. Primero, desarrollan una base de datos con IPs que pueden ser escaneadas. Entonces, escanean estas IPs en busca de una vulnerabilidad concreta.
Por ejemplo, supongamos que un usuario tiene una herramienta capaz de explotar imap en sistemas Linux, como imapd_exploit.c. Primero, ellos desarrollaran una base de datos de direcciones IP que podrían escanear (por ej., sistemas conectados y alcanzables). Una vez construida esta base de IPs, el usuario buscará determinar que sistemas están corriendo Linux. Muchos escaneadores actuales lo hacen fácilmente enviando paquetes mal formados a un sistema y viendo como responde, como el nmap de Fyodor. Entonces, estas herramientas se usarán para determinar que sistemas Linux estuvieron corriendo imap. Todo lo que queda es explotar estos sistemas vulnerables.
Podrías pensar que este escaneo sería extremadamente ruidoso, que atraería mucho la atención. Sin embargo, mucha gente no monitoriza sus sistemas, y no se da cuenta de que están siendo escaneados. También, muchos script kiddies se centran en un solo sistema que puedan explotar. Una vez han explotado un sistema, usaran ese sistema como una rampa de lanzamiento. Ahora podrían escanear descaradamente la Internet entera sin miedo a ser castigados, ya que si sus escaneos son detectados, el administrador de sistema vulnerable tendrá la culpa, y no el blackhat.
Estos escaneos resultan también archivados o compartidos entre otros usuarios, para usarlos en un futuro. Por ejemplo, un usuario desarrolla una base de datos de los puertos abiertos en una maquina Linux determinada. El usuario construye esta base de datos para explotar la vulnerabilidad actual de imap. Sin embargo, un mes mas tarde se identifica una nueva vulnerabilidad para Linux en un puerto diferente. En lugar de tener que construir una nueva base de datos (la cual es la parte que mas tiempo consume), el usuario puede rápidamente revisar su archivo de base de datos y comprometer los sistemas vulnerables. Como alternativa, los script kiddies comparten o eventualmente compran bases de datos de sistemas vulnerables los unos de los otros. Puedes ver ejemplos de esto en "Conoce a tu enemigo: Motivos". El script kiddie puede entonces explotar tu sistema sin haberlo escaneado nunca. Simplemente porque tu sistema no haya sido escaneado recientemente no significa que te encuentres seguro.
Los blackhats mas sofisticados instalan troyanos y puertas traseras una vez han comprometido el sistema. Las puertas traseras una fácil y al mismo tiempo silenciosa entrada al sistema cuando el usuario quiera. Los troyanos hacen al intruso indetectable. El podría no aparecer en ningún log, proceso del sistema, o estructura de archivos. El construye una confortable y segura casita donde el puede escanear Internet impunemente. Para mas información, lee "Conoce a tu enemigo: III"
Estos ataques no se limitan a determinadas horas del día. Muchos administradores buscan en sus logs las actividades del sistema por la noche, creyendo que es cuando los blackhats atacan. Los script kiddies atacan a cualquier hora. Como están escaneando las 24h del día, no sabes cuando sucederá. Asimismo, estos ataques se lanzan a lo largo del mundo. Por la simple razón de que Internet no conoce zonas geográficas, no hace ninguna distinción. Puede ser que medianoche los blackhats actúen, pero en tu zona horaria, es la 1 del mediodía.
Esta metodología de escaneo de sistemas vulnerables puede ser usada para multitud de propósitos. Recientemente, nuevos ataques de Denegación de Servicio se han dado a la luz, específicamente DDoS (Denegación de Servicio Distribuida). Estos ataques se basan en el control por parte de una persona de cientos, sino miles de sistemas comprometidos a lo largo del mundo. Estos sistemas comprometidos son entonces coordinados de forma remota para ejecutar ataques de Denegación de Servicio contra una o mas víctimas. Dado que múltiples sistemas comprometidos son usados, es extremadamente complicado defenderte contra el origen del ataque. Para ganar el control de varios sistemas, las tácticas de los script kiddies son a menudo usadas. Los sistemas vulnerables son identificados de forma aleatoria y entonces comprometidos a ser usados como rampas de lanzamiento de ataques DDoS. A mas sistemas comprometidos, un ataque DDoS mas poderoso. Un ejemplo de este ataque es 'stacheldraht',. Para aprender mas acerca de los ataque de Denegación de Servicio Distribuido y como protegerte de ellos, echa un vistazo al sitio Web de Paul Ferguson, Denialinfo (www.denialinfo.com).
Las herramientas
Las herramientas usadas son de un uso extremadamente sencillo. La mayoría se limitan a un propósito en concreto con unas pocas opciones. En primer lugar vienen las herramientas usadas para construir una base de datos de direcciones IP. Estas herramientas son aleatorias, a fin de escanear indiscriminadamente Internet. Por ejemplo, una herramienta posee una única opción, A, B o C. Esta letra que seleccionas determina el rango de red a ser escaneado. Esta herramienta entonces selecciona de forma aleatoria las direcciones IP a escanear. Otra herramienta usa un nombre de dominio (z0ne es un excelente ejemplo). Esta herramienta hace una base de datos de direcciones IP transmitiendo las transferencias de zona del nombre de dominio y todos sus sub-dominios. El usuario tiene construida bases de datos con mas de 2 millones de IPs escaneando enteramente el dominio .com o .edu. Una vez averiguado, las IPs son entonces escaneadas por herramientas que detectan vulnerabilidades, como la versión de named, sistema operativo, o los servicios corriendo en tu sistema. Una vez los sistemas vulnerables han sido identificados, el blackhat ataca. Para una mejor comprensión de como se usan estas herramientas, échale un ojo a "Conoce a tu enemigo: Resultados forenses".
Como protegerse contra este peligro
Hay medidas que puedes tomar para protegerte contra esta amenaza. Primero, el script kiddie ira por una presa fácil, ellos buscan sistemas con fallos comunes. Asegúrate de que tus sistemas y redes no son vulnerables a esos exploits. www.cert.org y www.ciac.org ambos son excelentes fuentes para informarte de lo que es un fallo común. También, la lista de correo Bugtraq (archivada en securityfocus.com) es una de las mejores fuentes de información. Otra forma de protegerte a ti mismo es ejecutando solo los servicios que necesites. Si no necesitas un servicio, ciérralo/desactívalo. Si lo necesitas, asegúrate de que esta actualizado a su ultima versión. Para ver ejemplos de como hacer esto, lee "Blindando Solaris", "Blindando Linux" o "Blindando NT".
Como has aprendido de esta sección de herramientas, los servidores DNS son usados a menudo para desarrollar una base de datos de sistemas que pueden ser probados. Limita los sistemas que pueden conducir transferencias de zona de tus servidores de nombres. Activa el registro de  cualquier transferencia no autorizada e investígala. Recomendamos altamente actualizarse a la ultima versión de BIND, la cual puedes encontrar en www.isc.org/bind.html.. Otra opción es usar djbdns  como un reemplazo a BIND. Por ultimo, revisa tus sistemas, al estar siendo probados. Una vez identificado, puedes seguir la pista de estas pruebas y ganar una mejor comprensión de las amenazas de tu red y como reaccionar ante estos peligros.
Conclusión
El script kiddie es un peligro para todos los sistemas. No muestran ningún perjuicio y escanean todos los sistemas, analizando su localización y valía. Tarde o temprano, tu sistema será probado. Entendiendo sus motivos y sus métodos, puedes proteger mejor tus sistemas contra este peligro.