0% encontró este documento útil (0 votos)
58 vistas39 páginas

Zombies

Cargado por

David Fernández
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
58 vistas39 páginas

Zombies

Cargado por

David Fernández
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

LAS MAQUINAS ZOMBIES EN LOS ATAQUES DDoS.

por FERRADAL, Gustavo Andrs F-1675/6 IGLESIAS, Natalia Celeste I-0306/9 MICHELINO, Juan Pablo M-3623/4

Monografa propuesta para la asignatura Sistemas Distribuidos. Carrera Ing. Electrnica. FCEIA. U.N.R 2006

Universidad Nacional de Rosario Resumen MAQUINAS ZOMBIES EN LOS ATAQUES DDOS Por Gustavo Ferradal, Natalia Iglesias y Juan Pablo Michelino Asignatura Optativa: Sistemas Distribuidos Departamento de Sistemas e Informtica

Imagine un ejrcito compuesto por cientos de miles de robots a la espera de las maquiavlicas rdenes de un criminal; peor aun, imagine que estos robots luzcan absolutamente inofensivos o que ni siquiera sepan que forman parte del ejrcito malhechor, hasta que el lder invisible d la orden, activando una programacin latente que los obligue a llevar a cabo rdenes de destruccin contra objetivos pblicos. Esto, que pareciera el argumento de una pelcula hollywoodense, es una realidad que ya se encuentra entre nosotros. Extrado de: Una invasin de robots amenaza la red. [Link]

TABLA DE CONTENIDO Estrategia de ataque de DDoS............................................................ 9 Clasificacin segn la vulnerabilidad explotada.............................. 12 Calificacin segn la taza dinmica de ataque.................................13 Capitulo 4.....................................................................................15 Conclusin....................................................................................30

Introduccin

Como dice un famoso refrn: "la unin hace la fuerza". Esta frase tan sabia nos explica de la importancia que tiene el trabajar unidos. Si muchas personas se unen con un fin benfico, probablemente concretarn sus deseos. Una situacin opuesta es la que se ve en una Botnet: El trabajo conjunto de muchas mquinas se utiliza para un fin daino y, agravando la situacin, las mismas mquinas que participan de ste ataque tambin son vctimas de algn atacante. A estas vctimas que son usadas, es a las que llamamos "mquinas zombis". En la presente monografa intentamos explicar como organizar un conjunto de mquinas zombis para llevar a cabo un ataque. Explicaremos como un atacante puede armar una red de mquinas esclavas, como es la comunicacin entre ellas y como se mantiene escondida toda la Botnet. Si bien, una Botnet puede usarse para diversos fines malficos, centramos nuestra atencin en un ataque de Denegacin de Servicio Distribuido (DDoS por sus siglas en ingls)

Capitulo 1

QU ES UNA MAQUINA ZOMBIE? Las maquinas zombies son computadoras infectadas por algn tipo de malware, al servicio de terceras personas para ejecutar actividades hostiles con total desconocimiento del propietario o administrador del equipo. El nombre procede de los zombies o muertos vivos esclavizados, figuras legendarias surgidas de los cultos vud. Grupos organizados pueden controlar redes de miles de decenas de computadoras infectadas, zombie, que pueden utilizarse para: Generar envo de SPAM, a travs de una sofisticada estructura de envo de correo basura. Servidores de pornografa Gestin de servicios y recursos destinados al fraude como puede ser el phishing Distribucin de malware Generacin de gran cantidad de trafico proveniente de mltiples direcciones de Internet, dirigidos todos a una sola red o servidor. Esto genera lo que se conoce como Distributed Denial of Service o DdoS y se usa para chantajear, haciendo que las victimas deban pagar para asegurarse tener activa la red.

Las maquinas zombies se siguen comportando mas o menos de la misma forma que lo hacen comnmente para no despertar ninguna sospecha a sus usuarios y as seguir buscando victimas, infectarlas y continuar con este proceso de forma exponencial de infeccin. Los equipos que actan como maquinas zombies se encuentran dentro de una red de bot conocida como bonets.

Capitulo 2

BotNet

Qu es una botnet? La palabra Botnet hace referencia a la unin de dos palabras del idioma americano: Bot, versin abreviada de la palabra Robot, y Net, que significa red. Por lo tanto, una Botnet es una red compuesta por robots. Computadores que han sido comprometidos por un cdigo malicioso que ha sido instalado, y son todos controlados, como robots, de forma remota con fines maliciosos. Estas redes constituyen la mayor amenaza actual en Internet, debido a que pueden atacar coordinadamente cualquier direccin IP y hacerla colapsar con ataques distribuidos de negacin de servicio (DdoS). Adems, pueden servir para difundir correo spam, e incluso pueden ser usados como centros de distribucin de malware. Una vez que son ejecutados, estos ataques pueden ser devastadores. Un botnet es parecidos a un troyano en el sentido que se hacen pasar por programas vlidos para que sean instalados en equipos vctimas, y pueden permitir que el atacante tenga absoluto control sobre el equipo. No es necesario tener un amplio conocimiento informtico para poder desarrollar y controlar uno de estos ejrcitos: con conocimientos rudimentarios y los kits disponibles en Internet, se puede desarrollar uno. El objetivo inicial de los Bots, era el de preservar nombres de usuario favoritos en los canales de chat IRC, al finalizar la sesin uno activaba el Bot, el cual tomara el nombre y permanecera conectado al IRC, preservando el nombre

