Tuesday, January 17, 2006

Conoce a tu enemigo

Hace ya varios años atrás , en el siglo pasado para ser exactos, intenté traducir algunos artículos de Lance Spitzner que pertenecían a una misma serie llamada "Know your Enemy" que en aquellos días era lo más completo que se podía obtener acerca de los "script kiddies". Por motivos que ya no recuerdo solo traduje la primera de esta serie y por pura casualidad encontré una copia de mi traducción en Internet la cual reproduzco a continuación.

Ahora que lo vuelvo a leer veo que si bien la mayor parte de las herramientas mencionadas están en completo desuso, el proceder del script kiddie no ha cambiado mucho en estos años.






Conoce a tu enemigo I



Ultima Modificación : 12 de Agosto del 2000

Las herramientas y metodología de un Script Kiddie




Mi comandante solia decirme que para protegerte del enemigo debes conocerlo primero , saber quién es tu enemigo. Este principio de doctrina militar se aplica muy bien en el ámbito de la seguridad de redes. Al igual que los militares, existen recursos que tratamos de proteger. Para poder protegerlos tenemos que saber quien nos amenaza y cómo nos van a atacar. Este artículo, el primero de una serie de tres, trata sobre las herramientas y la metodología empleada para las más común de las amenazas, el Script Kiddie. El segundo artículo se centra en cómo detectar estos ataques, identificar las herramientas que usan y las vulnerabilidades que están buscando. El tercero trata acerca de lo que sucede una vez que consiguen privilegios de root, especificamente como cubren sus rastros y lo que hacen a continuación

¿Quién es el Script Kiddie?



El script kiddie es alguien que busca el golpe fácil. No buscan información específica o dirigirse a una compañia en particular. Su objetivo es obtener "root" por el camino más fácil posible. Para esto se basan en un numero pequeño de exploits y luego buscan por toda la Internet esta vulnerabilidad. Tarde o temprano encuentran una maquina vulnerable.

Algunos con más conocimientos desarrollan sus propias herramientas dejando instalados sofisticados backdoors. Otros no tienen idea de lo que están haciendo y solo escriben "go" en la linea de comando. Al margen de sus conocimientos, estos comparten una estrategia común. Buscar una debilidad particular y luego explotarla.

La amenaza



Es esta seleccción arbitraria de objetivos lo que convierte al script kiddie una amenaza peligrosa. Tarde o temprano tus sistemas o redes serán exploradas, no es posible esconderse de ellos.Conozco administradores sorprendidos al encontrar que sus sistemas estaban siendo explorados apenas dos dias después de haber sido dados de alta y sin que nadie estuviera al tanto de estos. No hay nada de que sorprenderse. Lo más probable es que la red donde se encontraban estos sistemas estuviese siendo explorada por un script kiddie.

Si esto se limitara a varios escaneos individuales, las estadísticas estarian a tu favor. Con millones de sistemas en internet, lo más probable es que nadie nos encuentre. Sin embargo , este no es el caso. La mayoría de estas herramientas son fáciles de usar y conseguir, cualquiera puede usarlas. Un número cada vez mayor de personas esta consiguiendo estas herramientas a un ritmo alarmante. Como Internet no conoce fronteras geográficas, esta amenaza se ha esparcido rápidamente por todo el mundo. Repentinamente, los números se vuelven en contra nuestra. Con tantos usuarios en Internet usando estas herramientas, no vale preguntarse si nos encontrarán, la pregunta es cuándo.

La metodología



La metodología del script kidide es simple. Buscar en Internet máquinas con una vulnerabilidad específica, cuando la encuentran , explotarla. La mayor parte de las herramientas que usan son automáticas, requiriendo poca interacción. Corres el programa,luego regresas algunos dias después para ver los resultados. No hay dos herramientas iguales de la misma manera que no hay dos exploits iguales. Sin embargo, la mayoría de herramientas usan la misma estrategia. Primero, recopilar una lista de dirreciones IP para ser escanedas. Luego escanear esas direcciones IP buscando una vulnerabilidad especifica.

Por ejemplo, supongamos que un usuario dispone de una herramienta que pueda vulnerar el servicio de Imap en sistemas Linux, como por ejemplo imapd_exploit.c . Primero, obtendrá una relación de direcciones IP que pueda escanear( por ej. sistemas que estén activos y alcanzables). Una vez que esta lista es construida, el usuario puede determinar qué sistemas están corriendo Linux. Muchos scanners pueden determinar esto fácilmente enviando paquetes erróneos y viendo como responden , como el nmap. Luego, se usarán herramientas para determinar cuáles de estos sistemas linux están corriendo IMAP.Todo lo que queda ahora es explotar estos sistemas vulnerables.

Es razonable pensar que este trabajo es extremadamente ruidoso y que atraerá mucha atención. Sin embargo, muchos administradores no monitorean sus sistemas y nunca se dan cuenta que están siendo escaneados. También ocurre que muchos script kiddies buscan sin apuro un sistema vulnerable. Una vez que han conseguido acceso a este sistema lo usan para lanzar ataques a otros sistemas. Pueden escanear toda la Internet sin temor a represalias. Si este sistema es detectado, es el administrador del mismo y no al script kiddie al que harán responsable.

