Español | English
rss facebook linkedin Twitter

honeyclient, AKA: ir a buscarla

En el ámbito de la detección de malware (en el que yo no es que me mueva cómodo que digamos, aunque los que tengo sentados detrás sí) existen principalmente dos maneras de encontrarse con el demonio. La primera de todas, aceptada "by default" por omisión es la de esperar a que venga. Antes o después llamará a nuestra puerta disfrazado con un traje de pdf, en forma de archivo binario que promete enseñarnos cosas que nunca hemos visto (claro, porque no estamos infectados todavía), en forma de programa indispensable que nos permite averiguar si nuestros (antes) "amigos" nos han bloqueado en el messenger o cualquiera de las muchas caras a la que ya nos tiene acostumbrados. Por omisión también podemos encontrarnos de casualidad, a medio caballo entre las dos formas el hecho de que antes o después podemos acabar conectándonos a algún sitio en el que confiamos, (ejemplo, images.google.com) y que en algunos casos podría estar envenenado con algún tipo de vodka ruso que además de no tener sabor, nos va a dar un buen dolor de cabeza. La segunda forma, apta solo para aquellos que realmente quieran ver la oscuridad del lado oscuro, consiste en, literalmente, "ir a buscarlo". Las razones pueden ser diversas, pero sobre todo se da una circunstancia que no debe pasarse por alto, típica frase de madre y dicho popular: "cuando uno busca, encuentra". Pero ¿buscar qué?, porque claro, esto no es el "monkey Island", donde puedes ir guardando todo lo que encuentras sabiendo que antes o después te va a hacer falta. Esto es el mundo real, lo que estás buscando puede ser peligroso, morder no morderá, pero igual borrar algo sí, y en realidad, al final, el mejor resultado que todos podríamos esperar es que no se encontrase nada.


Resumen de la evolución del malware

Como breve resumen de la evolución del malware, se ha pasado de la creación de bichitos en algunos casos divertidos (no todos, en otros es muy difícil distinguir si lo que el troyano lleva dentro es código o ego puro) a la automatización de la infección controlada por 'ciber' bandas organizadas con ánimo de lucro (el consuelo es que si algún español se apunta a una de estas, cuando decida hacer copia de los datos deberá al menos pagar el canon). En un corto espacio de tiempo se ha pasado del "servicio" (host) al "usuario" como objetivo, de atacar al "servidor" a meterse con el programa "cliente" (será cierto eso de que de tanto decirlo se ha convertido en el usuario en el eslabón más débil, o ya lo era y les ha costado darse cuenta).
Y ahora, en un arrebato nostálgico se han mezclado las dos, y se vuelven a comprometer los servidores, aunque esta vez el fin real es el de atacar a los clientes que acceden a ellos. Ya no esperan que nos infectemos, nos "buscan la boca".


Herramientas de detección

Hasta hace no mucho principalmente se contaban aquellas que de forma local, analizaban cualquier tipo de información que pasa por el disco o la red en busca de patrones conocidos. La detección heurística no ofrece un grado de fiabilidad suficiente para considerarlo solución única, y los antivirus se han convertido en un proceso reactivo: hasta que no se identifica previamente no se detecta. Con el tiempo han ido apareciendo diferentes herramientas que permiten, mediante un criterio de confianza, determinar si el código puede o no ser malicioso, y como la valoración final siempre la hace la persona que analiza el informe, las hay de mil tipos y que ofrecen datos totalmente diferentes. Al final todas se han convertido en el "plan de los enanos para hacernos millonarios robando calzoncillos" (South park):

  1. ejecuta este programa

  2. decidimos si es malware
(el punto 2, al igual que en plan original, es todo un misterio, lo mismo se registran las llamadas al registro, que se analiza el tráfico de red, que se mira lo que pasa por el disco duro, etcétera.).

Evidentemente, el resultado final depende del criterio de valoración humano para determinar lo sospechoso de las acciones realizadas por el 'posible malware'. A mayor experiencia de la persona, mayor fiabilidad. Una vez identificado el malware, es posible eso sí, automatizar completamente el proceso de monitorización para comprobar su evolución.


Honeypot -> Honeyclient