favorito y evitando que cualquier otro usuario pudiera tomarlo mientras uno permaneca desconectado. Actualmente, los Bots son amenazas mltiples, que combinan aspectos del spyware, spam, malware y DDoS, y son distribuidos por virus y gusanos. Miles de computadores pueden ser rpidamente infectados, formando redes de Bots (Botnets). La misin de los botnet es la de gestionar las maquinas zombies creando una infraestructura comn de mando y control.

Cmo se crea una botnet? Normalmente se utilizan lenguajes Orientados a Objetos para construir estas botnet ya que resultan mucho ms cmodos. Para la plataforma Windows, es fcil que las personas se bajen programas desde Internet sin saber exactamente qu es lo que hace el programa. Este software contiene un bot, una vez que el programa se ejecuta, puede escanear la red de rea local, disco duro, puede intentar propagarse usando vulnerabilidades conocidas de Windows, etc. En entornos ms serios como UNIX, GNU/Linux o BSD la forma ms clsica de ataque a servidores para construir y expandir una Botnet es por telnet o SSH (puertos 23 y 22 respectivamente) por medio del sistema prueba-error, probando usuarios comunes y contraseas al azar contra todas las IPs que se pueda de forma sistemtica o bien mediante ataques a bugs muy conocidos dado que los administradores descuidados dejan sin parchear o corregir vulnerabilidades en sus servidores causando un gran perjuicio para ellos (consumo de ancho de banda, tiempo de CPU, prdida de prestigio, repercusiones legales...) y para el resto de Internet (spam, dDOS...). Las compaas deben estar alertas, ya que sus activos se ven amenazados en dos frentes: 1) los atacantes intentan tomar control de los computadores de la red para utilizarlos como parte de ataques coordinados; o 2) los activos de la

organizacin pueden ser el objetivo de un ataque coordinado de DDoS. En la mayora de los casos, los Bots implantados se aprovechan de vulnerabilidades en los sistemas operativos para distribuirse. Incluso se han detectado casos donde el Bot aprovecha una vulnerabilidad en el sistema, se instala, y despus aplica las actualizaciones necesarias para corregir dicha vulnerabilidad, para que el computador parezca que no es vulnerable al Bot. Una vez infectado, lo primero que debe hacer un computador es reportarse con el hacker creador. Debido a que los Bots utilizan IRC para comunicarse, dado que de esta forma pueden expandirse mas rpidamente y pasar desapercibidos puesto que el atacante acta como un usuario mas del canal. Generalmente se establece un enlace de comunicaciones TCP por el puerto 6667, el puerto IRC por defecto. Esta comunicacin es necesaria ya que por esta va el hacker ejecutar las instrucciones necesarias para llevar a cabo su ataque. Cuando se ha establecido la comunicacin con el hacker, el computador permanecer inactivo hasta que el hacker ejecute las instrucciones necesarias. El resultado de estas instrucciones variar enormemente dependiendo del tipo de ataque que el hacker tenga en mente: pudiera ser un DDoS, haciendo peticiones legtimas contra un objetivo determinado, y eventualmente colapsndolo.

Como se ha mencionado, las Botnets pudieran ser utilizados como medio de distribucin de malware, y se dice que son ideales para esta funcin, ya que permiten que un malware, tal como un virus, pueda ser distribuido simultneamente por miles de equipos, dndole una ventana de accin muy corta a las compaas antivirus para liberar actualizaciones. Finalmente, podra ser utilizado para distribuir correos SPAM y de phishing. Esto hace casi imposible la deteccin del atacante original, ya que el mismo no forma parte de la Botnet. Actualmente, ms del 70% de todo el correo SPAM es originado por Botnets.

Existen paginas en Internet donde se pueden encontrar foros y tutoriales con informacin de cmo montar una bonet en forma practica. Para mayor informacin consultar la bibliografa.

Capitulo 3

Taxonoma de mecanismos de ataques DdoS

Informacin General de un ataque DDoS. Para denegar el servicio, el atacante enva un stream de paquetes que logra consumir recursos claves de la vctima, as logra que para sta sea muy difcil legitimar a los clientes, o provee al atacante de acceso ilimitado a la mquina vctima y as poder infligir daos arbitrariamente. Arquitectura de Internet. Internet fu diseado teniendo en mente una red funcional y no una red segura. Su diseo sigue un paradigma extremo a extremo: Los host extremos que se estn comunicando despliegan complejas funciones para acceder a ciertos servicios, mientras que la red subyacente intenta hacer el mejor esfuerzo para lograr una comunicacin entre los extremos. Internet es administrado de una forma distribuida y es por ello que no es posible establecer una poltica de seguridad pareja entre sus miembros. Existen varios puntos que abren la posibilidad de un ataque de DDoS: a) La seguridad en Internet es altamente interdependiente: Sin importar que tan seguro sea el sistema de la vctima, el xito de un ataque depende del estado de seguridad del resto de Internet.

b) Los recursos en Internet son limitados: Cada host de la red tiene un nmero limitado de recursos que pueden ser consumidos por un nmero lo suficientemente grande de usuarios. c) El poder de muchos es mayor que el poder de pocos: Una accin coordinada y simultnea de muchos participantes hacia una vctima puede ser demoledor. d) Inteligencia y recursos no van de la mano: El paradigma de comunicacin extremo a extremo hace que todo el esfuerzo intelectual sea colocado en los host a fin de garantizar el servicio deseado. As mismo, la necesidad de una gran taza lleva al diseo de una red con un gran ancho de banda. Con esto, clientes maliciosos pueden hacer mal uso de la abundancia de recursos de una red mal diseada para realizar un bombardeo de paquetes hacia su vctima.