Asimismo los resultados de estos escaneos son archivados o compartidos con otros script kiddies. Por ejemplo, uno de ellos recopila una lista de sustemas Linux con los puertos que tienen abiertos. El script kiddie recopiló esta lista para aprovecharse de una vulnerabilidad en el servicios IMAP. Sin embargo un mes mós tarde se descubre un nuevo exploit en un puerto distinto. Esta vez, en lugar de construir una lista de sistemas Linux (esta es la parte que mas tiempo toma), el script kiddie puede rapidamente revisar su lista y encontrar los sistemas vulnerables. O como alternativa, los script kidides comparten o compran listas de sistemas vulnerables. El script kiddie puede ahora explotar tus sistemas sin haber tenido que escanearlo. Solo porque tus sistemas no hayan sisdo escaneados recientemente no significa que estes seguro.

Los script kiddies más sofisticados instalan troyanos y puertas traseras una vez que comprometen la seguridad de un sistema. Los backdoors permiten el acceso fácil y sin rastro al sistema cada vez que el usuario quiera. Los troyanos hacen que el intruso no sea detectado. No figurará en ningun log, proceso o file system. contruye un ambiente seguro dentro del sistema comprometido desde el cual lanzar otros ataques .Para más informacion sobre esto. revisar "Conoce a tu enemigo III"

Estos ataques no se limitan a determinadas horas del dia. Muchos administradores revisan sus logs buscando rastros de escaneos que ocurran tarde por la noche, creyendo que esta es la hora donde la mayor parte de los script kiddies operan. Los script kiddies atacan a cualquier hora. Dado que operan las 24 horas del dia no podemos saber en que momento el escaneo ocurrirá. Además estos ataques se lanzan desde cualquier parte del mundo. Asi como la Internet no conoce límites geográficos, tampoco conoce de zonas horarias. Puede ser medianoche desde donde opera el script kiddie, pero ser la una de la tarde en nuestra ubicación.

Esta metodología de escanear en la búsqueda de sistemas vulnerables puede ser usada con distintos propositos. Recientemente se han reportado ataques DoS (Denial of Service), especificamente DDos. Estos ataques se basan en un único usuario controlando cientos o miles de sistemas vulnerables repartidos por todo el mundo. Estos sistemas son controlados remotamente para ejecutar ataques DoS contra las víctimas. Dado que están involucrados múltiples sistemas es extremadamente difícil defenderse o identificar el origen del ataque.Lo sistemas vulnerables son escogidos al azar y luego comprometidos para ser usados como parte de estos ataque DDoS, Mientras más sistemas comprometidos, más poderoso el ataque DDos. Para más información sobre ataques DDos, revise el artículo de David Dittrich sobre stacheldraht, una de las herramientas DDos.

Las herramientas



Las herramientas empleadas son extremadamente fáciles de usar. La mayoria de ellas limitadas a un propósito único con opciones limitadas. Primero tenemos las herramientas que permiten construir una lista de direcciones IP. Estas pueden actuar de manera completamente aleatoria, escaneando indiscriminadamente Internet. Por ejemplo una herramienta puede requerir un unico paraemtro A,B,C. Esta letra determina el tamaño de la red a ser analizada. esta herramienta selecciona luego al azar la red a escanear.Otra herramienta usa un nombre de dominio (z0ne es un excelente ejemplo de esto). Esta herramienta construye una lista de direcciones IP mediante un zone transfer del dominio seleccionado y los subdominios que incluya. Algunos scirpt kiddies han construido listas de mas de 2 millones escanenado el domino .com o .edu en su totalidad.

Terminado esto, las IP's son escaneadas con las herramientas adecuadas para determinadas vulnerabilidades posibles, como version del named, sistema operativos o los servicios activos en el sistemas. Una vez que que las vulnerabilidades son identificadas, el script kiddie las explota. Varias herramientas combinan todos estos pasos, simplicando el proceso aún más. como el sscan por jsback o cracker.pl. Para una mejor idea de como se usan estas herramientas revise "Conoce a tu enemigo II".

Como protegerse contra esta amenaza



Mencionamos los pasos a seguir para protegerse de esta amenaza, Primero, el script kiddie esta buscando el golpe fácil, está buscando exploits comunes. Uno debe asegurarse de que su red no es vulnerable a estos exploits. Tanto www.cert.org como www.ciac.org son importantes fuentes de información para estos exploits. Asimismo la lista bugtraq (cuyo archivo se encuentra en securityfocus.com) es una de las mejores fuentes de información.

Otra forma de protegerse es tener activos sólo los servicios que necesitamos. Si alguno de ellos no es indispensable para nosotros , tenemos que desactivarlo. Si lo necesitamos debemos asegurarnos de estar ejecutando la última versión del mismo. Ejemplos de cómo hacer esto los tenemos Armoring Solaris, Armoring Linux o Armoring NT

Tal y como aprendimos de la sección Herramientas. Los servidores DNS son usados frecuentemente para construir esta lista de sistemas que pueden ser explorados. Limitar nuestos sistemas para que sólo puedan transferir zonas desde nuestros Name Servers. registrar cualquier intento no autorizado de hacer una transferencia de zona e investigarla. Recomendamos hacer el upgrade a la ultima version del BIND (software empleados para el servicio de DNS) el cual puede obtenerse de www.isc.org/bind.html

Por último, hay que estar pendiente de nuestros sistemas para detectar si están siendo revisados. Una vez identificados podemos hacer un seguimiento de estaas pruebas y conocer mejor las amenazas a nuestra red y cómo reaccionar ante éstas.

Conclusiones



El script kiddie representa una amenaza para todos los sistemas. No muestran un objetivo particular y escanean todos los sistemas sin importar su ubicación o valor. Tarde o temprano , nuestros sistemas serán analizados. Entendiendo sus motivos y métodos podemos protegernos mejor de esta amenaza.

El autor original de este artículo es Lance Spitner.

No comments:

Post a Comment