En aquellos lejanos tiempos en que el objetivo de las huestes del mal era el servidor, casi todo el mundo se dió cuenta de la posible utilidad de los honeypots (abstenerse detractores, entre los que me incluyo). Antes o después, con el cambio de objetivos y la búsqueda del compromiso al software cliente se veía venir la llegada del cliente automático que permite detectar algún tipo de ataque. Aunque estos existían ya en forma de scripts o fuzzers que miraban (más bien picoteaban) aquí y allí en busca de algo de javascript que llevarse a la boca, ya es posible descargarse la herramienta definitiva (ahora, lo que es ahora.. más bien lleva desde el 2006, pero nadie le hace caso), el "busca bocas" por antonomasia, "aquel que llama a las puertas del infierno", el honeyclient.

"Y ahora, permítanme sin más, presentarle a la herramienta" (fukowski):


Honeyclient

Honeyclient es, según la propia web ( http://www.honeyclient.org/trac ), un host dedicado e instrumentado (como mola este conjunto de palabras) para acceder a servicios remotos y comprobar si estos servicios se comportan de alguna manera de forma maliciosa. Específicamente (textualmente), honyclient puede detectar de forma proactiva exploits de aplicaciones cliente no conocidos.

Básicamente está formada por varios componentes que funcionan en un entorno virtual y que se conectan a una lista de URL indicadas por el usuario. Aunque es posible extender el agente a que utilice cualquier otro servicio, en principio la web sigue siendo el entorno más considerado (popularidad de clientes, probabilidad de infección, etcétera.).

Su ciclo de funcionamiento implica la visita de un destino programado (no es complicado modificarlo para que vaya a su aire buscando camorra), y la comprobación posterior de su integridad, analizando cambios en disco, registro, etcétera. . En caso de que se haya producido una modificación en el host (normal, hemos ido a buscarlo y nos han dado), este se congela y se crea un nuevo entorno virtual para acceder a la siguiente URL.
La idea es buena, la implementación IMHO también lo es: está hecho en Perl, aunque el interfaz web es ruby-on-rails y es GPL, así que muchos de los frikazos del python van a poder disfrutar instalándola-probándola-borrándola. Ah, ¿he dicho que tiene un interfaz web?


Otras herramientas

La verdad es que teniendo un interfaz web, cualquier otra cosa parece un juguete. Está claro que "La herramienta", apadrinada por Mitre y con colaboraciones de Symantec podría estar un poco 'condicionada' a los requerimientos de sus creadores, por eso, si queréis probar otras (alguno es un simple script, otros son máquinas virtuales a las que les puedes meter in binario y devuelve un informe) os dejo una lista a continuación, aunque no debéis olvidar que honeyclient dispone de un interfaz web que permite ver las urls que han realizado algún tipo de acción en el host, así como recuperar las maquinas virtuales supuestamente comprometidas, todo un lujo en el año 2009!

https://projects.honeynet.org/capture-hpc/
http://analysis.seclab.tuwien.ac.at/index.php
http://www.threatexpert.com/
http://nepenthes.mwcollect.org/
http://www.csrrt.org.lu/wiki/index.php/Malware/fiw
http://www.cwsandbox.org/
http://www.norman.com/microsites/nsic/
http://www.norman.com/microsites/malwareanalyzer/
http://labs.idefense.com/software/malcode.php
http://www.cs.vu.nl/~herbertb/misc/shelia/
http://en.wikipedia.org/wiki/Client_honeypot_/_honeyclient
https://projects.honeynet.org/honeyc
http://www.xnos.org/security/overview.html
http://www.spybye.org/
http://monkeyspider.sourceforge.net/

Al final resulta que hay unas cuantas, y muchas de ellas son windows-friendly (next, next, reboot,next., reinstall). Lo que falta es tener ganas, corazón y razones para ejecutarlas, sabiendo lo que vas a encontrar, ya que según otro dicho popular que también es frase de madre donde las haya: "el que juega con fuego...".

Iñaki López
S21Sec Labs

(+34 902 222 521)


24 horas / 7 días a la semana



© Copyright S21sec 2013 - Todos los derechos reservados


login