Estrategia de ataque de DDoS


Para realizar un DDoS, el atacante necesita entrenar a un gran nmero de mquinas agentes (slave). ste proceso generalmente se hace en forma automtica a travs de un escaneo remoto para encontrar algn hueco en su seguridad. Es entonces cuando la mquina vulnerable es explotada usando su taln de Aquiles para ganar acceso a ella y lograr infectarla con el cdigo malicioso. La fase de explotacin/infeccin es realizada en forma automtica y sta mquina puede ser utilizada para entrenar futuros agentes. Es el agente el que realiza el ataque hacia la vctima. El atacante usualmente esconde la identidad del agente por medio de un spoofing (engao) en el campo source address de los paquetes. Taxonoma de un ataque DDoS. Para poder realizar una taxonoma de un ataque de Denegacin de Servicio Distribuido, se ha tenido en cuenta:

a) Los medios utilizados para preparar y concretar el ataque. b) La caracterstica del ataque c) Efecto que tiene en la vctima Clasificacin segn el grado de autonoma: Durante el proceso de preparacin, el atacante necesita localizar agentes probables e infectarla con el cdigo malicioso. Esta primera clasificacin se hace segn el grado de autonoma del ataque: Ataque manuales: El atacante hace un escaneo remotamente en busca de vulnerabilidades, quiebra la defensa de la vctima, instala el cdigo malicioso y luego comanda a distancia el ataque. Ataque Semiautomtico: Para un ataque semiautomtico, la red DDoS necesita una mquina maestra y una agente (esclavo, demonio, etc). El atacante despliega cdigo automatizado para el escaneo y

comprometimiento de las mquinas y luego instala el cdigo malicioso. A travs de la mquina maestra, especificar el tipo de ataque, la direccin de las vctimas y comandar remotamente a los agentes quienes bombardean con paquetes a la vctima. Segn el tipo de comunicacin entre los agentes y el maestro, el ataque semiautomtico se divide en: a) Ataque con comunicacin directa: En ste caso, el agente y el maestro necesitan conocer sus identidades a fin de poder comunicarse. Esto se logra a travs de una dura codificacin de la direccin IP del maestro, dentro del cdigo malicioso, que luego se instalar en la mquina agente. Cada agente se presenta al maestro quien almacena su sus direcciones IP. b) Ataque con comunicacin indirecta: En ste caso, el agente se comunica con el maestro a travs de un canal IRC oculto. Es muy difcil localizar al

10

maestro, debido a que se usa un servicio legtimo para comunicar y coordinar una botnet.

Ataque automtico: En ste ltimo caso, se automatiza la fase de ataque, eliminando la necesidad de una comunicacin entre el maestro y el agente. El momento de inicio del ataque, el tipo de ataque, duracin y direccin de las vctimas son programados dentro del cdigo malicioso. Suelen dejarse puertas traseras abiertas dentro de la mquina comprometida a fin de habilitar un futuro acceso y modificacin del cdigo malicioso. Tanto el automtico como el ataque semiautomtico entrenan mquinas

agentes quienes ejecutan tcnicas de escaneo y propagacin automtica. Segn la estrategia de escaneo se puede diferenciar entre: a) Escaneo aleatorio: Durante un escaneo aleatorio, cada host comprometido prueba una direccin IP, elegida en forma aleatoria, de un espacio de direcciones. b) Escaneo por lista negra (hitlist): Una mquina ejecutando un escaneo sobre todas las direcciones de una lista (la hitlist) externamente suministrada. Cuando sta detecta una mquina vulnerable, enva la mitad de la lista inicial al receptor y mantiene la otra mitad. sta tcnica permite una gran velocidad de propagacin (debido a su propagacin exponencial) sin colisiones durante la fase de escaneo. c) Escaneo topolgico: El escaneo topolgico usa la informacin dentro de una mquina comprometida (direcciones de e-mail, direcciones IP, etc) para localizar nuevos objetivos. d) Escaneo permutado: Durante un escaneo permutado, todas las mquinas comprometidas comparten una combinacin pseudos-aleatoria de espacios de direcciones IP comunes. Cada direccin IP es mapeada a un ndice en esta permutacin. Una mquina comienza el escaneo usando el ndice

11

computado desde su espacio de direcciones. Cuando encuentra una nueva mquina ya infectada, elige un nuevo punto de inicio aleatorio. Este escaneo tiene el efecto de permitir un escaneo semi coordinado y sensitivo mientras mantiene los beneficios de un sondeo aleatorio. e) Escaneo en una subred local: El escaneo dentro de una subred local puede ser agregado a las tcnicas anteriormente descriptas. Buscando objetivos que residen dentro de la subred a la que el host comprometido pertenece. Segn las tcnicas de mecanismos de propagacin del cdigo malicioso, se puede diferenciar entre: a) Con una fuente central de propagacin: El cdigo maliciosos reside dentro de un servidor central. Luego de comprometer una mquina, el cdigo se descarga por medio de un mecanismo de transferencia de archivos. b) Propagacin encadenada: El cdigo malicioso es descargado desde una mquina que fue usada para explotar el sistema. La mquina infectada se convierte entonces en la fuente para un nuevo paso en la propagacin del cdigo. c) Propagacin autnoma: La propagacin autnoma elimina el paso de recuperacin de archivos, inyectando directamente instrucciones de ataque dentro del host objetivo durante la fase de explotacin. Numerosos gusanos de e-mail utilizan esta propagacin.

Clasificacin segn la vulnerabilidad explotada


Segn la vulnerabilidad que es objetivo de nuestro ataque, se puede diferenciar entre: Ataque de protocolo: El ataque de protocolo explota una caracterstica especfica o un problema no resuelto de una implementacin del protocolo instalado en el host de la vctima logrando as un consumo excesivo de sus

12

recursos. Algunos ejemplos de ste mtodo son: ataque TCP SYN, ataque CGI request y ataque de autenticacin de servidor. Ataque por fuerza bruta: El ataque por fuerza bruta se logra por el inicio de un gran conjunto de transacciones aparentemente legtimas. Una upstream network normalmente puede entregar un volumen de trfico tan grande que la red vctima no puede manejar, esto desgasta sus recursos. Segn la relacin existente entre el contenido de los paquetes con los servicios de las vctimas, podemos dividir los ataques por fuerza bruta en: a) Ataques filtrables: ste tipo de ataque usa paquetes falsos o que nos son crticos para los servicios de la vctima. El problema puede ser filtrado con un firewall. b) Ataques no filtrables: Los ataques no filtrables usan paquetes que requieren servicios legtimos de las vctimas. Filtrando entonces paquetes que concuerdan con ste ataque, se puede denegar el servicio tanto al atacante como a clientes legtimos. La lnea que separa un ataque de protocolo y uno por fuerza bruta es muy fina. Oponerse al ataque por protocolo con una modificacin de la implementacin, facilita al ataque correspondiente de la categora fuerza bruta. Por ejemplo, si la vctima utiliza TCP SYN cookies [1] para combatir un ataque TCP SYN, sta todava ser vulnerable a un ataque TCP SYN que genere mas request que la red pueda manejar. Sin embargo, el ataque por fuerza bruta necesita generar un volumen mucho mayor de paquetes que el ataque por protocolo para poder realizar algn dao. As es que, modificando el protocolo implementado, la vctima empuja los lmites de vulnerabilidad un poco mas arriba.

Calificacin segn la taza dinmica de ataque


Dependiendo de la taza dinmica de ataque, se puede dividir entre:

13

Ataque a taza continua: Una vez que se ordena a los agentes que realicen el ataque, las mquinas agentes generan paquetes de ataque con toda su fuerza. Este repentino diluvio hace estragos rpidamente en los servicios de las vctimas y ponen al descubierto el ataque. Ataque a taza variable: Un ataque a taza variable es ms precavido comprometiendo a sus vctimas, de sta forma disminuye la posibilidad de ser detectados y que se tomen medidas al respecto. Segn el mecanismo con el que se vara la taza de carga, se puede distinguir entre: a) Ataque a taza incremental: Con un ataque a taza incremental lleva a un lento agotamiento de los recursos de la vctima. b) Ataque a taza fluctuante: En ste caso se ajusta la taza segn el comportamiento de la vctima, ocasionalmente alivian el efecto para eliminar la posibilidad de ser detectado. Clasificacin segn el impacto Segn el impacto que el ataque tenga en la vctima, se diferencia entre: Ataque disruptivo: El objetivo de ste tipo de ataque es denegar completamente el servicio de da la vctima a sus clientes. Ataque degradante: El objetivo de un ataque degradante es el de consumir parte (presumiblemente constante) de los recursos de la vctima. Al no llegar a una total denegacin de servicio, ste tipo de ataques pueden permanecer sin ser detectados por un perodo de tiempo mas prolongado. El dao infligido sobre la vctima podra ser inmenso: perdida de clientes a un servidor de Internet, compra de ancho de banda innecesario, etc.

14

Capitulo 4

Sistemas Distribuidos de Denegacin de servicios.

Ataques de denegacin de servicios. Con el paso del tiempo, y considerando la evolucin que ha sufrido Internet, el enfoque sobre posibles ataques ya no es tanto el intentar acceder a un sistema, sino el imposibilitar su acceso. Es por ello que los hackers adoptan una nueva estrategia de ataque: provocar la denegacin de servicio o imposibilidad de prestar el servicio del sistema atacado. La denegacin de servicio, por tanto, slo busca el impedir que los usuarios de un determinado sistema no puedan acceder a l, y por consiguiente a los servicios que proporciona. En las circunstancias actuales de globalizacin, el dao econmico y de imagen que sufre una empresa por un ataque de este tipo probablemente sea mucho mayor que el derivado de una simple intrusin. El primer sistema de denegacin de servicio fue el denominado mail bombing, consistente en el envo masivo de mensajes a una mquina hasta saturar el servicio. Hoy en da, los mecanismos de ataque por denegacin de servicio resultan bastante ms sofisticados, empleando debilidades de los protocolos TCP/IP para generar autnticas avalanchas de paquetes sobre un sistema concreto, o

15

simples estados de inconsistencia que provocan que el proceso que atiende el servicio quede inoperante. El caso del smurfing, o amplificacin de peticiones broadcast, ha sido ampliamente utilizado en ataques por denegacin de servicio, y como se ver, es relativamente fcil prevenir el no ser usados en un ataque de este tipo. Este sistema de ataque se basa en transmitir a la red una trama ICMP correspondiente a una peticin de ping. Esta trama lleva como direccin de origen la direccin IP de la vctima, y como direccin de destino la direccin broadcast de la red atacada. De esta forma se consigue que por cada trama que se transmite a la red, contesten a la vctima todos aquellos sistemas (relays) que tienen habilitado el poder contestar a paquetes destinados a la direccin broadcast de la red. Se define como factor de amplificacin a la relacin entre tramas recibidas por la vctima por cada trama transmitida por el demonio.

La solucin a este problema es relativamente simple: hay que configurar los sistemas para que no contesten a tramas ICMP cuyo destinatario sea una direccin de broadcast. El problema se convierte en irresoluble cuando los usuarios no quieren o no saben cmo hacerlo. Ataques distribuidos de denegacin de servicios. A continuacin describiremos cinco sistemas bsicos de ataque distribuido de denegacin de servicios:

16

TRINOO El proyecto TRINOO tambin conocido como TRIN00, es una herramienta que implementa un ataque de denegacin de servicio mediante un modelo jerrquico maestro / esclavo (master/slave). El caso tpico de un ataque sera: En una cuenta de un sistema asaltado se deposita un repositorio de herramientas precompiladas: rastreo, ataque, sniffers, root kits, as como demonio y maestro de Trinoo. El sistema idneo para un asalto dispondr de un gran nmero de usuarios, y por consiguiente, una gran potencia de proceso y amplio ancho de banda en sus comunicaciones. Posteriormente, desde este ordenador comprometido se procede al rastreo (scanning) de otros ordenadores con vulnerabilidades conocidas en servicios bsicos (FTP, RPC, NFS) para proceder a su infeccin. Con los resultados obtenidos del rastreo se genera una lista de ordenadores vulnerables dnde se ejecutarn los programas para obtener el acceso (exploits). Para verificar que ordenadores de la lista han podido ser captados, el ordenador de origen suele tener un proceso demonio (daemon) que escucha el puerto TCP 1524, dnde se enviar una seal por cada ordenador infectado. Una red Trinoo esta formada por Atacantes, Maestros, Demonios y Vctimas, y tendra una estructura como la reflejada en la siguiente figura.

17

El atacante controla uno o ms maestros. Cada maestro controla a gran cantidad de demonios. Los demonios son los que reciben la orden coordinada de realizar un ataque contra una o ms vctimas. La comunicacin entre los distintos niveles de realiza de la siguiente forma: Atacante a Maestro: 27665/TCP Maestro a Demonio: 27444/UDP Demonio a Maestro: 31335/UDP

La comunicacin entre el atacante y el maestro, as como la del maestro y el demonio estn protegidas por claves de acceso. Las claves se emplean en forma simtrica, de manera que se almacenan cifradas tanto en el maestro como en el demonio, procedindose a su comparacin con la clave que se proporciona y transporta sin cifrar por la red. El ataque de Trinoo es del tipo de inundacin por tramas UDP. En los ataques de este tipo, el atacante enva tramas UDP con direccin de origen falsa y que consigue enlazar el servicio de generacin de caracteres (chargen) de una de las vctimas con el servicio de eco (echo) de la otra. La primera comienza a enviar caracteres que la segunda responde. El volumen de

18

trfico se va incrementando hasta que los dos sistemas terminan por inundar la red. TRIBE FLOOD NETWORK Tambin conocido como TFN, esta compuesto por un conjunto de programas clientes y demonios que implementan herramientas de denegacin de servicios distribuidas, capaces de generar ataques por flujo de paquetes ICMP, SYN, UDP y ataques estilo Smurf (falsificar respuestas de eco ICMP desde la victima a una serie de direcciones broadcast). As como tambin obtener bajo demanda un root shell mediante un demonio que escucha el puerto TCP especificado, lo que permite al atacante tener acceso ilimitado a la maquina cuando lo desee. La arquitectura de funcionamiento TFN es bastante parecida a la de TRINOO. Una red TFN esta formada por Atacantes, Clientes, Demonios y Victimas.

El atacante controla uno o ms clientes, los cuales pueden controlar varios demonios. Los demonios son quienes reciben las instrucciones para realizar un ataque coordinado basado en paquetes hacia una o ms victimas por cliente.

19

El control remoto de una red TFN es logrado va ejecucin de comandos de lnea desde el programa cliente lo cual puede lograrse a travs de alguno de los siguientes mtodos de conexin: remote shell bound to a TCP port UDP based client/server remote shells ICMP based client/server shells such as LOKI SSH terminal sessions normal "telnet" TCP terminal sessions

La comunicacin desde el cliente hacia los demonios es lograda mediante el envo de paquetes ICMP_ECHOREPLY, por lo que no existe comunicacin TCP o UDP entre ambos equipos, a diferencia de TRINOO. Uno de los puntos fuertes de esta herramienta de ataque por denegacin de servicio es que muchas herramientas de monitorizacin de redes no analizan todo el abanico de paquetes de tipo ICMP o simplemente no muestran la parte de datos de estos paquetes, por lo que la deteccin del dilogo entre cliente y demonio puede resultar compleja. Aunque el acceso a los clientes no esta protegido por palabra clave, los comandos que el cliente enva a los demonios van codificados en forma de nmero binario en dos bytes, siendo fijo el nmero de secuencia del paquete: 0x0000, lo que puede hacer que parezca como el primer paquete generado por un comando ping. Los valores definidos por defecto son:
#define ID_ACK #define ID_SHELL #define ID_PSIZE #define ID_SWITCH 123 456 789 234 /* for replies to the client */ /* to bind a root shell, optional */ /* to change size of udp/icmp packets */ /* to switch spoofing mode */

20

#define ID_STOPIT

567

/* to stop flooding */ /* to udp flood */ /* to syn flood */ /* to set port */ 901 /* to icmp flood */ /* haps! haps! */

#define ID_SENDUDP 890 #define ID_SENDSYN 345 #define ID_SYNPORT 678 #define ID_ICMP #define ID_SMURF 666

El motivo de este cambio en la comunicacin viene dado en que muchos sistemas de monitorizacin / proteccin de redes en la actualidad (Firewalls...) filtran los paquetes TCP/UDP, y especialmente aquellos que van a puertos no estndares o bien conocidos (como WWW que es puerto 80, SSH que es el puerto 22...). Sin embargo, la mayora de sistemas dejan pasar los paquetes ICMP de ECHO y REPLY utilizados en el PING que permiten comprobar si un ordenador est encendido o no (entre otras posibles opciones). Adems, pocas herramientas de filtrado de red muestran adecuadamente los paquetes ICMP, lo que permite camuflarse entre el trfico normal de la red. Tanto los clientes como los demonios necesitan ejecutar con privilegio de root, pues utilizan sockets del tipo SOCK_RAW. Por otra parte, el cliente necesita disponer del fichero conteniendo la lista de direcciones IP de los demonios (iplist), por lo que localizado el cliente se dispone de la relacin de demonios. En las ltimas versiones se ha detectado tratamiento criptogrfico en el fichero iplist mediante el sistema Blowfish. El cliente TFN admite los siguientes parmetros: ./tfn <lista_ip> <tipo> [ip] [port] <lista_ip> <tipo> Contiene la lista de direcciones IP a atacar. -1 Tipo de mscara (spoofmask type) 0 para stop/status. 1 Para realizar UDP Flooding. 2 Para realizar SYN Flooding. 3 Para realizar ICMP Flooding. -2 Tamao de los paquetes a enviar. 4 Realizar un root shell (se debe espicifar en que puerto)

21

5 Realizar un ataque SUMRF, la primera IP es la direccin de origen y las dems son usadas como direcciones de broadcast. [ip] [port] Direccin de origen (separadas por @ si hay mas de una) Debe especificarse para SYN Flood (0 =aleatorio).

TRIBE FLOOD NETWORK 2000 / TFN2K TFN2K es una evolucin del anteriormente comentado TFN. La estructura es similar, aunque cambia la terminologa. De esta forma, se denomina Maestro al sistema informtico en el que corre el Cliente, y Agente al sistema informtico donde se ejecuta el Demonio. Las nuevas caractersticas aadidas a TFN2K son principalmente: Las comunicaciones master/slave se realizan va protocolos TCP, UDP, ICMP o los tres a la vez de forma aleatoria. Los ataques utilizados son TCP SYN Flood, UDP Flood, ICMP/PING Flood o SMURF. El demonio (daemon) puede ser programado para que alterne entre estos cuatro tipos de ataque, lo que permite mantener un ataque sostenido contra un ordenador concreto dificultando la deteccin del ataque por los sistemas tradicionales de seguridad (Firewall). Las cabeceras de los paquetes de comunicacin master/slave son aleatorias, excepto en el caso del ICMP dnde siempre se utiliza ICMP_ECHO_REPLY, de esta forma se evita que puedan ser detectados por patrones de comportamiento. A diferencia de otras herramientas de DDOS, los daemons no responden a cada comando recibido (acknowledge). En su lugar, el cliente enva el mismo comando 20 veces esperando que al menos llegue una de sus peticiones.

22

Los comandos enviados ya no se basan en cadenas de caracteres (strings), sino que son de la forma <ID> + <DATA> <ID> Un byte que indica (codifica) el comando a efectuar. <DATA> Indica los parmetros del comando.

Todos los comandos estn cifrados usando CAST-256 [RFC2612]. La clave se define en tiempo de compilacin y se usa como password para acceder al cliente. Adems todos los datos cifrados se pasan a BASE64 antes de ser enviados para asegurar que todo est en caracteres ASCII imprimibles (argucia comn en prcticamente todos los ordenadores).

Los paquetes UDP y TCP no incluyen en la pseudo-cabecera (header) del paquete en el clculo del checksum correctamente, lo que hace que todos sean incorrectos.

El daemon genera un proceso hijo para cada ataque a una direccin IP. Adems prueba de diferenciarse entre s por los argumentos/parmetros (arg[0]) que se pasan al ejecutarse.

Por lo que se ha visto, la deteccin de TFN2K resulta a priori muy compleja, pero tambin tiene su taln de Aquiles. Puede que por un descuido, o por un simple error, en la codificacin a Base 64 siempre aparece una marca al final de cada paquete. No se tiene claro el objetivo, pero al final de cada trama se introduce una coleccin de ceros (entre 1 y 16) que al ser codificados en Base 64 quedan como 0x41 (carcter A). De esta forma, el nmero de 0x41 que aparecen al final de cada paquete es variable, pero siempre aparece por lo menos uno. La presencia de esta marca permite rastrear y localizar los paquetes de comandos.

23

Otros errores que pueden ayudar en la deteccin de tramas generadas por TFN2K son: La longitud de los paquetes UDP (la que aparece en la cabecera UDP) es tres bytes mayor que la real. La longitud de las cabeceras TCP (la que aparece en la cabecera TCP) es siempre cero, lo que nunca podra ocurrir. Los checksums de las tramas UDP y TCP no incluyen los 12 bytes de las pseudo cabeceras y por lo tanto son incorrectos. STACHELDRAHT El trmino de origen alemn Stacheldraht podra traducirse por alambre de espina. Combina caractersticas de Trinoo y TFN, y aade mecanismos de cifrado en la comunicacin entre el cliente y el conductor, as como mecanismos de actualizacin automtica de los agentes. Como en TRINOO, la arquitectura bsica de STACHELDRAHT mantiene una jerarqua dnde existen los master (denominados ahora handlers, manipuladores o controladores) y demonios/daemons o bcast (denominados ahora agents o agentes).

24

Algunos analistas consideran Stacheldraht como la competencia a TFN2K, pues presentan muchas similitudes en cuanto a comportamiento y facilidades: denegacin de servicio mediante avalancha de tramas ICMP, SYN y UDP, as como ataques mediante tcnicas de amplificacin de broadcast (smurf). Sin embargo a diferencia del TFN no contiene la posibilidad de proporcionar un shell de root en las mquinas infectadas. Al contrario que la primera versin de TFN, en donde la conexin entre el atacante y el cliente se transmita sin cifrar, Stacheldraht dispone de un mecanismo similar a un Telnet (Stacheldraht Term) para la comunicacin del cliente con el conductor que incluye cifrado mediante el uso de clave simtrica. Una vez establecida la comunicacin entre el cliente y el conductor, se solicita un password que est cifrado mediante crypt(). A partir de ese momento toda la comunicacin se realiza de forma cifrada mediante el algoritmo Blowfish. La comunicacin entre los distintos niveles de realiza de la siguiente forma: Cliente a Conductor: 16660/TCP Conductor a/desde Agente: 65000/TCP, ICMP_ECHOREPLY

A diferencia de las herramientas TRINOO (que usaba UDP para las comunicaciones entre master/slave) o TFN (que utiliza ICMP como vehculo de comunicacin entre clients/daemons), STACHELDRAHT utiliza para sus comunicaciones entre handlers y indistintamente. La mayor novedad que presenta Stacheldraht respecto a otras herramientas anteriormente analizadas es la posibilidad de ordenar a los agentes su actualizacin. Para ello se utiliza el comando rcp (514/tcp) sobre una cuenta robada en cualquier mquina de la red. Los agentes borran la actual copia del programa, descargan la nueva versin y arrancan sta usando nohup. En ese momento finaliza la ejecucin de la antigua copia. agentes los protocolos ICMP y TCP

25

En el momento de arranque de un agente, ste intenta leer un fichero de configuracin en el que se le indica qu conductores le pueden controlar. Este fichero contiene una relacin de direcciones IP y est cifrado mediante Blowfish. Para los casos en que falle la localizacin del mencionado fichero, el propio agente lleva definido en el cdigo una serie de direcciones que debe usar por defecto. Una vez que el agente ha arrancado y dispone de la lista de conductores, comienza a transmitir tramas del tipo ICMP_ECHOREPLY con ID 666 y conteniendo en el campo de datos la palabra skillz. Todos aquellos conductores que reciben esta trama contestan con otra del mismo tipo, con ID 667 y en el campo de datos la palabra ficken. El dilogo entre conductor y agente se mantiene de forma peridica, lo que permite detectar la presencia de Stacheldraht mediante la monitorizacin pasiva de la red a travs de un sniffer.

SHAFT Es otra herramienta de denegacin de servicio distribuido. Su caracterstica ms distintiva es la capacidad de cambiar los servidores y puertos de comunicacin en tiempo de ejecucin. Una de las novedades que presenta esta herramienta es el uso de ticket para garantizar el control sobre los agentes. Tanto el password como el ticket deben ser correctos para que un agente acepte las peticiones que le puedan llegar. Hace especial hincapi en las estadsticas de los paquetes. Como las otras herramientas se basa en un paradigma jerrquico de la forma:

26

en donde a los conductores (master/handler) los llama shaftmaster y a los agentes (slaves) shaftnode. El atacante se conecta mediante un programa cliente a los shaftmasters desde dnde inicia, controla y finaliza los ataques DDOS. El atacante se conecta va TELNET a un shaftmaster utilizando una conexin fiable, una vez conectado se le pide un password para autorizar su acceso al sistema. La comunicacin entre los shaftmasters y shaftnodes se realiza mediante el protocolo UDP que no es fiable, por eso SHAFT utiliza la tcnica de los ticket para mantener el orden de la comunicacin y poder asignar a cada paquete un orden de secuencia. La combinacin del password y el ticket son utilizadas para el envo de ordenes a los shafnodes, que verifican que sean correctos antes de aceptarlos. Tanto el conductor como el agente disponen de su propio conjunto de comandos. Aunque el atacante slo interacta con el conductor mediante comandos a travs de una conexin Telnet. La posibilidad de cambiar los nmeros de los puertos dinmicamente hace que SHAFT sea difcilmente detectable por sistemas convencionales. Por otra parte, el programa por s mismo intenta camuflarse como un proceso habitual, como puede ser por ejemplo http.

27

Por otro lado en lo que se supone un fallo de implementacin, tenemos que el nmero de secuencia de todos los paquetes TCP es fijo siempre (0x28374839) lo que permite su deteccin a nivel de red. Los autores de Shaft han demostrado tener un inters muy especial por disponer de estadsticas. En concreto, la tasa de generacin de paquetes de cada uno de los agentes. Es posible que esta informacin les permita optimizar el nmero de agentes necesarios para ejecutar un ataque, o aadir ms en caso de disminuir el nivel estimado de carga para que el ataque proporcione los resultados esperados. MSTREAM Es la ms primitiva de todas las herramientas, la comunicacin entre agentes y maestro se realiza mediante el intercambio de paquetes UDP. Ha sido diseada para bloquear una red ahogando determinados sistemas mediante la generacin de gran cantidad de tramas. La red mstream esta formada al igual que trinoo y shaft por: cliente(s)-->conductor / master(es)-->agente/slave(s)-->victima(s) El cliente es la mquina que el atacante emplea para lanzar el ataque. El conductor coordina a todos los agentes. Y son stos los que realizan el ataque a la vctima. Cada conductor puede coordinar un nmero indeterminado de agentes, y cada agente puede estar coordinado por un nmero indeterminado de conductores, adems de poder atacar a una o ms victimas. El tipo de ataque que realiza es Stream: Agente > Vctima: enva TCP ACK a puertos aleatorios y direccin de remitente falsa (normalmente de otra red). Vctima: contesta TCP RST al remitente a travs del router. Router > Vctima: ICMP indicando que el destinatario no existe. Se consigue un elevado consumo de ancho de banda. Ataque con nico origen: pocos efectos. 28

Ataque con mltiples orgenes: saturacin de la red

La comunicacin entre el atacante y el conductor se realiza sin encriptar sobre una conexin TCP, mientras que la comunicacin entre conductor y agente se realiza sobre UDP sin encriptar. Los puertos utilizados para la comunicacin son: Atacante a conductor(es): 6723/tcp (acceso mediante password) Agentes a conductor(es): 9325/udp Conductor a agente(s): 7983/udp

Cada conductor mantiene una lista de agentes activos. Codificacin de Cesar. Al igual que las otras herramientas tanto los agentes como los conductores tienen un grupo de comandos para comunicarse.

29

Conclusin

La disponibilidad de recurso es lo mas preciado en los Sistemas Distribuidos. La limitacin de stos es un problema, no solo para la vctima, sino tambien para el victimario. Por un lado la victima se vera imposibilitada de acceder a estos o lo hara con un desempeo menor debido al dao causado por el atacante. Por el otro lado, el atacante, seguramente no contar con los recursos necesarios para realizar el dao deseado, es por ello que recurre a esclavizar mquinas para aumentar su poder. Estas maquinas esclavas, las mquinas zombis, deben realizar un trabajo coordinado para ser ms eficientes. Es por ello que se agrupan en Botnets. Como en todo ataque es importante que la identidad del atacante est escondida para de esta manera dificultar enormemente el desarme de la red. A diferencia de otros ataques, el objetivo de un DDoS no es el de acceder a un servidor, y de esta manera robar informacin, sino el de denegar un servicio o causar dao. Para denegar un servicio, todas arquitecturas de redes actan similarmente: - Bombardean a un servidor hasta que ste caiga o sus recursos queden limitados. - Falsifican el origen de las tramas que, por lo general, solicitan una respuesta (jugando al frontn). - El atacante, generalmente, controla remotamente a alguna PC que, a su vez, coordina un ataque. - Usan los paquetes ICMP. - Pata coordinar un ataque se usa protocolo TCP o UDP. 30

- Algunos cifran sus comunicaciones para esconder mejor su trabajo (ataque no filtrable - como puedo saber si me estn acatando cuando no puedo entender el contenido de los paquetes). - El ocultamiento trata de lograrse camuflndose como un programa cualquiera. - Otras tcnicas mas avanzadas utilizan ataques de protocolo. A pesar de su intento por mantenerse oculta, las Botnets pueden ser detectadas. Para ello se necesita un continuo y minucioso testeo de los paquetes que viajan por la red. El problema se agrava si se crea una nueva arquitectura de Botnet. En ese caso ser necesario, no solo recurrir a la tcnica, sino tambin a la intuicin para ver que "algo huele mal" y saber que es lo que "est podrido".

31

BIBLIOGRAFA

Definicin de maquina zombie: [Link] Una invasin de robot amenaza la seguridad en la red. [Link] Articulo sobre bonets: [Link] Definicin de Botnet: [Link] Que son y como crear una Botnet: [Link] =si Articulo sobre [Link] Sistemas Distribuidos de [Link] Denegacin de Botnets: Servicios: DOS/DDOS:

Denegacin de Servicios: [Link]

The "Tribe Flood Network" distributed denial of service attack tool: [Link]

Tribe Flood Network: [Link] DDoS: Un campo de batalla abierto en la seguridad [Link]

de attack

Internet: tool:

The "stacheldraht" distributed denial of service [Link]

Nmeros y tipos de puertos: [Link] An analysis of the ``Shaft'' distributed denial of [Link] service tool: Case: tool:

Analysing Distributed Denial Of Service Tools: The Shaft [Link]

The "mstream" distributed denial of service [Link]

attack

32

TCP SYN flooding and IP spoofing attacks, [Link]

33

También podría gustarte