Escola Tècnica Superior d’Enginyeria

Electrònica i Informàtica La Salle

Treball Final de Màster

Màster en Ciberseguretat

Anonimato y Evasión vs SIEM

Alumne Professor Ponent

Abel Pozo Pujol Nico Esposito (Deloitte)

ACTA DE L'EXAMEN

DEL TREBALL FI DE MÀSTER

Reunit el Tribunal qualificador en el dia de la data, l'alumne

D. Abel Pozo Pujol va exposar el seu Treball de Fi de Màster, el qual va tractar sobre el tema següent:

Anonimato y Evasión vs SIEM

Acabada l'exposició i contestades per part de l'alumne les objeccions formulades pels Srs. membres del tribunal, aquest valorà l'esmentat Treball amb la qualificació de

Barcelona

VOCAL DEL TRIBUNAL VOCAL DEL TRIBUNAL

PRESIDENT DEL TRIBUNAL

Resumen

Los Ciberdelincuentes cada día son más sofisticados y utilizan todos los recursos disponibles para conseguir sus propósitos. La utilización de redes de anonimato para ocultar su identidad y las técnicas de evasión avanzadas para sobrepasar los controles instalados por Gobiernos y Organizaciones es el principal objetivo de ellos.

En este documento veremos cómo funcionan éstas redes de anonimato y las diferentes técnicas de evasión utilizadas.

Por último, veremos cómo mitigar este tipo de amenazas mediante los denominados SIEM, desplegando casos de uso específicos.

Índice

Resumen Índice 1. Introducción ...... 1 2. Objetivos ...... 2 3. Redes Anónimas ...... 3 3.1. Introducción ...... 3 3.2. Surface Web & Deep web & Dark Net ...... 4 3.3. ...... 7 3.4. ...... 20 3.5. ...... 37 3.6. Riffle ...... 48 4. Técnicas de evasión Avanzadas ...... 52 4.1. Introducción ...... 52 4.2. Sistemas y técnicas de evasión Avanzadas ...... 54 5. Mitigación mediante SIEM ...... 72 5.1. Introducción ...... 72 5.2. Elección de un sistema SIEM...... 73 5.3. Práctica: Instalación y configuración SIEM ...... 75 5.4. Caso 1: Detección Redes Tor ...... 87 5.5. Caso 2: Detección Covert Channels ...... 90 5.6. Caso 3: Detectando redes Fast Flux ...... 93 5.7. Caso 4: Detectar utf8 en mails ...... 94 5.8. Caso 5: Chequear md5 con Virustotal ...... 96 5.9. Caso 6: Chequeo reglas Yara ...... 97 6. Coste del proyecto ...... 99 6.1. Coste temporal ...... 99 7. Conclusiones ...... 100 8. Bibliografía ...... 102 9. Índice de figuras ...... 103

Anonimato y Evasión vs SIEM Abel Pozo Pujol

1. Introducción

El presente trabajo: “Anonimato y Técnicas de evasión Avanzadas” pretende proporcionar una base sólida de conocimiento sobre las redes anónimas más avanzadas y los métodos utilizados por ciberdelicuentes para atacar y acceder a los sistemas de grandes corporaciones.

En el primer punto del documento profundizaremos por las principales redes anónimas existentes y más utilizadas. Veremos tanto su funcionamiento como el de sus aplicaciones en diferentes tipos de servicios.

En el siguiente punto, se han analizado técnicas de evasión avanzadas que actualmente utilizan los ciberdelincuentes para sobrepasar los sistemas de seguridad.

Por último y para mitigar las amenazas vistas en el documento, se ha implantado un sistema SIEM y se han desplegado diferentes casos de uso útiles para frenar los ataques estudiados.

Pág: 1

Anonimato y Evasión vs SIEM Abel Pozo Pujol

2. Objetivos

Los objetivos principales sobre los que se justifica la elaboración de este proyecto son los que se detallan a continuación:

1. Entender en profundidad el funcionamiento de las diferentes redes de anonimato existentes. 2. Definir los diferentes sistemas de protecciones de las corporaciones. 3. Investigar las técnicas de evasión más sofisticadas. 4. Definir e implantar desde 0 un sistema SIEM en un entorno de laboratorio. 5. Diseñar casos de uso avanzados para un SIEM con el objetivo de mitigar las técnicas de evasión y el anonimato.

Pág: 2

Anonimato y Evasión vs SIEM Abel Pozo Pujol

3. Redes Anónimas

3.1. Introducción

El derecho a la privacidad y anonimato es un tema de gran interés en la sociedad actual.

Gracias a la gran difusión que tienen los medios, estos últimos años hemos recibido muchas noticias sobre el gran seguimiento que nos realizan cuando navegamos por parte de Gobiernos y organizaciones.

Si a estas informaciones que tomaron forma con la aparición de wikileaks o Edward Snowden, le sumamos el gran auge que está teniendo el concepto de BIG DATA en el que se recolecta información con la finalidad de obtener un perfil personalizado de cada uno de nosotros. Podemos deducir la gran vigilancia y monitorización a la que estamos sometidos sin prácticamente darnos cuenta.

A parte de lo anterior, nos encontramos que hoy día sigue habiendo países cuya política es mantener un control estricto sobre la opinión pública, restringiendo cualquier tipo información perjudicial para sus intereses y que pueda aparecer en los medios, llegando a condenar desproporcionadamente a cualquiera que incumpla sus normas. En estos países, tales como China o Corea del norte, se restringe el libre acceso a internet, permitiendo únicamente los sitios que están alineados con los criterios del régimen.

Como es obvio, una parte de la sociedad no desea permitir este monitoreo y por ese motivo desde hace algunos años empezaron a aparecer las redes de anonimato, que permiten la ocultación de nuestros datos de tal manera que nadie pueda realizar ningún tipo de seguimiento o restricción sobre nuestra navegación en la red.

Este tipo de redes cada día más famosas por el anonimato que garantiza a sus usuarios, son usadas por todo tipo de personas y grupos. Si bien es cierto que fueron creadas para ocultar nuestra información personal, en la actualidad son utilizadas para actividades de diferentes índoles, tanto licitas como ilícitas. Ha ido proliferando la comunicación a través de éstas por parte de mafias, crimen organizado, pedófilos, narcotraficantes y otros, por lo que en muchas ocasiones se relaciona indebidamente estas redes como servicios ilegales y que no aportan nada positivo por las acciones que se llevan a cabo en ellas.

En los siguientes capítulos haremos un recorrido por las diferentes y más avanzadas redes de anonimato existente, así como su arquitectura y aplicaciones prácticas. Es interesante conocer cómo se utilizan y cómo funcionan para que en los posteriores capítulos podamos ver como se están utilizando éstas para realizar ataques y técnicas de evasión.

Pág: 3

Anonimato y Evasión vs SIEM Abel Pozo Pujol

3.2. Surface Web & Deep web & Dark Net

En primer lugar, hemos querido desglosar los términos que proliferan por internet y que es preciso aclarar para el buen entendimiento del proyecto.

Internet se divide en 3 espacios:

En primer lugar, tenemos la Surface web o “web de superficie” que es todo aquello que es indexado por buscadores comunes como Google, bing o Yahoo. Esta es la internet conocida por todos y la que muchos creen que es la única.

Cualquier persona puede navegar por ella libremente ya que al estar los contenidos indexados es muy fácil poder acceder a cualquier contenido.

El inconveniente de navegar sin ningún tipo de protección por ella es lo que hemos comentado anteriormente, permite a buscadores, organizaciones, gobiernos. poder realizar un seguimiento de tu navegación a través de cookies o información personal que va dejando rastro al navegar si no se toman las medidas oportunas.

En segundo lugar, encontramos el termino Deep web el cual tiene diferentes denominaciones como son deep net, invisible web o hidden web. En español la conocemos como “la web profunda”.

Esta parte de internet es todo aquel contenido que no está indexado en buscadores y puede contener información de todo tipo y que no se quiere que aparezca en estos. El hecho de no aparecer en buscadores no significa que estos sitios deban contener información ilegal, simplemente que el creador de este contenido no desea que se localice mediante buscadores.

También cabe la posibilidad que haya contenidos que no son indexados por estar protegidos por contraseña, se encuentren incluidos en alguna red virtual en el que los crawlers lanzados por los buscadores no pueden tener acceso o que son contenidos tan antiguos y poco visitados que los buscadores los ignoran.

Es bastante habitual relacionar el término deep web con contenido ilegal o zona oscura, pero esto es un error que se comete debido al desconocimiento, ya que como hemos comentado, la deep web en su definición más acertada es el contenido de internet no indexado por buscadores.

Pág: 4

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Como nos podemos imaginar el tamaño de la deep web puede llegar a ser inmenso, pero uno de los errores típicos que se leen en diferentes tipos de noticias es que el porcentaje de la deep web representa un 96% frente al 4% que representa la surface web.

Como podemos ver si realizamos una búsqueda en google con el término “deep web” las imágenes que más aparecen son semejantes a la siguiente:

Figura 1: Deep Web vs Surface Web

Esto no es cierto, ya que es imposible medir la cantidad de contenido que no hay indexado, precisamente por el hecho de no estar indexado. Por ese motivo no debemos creernos siempre las informaciones que aparecen en noticias, ya que pueden dar lugar a desinformación.

Lo único que hemos podido localizar es que en el año 2000 se realizó un estudio en el que indicaba que el contenido de la surface web tenía un tamaño de cerca de 167 Terabytes mientras que el de la deep web era de 7500 Terabytes, haciendo que fuese 45 veces superior.

Pero teniendo en cuenta que en el año 2000 internet estaba por decirlo de alguna manera “empezando”, en la actualidad es imposible realizar un cálculo semejante por lo que las informaciones que puedan aparecer suelen ser erróneas.

Pág: 5

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Por último y la parte más interesante para nuestro estudio es la Darknet, que en muchas ocasiones suele confundirse con la mencionada deep web.

En este caso la darknet es un subconjunto de la deep web, esto significa que es un contenido no indexado pero que está contenida en un espacio protegido por una red privada o al que solamente un número reducido de usuarios autorizados pueden acceder.

Se puede decir que la Darknet es una colección de redes y tecnologías usadas para compartir información y contenidos digitales que está “distribuida” entre los distintos nodos y que trata de preservar el anonimato de las identidades de quienes intercambian dicha información, es decir, que no desean que se conozca el origen o destino de la transmisión de la información.

Para su acceso en muchas ocasiones es necesario de un software específico que permite la conexión con los diferentes nodos que conforman la red en cuestión y que tal y como hemos dicho anteriormente no comparte los mecanismos utilizados en la surface web, tales como los DNS tradicionales.

Gracias a que el término a lo largo de los años se ha ido acuñando cada vez más por diferentes medios haciendo referencia y relacionándolo con ciberdelincuencia, estas redes son utilizadas cada vez más por personas que quieren realizar acciones no legales, pero esto no quiere decir que el planteamiento inicial de privacidad y anonimato que brindan estas redes no sea uno de los motivos principales de uso para muchos usuarios.

Dentro precisamente de las darknets se encuentran las redes anónimas de las cuales hemos realizado el estudio, en este caso, las que hemos creído mas importantes son:

Freenet, red de distribución de información descentralizada y resistente a la censura.

I2P, software que ofrece una capa de abstracción para comunicaciones entre ordenadores, permitiendo la creación de herramientas y aplicaciones de red con garantías de anonimato.

TOR, “the onion router” o el enrutamiento de cebolla, la red anónima por antonomasia ya que es muy utilizada y ha sido hasta no hace mucho tiempo infranqueable por autoridades y gobiernos.

Por último, otra de las redes en pleno proceso de creación pero que se especula que puede ser la digna sucesora de TOR es la conocida como Riffle. Red desarrollada por la Universidad de Massachusetts (MIT) y la escuela politécnica federal de Lausanne (EPFL) que es muy similar a nivel técnico que TOR pero solventa los problemas actualmente conocidos de ésta.

Pág: 6

Anonimato y Evasión vs SIEM Abel Pozo Pujol

3.3. Freenet

3.3.1. Introducción

En primer lugar, para introducirnos en esta red, debemos hacer mención a su creador, IAN Clarke, un científico en Computación especializado en Inteligencia Artificial por la universidad de Edimburgo.

En Julio de 1999 Clarke presentó su proyecto de final de carrera denominado “A Distributed, Decentralised Information Storage and Retrieval System" que significa un sistema de información distribuido, almacenamiento descentralizado y recuperación.

Una vez Clarke recibió su nota, decidió publicarlo libremente e invitar a voluntarios para contribuir a implementar su diseño. Del proyecto resultante apareció lo que actualmente es uno de los proyectos más antiguos sobre redes anónimas conocido como Freenet.

Clarke definía su algoritmo como un sistema que, al ser ejecutado por un grupo interconectado de nodos, proporcionaría un robusto sistema de almacenamiento indexado con claves y recuperación sin ningún elemento de control centralizado o administración.

Freenet es una solución de anonimato muy avanzada, que a diferencia de otras redes se basa en un modelo descentralizado, lo que significa que cada usuario que se conecta a la red de Freenet aporta un especificado ancho de banda a la red y reserva espacio en su disco duro para almacenar información de otros usuarios, espacio que se conoce como “datastore”.

Esta información distribuida hace que la confluencia de todas conforme un gran repositorio de datos. La información contenida en cada “datastore” se encuentra cifrada y solo el propietario del contenido puede descifrar la misma utilizando su clave privada.

Esto quiere decir que cada usuario de la red Freenet tiene contenido en su disco duro una parte reservada para la red con datos cifrados y a los que no puede acceder ni tiene ningún tipo de control.

El principal objetivo de ésta es facilitar la comunicación entre dos o más participantes de forma segura, privada y anónima.

Gracias a su gran versatilidad es un sistema idóneo para crear servicios ocultos en la web profunda ya que cuenta con una plataforma para chatear, participar en foros y recibir o enviar mensajes de correo.

Pág: 7

Anonimato y Evasión vs SIEM Abel Pozo Pujol

En los siguientes puntos realizaremos un desglose de cómo funciona y que aplicaciones prácticas tiene esta red, pero queremos mencionar un elemento que hace más interesante si cabe esta red Anónima, y es el componente “Darknet”. Este concepto consiste en restringir las conexiones que pueden realizarse solamente a aquellos nodos de la red que se consideren amigos, es decir, que esta característica permite que dentro de la propia red se cree otra subred entre “amigos” y evite que todos los miembros de Freenet en general tengan acceso a ciertos contenidos que no quieren ser compartidos.

3.3.2. Instalación de Freenet En esta introducción vamos a explicar brevemente el proceso de instalación de una instancia de Freenet.

Hemos de decir que el proyecto está muy avanzado y es posible realizar la instalación en sistemas Windows, Mac OS y Gnu/.

El único requisito para poder instalar Freenet es tener una máquina virtual de Java y se recomienda que sea una versión superior a la 6.

En primer lugar, descargaremos de su página web (https://freenetproject.org/download.html#download) el instalador el cual es un fichero “JAR” que se puede lanzar directamente con Java y que con la ayuda de un sencillo asistente se podrá llevar a cabo su instalación.

Una vez comenzado el asistente nos solicitará el directorio en el que se crearán todos los ficheros correspondientes a la instancia de Freenet:

Figura 2: Instalación Freenet

Pág: 8

Anonimato y Evasión vs SIEM Abel Pozo Pujol

A continuación, el instalador irá realizando todas las acciones pertinentes para inicializar la instancia.

Figura 3: Instalación Freenet proceso

Y una vez finalice esta nos llevará a la página principal de nuestra instancia.

Figura 4: Pantalla Inicial Freenet

En la anterior ventana nos da la posibilidad de configurar el nivel de seguridad que queremos brindar a nuestro Freenet. Hay 3 opciones principalmente, Seguridad baja, que consiste en conectarse a cualquier usuario de Freenet sin ningún tipo de restricción.

Pág: 9

Anonimato y Evasión vs SIEM Abel Pozo Pujol

La siguiente opción es Seguridad Alta y consiste básicamente en la utilización de la red únicamente con sus “amigos” a través de su propia Darknet. De esta manera el contenido será compartido solo entre las personas que autorizamos.

Por último, la 3ª opción consiste en un nivel de seguridad personalizado en el que customizará sus opciones de conexión con la red y podrá definir muchas opciones que harán que esté más personalizada nuestra instancia.

A partir de este momento el asistente nos irá solicitando diferentes opciones para ir personalizando la instancia, su seguridad y sus características tales como el nombre de la instancia, el tamaño de disco que deseamos compartir y ancho de banda que queremos compartir, .

Una vez completados todos los pasos anteriores nos aparecerá la pantalla principal de la instancia de FPROXY la cual contiene la mayoría de servicios ocultos que se encuentran disponible en la red Freenet.

Figura 5: Pantalla principal Freenet

A partir de este momento estaremos conectado a la red Freenet y tendremos en nuestra mano poder utilizar todos los servicios disponibles en ellas.

Hemos de aclarar que Freenet se enfoca en la creación de una red virtual privada que se compone de usuarios y servicios ocultos. Este tipo de solución se denomina “inproxy” que significa que está diseñada para crear y consumir servicios en el interior de la red y que no permite el acceso directo a internet por medio de los repetidores como pueden permitir otras redes como por ejemplo TOR.

Pág: 10

Anonimato y Evasión vs SIEM Abel Pozo Pujol

3.3.3. Arquitectura Freenet como hemos comentado es un sistema de ficheros distribuido y descentralizado que provee acceso anónimo a estos y permite publicar de igual forma, todo esto teniendo en cuenta que solo los usuarios de Freenet podrán visualizar y acceder a este contenido.

También hemos visto que no tiene un control centralizado o de administración y que no es posible acceder a través de los nodos de Freenet a la Surface Web.

Cualquier usuario de freenet puede colgar contenido en él sin tener que pagar dominio o hosting. La disponibilidad de la información o el fácil acceso incrementa en proporción a los accesos que tenga un determinado recurso, es decir, que una vez alguien cuelga un recurso ese se irá replicando en los usuarios que vayan visitando dicho recurso y estará alojado en más nodos, por lo que si un recurso tiene más popularidad su disponibilidad será más alta.

Para tener una visión más clara de cómo funciona la arquitectura de Freenet debemos destacar sus características principales:

- Freenet aloja fichero y cada fichero es identificado por una clave. Cuando el usuario de freenet necesita un fichero debe proporcionar la clave y freenet le brinda el archivo. Este fichero no es modificable, es decir que una vez que se inserta un fichero ya no se puede modificar. - Como ya hemos visto Freenet está implementado en Java y permite correrlo en diferentes SO, si lo comparamos con las redes P2P, freenet es un sistema mucho más robusto y anónimo. - Freenet avoca a proteger el anonimato de cada usuario que sube o baja ficheros. Una vez un usuario sube un fichero, no es necesario que éste permanezca en la red. Durante el proceso de subida, el fichero se disemina en muchas partes y se almacenan entre los usuarios de Freenet. Al descargar, El sistema se encarga de montar estas partes para devolver al usuario el fichero integro. - Cada nodo brinda un espacio de almacenamiento para los archivos y un ancho de banda para enrutar las solicitudes de los demás usuarios.

Pág: 11

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Con los datos vistos anteriormente podemos pasar a detallar de una forma más clara la arquitectura de Freenet.

Freenet tiene una estructura modular, la aplicación principal se centra en la conexión a la red y actúa como proxy, que proporciona una interfaz de aplicación llamada FCP(Freenet client protocol). Este protocolo puede ser utilizado a través de la API para implementar servicios en foros, compartir archivos o chats. También se pueden desarrollar plugins para hacer compatible Freenet con otras herramientas.

En el nivel más alto Freenet trabaja mediante la asignación de una parte de disco que es compartida en la red por cada uno de los usuarios conectados a ésta. A partir de este momento definiremos como nodo a todo aquel usuario que se conecta con su equipo.

Cada nodo mantiene su propio almacén de datos locales, que se comparte y está a disposición de la red (elegida) para su lectura y escritura, así como un enrutamiento dinámico con una tabla que contiene las direcciones de otros nodos y las claves. El objetivo es que todos los usuarios aporten su espacio para obtener una red más amplia y disponible.

Este espacio es conocido como “datastore” y un nodo tiene muy poco control sobre lo que se almacena en dicho espacio, ya que éste se encuentra cifrado y su principal objetivo es que los contenidos se encuentren disponibles en la mayor cantidad de “datastores” en la red. Bajo este esquema, la disponibilidad se encuentra garantizada en función del número de instancias que almacenan dicho contenido.

La disponibilidad viene dada por la popularidad de un contenido al replicarse por cada nodo que visita dicho contenido. Gracias a este trabajo de réplica se trata de un sistema de almacenamiento distribuido muy eficiente para evadir la censura y asegurar la disponibilidad de los contenidos, evitando el problema de los servicios ocultos itinerantes tan frecuente en otras redes anónimas.

Como hemos dicho estos ficheros se encuentran cifrados y el proceso de inserción o borrado de la red se basa en la caducidad de los mismos, cuando un contenido no se consulta después de un cierto tiempo, éste es eliminado de forma automática. Esta característica aporta que los documentos contenido en la red sean los documentos más populares y relevantes. Se evita así que se sobrecargue la red con archivos obsoletos o de poca consulta.

Después de lo comentado, debemos aclarar algo sobre el hecho de almacenar información de la cual no tenemos conocimiento. Por antecedentes consultados se puede llegar a alegar “negación plausible” en caso de ser denunciados por contener en nuestro espacio de disco contenido ilícito, anteriormente la organización ha tenido que descifrar el contenido, una tarea no sencilla.

Pág: 12

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Otro dato que debemos conocer es que Freenet no almacena ningún tipo de metadato o información identificativa que los vincule al propietario.

El “datastore” se divide en dos partes, por un lado, encontramos la caché y por el otro el almacén de datos.

La caché es simplemente una copia de cada bloque de datos que pasa a través del nodo, esta memoria suele llenarse rápidamente y cuando esto sucede, los bloques antiguos se eliminan. Para mitigar este hecho se encuentra el almacén de datos persistente, el cual almacena solo aquellos bloques de datos que tienen mejores posibilidades de ser encontrados con respecto a otros nodos adyacentes. Gracias a esto, el almacén de datos tarda más en llenarse y los bloques antiguos tardan más tiempo antes de ser sobrescritos.

Para que la información que se almacena en cada nodo pueda ser identificable y pueda ser descifrada por otros nodos, los contenidos son vinculados a diferentes tipos de clave. Estas claves son hashes que no guardan relación con el contenido del fichero o su tipología, de esta manera, no se revela en ningún caso detalle sobre el contenido. Por lo tanto, para acceder a cualquier tipo de contenido es necesario conocer la clave que tiene asociada, que pueden ser de diferentes tipos.

Claves CHK (Content Hash Key)

Es el tipo más habitual y conocido, corresponden a cualquier fichero de tipo estático, como PDF, documentos, textos. Donde el CHK es el hash del contenido de ese fichero.

Este tipo de clave se compone de los siguientes componentes:

- Hash del fichero - Clave de descifrado - Configuración criptográfica usada

Su formato es: chk@hash, clave descifrado, config.criptografica

La clave de descifrado se encuentra almacenada en el interior del fichero, por lo que no se puede descifrar el fichero sin la clave CHK.

Pág: 13

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Claves SSK(Signed Subspace Key)

Es el tipo de clave para contenido dinámico que cambian con frecuencia, como puede ser los servicios ocultos relacionados con Freesites. Funcionan con un mecanismo de no repudio, lo que significa que nadie puede afirmar modificar un contenido sin que quede constancia.

Funciona con criptografía de clave pública, solo el autor con la clave privada podrá modificar su contenido o cualquier que tenga dicha clave.

Las claves SSK se componen:

- Hash de clave pública - Clave de descifrado del documento - Configuración criptográfica usada - Nombre seleccionado por el usuario - Versión actual del contenido

Su formato es:

SSK@hash, clave descifrado, confi.criptografica /NOMBRE_CONTENIDOSITIO, versión

Claves USK (Updateable subspace keys)

Tipos de claves que sirven de envoltorio para las claves del tipo SSK, son parecidas a las SSK con la única diferencia que éstas se encargan de enlazar la última versión del contenido vinculado con la clave SSK en cuestión.

Su formato es:

USK@hash, clave descifrado, config.criptografica /NOMBRE_SITIO, versión

Claves KSK

Se trata de claves que permiten a un usuario almacenar páginas etiquetadas directamente en la red.

Su formato es:

[email protected]

Pág: 14

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Una vez conocemos el modo de almacenamiento y los diferentes tipos de claves, vamos a explicar cómo funciona el enrutamiento en Freenet.

En primer lugar, las claves y los nodos están vinculados a una localización y dicha localización es un valor decimal entre 0 y 1.

Cuando un nodo es iniciado y se estable el modo “opennet” en el que se admiten todas las conexiones por parte de usuarios conectado a la red, las localizaciones son seleccionada por el algoritmo de generación de localizaciones freenet y este se mantiene fijo.

En el caso de establecer el modo “Darknet” en el que solo se admiten “amigos” las localizaciones cambian dinámicamente. Las localizaciones son una lista circular y sirven para calcular la distancia entre los nodos que componen la red, de esta manera si la localización de un nodo es 0.98 y la de otro es 0.02, la distancia entre ellos es de 0.04.

De este modo y con esta información una instancia de Freenet puede realizar el proceso de enrutamiento correspondiente, primero comprueba si en su propio almacén de datos contiene dicha clave. Si no cuenta con los contenido de esa clave el nodo consulta el campo “pInstantReject” y HTL(Hops To Live) para determinar si la solicitud puede ser enrutada o descartada. Si debe ser enrutada, con el sistema de localización puede saber cuál es la ruta óptima. Si una clave es desconocida por el receptor, se genera un listado de nodos cuyas localizaciones sean las más próximas a la localización de la clave.

Cuando finalmente uno de los nodos localiza y consigue responder a la petición de clave y devolver la información, el nodo receptor almacena la clave y el fichero en su almacén. Por ese motivo la manera de contribuir activamente en la red Freenet es simplemente navegar por los diferentes sites para que se vayan creando replicas y se vaya teniendo un volumen de claves alto.

Pág: 15

Anonimato y Evasión vs SIEM Abel Pozo Pujol

3.3.4. Aplicaciones En Freenet existen varias aplicaciones y utilidades que facilitan la gestión y uso, además de permitir ampliar sus funcionalidades.

Algunas de estas aplicaciones están incluidas por defecto y otras se pueden descargar e instalar a posteriori. También existen plugins que posibilitan la extensión de la instalación por defecto de Freenet y de los cuales explicaremos los más importantes y que dan funcionalidades extra a nuestra instancia.

Frost

Se trata de una aplicación que permite interactuar con tablones de anuncios en FreeNet, así como también compartir ficheros con otros usuarios que se encuentren conectados, permite subir, descargar y compartir información de una forma fácil y sobre todo, anónima. Se trata de una las aplicaciones que se encuentra incluida en la instalación estándar de FreeNet

Figura 6: Aplicación Frost

Pág: 16

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Una vez que instalamos Frost y realizada la conexión con el puerto 9481 podremos observar la interfaz de la aplicación. En la que comenzaremos a observar los mensajes en los diferentes foros.

Figura 7: Menú Frost JSite

Una de las principales características que hacen de FreeNet una solución interesante, es la creación de Darknets y Freesites, lo que en TOR se conoce como Hidden Services y en I2P un EEPSITE o Destination. En este caso, la aplicación JSITE permite publicar contenido fácilmente, sin necesidad de tener conocimientos profundos en programación, solamente se requiere escribir documentos en HTML y tener un tema o algo para contar en el FreeSite, dado que se trata de un sitio web como cualquier otro, se encuentra localizado en la red de FreeNet y solamente podrá ser accedido por los usuarios de dicha red. Esta aplicación debe ser descargada de forma manual, se trata simplemente de un fichero con extensión *.jar que puede ser fácilmente ejecutado desde una consola.

Figura 8: Instalación Jsite

Una vez ejecutada la aplicación solo deberemos definir los datos de la página que queremos publicar y este generará una clave USK a través de la cual los usuarios podrán acceder a ella.

Pág: 17

Anonimato y Evasión vs SIEM Abel Pozo Pujol

WEB OF TRUST (Plugin Oficial):

Se trata de un complemento que sirve de ayuda a otros plugins tales como FreeTalk entre otros. El objetivo de este plugin es el de crear una identidad anónima que pueda ser utilizada como mecanismo de “confianza” para comunicarse con otros usuarios de freenet, además también brinda un respaldo adicional contra ataques de denegación de servicio y SPAM.

Normalmente es utilizada en aplicaciones como foros, chats y cualquier tipo de aplicación social.

En el caso de WebOfTrust, una vez se ha cargado en el nodo de FreeNet, automáticamente aparecerá una nueva opción en el menú de FProxy llamada “Community” desde allí se podrán realizar las siguientes tareas:

 Crear una identidad.

 Editar/Eliminar identidades.

 Introducción de identidades en Freenet

 Listar Identidades conocidas en la red de Freenet.

Figura 9: Ejemplo de identidad

Pág: 18

Anonimato y Evasión vs SIEM Abel Pozo Pujol

FREETALK (Plugin Oficial)

Instala del mismo modo que WebOfTrust y se utiliza para chatear en foros de forma anónima en Freenet, este plugin requiere que el plugin WebOfTrust se encuentre cargado para que pueda ser utilizado correctamente. Una vez se ha cargado este plugin aparecerá una opción adicional en el menú de FProxy con el nombre “Forums”, la única opción que sale al principio, es la de iniciar sesión en la aplicación con alguna de las identidades creadas en el plugin WebOfTrust, una vez que se ha iniciado con una identidad, las opciones disponibles desde este plugin son: Seleccionar tablones de discusión y foros.

 Crear foros y tablones.

 Administrar foros creados.

 Listado de mensajes enviados.

 Configuración de tablones y usuarios.

 Estadísticas

 Cerrar sesión

Figura 10: Freetalk

Para concluir y después del estudio realizado con esta red, tiene sus muchas ventajas y la principal es el anonimato a la hora de compartir información. También hemos de decir que esta red solo está destinada a la compartición de recursos o tareas de baja latencia. También y como hemos comentado tenemos el riesgo de tener alojado material ilegal en nuestro disco, por lo que esto a pesar que delante de un tribunal se puede demostrar puede incumplir moralmente muchos principios.

Pero en general definimos que Freenet cumple con una red totalmente descentralizada, ofrece un sistema de anonimato robusto y es prácticamente imposible la trazabilidad de un usuario. El sistema de claves ofrece un nivel alto de seguridad en cuanto al cifrado de los archivos.

Pág: 19

Anonimato y Evasión vs SIEM Abel Pozo Pujol

3.4. I2P

3.4.1. Introducción

El proyecto I2P (Invisible Internet Project) comenzó en el año 2003 de la mano de un grupo de hackers, desarrolladores y arquitectos de software. Como hemos visto anteriormente con la red Freenet, el objetivo principal de esta red es establecer un canal de comunicación seguro y anónimo.

I2P a diferencia de otras redes anónimas no trata de preservar el anonimato ocultando origen y destino, sino que está diseñado para que toda la actividad que se lleva a cabo en ella permanezca oculta y los pares se comuniquen de forma anónima, también preservan el anonimato de las comunicaciones para posibles atacantes que puedan estar esnifando dicha comunicación.

Por tanto, una red I2P está formada por un conjunto de nodos o routers que a través de comunicaciones privadas virtuales(túneles) permiten estar conectados y transmitir información. En el momento que un usuario se conecta a la red I2P automáticamente brinda a ésta una parte de su ancho de banda para el enrutamiento de paquetes y la ampliación de la propia red.

Una de las características más interesantes de I2P, es que permite la creación de prácticamente cualquier tipo de servicio, tales como servidores HTTP, FTP, SSH o SMB en cualquier instancia I2P y no hacen falta grandes conocimientos para ello. Estos servicios serán publicados en la red I2P y no serán accesible a través de internet sin conectarse a dicha red.

Más adelante desgranaremos como funciona internamente I2P y sus mecanismos para que la comunicación permanezca oculta, pero hemos de destacar que en I2P es una red completamente descentralizada y la información se encuentra diseminada en múltiples puntos de la red. Se trata de una red orientada al mensaje donde cada paquete de datos es enrutado a su correspondiente destino de forma anónima. Esto quiere decir que cuando un usuario envía un mensaje, los demás usuarios de la red pueden conocer su identidad, pero no los datos del mensaje, ni cabecera ni destinatario.

I2P caracteriza por tener un conjunto de aplicaciones que son las que interactúan una vez conectado a ella, las veremos más adelante y conoceremos su finalidad, pero podemos encontrar un amplio espectro tales como aplicaciones de navegación web anónima, alojamiento web, chat, compartición de ficheros, correo electrónico, blogs, etc.

Pág: 20

Anonimato y Evasión vs SIEM Abel Pozo Pujol

I2P no es un proyecto de investigación - académico, comercial o gubernamental. Es un esfuerzo de ingeniería enfocado en hacer lo posible para ofrecer un nivel elevado de anonimato para aquellos que lo necesitan. Lleva en desarrollo activo desde el 2003 con un programador a tiempo completo y un grupo de contribuidores a tiempo parcial de todo el mundo.

Todo el trabajo realizado es software libre y disponible gratuitamente en la web. La mayoría del código es de dominio público, excepto algunas rutinas de cifrado que usan licencias del estilo BSD. La gente que trabaja en I2P no controla bajo qué licencias libera sus aplicaciones cliente y hay varias aplicaciones GPL disponibles (I2PTunnel, susimail, I2PSnark, I2P-Bote, I2Phex y otras.).

El financiamiento viene en su totalidad de donaciones, y por el momento no recibe ninguna rebaja de impuestos en ninguna jurisdicción, ya que la mayoría de los programadores son anónimos.

3.4.2. Instalación El software I2P al igual que el caso anterior de Freenet se encuentra desarrollado en java y esto permite que sea instalable en la mayoría de SO existentes, siempre que se tenga un entorno java instalado (JRE).

Únicamente será necesario descargar el .jar y ejecutarlo en el SO, éste nos mostrará un asistente y un porcentaje.

Figura 11: Instalación I2P

Pág: 21

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Una vez finalizada la instalación ya tendremos el servicio activado y podremos comenzar a gestionar su configuración. I2P funciona a través del puerto 7657, por lo que para conectarnos al entorno de configuración y monitorización deberemos acceder a la siguiente dirección. http://127.0.0.1:7657/home

Lo primero y principal es configurar el ancho de banda de la red y a continuación podremos ir configurando las diferentes opciones que nos facilita dicha interface en sus pestañas:

- Red: Aquí podemos configurar los parámetros relacionados con la red, entre otras cosas, activar o desactivar el UpnP o configurar los puertos a usar para ajustarlo a un firewall. - Interfaz humana: Podemos configurar el skin que queremos para nuestro cliente, así como el idioma. - Barra de resumen: Nos permite ordenar los elementos de la barra de resumen, presente a la izquierda de la pantalla. - Página de inicio: Nos permite gestionar y añadir elementos a la página de inicio del cliente. - Servicio: Aquí podemos configurar los aspectos básicos relacionados con el servicio de la aplicación. - Actualización: Comprueba si existe actualización del software o noticias de su página web. - Túneles: Nos permite configurar los saltos que tendrán los túneles creados. Es recomendable dejar estos parámetros por defecto, ya que vienen ajustados a un equilibrio entre anonimato y rendimiento. Sólo modificar en caso de tener problemas (dejamos a cada uno lo de “problemas” a su imaginación). - Clientes: Aquí podemos configurar los clientes que queremos que se ejecuten en la JVM. - Pares: Podemos configurar que direcciones IP queremos banear de los túneles. - Llavero: El llavero del router se utiliza para descifrar leaseSets cifrados. El llavero puede contener claves de cifrado para los destinos locales o remotos. - Registros: Nos muestra donde se guardará el log del programa. Estadísticas: Nos muestra las estadísticas que queremos mostrar. - Resembrando: Resembrar es el proceso de bootstrapping para encontrar otros routers cuando I2P se instala por primera vez o cuando al router le quedan muy pocas referencias de otros routers. - Avanzado: Aquí podemos retocar los parámetros avanzados del programa. No recomendado.

Pág: 22

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Una vez iniciado el servicio veremos en la página de la consola que estamos conectado o el estado en el que nos encontremos:

Figura 12: I2P activado

A partir de ese momento deberemos configurar los diferentes túneles para poder navegar o montar los diferentes servicios que queramos.

Figura 13: Interfaz I2P

Pág: 23

Anonimato y Evasión vs SIEM Abel Pozo Pujol

3.4.3. Arquitectura

En primer lugar, debemos dejar algunos conceptos claros antes de proceder a desgranar el funcionamiento interno de esta red.

I2P no dispone de un servicio tradicional de resolución de nombre como podría ser DNS, en su lugar, existe un sistema de nombrado básico que viene instalado en cada instancia de I2P y que depende completamente de un fichero de texto plano que vincula un dominio “.i2p” con una dirección en base32 o base 64. Esta dirección vendría a ser el destino, algo así como una ip. Este fichero conocido como “addressbook” y que asocia domino con destino en muchas ocasiones no dispone de los destinos que queremos acceder y esta problemática la resuelve I2P de dos maneras, realizando el mapeo a través de la aplicación susiDNS o utilizar lo que se conoce como “jump service”, el cual funciona como un proxy entre cliente y destino sin necesidad de crear el mapeo en base32/64.

Figura 14: Eepsite no encontrado

En este ejemplo podemos ver que no se ha encontrado un site, y nos da la posibilidad de intentar llegar a este a través de los servicios de jump services comentados. Una vez que lleguemos a él tendremos la posibilidad de agregar el mapeo de este sitio a nuestro fichero de texto plano “adressbook” para no tener que volver a utilizar los jump services.

Para acabar con estos conceptos básicos antes de adentrarnos en su funcionamiento, se debe destacar que una instancia de I2P requiere tiempo para consolidarse, ya que los túneles se deben ir creando entre las diferentes instancias y de esta manera se tenga un acceso más veloz y fluido.

Pág: 24

Anonimato y Evasión vs SIEM Abel Pozo Pujol

La arquitectura I2P está conformada por varios componentes que interactúan entre si y que se deben entender correctamente para poder comprender su funcionamiento.

En primer lugar, decir que I2P separa completamente el router (aplicaciones usadas en la red) y los puntos finales anónimos (asociado a las aplicaciones individuales). Los usuarios finales tendrán diferentes destinaciones locales en el router, por ejemplo, una por servicio (chat, torrents, etc). Túneles

Un concepto clave para entender la arquitectura de red de I2P es el concepto de “Túnel” ya que es uno de los componentes más importantes para la transmisión de la información, ya que permiten el envío y recepción de los paquetes entre los emisores y receptores.

Existen 2 tipos de túnel:

- Túnel de entrada (inbound): Llevan los mensajes hasta el creador del túnel. - Túnel de Salida (Outbound): Envían los paquetes hacía fuera desde el creador del túnel.

En este caso una definición acertada de túnel sería la de un camino directo a través de una lista seleccionada y explicita de routers, tanto sea de entrada como de salida.

Una vez que se conecta a la red I2P el equipo se convierte en un router de la red y en la medida que se integre en dicha red, este router ayudará a transmitir los paquetes de otros usuarios a través de túneles creados. Por ese motivo una de las primeras cosas es definir el ancho de banda, ya que, al conectarnos a la red, haremos de enrutadores e iremos transmitiendo paquetes que no son explícitamente y que no son para nosotros.

Una instancia siempre deberá crear túneles de entrada y de salida, ya que sino no podrá o recibir o enviar paquetes.

Se debe mencionar que estos paquetes que viajan a través de los túneles van cifrados y si somos un punto de conexión únicamente podremos descifrar la parte para enviar el paquete al siguiente enrutador.

Pág: 25

Anonimato y Evasión vs SIEM Abel Pozo Pujol

De esta manera podemos ver una imagen en la que mostramos como sería la comunicación a través de los túneles de un paquete de ida y su respuesta.

Figura 15: Funcionamiento I2P como vemos ambas instancias tienen 2 túneles, uno de entrada y otro de salida. Los paquetes son dirigidos a través de los distintos enrutadores de la red, los que únicamente reciben un paquete y descifran la parte para enviarlo al siguiente enrutador y finalmente llegan a sus destinos.

El número de enrutadores es configurable, por defecto y para mantener un equilibrio entre anonimato y rendimiento, se establecen 3.

Para la elección de los caminos que debe seguir un paquete hay varias perspectivas, si lo miramos desde la perspectiva de anonimato la mejor sería elegir pares aleatorios para llegar al destino, pero si lo que queremos es un envío más veloz y con un rendimiento más óptimo, lo mejor sería elegir los pares con la capacidad necesaria.

Para esto I2P ofrece un amplio abanico de estrategias de selección de pares.

Pág: 26

Anonimato y Evasión vs SIEM Abel Pozo Pujol

En primer lugar, I2P está constantemente chequeando los pares con los que trabaja y va midiendo su comportamiento. Con estas mediciones va creando un perfil de cada par y los va añadiendo para después tener las prioridades a la hora de enviar los paquetes. Gracias a estas mediciones y perfiles nos encontramos con 4 niveles de routers:

- Rápido y con gran capacidad - Gran capacidad - Sin caídas - Con caídas

Visto estos perfiles la estrategia para túneles de clientes por defecto es utilizar pares aleatorios (anónimo) y de nivel “Rápido con gran capacidad” (Rendimiento).

Para los túneles de exploración se usan túneles aleatorios “sin fallos” para afianzar que no hay fallos que se inspeccionan los diferentes routers sin fallos. Protocolo I2P

En primer lugar, debemos saber que I2P se basa en el modelo OSI, pero contiene capas y protocolos adicionales que permiten que la red sea anónima a través de TCP y UDP.

Vamos a desglosar las capas de la pila de protocolos de I2P.

Figura 16: Protocolo I2P

Pág: 27

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Capa de Aplicación

Aquí se encuentran todas las aplicaciones que utilizan i2P para el envío y recepción de mensajes de forma anónima, tales como plugins, eepsites, aplicaciones en streaming.

Capa Cifrado Garlic

Es la capa que proporciona la entrega de mensajes I2P de extremo a extremo de manera cifrada y anónima.

Capa de túneles

En esta capa se obtiene el listado de los participantes de cada túnel y los detalles necesarios para el envío de mensajes a sus correspondientes destinos. En esta capa se generan los mensajes de túnel los cuales contienen los mensajes I2P fragmentados y separados en bloques de tamaño fijo.

Capa de transporte I2P

Se trata de una extensión de la típica capa de transporte de la mayoría de sistema de comunicaciones, el punto diferenciador es el cifrado entre enrutadores y aunque este cifrado no implica anonimato, permite la comunicación segura de los mensajes.

Existen 2 implementaciones de esta capa:

- SSU: Protocolo utilizado en conexiones salientes sobre el protocolo UDP. - NTCP: Protocolo de transporte TCP que soporta la especificación NIO de JAVA que permite manejar múltiples conexiones utilizando varios hilos.

Capa de transporte y Capa de internet

Estas dos capas son las capas clásicas de transporte e IP. Como hemos visto I2P ya contiene la propia extensión que refuerza estas 2 capas para que las comunicaciones lleguen, sean seguras y anónimas.

Una vez vistas las diferentes capas que contiene el protocolo I2P vamos a definir los conceptos que nos harán entender mejor como procesa éste los mensajes:

- Mensaje de túnel: Son mensajes grandes que contienen mensajes cifrados I2NP e instrucciones cifradas para su entrega. El cifrado se divide en diferentes capas. El mensaje de túnel contiene la instrucción para la entrega en el siguiente router. - Mensajes I2PN: Son los que contienen el contenido del mensaje y también están cifrados con la clave pública del receptor y solo el podrá descifrar el mensaje con su clave privada.

Pág: 28

Anonimato y Evasión vs SIEM Abel Pozo Pujol

NETDB

Por último y para entender el funcionamiento debemos conocer la base de datos de la red (NetDB).

NetDB es la base de datos distribuida de I2P. Se trata de una tabla hash con una estructura que se basa en el algoritmo kademlia.

Las consultas que realiza el usuario contra la base de datos se almacenan localmente, de esta manera acceder a los túneles de otros destinatarios es más eficiente, ya que se han guardado los datos en nuestra máquina. Esta BD es básica para localizar los túneles de entrada de los destinatarios y construir éstos.

Hay 2 tipos de datos:

- Routerinfo: Aquí se contienen los datos del router (identidad, dirección, cuando fue publicado, opciones de texto, firma) - leaseSets: Contiene un conjunto de puntos de entrada de túnel para un destino de cliente. Contiene (Dirección del Gateway de entrada del destinatario, clave pública de cada enrutador para cifrar los mensajes que se enviaran, caducidad)

Esta información se actualiza automáticamente en cada enrutador.

De esta manera el flujo es el siguiente:

- Emisor quiere enviar un mensaje a un destino, busca en NETDB para encontrar el “leaseSET” del destino. Aquí obtenemos el Gateway. - A continuación, se construye o elige uno de sus túneles de salida y envía el mensaje con instrucciones para que el punto final del túnel de salida reenvíe el mensaje al Gateway correspondiente al túnel de entrada del destinatario. - Gateway de entrada del túnel envía el mensaje al siguiente enrutador hasta llegar al destinatario del mensaje.

En el caso de que un emisor de mensaje desee que el destinatario pueda responder, se trata de la siguiente forma:

- Introducir una capa adicional en la que se incluye “destination”, dicho campo le permite al destinatario hacer una consulta a la base de datos para encontrar el Gateway de entrada del emisor - El emisor envía un “leaseSet” como parte del mensaje para que el receptor pueda devolver su respuesta.

Por último, decir que la base de datos se distribuye con una técnica basada en inundación llamada “Floodfill”, que usa enrutadores llamados como la propia técnica y se encargan de sincronizar y mantener la información de routerinfo y leaseSET actualizadas.

Pág: 29

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Preprocesado de mensajes I2NP y mensajes Garlic

Para explicar el funcionamiento del pre procesamiento de I2PN y los mensajes garlic nos hemos ilustrado con una imagen en la que detallaremos cada uno de sus puntos para entender mejor el proceso que siguen los paquetes desde su inicio hasta su fin.

Figura 17: Procesado de mensajes en I2P

Outbound Gateway

Es el principio del túnel de salida, se encarga de recibir mensajes I2NP para posteriormente reenviarlos a sus correspondientes destinatarios. Estos mensajes son fragmentados en este punto y mezclados, estos mensajes son de 1 KB y se les llama mensajes de túnel, estos contienen los datos para re ensamblarlos y las indicaciones para reenviar los mensajes por los diferentes routers de salida. Posteriormente los mensajes de túnel se cifran con el algoritmo de I2P llamado Leganal/aES SessionTags.

El resultado de todas estas operaciones son los llamados mensajes garlic, que se componen por las diferentes capas de cifrado y que solo con la clave privada cada router podrá descifrar la parte correspondiente. Posteriormente el mismo Gateway envía el mensaje cifrado al siguiente salto (Outbound paritcipant)

Outbound Participant

Este componente del túnel es un simple participante que recibe un mensaje y descifra una de las capas correspondientes a su router con la clave privada de éste. Al descifrar esta parte puede ver donde debe enviar el paquete, para que el siguiente descifre la parte que le toca y si es el caso vuelva a enviar el mensaje hasta llegar al último punto (Outbound Endpoint).

Pág: 30

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Outbound Endpoint

El enrutador final de túnel de salida descifra el mensaje y consigue ver el mensaje de túnel, al ser el último re ensambla las diferentes partes del mensaje i2NP y lo reenvía al punto de inicial del túnel de entrada (Inbound Gateway).

Inbound Gateway

El Gateway de entrada tiene una función similar al de salida, recibe los mensajes y los fragmenta, mezcla y cifra. A continuación, envía al siguiente router el mensaje.

Inbound Participant

En este caso un participante de túnel de entrada cifra los mensajes utilizando la clave pública del enrutador final del túnel. De esta manera, el participante cifra y lo reenvía al siguiente enrutador.

Inbound Endpoint

El enrutador final del túnel realiza el proceso de descifrado iterativo y re ensambla las partes y obtiene la información enviada por el emisor.

3.4.4. Aplicaciones

Gracias a la flexibilidad a la hora de crear cualquier tipo de servicio oculto, I2P ofrece un amplio espectro de aplicaciones con las que poder interactuar con la red.

A continuación, mostramos las más importantes que hemos extraído directamente de la página oficial de I2P:

Blogs, Foros y Wikis

El Dorado — Aplicación de foros ligera. [independiente/mod]

Pebble — Otra plataforma para blogs ligera. [pluguin, independiente/mod] phpBB — La aplicación libre de foros más pupular. [independiente/mod]

Syndie — Sistema de foros distribuido, originalmente creado por jrandom. [pluguin, independiente, sin mantenimiento]

JAMWiki — Un clon en Java de MediaWiki. Sin necesidad de base de datos externa. Pluguin disponible aquí. [independiente, pluguin]

Pág: 31

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Almacenamiento de archivos descentralizado

Tahoe-LAFS-I2P — Port del sistema de archivos distribuido Tahoe-LAFS para la red I2P. El plugin de control aquí. [plugin, independiente]

Control de versiones

Git — El sistema distribuido de control de versiones más popular. [independiente]

Monotone — Otro sistema distribuido de control de versiones. Actualmente usado para el desarrollo de I2P. [independiente]

Nombres de Dominios susidns — Proporciona control sobre la lista de direcciones, que son parte de un sistema sencillo controlado por el usuario del sistema de dominios de I2P, de alguna forma análogo al Sistema de Nombres de Internet(DNS). La lista de direcciones convierte las destinaciones Base64 a nombres de dominio cortos, normalmente comprensibles para los humanos, con el sufijo .i2p, los cuales pueden ser traducidos de vuelta por el cliente HTTP del router de I2P a sus direcciones Base64. (Nota: Mientras que las destinaciones Base64 son únicas globalmente, los nombres de "domino" de la lista de direcciones sólo son resueltos por destinaciones locales únicas.) [incluida]

Correo electrónico

I2P-Bote — Sistema de p2p sin servidores que usa una tabla distribuida de hashes (DHT) para el almacenaje seguro de . [plugin]

Postman's anonymous email service — Proporciona servicio de email dentro de I2P a través de direcciones @mail.i2p, y un servicio de salida de emails entre la red I2P y el Internet público a través de las direcciones @i2pmail.org. Es uno de los sistemas continuados más viejo de I2P. [servicio] susimail — Interfaz web simple para emails. Configurado por defecto para usar el servidor de email Postman. [incluida]

Sylpheed Claws, Thunderbird, other MUAs — Puede configurarse para usar el servicio de email de Postman. Vea esta comparación de MUAs, y las opciones de configuración para SMTP y POP3. [independiente]

Pág: 32

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Clientes de BitTorrent

I2PSnark — Cliente de BitTorrent de I2P integrado. [incluida]

I2PSnarkXL — Versión modificada de I2PSnark. [independiente]

Robert — Un fork de rufus que utiliza Basic Open Bridge (BOB), puente básico libre, y tiene muchas mejoras, incluyendo el uso del último wxwidgets y python. También soporta el uso de seedless, sin-emilla, si está instalado, para los torrents sin tracker, y el uso de enlaces imán, magnet-link, para torrents dentro de I2P. [independiente]

Transmission — Cliente de BitTorrent completo multi plataforma con varios ports para varios GUIs diferentes. [independiente/mod]

Azures/Vuze — Contiene un plugin para usarse con I2P. [independiente, sin mantenimiento]

Trackers e indexadores de BitTorrent

Para una comparación detallada entre trackers/indexadores en I2P, mire aquí.

Bytemonsoon — El código que hace funcionar uno de las mayores webs trackers en Internet. Parcheado para I2P. [independiente/mod] opentracker — Tracker/indexador ligero. Mod para I2P disponible en la rama de i2p.opentracker del repositorio Monotone de I2P. [independiente/mod] zzzot — de zzz Tracker libre basado en Java. Más información aquí. [plugin]

ED2K iMule — Port para I2P del cliente aMule ED2K. [independiente]

Gnutella

I2Phex — Port del cliente Gnutella Phex. La web del plugin aquí. [plugin, independiente] jwebcache — Caché de los pares de Gnutella en I2P. Web del pluguin aquí. [plugin, independiente]

Pág: 33

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Administración de red

Utilidades para sockets de uso general netcat — Herramienta estándar Unix para la manipulación de sockets. Durante los años han aparecido varios clons, ports y forks. [independiente] socat — Igual que netcat pero más potente. [independiente] tsocks — Proxy que proporciona el uso transparente de SOCKS de las aplicaciones de la red. [independiente]

SSH/SCP/SFTP

OpenSSH — La implementación más popular del protocolo Secure Shell (SSH) y varias herramientas relacionadas. [independiente]

PuTTY — Cliente para Windows de Secure Shell (SSH) de código libre. [independiente]

Chat en tiempo real

Clientes de mensajería instantánea

I2P Messenger — Cliente de mensajería, IM, con múltiples encarnaciones. [independiente]

Clientes iRC

Muchos clientes IRC filtran información del usuario a los servidores u otros clientes, por lo que el IRC de I2P y los túneles clientes SOCKS IRC filtran ciertos mensajes de entrada y de salida para limpiar los datos tales como la IP de la LAN, la IP externa, los nombres de host local, y el nombre y la versión de los clientes de IRC. En particular hay dos tipos de mensajes, DCC y CTCP, que no pueden ser anonimizados sin cambios en el protocolo de los clientes y servidores de IRC, por lo que han sido completamente bloqueados, excepto para CTCP ACTION (el mensaje emitido por el comando /me) que no es peligroso por sí mismo.

El filtro de IRC de I2P no puede cubrir todas las filtraciones — los usuarios deben comprobar si su cliente envía su nombre real o su nombre local. Los sniffers de paquetes como Wireshark son muy útiles en estos casos. Para eliminar las filtraciones puede ser tan simple como cambiar la configuración por defecto del cliente IRC. jIRCii — Cliente de IRC pequeño en Java. Pluguin disponible aquí. [plugin, independiente]

Pág: 34

Anonimato y Evasión vs SIEM Abel Pozo Pujol

XChat — Cliente de IRC gráfico multi plataforma. [independiente] — Cliente de IRC Unix para terminal. [independiente]

WeeChat — Otro cliente de IRC Unix para terminal. [independiente]

Servidores iRC ngIRCd — Servidor IRC desarrollado desde cero. [independiente/mod]

UnrealIRCd — El servidor IRC más popular. [independiente/mod]

Navegación web

Webs anónimas

Eepsites — Cualquier web alojada anónimamente en I2P, accesible desde el proxy HTTP del router de I2P. [servicio]

Deepsites — Webs anónimas distribuidas alojadas usando Tahoe-LAFS-I2P, actualmente sólo accesibles con clientes Tahoe-LAFS-I2P o a través del proxy HTTP Tahoe-LAFS-I2P. [servicio] i2host.i2p.xyz — Web para el servicio de saltos (jump, direccionamiento distribuido) de sponge. Código fuente disponible. [servicio] i2jump.i2p.xyz — Otro servicio de saltos. [servicio] identiguy.i2p.xyz — Índice de eepsites actualizado dinámicamente. [servicio] stats.i2p — Web para el servicio de saltos de zzz. [servicio]

Aplicaciones de Proxy

Polipo — Web proxy con cacheo activo SOCKS con la capacidad de filtrado básico. [independiente]

Privoxy — Web proxy sin cacheo enfocado a la privacidad con capacidad de filtrado avanzado. Excelente a la hora de eliminar anuncios y otras mierdas. [independiente]

Squid — Venerable web proxy con caché. [independiente]

Proxies de entrada

Pág: 35

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Salidas que permiten a los usuarios en Internet público acceder a las eepsites en I2P. i2p.to — Proxy de entrada de tino en el Internet público. [servicio] i2p.us — Otro proxy de entrada en la Internet abierta. [servicio] i2p.me — Otro proxy de entrada en la Internet abierta. [servicio]

Proxies de salida

Salidas que permiten a los usuarios de I2P acceder al contenido en el Internet público. false.i2p — Proxy de salida ejecutando Squid publicitado abiertamente, ubicado en Europa. [servicio]

Alojamiento web

Jetty — Servidor web ligero basado en Java servlet container. I2P está estrechamente integrado con una copia de Jetty incluida, que está configurada por defecto para alojar la eepsite del usuario. La copia de Jetty incluida también sirve la consola del router de I2P y las aplicaciones web incluidas con I2P. [incluida, independiente]

Servidores web

Además de Jetty, cualquier servidor web debería funcionar con I2P sin modificaciones mientras sea compatible con HTTP. Algunos servidores web usados actualmente para servir contenido en I2P son:

Apache HTTP Server — El servidor web más popular en la WWW pública. [independiente]

Apache Tomcat — Servidor web en Java servlet container. Con más funciones que Jetty. [independiente] lighttpd — Servidor web rápido y ligero [independiente] nginx — Servidor web ligero de alto rendimiento. [independiente]

En cada una de las aplicaciones que hemos mencionado, podemos ver entre corchetes la etiqueta del tipo de desarrollador.

- Incluida: Aplicación oficial e incluida en la instalación por defecto de I2P. - Plugins de terceras partes: Provee el despliegue de aplicaciones para I2P. - Independiente: Aplicaciones que con una configuración adecuada pueden usarse sobre I2P anónimamente. Algunas deben ser parcheadas antes de usarlas en la red para evitar la divulgación de información. - Servicios: son servicios esenciales que necesita la red i2p para evolucionar y que son básicos. Índices eepsites, servicios de salto, motores de búsqueda, etc.. - Sin mantenimiento: Se etiquetan los servicios, plugins o aplicaciones que están obsoletos y no se actualizan.

Pág: 36

Anonimato y Evasión vs SIEM Abel Pozo Pujol

3.5. Tor

3.5.1. Introducción

La Red Tor (the onion router) o en castellano enrutado de cebolla es la red anónima por antonomasia, ya que es la más popular y utilizada en la actualidad.

Tor es un proyecto creado por varios ingenieros entre los que destaca Roger Dingledine y surgió como la evolución del proyecto Onion Routen del Laboratorio de Investigación Naval de los Estados Unidos. Por ese motivo a Tor se le dice que es la segunda generación. Tor ha ido creciendo de forma continua desde que se creó en el año 2003 y en la actualidad cuenta con miles de voluntarios de todo el mundo que usan la red y aportan su ancho de banda para mejorar ésta.

Cabe destacar que tor es una red centralizada a diferencia de las anteriores vistas, en la que un conjunto de servidores se encargan de gestionar los detalles de la configuración. Así como aportar estadísticas generales sobre el uso de la red. Estos servidores son llamados “directory authorities” y se encargan de generar consensos que contienen la información sobre los repetidores que componen la red.

El objetivo principal de tor es mantener el anonimato de sus usuarios y que no se pueda llegar a conocer el remitente de un mensaje. El uso habitual que se le ha dado a tor ha sido la ocultación de la identidad de sus usuarios pero con el tiempo se ha ido descubriendo que es útil para aquellos países en los que se aplican restricciones geográficas o algún tipo de censura.

Actualmente el proyecto Tor está financiado por un gran número de organizaciones, ONG’s, Fundaciones, etc. Y es capitaneada por su presidente y director Roger Dingledine.

Su uso se ha ido popularizando con los años y mucha culpa de ello la han tenido los medios de comunicación, ya que como se puede apreciar en los gráficos que brinda la propia página del proyecto, después del escándalo de Edward Snowden en Junio de 2013 la consternación por la privacidad creció exponencialmente y muchos usuarios comenzaron a usar la red.

Pág: 37

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Figura 18: Estadísticas tor después del escandalo Snowden

En las gráficas anteriores podemos ver lo comentado, en la superior vemos el aumento a nivel Global de la red, en las inferiores vemos la de Estados Unidos y España respectivamente.

Como hemos comentado anteriormente, esta red desde sus inicios se ha relacionado con actividades delictivas y gobiernos intentan identificar, filtrar y bloquear el tráfico Tor. Es cierto que hay varias investigaciones en las que se da por roto el anonimato en TOR, ya que hay técnicas que persiguen, por ejemplo, controlar un número amplio de nodos con el objetivo de realizar una reconstrucción del circuito y poder localizar a sus usuarios.

Por último, hemos de comentar que el mayor problema que se está encontrando la red, es un problema de diseño. Esta red se diseñó para dos tipos de usuarios y se pensó que estaría equilibrado, pero no es así, por un lado, están los usuarios que navegan a través de la red y por otro los usuarios que actúan como relay y ceden una parte de sus recursos a la red. En la actualidad hay una gran diferencia entre los usuarios que navegan y los que hacen de relay.

Con todo esto, tor sigue siendo la red anónima más utilizada y a continuación vamos a detallar como funciona y los diferentes usos que le podemos dar.

Pág: 38

Anonimato y Evasión vs SIEM Abel Pozo Pujol

3.5.2. Instalación

En este punto vamos a realizar una breve descripción de los diferentes procesos de instalación y acceso a la red TOR.

En primer lugar tor a diferencia de las otras redes estudiadas tiene un navegador llamado “Tor Browser” que está disponible en su página y contiene todos los elementos necesarios para navegar en la red de manera privada.

Al instalar tor browser, lo que realmente se realiza por detrás es levantar una instancia de tor y arrancar dicho navegador.

Figura 19: Tor Browser

Pero si lo que queremos es levantar un servicio oculto en la red Tor o actuar de Relay, deberemos instalar de una forma más manual. En este caso vamos a realizar un proceso de instalación de Tor y activar nuestra instancia como un relay para compartir una parte de nuestro ancho de banda.

En primer lugar, usaremos una máquina , añadiremos las sources de tor para posteriormente instalar este. deb http://deb.torproject.org/torproject.org trusty main deb-src http://deb.torproject.org/torproject.org trusty main

Deberemos añadir las claves gpg gpg --keyserver keys.gnupg.net --recv 886DDD89 gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -

Ahora procedemos a instalar tor: sudo apt-get update & ;& sudo apt-get upgrade apt-get install tor deb.torproject.org-keyring

Pág: 39

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Con estos simples comandos es posible instalar una instancia de tor. Para hacer que éste actué como relay, deberemos modificar lo siguiente en el fichero /etc /tor /torrc :

Asignamos el ORPort 9001 que es el puerto para aceptar conexiones de los clientes que quieren usar la red.

Figura 20: Configuración TOR 1/2

El siguiente campo que hay que quitar los corchetes es el de nickname y nos servirá para darle un nombre al relay.

Figura 21: Configuración TOR 2/2

Con esto sería suficiente para activar tu instancia como relay para compartir el ancho de banda.

Hemos querido mostrar en este estudio que la facilidad para entrar en esta red es muy sencilla, quizás la que más de las 3 mostradas, ya que únicamente con la descarga del navegador es posible navegar por la red.

Por último, hemos de comentar que es bastante habitual configurar un proxy web para trabajar conjuntamente con una instancia de Tor, estos ofrecen privacidad, mejora las capacidades de filtrado, permite controlar el acceso a la información personal y filtrar ADS en internet.

En la actualidad existen variedad de soluciones de servidor proxy web para instancias Tor, pero las más famosas y utilizadas son Privoxy y Polipo. Cada una tiene sus ventajas frente a la otra:

- Polipo es más eficiente que Privoxy debido al soporte que tiene sobre cache de sitios web y pipelines de conexiones, propiedades propias del protocolo http 1.1. - Privoxy está mejor diseñado para asegurar el anonimato en sitios que se utiliza y filtrado de cabeceras que pueden revelar datos del usuario. - Polipo es capaz de manejar conexiones persistentes. - Privoxy no tiene la capacidad de actuar como un servidor web de cache para acelerar la navegación por sitios. - Privoxy puede realizar sustituciones de texto sobre las peticiones.

Es posible utilizar los dos a la vez y encadenarlos de tal manera que las ventajas de uno y otro se combinen.

Pág: 40

Anonimato y Evasión vs SIEM Abel Pozo Pujol

3.5.3. Arquitectura Como ya hemos visto Tor tiene como objetivo ocultar la identidad de sus usuarios y de su actividad en línea, para no poder ser vigilado o analizado su tráfico mediante la separación y enrutamiento de cebolla. Este tipo de enrutamiento es denominado de esta forma porque cifra los paquetes a enviar y va saltando en un sentido aleatorio a través de repetidores mantenidos por usuarios de todo el mundo.

La denominación de cebolla viene a raíz de que estos routers cifran en múltiples capas para garantizar la confidencialidad directa a través de los repetidores. Estos repetidores solo podrán descifrar una parte del mensaje y solo conocerán el anterior salto y el siguiente, un estilo bastante similar a otras redes anónimas que hemos visto con anterioridad como I2P.

Para el receptor el último nodo de tor(nodo de salida) es el emisor del mensaje cuando realmente esto no es así.

Tor aparte de realizar el anonimato para la navegación clásica tiene una parte de “darknet” que es un concepto ligeramente diferente al que hemos visto en la red de Freenet, pero que consiste en servicios ocultos que solo se pueden acceder a través de la propia red tor.

Vamos a desglosar los términos más importantes de la red para después hacer un análisis de su funcionamiento:

Repetidores

Los repetidores son las piezas claves de la red tor. Estos permiten enrutar las comunicaciones a través del protocolo de tor y permiten la navegación de los usuarios a páginas de internet o de la “darknet”. Como hemos visto, configurar una instancia de tor para convertirla en repetidor y brindar un poco de ancho de banda a la red es relativamente sencillo. Únicamente es necesario cambiar unos pequeños parámetros en la configuración de la instancia de Tor.

Los repetidores pueden ser de dos tipos:

- Internos: Son repetidores que únicamente enrutan el tráfico a la red interna, éste no tiene capacidad de acceder a los paquetes y solo pueden quitar la capa correspondiente al repetidor con la clave privada de este. - Externos: Los repetidores externos o nodos de salida se encargan de descifrar la última capa para poder visualizar cual es el destino, también podrán leer el contenido del paquete.

En I2P hemos visto como se necesitaban establecer dos tipos de túnel, el de entrada y el de salida, en tor no es así, los circuitos (que así se llaman) son bidireccionales y pueden enviar y recibir paquetes.

Es importante destacar que el repetidor de salida descifra la última capa y la envía en texto plano al destino, esto es una problemática al recibir paquetes con contenido ilícito, ya que la ip que aparecerá en destino será la de este repetidor y no del emisor original.

Pág: 41

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Cuando una instancia accede a la red tor, tardará un tiempo hasta que las autoridades de directorio voten y las acepten como repetidores válidos para la red.

Descriptores

Los descriptores son documentos que almacenan información de los repetidores válidos para la red. Estos repetidores están publicados en las autoridades de directorio y se pueden consultar libremente. Hay de diferentes tipos:

- Server Descriptor: Descriptor principal y contienen toda la información relevante de un repetidor. - ExtraInfo Descriptor: Son detalles extra de un repetidor y solo se descargan si es necesario. - Micro Descriptor: Este tipo de descriptores es una mejora del server descriptors que contenían información que no es necesaria para el correcto funcionamiento de la red. Aquí contiene la información necesaria para crear los circuitos. - Network Status Document: Este documento contiene el estado de todos los consensos que se llevan a cabo por las autoridades de directorio. - Router Status Entry: Contienen información sobre repetidores, pero a un nivel más de red, para dar facilidad a los clientes a seleccionar los mejores repetidores de la red. - Hidden Service Descriptor: Contiene información de los clientes que necesitan comunicarse con los servicios ocultos.

Circuitos

Se trata del canal de comunicación de tor, son bidireccionales y permiten a un usuario utilizar tor como red anónima para acceder a la internet global o para acceder a la “darknet” de tor.

Un circuito consta de 3 repetidores que actúan como servidor proxy para el envío de paquetes entre el remitente y el destinatario.

La metodología empleada es similar a las vistas anteriormente, un remitente que desea enviar un mensaje, solicita a los 3 repetidores sus claves públicas, cifra el paquete y lo envía por estos repetidores preseleccionados.

Siempre debe haber dos repetidores internos y un externo (nodo de salida). Estos repetidores los podrá descargar el emisor del paquete para conocer posteriormente su clave pública de las autoridades de directorio.

Pág: 42

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Con lo comentado anteriormente el circuito funciona de la siguiente manera:

- El cliente desea enviar un paquete a un destino, descarga una lista de descriptores con repetidores válidos y escoge 3 aleatoriamente. - A continuación, cifra el paquete con la clave pública del repetidor de salida. - La siguiente capa de cifrado que aplica es la clave pública del repetidor intermedio. - Por último, cifra el paquete con la clave pública del repetidor de entrada. - Con esto ya está en disposición de enviar el paquete al repetidor de entrada. - Éste descifra la primera capa con su clave privada y podrá visualizar cual es el siguiente destino. - El repetidor intermedio descifrará la siguiente capa con su clave privada - Por último, el repetidor de salida descifra la última capa también con su clave privada y de esta manera puede acceder al texto plano para enviarlo al destino.

Figura 22: Funcionamiento Tor

Como ya hemos comentado anteriormente, que el repetidor de salida tenga acceso a los datos en claro es un peligro, tanto para el propio repetidor ya que podría ser información ilegal, como por que el repetidor de salida podría ser un atacante que desea obtener información de salida de tor, a pesar de no conocer su emisor original.

Esto se suple con una capa más de cifrado punto a punto, para que únicamente el receptor del mensaje pueda descifrar el contenido del mensaje.

Pág: 43

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Como hemos comentado anteriormente, Tor es una red anónima totalmente centralizada que depende de la actualización de los repetidores mediante las autoridades de directorio. Esta información es pública y se puede consultar por los usuarios para conocer y montar los circuitos.

Ya hemos hablado que muchas autoridades y gobiernos pretenden censurar tor. Una de sus estrategias es añadir estas listas que son públicas en blackllist para que no se permitan peticiones a través de ellas.

Para solucionar este problema se ha desarrollado el “Automatic Bridging” que intenta evadir la censura. Esto significa que se publican repetidores denominados bridges que no se publican en las autoridades de directorio y permiten a los usuarios no ser censurados.

Para conseguir estos puentes hay dos mecanismos, o a través de la página “Bridges.torproject.org” la cual te brinda 2 puentes después de meter unos datos y un captcha y el otro mecanismo es enviando un correo a [email protected].

Con esto ser permite a usuarios que viven en países con altos niveles de censura poder salir por diferentes circuitos sin problemas. Estos puentes deberán ser configurados en la instancia para poder saltar a través de ellos o en el propio navegador.

Los gobiernos y autoridades censuradoras están en trabajo constante para censurar las redes tor y según tor implementó los “bridges” implementó mecanismos como el DIP, que consiste en inspeccionar un conjunto de paquetes para clasificarlos partiendo de unos patrones. Con este mecanismo lo que hacen es comprobar si un paquete proviene de un repetidor tor y va hacia otro repetidor tor, con esto verifican que se trata de tráfico tor y lo bloquean.

A partir de este bloqueo, tor implementó los “Pluggable Transports” que permite convertir flujos de tráfico entre cliente y un puente en un flujo de paquetes normal, de esta manera las técnicas DIP no son capaces de detectar que es tráfico de Tor.

Figura 23: Funcionamiento Pluggable transport

Pág: 44

Anonimato y Evasión vs SIEM Abel Pozo Pujol

3.5.4. Aplicaciones El termino torify (torificar) es muy utilizado a la hora de hablar de aplicaciones para tor, ya que este mecanismo permite anonimizar las conexiones que realiza haciendo pasar éstas a través de la red tor.

Una de las aplicaciones más populares para este cometido es Torsocks.

TorSocks permite bypassear las conexiones de una aplicación a través de la red tor utilizando un servidor proxy como los que hemos comentado anteriormente, privoxy o Polipo.

En este caso no vamos a comentar el funcionamiento de los dos proxys web mencionados, pero también son elementos importantes y los dos más conocidos en la actualidad, como hemos comentado anteriormente los dos tienen sus ventajas e inconvenientes y existe la posibilidad de usar ambos a la vez.

Orbot es una app o mejor dicho un proxy app que permite a otras apps el uso de sus conexiones a través de la red tor, anonimizando los datos.

Tallow es una aplicación para Windows que permite bypasear todo el tráfico a través de tor. Similar a Torsocks pero para Windows, a parte hace de firewall para bloquear cierto tráfico.

Con la característica de torificar aplicaciones no hay una gran cantidad de aplicaciones populares. En este apartado queremos especificar un listado con los sitios de la red interna de tor “darknet” más populares existentes en la actualidad y extraídos de thehiddenwiki.org.

Buscadores http://3g2upl4pq6kufc4m.onion/ – DuckDuckGo Search Engine http://xmh57jrzrnw6insl.onion/ – TORCH – Tor Search Engine http://zqktlwi4fecvo6ri.onion/wiki/index./Main_Page – Uncensored Hidden Wiki http://32rfckwuorlf4dlv.onion/ – Onion URL Repository http://e266al32vpuorbyg.onion/bookmarks.php – Dark Nexus http://5plvrsgydwy2sgce.onion/ – Seeks Search http://2vlqpcqpjlhmd5r2.onion/ – Gateway to Freenet http://nlmymchrmnlmbnii.onion/ – Is It Up? http://xdagknwjc7aaytzh.onion/ – Anonet Webproxy

Pág: 45

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Servicios financieros http://torbrokerge7zxgq.onion/ – TorBroker – Trade securities anonymously with bitcoin, currently supports nearly 1000 stocks and ETFs http://fogcore5n3ov3tui.onion/ – Bitcoin Fog – Bitcoin Laundry http://2vx63nyktk4kxbxb.onion/ – AUTOMATED PAYPAL AND CREDIT CARD STORE http://samsgdtwz6hvjyu4.onion – Safe, Anonymous, Fast, Easy escrow service. http://easycoinsayj7p5l.onion/ – EasyCoin – Bitcoin Wallet with free Bitcoin Mixer

Compras http://6w6vcynl6dumn67c.onion/ – Tor Market Board – Anonymous Marketplace Forums http://wvk32thojln4gpp4.onion/ – Project Evil http://5mvm7cg6bgklfjtp.onion/ – Discounted electronics goods http://lw4ipk5choakk5ze.onion/raw/evbLewgkDSVkifzv8zAo/ – Unfriendlysolution – Legit hitman service http://ucx7bkbi2dtia36r.onion/ – Amazon Business http://nr6juudpp4as4gjg.onion/tor.html – Tor Technology http://nr6juudpp4as4gjg.onion/betcoin.htm – Tor BetCoin http://qizriixqwmeq4p5b.onion/ – Tor Web Developer

Hosting http://matrixtxri745dfw.onion/ – Image Uploader http://lw4ipk5choakk5ze.onion/ – PasteThis – Tor based Pastebin http://wzrtr6gpencksu3d.onion:8080/ – Gittor http://nr6juudpp4as4gjg.onion/ – Free hosting http://tklxxs3rdzdjppnl.onion/ – Liberty’s Hackers Hosting Service http://matrixtxri745dfw.onion/ – Matrix Trilogy

Blogs http://74ypjqjwf6oejmax.onion/ – Beneath VT – Exploring Virginia Tech’s Steam Tunnels and Beyond http://76qugh5bey5gum7l.onion/ – Deep Web Radio http://edramalpl7oq5npk.onion/Main_Page – Encyclopedia Dramatica

Pág: 46

Anonimato y Evasión vs SIEM Abel Pozo Pujol http://ih4pgsz3aepacbwl.onion/ – Hushbox http://ad52wtwp2goynr3a.onion/# – Dark Like My Soul

Foros http://2gxxzwnj52jutais.onion/phpbb/index.php – Onion Forum 2.0 renewed http://3fyb44wdhnd2ghhl.onion/ib/ – Onii-Chan http://bx7zrcsebkma7ids.onion – Jisko

Email y mensajeria http://bitmailendavkbec.onion – swiss email http://365u4txyqfy72nul.onion/ – Anonymous E-mail sevice. You can only communicate with other users currently using this service. So tell all your friends about it! http://sms4tor3vcr2geip.onion/ – SMS4TOR – Self destructing messages http://torbox3uiot6wchz.onion/ – [TorBox] The Tor Mail Box

Politica http://faerieuaahqvzgby.onion/ – Fairie Underground http://2r2tz6wzqh7gaji7.onion/ – Kavkaz Center http://tnysbtbxsf356hiy.onion/ – The New Yorker Strongbox http://duskgytldkxiuqc6.onion/ – Example rendezvous points page http://nwycvryrozllb42g.onion/ – Destination Unknown http://zbnnr7qzaxlk5tms.onion/ – Wiki Leaks

Pág: 47

Anonimato y Evasión vs SIEM Abel Pozo Pujol

3.6. Riffle

3.6.1. Introducción Como hemos comentado anteriormente, Tor es la red anónima más popular en la actualidad y es usada por millones de personas en todo el mundo, pero debido a su popularidad y su uso es una tecnología muy estudiada. Esto ha hecho que con el paso del tiempo se hayan ido encontrado vulnerabilidades y que a pesar que los encargados de mantener el proyecto intentan subsanar, el problema principal está en su diseño inicial.

Ya hemos visto varios anteriormente los fallos de localización que permiten saber si un paquete viene de un nodo de salida de tor, obteniendo la lista de repetidores a través de las autoridades de directorio y que esto subsanaron con los “bridges”, también subsanaron el DIP mediante los “pluggable Transports”. Otro de los principales errores es el tema de que, si un atacante consigue suficientes nodos de la red, es capaz de rastrear y hacer seguimiento de las trazas que deja el paquete para localizar su emisor.

Ante estos fallos de la red y las diferentes publicaciones del FBI en la que ya han indicado que se ha roto el anonimato en Tor, con diferentes investigaciones, es necesario un sistema de anonimato robusto, seguro y anónimo.

Un equipo de investigadores del MIT y su creador llamado Albert Kwon ha desarrollado un nuevo protocolo anonimizador que según dicen es más seguro que Tor.

Según sus propias palabras, “tor tiene como objetivo proporcionar la latencia más baja posible”, lo que brinda la posibilidad a ciertos tipos de ataques. En cambio, Riffle tiene como objetivo proporcionar la máxima resistencia posible al análisis de tráfico.

Para esto rifle se basa en 2 mejoras substanciales con respecto a tor, en primer lugar utiliza un término llamado “mixnet” que hace que los servidores de Riffle cambien el orden en el que envían al siguiente nodo los mensajes recibidos, con esto se evita que se analice el tráfico con los metadatos.

La segunda mejora es una solución al problema de los “dining cryptographers”, que evita la falsificación de tráfico en un servidor, gracias a que los usuarios mandan la información a todos los servidores.

Pág: 48

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Además de esto los mensajes van asociados a un id que probará que esos mensajes son los que recibe el servidor. Así, se puede saber si se está intentando remplazar los mensajes reales con dummies para analizar el tráfico.

También se ha destacado en el estudio que la transferencia de archivos a través de Riffle es muy superior con respecto a otras redes de anonimato. Según la investigación llevada a cabo, Riffle puede alcanzar un ancho de banda de más de 100 KB/s por cliente.

Figura 24: Estadísticas transferencia ficheros en Riffle

El proyecto no está implementado, únicamente se ha probado con muy buenos resultados en una red LAN de 3 ordenadores. Según ha dicho su creador están en fase de perfeccionar y pulir el código antes de publicarlo.

Aún tiene un largo camino ya que según se ha visto la red se sobrecarga demasiado y este hecho hace que tengan que mejorar los pequeños fallos. Al estar en una fase de pruebas y mejora de la arquitectura, no descargan sus creadores que se pueda utilizar conjuntamente con la red tor y aprovechar su experiencia.

Con esta pequeña introducción hemos visto una de las redes anónimas que más prometen y en el siguiente punto vamos a mostrar cómo pretenden implementar el sistema.

Pág: 49

Anonimato y Evasión vs SIEM Abel Pozo Pujol

3.6.2. Arquitectura

En primero lugar Riffle también utiliza el enrutamiento de cebolla para el cifrado de sus mensajes con diferentes capas de cifrado. A partir de aquí se establecen una serie de medidas de seguridad que hacen más difícil el rastreo y localización de los usuarios con respecto a Tor.

Como hemos comentado brevemente, Riffle se basa en Tor pero perfecciona su implementación.

Para ello uno de los puntos más fuertes es lo que hace llamar “mixnet” para la prevención de análisis de tráfico enrutando cada mensaje de usuario a través de un conjunto de servidores anónimos llamados mixes.

Estos servidores recolectan como ya hemos visto en alguna de las anteriores redes como I2P, diferentes mensajes de usuarios y los mezclan antes de su envío, dificultando el trabajo de correlar los mensajes entrantes y salientes.

Debido a que los mixes pueden estar distribuidos y descentralizados, las mixnets pueden escalarse a un gran número de clientes y proveer latencia y un ancho de banda razonable.

Ya que es un sistema en desarrollo y solo hay una aproximación del sistema vamos a desglosar como pretende funcionar.

El corazón del sistema consiste en una serie de servidores llamados mixnet. Cada servidor permuta el orden en que se reciben los mensajes antes de pasarlos al siguiente.

Por ejemplo, si tenemos 3 clientes que envían a un primer servidor sus mensajes y estos se reciben en el orden de A, B ,. Ese servidor envía al segundo servidor los mensajes con el orden C, B, A . De igual forma el segundo servidor los vuelve a mezclar antes de enviarlos al tercer servidor.

Esta implementación hace que un atacante que había rastreado los puntos de origen, no tendría ni idea de que era lo que salió del último servidor y por tanto no podría relacionarlos.

Figura 25: Funcionamiento Riffle

Pág: 50

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Como hemos dicho Riffle utiliza también el cifrado de cebolla. El sistema que emplea es que cada servidor de la mixnet elimina solo la capa de cifrado, de modo que solo el último servidor sabes el destino final de un mensaje.

En este caso un mixnet con cifrado de cebolla es eficaz contra un atacante pasivo, pero no contra atacantes activos, que puedan infiltrarse en los servidores. Esta es una vulnerabilidad de la mayoría de redes anónimas que utilizan repetidores o servidores para enrutar el tráfico.

Como hemos comentado rápido intenta solucionar los fallos en otras redes anónimas y otra de las soluciones implementadas es la dificultad para la manipulación de los mensajes. Con esta finalidad rápido utiliza una técnica denominada “verifiable shuffle”.

Esto consiste en que el cifrado se realiza de tal manera que el servidor puede generar una prueba matemática de que los mensajes que envía han sido manipulados de manera válida.

Esto requiere la verificación de la prueba que se compara con los mensajes recibidos del servidor. De esta forma, los usuarios envían sus mensajes iniciales a todos los servidores para la verificación. Los servidores se pueden verificar de forma individual también.

La generación y comprobación de pruebas es un proceso tedioso y computacionalmente intensivo. Por ese motivo y para no ralentizar tanto la red Riffle propone otra técnica llamada cifrado autenticado, que puede verificar la autenticidad de un mensaje cifrado.

El cifrado autenticado es más eficiente que la técnica de “verifiable shuffle” pero requiere que remitente y receptor compartan la clave privada.

De esta manera riffle solo utiliza para establecer la conexión segura la “verifiable shuffle” para que servidores y usuarios se intercambien las claves. Una vez intercambiadas se utiliza el cifrado autenticado para el resto de la comunicación.

De esta forma funciona Riffle y mientras que una mixnet permanece sin atacante, rápido es criptográficamente seguro.

Como comentamos, por el momento solo es una pequeña aproximación sobre lo que puede llegar a ser, pero grandes investigadores en criptografía han alabado la manera en que se han utilizado las técnicas de clave simétrica para lograr los mismos resultados de una manera más eficiente.

Los mixnets se conocen hace muchos años, pero está implementación que Kwon ha realizado y que utiliza criptografía de clave pública con esta eficiencia la hacen tan prometedora.

Pág: 51

Anonimato y Evasión vs SIEM Abel Pozo Pujol

4. Técnicas de evasión Avanzadas

4.1. Introducción

En los últimos años hemos experimentado un aumento considerable en lo que se refiere a seguridad en la red. Tanto empresas como usuarios son más conscientes del peligro que supone únicamente estar conectado a internet y por ese motivo día a día millones de personas trabajan por fortalecer la seguridad de organizaciones y usuarios.

En la parte contraria nos encontramos con los atacantes, los cuales día a día mejoran las técnicas de intrusión para conseguir acceder a información privilegiada, denegar servicios o provocar daños de diferentes índoles.

En los siguientes capítulos vamos a estudiar las diferentes técnicas de evasión avanzadas que existen y como se están utilizando. Este tipo de técnicas lo que pretenden es bypassear los sistemas de seguridad de corporaciones, gobiernos o otros sistemas de seguridad de alto coste para proteger activos de valor. También son utilizadas para atacar a usuarios finales sin estar dentro de una red corporativa, pero la intención principal siempre ha sido conseguir burlar sistemas Firewall, IDS, etc.

En referencia a lo comentado anteriormente, vamos a hacer una pequeña descripción de los sistemas de seguridad disponibles en las grandes compañías para situarnos de manera más clara a la hora de explicar las técnicas de evasión.

Las principales son:

- Firewall:

Es una parte de un sistema o red que está diseñado para bloquear los accesos no autorizados, permitiendo de igual forma las autorizadas. En la actualidad son los sistemas de seguridad más utilizados en las redes corporativas como medidas de bloqueo. Existen multitud de compañías que ofrecen sistemas muy potentes que actúan en diferentes capas del modelo OSI y que permiten comprobar flujos, paquetes y una cantidad importante de tipos de datos. Se ha mejorado mucho en los últimos años y en la actualidad muchos de los mejores firewalls trabajan sincronizados en el cloud para la transmisión de hashes, firmas u otros indicadores que permiten el bloqueo de posibles atacantes. Es importante destacar que existen soluciones muy potentes pero la función principal de firewall es permitir o bloquear conexiones.

En esta categoría vamos a incluir los WAF(web application Firewall) son firewall que actúan en capa 7 y mediante firmas detectan y bloquean intentos de acceso a webs de las compañías.

Pág: 52

Anonimato y Evasión vs SIEM Abel Pozo Pujol

- IDS/IPS

Los sistemas de detección y prevención de intrusiones son sistemas en vivo que monitorizan el tráfico de red esnifándola y en base a firmas contenidas en sus bases de datos alertan de posibles amenazas detectadas. Los IPS a parte de la función anterior previenen de ataques ya que para el tráfico malicioso.

- Proxies

En este caso las grandes compañías para evitar que cualquier usuario pueda navegar libremente, instalan proxies que hacen que los usuarios solo puedan navegar hacia páginas categorizadas como permitidas por dicha compañía. Con esto se evita que usuarios puedan acceder a contenido peligroso que pueda poner en riesgo la compañía.

- Endpoint Protection

La protección antivirus ha sido un tema tedioso en las corporaciones con miles de usuarios, pero desde hace algunos años han aparecido soluciones centralizadas de protección antivirus que instalan en cada máquina un pequeño agente y éste es monitorizado desde servidores centrales. Esto permite tener un control centralizado de amenazas de virus, troyanos y otros malwares que puedan infectar la red.

- Sistemas antiDDOS

Estos sistemas suelen ser proporcionados por los ISP y brindan la posibilidad de mitigar un ataque DDOS balanceando las peticiones a diferentes rangos de ip’s y de esta forma mitigar el ataque para no provocar la caída de los servidores. En este sentido hay ISP con sistemas muy potentes que ofrecen servicios de detección inmediata y bloqueo del trafico malicioso.

- Honeypot

Es un sistema de seguridad que pretende ser un señuelo para atacantes y de esta forma poder detectarlo y obtener información sobre el ataque.

Con estas definiciones tenemos suficiente para entender los siguientes puntos, pero hemos de decir que las corporaciones cada día se preparan con nuevos sistemas que permitan una seguridad mayor, como pueden ser soluciones NAC, SIEM’s, HoneyPots, etc.

En los siguientes puntos vamos a ver los diferentes tipos de ataques avanzados que se están utilizando en la actualidad para bypasear los sistemas de seguridad comentados anteriormente.

Pág: 53

Anonimato y Evasión vs SIEM Abel Pozo Pujol

4.2. Sistemas y técnicas de evasión Avanzadas

4.2.1. Evadiendo IDS

En la actualidad hay multitud de técnicas para intentar evadir los principales sistemas de seguridad existentes en las redes de corporaciones. Los principales sistemas y que ya hemos definido son los Firewalls e IDS.

Para comenzar a atacar este tipo de dispositivo lo primero es realizar un reconocimiento para conocer los firewalls instalados.

Una de las técnicas más utilizadas para este cometido es el firewalking:

Esta técnica desarrollada por Mike shiffman y David Goldsmith utiliza técnicas de traceroute y TTL para analizar la respuesta del paquete y determinar el Gateway ACL y mapear la red. Esta es una técnica de reconocimiento de red de capa 4 para conocer información de los firewalls instalados.

En kali tenemos una herramienta llamada firewalk que realiza este cometido. Podemos ver un ejemplo a continuación: root@kali:~# firewalk -S8079-8081 -i eth0 -n -pTCP 192.168.1.1 192.168.0.1 Firewalk 5.0 [gateway ACL scanner] Firewalk state initialization completed successfully. TCP-based scan. Ramping phase source port: 53, destination port: 33434 Hotfoot through 192.168.1.1 using 192.168.0.1 as a metric. Ramping Phase: 1 (TTL 1): expired [192.168.1.1] Binding host reached. Scan bound at 2 hops. Scanning Phase: port 8079: *no response* port 8080: A! open (port not listen) [192.168.0.1] port 8081: *no response*

Scan completed successfully.

Total packets sent: 4 Total packet errors: 0 Total packets caught 2 Total packets caught of interest 2 Total ports scanned 3 Total ports open: 1 Total ports unknown: 0

Pág: 54

Anonimato y Evasión vs SIEM Abel Pozo Pujol

A continuación, vamos a enumerar las técnicas más utilizadas para evadir estos sistemas una vez se ha realizado los reconocimientos pertinentes.

Inserción

Un ids tiene la capacidad de aceptar un paquete que el sistema objetivo lo va a rechazar. Esta funcionalidad de los IDS permite que el error que se genera haga creer que el paquete ha sido aceptado y procesado cuando en realidad no ha sido así.

Por lo tanto y como hemos comentado, el ids tiene un sistema de análisis de paquetes mediante firmas, que significa que utiliza algoritmos de comparación de patrones para detectar una determinada cadena dentro de un flujo de datos.

Debido a la carencia de información de la que dispone, un NIDS puede aceptar un paquete pensando erróneamente que el paquete ha sido aceptado y procesado en el sistema final cuando realmente no lo ha hecho.

Un atacante puede explotar esta condición enviando paquetes al sistema final que rechazará, pero que el IDS pensará que son válidos. Haciendo esto, el atacante estará “insertando” tráfico en el IDS.

Figura 26: Inserción

Pág: 55

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Evasión

Son muy similares a los anteriores ataques de inserción, pero sucede la situación contraria: Una máquina de la red puede aceptar un paquete que el NIDS desecha erróneamente perdiendo todo su contenido. Información que será vital para la correcta detección de la alerta.

Esto es debido a que el procesamiento de paquetes del NIDS es más restrictivo que el qué realiza la máquina final.

Estos ataques de evasión pueden tener un impacto de seguridad importante ya que sesiones enteras pueden ser forzadas a evadir un NIDS y por consiguiente que no se detecte ni la más mínima alerta a nivel de red del ataque.

Figura 27: Evasión

Generación de falsos positivos

Un atacante que conozca la existencia del IDS puede mal formar paquetes para generar una alta cantidad de alertas de este.

De esta manera el IDS generará falsos positivos y el personal que monitoriza el IDS no será capaz de identificar las amenazas reales con las no-reales.

El atacante aprovechará esta situación para esconder el ataque real y bypassear el IDS.

Pág: 56

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Fragmentación

Este es uno de los ataques más típicos para bypassear IDS, consiste en fragmentar el tráfico en trozos muy pequeños de tal forma que ningún de ellos individualmente contenga la cadena de bytes que identifica el ataque.

Este ataque tan básico funcionaba hace unos años con los primeros IDS, en función que los sistemas han evolucionado añadieron funcionalidades. Una de ellas fue el re ensamblado de los paquetes en el propio IDS, esto tiene una desventaja y es que hasta que no recibe todos los paquetes no finaliza el ensamblado.

De esta manera un IDS puede recibir un ataque si enviamos una cantidad alta de paquetes parciales que nunca llegará a re ensamblar al no enviárselos completos. Esto hará que se produzca un DOS.

Para evitar esta otra situación se puso en muchos IDS un timeout de re ensamblado, pero esto origina que se puedan realizar los ataques anteriormente explicados de inserción y evasión.

Por último, debemos comentar la gestión de superposición de fragmentos, si un paquete recibe un fragmento con datos que ya tenía, puede sobrescribir con los nuevos o desecha posibilitando la técnica de evasión.

Figura 28: Fragmentación

Aquí podemos ver un ejemplo de diferentes sistemas que gestionan la superposición de fragmentos de manera diferente y por lo tanto el sistema es vulnerable a este tipo de ataque.

Pág: 57

Anonimato y Evasión vs SIEM Abel Pozo Pujol

4.2.2. Ofuscación La ofuscación consiste en ocultar un código malicioso en un código que no es reconocido por ningún sistema de seguridad, de esta forma el sistema a posterior es des ofuscado y capaz de realizar acciones maliciosas.

Hay muchos tipos de ofuscación de código malicioso que no es capaz de detectar las herramientas de seguridad.

Uno de los más simples puede ser cambiar el nombre a las variables por otros que no aporten significado al código. Podemos ver un ejemplo:

Figura 29: Ofuscación

Con el avance de las tecnologías es más habitual que las aplicaciones utilicen código Javascript y esto puede provocar que páginas web corporativas permitan scripts.

Esto es un hecho relevante ya que puede permitir a posibles atacantes transferir código javascript ofuscado sin que este sea detectado.

Por ejemplo, vemos el siguiente código en javascript en texto claro:

Figura 30: Ejemplo Javascript en claro

Pág: 58

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Ahora vemos como se ha utilizado la técnica de ofuscación de código:

Figura 31: Ejemplo de Javascript ofuscado

Como decimos hay muchas técnicas de ofuscación de código, entre ellas las hay para atacar entornos web con ataques XSS pero que en este estudio no analizaremos.

Una vez vistas estás técnicas de evasión que son las más clásicas utilizadas, en los últimos tiempos han aparecidos nuevas técnicas para bypassear los nuevos sistemas de seguridad.

Pág: 59

Anonimato y Evasión vs SIEM Abel Pozo Pujol

4.2.3. Anti-Malware

Los creadores de malware y botnets usan un amplio espectro de herramientas y técnicas para crear una gran variedad de paquetes maliciosos capaces de bypassear fácilmente los tradicionales sistemas antimalware/antivirus.

Este malware principalmente lo que realizan es la evasión del sistema de firmas que implementan la mayoría de sistemas antivirus. Este código una vez que ha bypasseado los sistemas antimalware tienen la capacidad de ejecutar acciones maliciosas sobre la víctima.

En la actualidad la tendencia es la construcción de malware con diferencia de código en cada uno de los binarios fabricados. De esta manera los sistemas antivirus y que se basan en firmas conocidas, tienen muy complicada la tarea de detectar este código, ya que se ha realizado a medida por cada uno de ellos. De esta manera los productores de malware obtienen infinidad de variantes imposibles de tener registradas en las bases de datos y que los sistemas tradicionales son incapaces de detener.

Por ese motivo cada día se trabaja más en sistemas en la nube en los que se tiene hasheados los binarios de todas las corporaciones y posibilitan tener una comprobación mucho más eficiente que el sistema de firmas conocidas.

Pero a continuación vamos a desglosar las técnicas de evasión anti-malware/antivirus conocidas y que son capaces de bypassear los sistemas más tradicionales.

Los tipos de evasión antimalware clásicos son los siguientes:

Código metamórfico

Es el sistema clásico para eludir los sistemas de reconocimiento de patrones utilizado por antivirus, IPS y DLP.

Las herramientas automatizadas buscan manipular las estructuras del código fuente de malware y alterar su forma reordenando y sustituyendo rutinas programáticas comunes. Por ejemplo:

Intercambiar construcciones de código equivalentes

- Conversión de un tipo de bucle por otro - Asignación de valores de variables con otros nombres - Borrando memoria y registros

Cambiando el orden del código

- Intercambiar registros - Reordenar instrucciones - Definiendo funciones en un orden diferente

Pág: 60

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Inserción de ruido (código)

La inserción de ruido se refiere a código redundante que no hace nada o que se interpreta para no hacer nada. Este código no hace nada de por sí, pero ayuda al malware a bypassear los sistemas de firmas que funcionan con los detectores antimalware.

Por ejemplo:

- Espacios en blanco - NOP/NOOP: por ejemplo i+1 - Funciones y procedimientos que no se van a utilizar en el código porque nadie los llama. - Variables y arrays que no se utilizan.

Compiler Settings

Los compiladores utilizados por los autores de malware pueden hacer que el resultado del código final cambié mucho. Dependiendo del compilador pueden hacer crear diferentes versiones del binario.

La automatización de compilar código en diferentes herramientas utilizando frameworks destinados para este cometido puede ser de mucha utilidad para crear una gran variedad de variantes.

Si a esto le añadimos que cambiando una serie de parámetros en los compiladores la salida del fichero cambiará, tenemos más variantes posibles de binarios.

Inserción de ruido (Binario)

Una vez que el malware está compilado también hay la posibilidad de insertar ruido con tal de que los detectores de código binario no localicen las firmas registradas en la base de datos.

Para realizar esto, únicamente se utilizan herramientas de edición de binarios. Por ejemplo, Hexedit para modificar parámetros que añadirán ruido al código sin modificar su función principal.

A parte de las técnicas vistas anteriormente para evadir las herramientas y sistemas anti-malware y anti-virus, desde hace tiempo que se descubrió que teníamos herramientas que se habían estado utilizando para la ocultación de los derechos de autor y para proteger los videojuegos, que han hecho que actualmente se utilicen muchas de ellas para producir el nuevo malware.

Pág: 61

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Crypters

Crypters o cryptors son herramientas que cifran el malware haciendo que los sistemas de detección y análisis de procesos no conozcan dichos datos.

Con estas herramientas que cifran el malware no solo hacen que las tecnologías que inspeccionan el contenido de un ejecutable no lo detecte, sino que herramientas de ingeniería inversa no detecten los patrones que tienen conocidos para mostrar determinados strings o conocer el tipo de ejecutable a desensamblar.

Estas herramientas funcionan de la siguiente manera:

- Se selecciona el archivo a cifrar y se genera un nuevo ejecutable. Este consiste en un stub y un payload, que no es más que un malware cifrado. - El stub se encargará de descifrar el fichero, la clave para el descifrado la habrá ocultado el crypter en la parte de stub. - Por último, al ser ejecutado, el ‘stub’ se encarga de copiar a la memoria ram el malware cifrado, descifrarlo allí mismo y a continuación ejecutar dicho malware.

Figura 32: Funcionamiento Crypters

Pág: 62

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Protectores

Los protectores son relativamente una nueva clase utilizada por los desarrolladores de malware. La tecnología “protectora” fue diseñada para fines comerciales con tal de proteger los juegos onlines de abusos, tales como manipulación mediante reversing, etc.

Este tipo de herramientas lo que hacen es añadir características específicas antidebugging al malware para prevenir que los investigadores y herramientas automatizadas de sandboxing diseccionen sus partes.

Figura 33: Themida, aplicación protectora

Es curioso que los cibercriminales utilizan las mismas herramientas que se usan para proteger los videojuegos o software de grandes compañías.

Packers

Los packers han sido a lo largo de los años herramientas muy utilizadas por creadores de malware y cibercriminales.

Sus posibilidades dependen un poco del packer que se utilice, pero sus posibilidades son las siguientes:

- Añadir, quitar o modificar un código - Esconder o camuflar las partes del mismo - Comprimir o aumentar el tamaño del original - Incluir gestión de licencias - Incluir librerías y dependencias. Como un joiner.

Todo esto haciendo que el malware se comporte de la misma manera.

Pág: 63

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Binders

Los binders son una tecnología muy antigua que lo que hace básicamente es camuflar un malware, troyano, etc. En un programa aparentemente legítimo.

Los binders son muy utilizado en las herramientas de crackserials por ejemplo, en las que en principio parece que estés utilizando una tool para obtener una clave pero realmente por detrás está realizando una serie de acciones en tu máquina.

Figura 34: Ejemplo de binders

Con esto hemos enumerado las principales técnicas de evasión antimalware que hay en la actualidad y que se basan en reconocimiento de firmas principalmente.

Chequeando en Internet tu malware

En la actualidad existen múltiples herramientas online que te permiten comprobar si un archivo está infectado por un malware o lo detecta algún motor AV.

Estas herramientas son muy útiles para analistas de seguridad, pero también lo son para programadores de archivos maliciosos ya que permiten reconocer si el malware construido lo detectan los diferentes motores de búsqueda.

Por ese motivo los motores de búsqueda basados en firmas tienden a desaparecer y las tecnologías de sandboxing que comprueban las acciones de los archivos aumentan.

Pág: 64

Anonimato y Evasión vs SIEM Abel Pozo Pujol

4.2.4. Covert Channels Los covert channels o canales en cubierto son canales utilizados para transferir información desde un origen a un destino utilizando medios no destinados para ese propósito por los desarrolladores del sistema. Para que esa comunicación sea posible suele ser necesario que entre el emisor y el receptor haya un preacuerdo para poder interpretar los datos.

Vamos a estudiar los siguientes canales encubiertos a pesar que hay multitud de posibilidades de hacer pasar tráfico por canales no destinados a tal fin.

- ICMP Tunneling - ICMP reverse Shell - DNS Tunneling - HTTP reverse Shell

Hay multitud de aplicaciones que utilizan estos canales para tareas legítimas, ya que es un sistema que evade ciertos tipos de control. Por poner un ejemplo, Teamviewer es un software que canaliza conexiones RDP a través del puerto 80(http) y es posible la transferencia de ficheros a través de este.

Como en los casos vistos anteriormente, sistemas pensados para otros fines son utilizados por cibercriminales para aprovechar éstos.

ICMP tunneling

El protocolo ICMP tiene como objetivo el control y notificación de errores. Se puede encontrar su especificación completa en el RFC 792.

Los paquetes ICMP están encapsulados en paquetes IP, llevando al inicio el tipo de mensaje ICMP y la cabecera ICMP comienza una vez ha finalizado la cabecera IP, la cual está formada por los siguientes campos:

- Type (1 byte): Tipo de mensaje que irá debajo. - Code (1 byte): Subtipo - Checksum (2 bytes): Para la comprobación de errores del mensaje - Rest of header (4 bytes): El contenido de este campo de la cabecera depende del tipo de mensaje.

De todos los tipos de mensaje ICMP el echo request y reply son los más conocidos y corresponden al tipo 0x8.

La única diferencia entre ambos es el campo type, en el que el echo request tendrá el valor 8 y el reply el 0.

Pág: 65

Anonimato y Evasión vs SIEM Abel Pozo Pujol

En Windows tiene un tamaño de 64 bytes. En Linux varía. Pero si analizamos el paquete ambos contienen lo mismo.

Figura 35: Paquete ICMP

De esta manera podremos ocultar nuestra información en el paquete icmp, con los tamaños comentados y dependiendo del SO.

Existen multitud de herramientas para hacer ICMP tunnels como Loki2 o ptunnel.

A continuación, podemos ver un ejemplo que hemos encontrado de cómo encapsular una comunicación TCP a través de paquetes ICMP con ptunnel.

Figura 36: Ejemplo ICMP tunneling

Pág: 66

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Y se muestra como haciendo un sniffing de los paquetes ICMP el contenido que hemos tunelizado.

Figura 37: Paquete ICMP tunelizado

ICMP Reverse Shell

Esta es una técnica que usa paquetes ICMP para ocultar información en la casilla de “Data”. Usa los echo requests y reply para comunicarse entre dos puntos finales. La arquitectura consiste en un cliente que en este caso es la víctima y un servidor que en este caso es el atacante. Cuando el servidor está en marcha, este espera que el cliente conecte para enviar comandos remotos a este.

Figura 38: Funcionamiento ICMP reverse shell

Pág: 67

Anonimato y Evasión vs SIEM Abel Pozo Pujol

La herramienta utilizada para este propósito es ICMPsh. Vamos a ver un ejemplo de uso.

Figura 39: Ejemplo con ICMPsh

Aquí vemos como ejecutar la aplicación en la máquina del atacante, ahora deberemos ir al pc de la víctima y ejecutar el comando que nos indica para establecer la comunicación el covert channel icmp Shell

Figura 40: Comando a ejecutar en máquina victima al ejecutar el comando vemos como nos aparece la Shell en nuestra maquina atacante.

Figura 41: Acceso a través de ICMP Reverse Shell

Pág: 68

Anonimato y Evasión vs SIEM Abel Pozo Pujol

DNS Tunneling

El dns tunneling consiste en crear un túnel IP sobre el protocolo DNS para conseguir acceder a internet en un entorno en el que solo se permite acceder a DNS (puerto 53).

El funcionamiento de este covert channel es relativamente sencillo, se debe instalar un servidor DNS que responderá a determinadas peticiones encapsulando en Base32(si se realizan peticiones mediante CNAME) o en Base 64(si son TXT). De esta manera el cliente será capaz de des encapsular la codificación de la petición y generar el paquete correcto.

Para este cometido existen dos aplicaciones principalmente.

- nstx - ozymandns

HTTP Reverse Shell

Esta técnica de tunneling usa el protocolo http para enviar comandos en GET y POST.

Consiste en dos componentes, el cliente (maquina comprometida) y el servidor, máquina del atacante que está escuchando en el puerto 80 a que el cliente se conecte. Una vez el cliente conecta al servidor, este puede enviar comandos.

Para este caso la herramienta que se utiliza es denominada Matahari.

Figura 42: Funcionamiento http Reverse shell Ejemplo:

1. Ejecutar en el cliente:

./matahari.py -c master.bar.com -T polite.

2. Ejecutar en el servidor:

./matahari.py -s target.foo.com

Pág: 69

Anonimato y Evasión vs SIEM Abel Pozo Pujol

4.2.5. Anti-Sandboxing

Nos encontramos con que según aumentan los mecanismos de seguridad de las empresas, el malware se hace más sofisticado para adelantarse a éste.

En este caso vamos a explicar las técnicas de evasión de sandboxing.

Recordemos que el sandboxing es muy utilizado en la actualidad ya que muchos sistemas de seguridad cuando detectan ciertos tipos de ficheros, suben a una sandbox este para su análisis, que consiste en monitorizar las acciones que lleva a cabo el ejecutable o fichero.

Los desarrolladores de malware deben detectar que están siendo monitorizados por un sandbox y si consiguen no ejecutar ninguna acción es posible que ese malware consiga evadir los sistemas de detección de las corporaciones.

Existen 4 técnicas básicas de evasión de sandboxing:

Extendended Sleep

Llamadas a la función de dormir. Es una de las técnicas más utilizadas por el malware, realiza llamadas a la función sleep para no ser analizado. Esto es muy efectivo ya que el entorno sandbox es muy costoso de mantener y computacionalmente consume muchos recursos. Muchos de estos sistemas prueban durante un tiempo limitado y sobre un numero de máquinas. Esto significa que si en unos minutos la sandbox no detecta ningún comportamiento anómalo lo dará como bueno y el malware conseguirá acceder al sistema.

Fast Flux

Otra técnica de evasión sandboxing es la conocida como Fast Flux, éste consiste en un algoritmo de generación de domino que es utilizada por los malwares más avanzados con tal de que las urls a las que intentan acceder no estén registradas por ningún sistema de seguridad. De esta manera el sandboxing no puede identificar que las urls sean maliciosas y descartan el archivo haciendo que este se introduzca en la red.

Esta técnica es muy utilizada en técnicas de phishing y botnets ya que con la generación de dominios en servidores comprometidos hace imposible la identificación de las urls como maliciosas.

Pág: 70

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Delayed Onset

Esta técnica consiste en que los malware retrasen la ejecución de acciones maliciosas. Como hemos comentado anteriormente los sistemas sandboxing son muy caros y gastan muchos recursos, ya que tienen que analizar miles de ficheros en poco tiempo. Por ese motivo los archivos que analiza solo los mantiene en la maquina sandbox unos minutos (a veces segundos), con la técnica que comentamos los desarrolladores del malware hacen retrasar las acciones maliciosas, de esta manera que la sandbox no es capaz de detectar en ese corto tiempo y el malware se ejecutará una vez traspasados los sistemas de seguridad.

Diagnosis de Sandbox

Otra de las técnicas utilizadas es la de diagnóstico de caja negra, consiste en buscar claves de máquina virtual en el registro de la máquina, procesos en ejecución, el tamaño del disco, comunicaciones remotas o otras huellas que pueden delatar a las máquinas virtuales sandbox. Hay soluciones sandbox que tratan de engañar al malware para que no sea capaz de detectar que se está ejecutando en una máquina virtual aislada, pero siempre quedan rastros y el malware siempre va un paso por delante.

Human interaction

Otra técnica utilizada por los malwares más sofisticados para detectar que está siendo ejecutado o no en una sandbox en la interacción humana. A nivel de programación se establece que hasta que no haya un clic, un movimiento de ratón o cualquier interacción que pueda llevar a cabo no se pone en ejecución. Si detecta cualquier interacción humana, entonces se comenzará a ejecutar.

Una vez más vemos la problemática de que las sandboxes se ejecutan durante un breve periodo de tiempo y esto es muy aprovechado por los malware para retrasar sus inicios y de esta forma evitar las detecciones.

Pág: 71

Anonimato y Evasión vs SIEM Abel Pozo Pujol

5. Mitigación mediante SIEM

5.1. Introducción

Tal y como hemos visto durante el transcurso del trabajo, los atacantes estudian las técnicas más sofisticadas para la evasión u ocultación. Por ese motivo las compañías deben ser proactivas en sus sistemas y deben instalar soluciones que detecten las posibles intrusiones lo antes posible.

Otro de los puntos fuertes es el uso de APT(Advanced persisten threat) para acceder a las grandes organizaciones con tal de realizar acciones maliciosas sobre estas. Éste tipo de ataques son silenciosos y se caracterizan por un estudio preliminar de las compañías y desde diferentes puntos van introduciendo su malware hasta estar dentro.

Los clásicos sistemas de detección no tienen posibilidad de correlar eventos históricos con eventos presentes, a parte de estos, diferentes soluciones dan solo reacción al tráfico que reciben por las mismas.

Debido a la gran cantidad de eventos que se generan en las diferentes soluciones de seguridad y que es muy difícil controlar de una manera centralizada, aparecieron las soluciones SIEM.

Este tipo de sistemas lo que hacen principalmente es correlar eventos que reciben de todas las herramientas y sistemas disponibles, mediante los logs de éstas.

Al centralizar dichos logs de todos los sistemas, un SIEM es capaz de correlar eventos que sucedan en diferentes herramientas y tiempo.

Esto brinda la posibilidad de que las organizaciones tengan de manera centralizada todos los eventos que ocurren en la red y mediante una optimizada lista de casos de uso aplicados se puede sacar mucho rendimiento a este tipo de herramientas en temas como la detección de amenazas, respuesta ante incidentes e investigación forense.

Decimos mediante una lista optimizada ya que un SIEM debe ser refinado desde su implantación para correlar y alertar de eventos que puedan ser de ayuda para identificar las amenazas existentes en dicha organización.

Si un SIEM está mal implementado y se dejan por defecto las correlaciones que muchos de ellos traen, puede ocasionar un volumen tan elevado de alertas que hará que sea imposible detectar las amenazas reales.

Pág: 72

Anonimato y Evasión vs SIEM Abel Pozo Pujol

5.2. Elección de un sistema SIEM

La elección de un sistema SIEM que pueda cubrir todos los requerimientos de nuestra compañía puede ser una tarea difícil.

Antes de escoger la solución se debe tener claro, los tipos de SIEM existentes.

Hay principalmente dos grupos diferenciados:

- Los SIEM que consolidan los eventos de seguridad en una o varias bases de datos. - Los SIEM que almacenan los logs de forma nativa, para a posteriori parsear-los en el propio sistema.

El primero de ellos es más efectivo a la hora de realizar búsquedas, realizando correlaciones y será útil a la hora de generar nuevos eventos a partir de éstas. Debido a esto último puede penalizar el rendimiento del mismo.

El segundo, al no almacenar los datos en las bases de datos permite manejar más volumen en tiempo real sin que se vea tan afectado el rendimiento y también permite extraer de una manera más lícita cualquier log nativo que se podría llegar a presentar en un proceso judicial con mayor validez, al no haber sido modificados.

Actualmente, en la mayoría de ellos tienes la opción de hacer un mix y tener ambos sistemas, aprovechando así las ventajas de cada uno.

Otro aspecto clave es la escalabilidad del mismo, ya que podemos tener una primera idea del uso que le vamos a dar a nuestro SIEM, pero ésta cambiar y aumentar las fuentes a integrar. Si el fabricante tiene facilidad para adaptarse a nuestro crecimiento puede ser un factor muy importante a valorar, ya que la mala elección de éste podría hacer que llegados a un punto debamos cambiar el SIEM y perder toda la experiencia adquirida hasta el momento.

También se deberá valorar el factor usabilidad, ya que estas herramientas se pueden usar para multitud de tareas y multitud de usuarios. Si el sistema es sencillo de utilizar y aprender, le podremos dar un mejor rendimiento y uso.

Por último y el factor definitivo es el coste de la solución, aquí hay muchas variantes en cuanto a lo que se refiere equipo, licencias, etc. Cada proveedor ofrece multitud de soluciones para cumplir con las expectativas de cada cliente.

Pág: 73

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Con todos estos factores valorados, vamos a mostrar la comparativa que se realiza anualmente con los principales proveedores de soluciones SIEM.

Figura 43: Magic Quadrant SIEM 2016

Los principales líderes en el ámbito SIEM y que ya llevan algún año siéndolo son Splunk e IBM Qradar. Ambos tienen sus fortalezas y debilidades en cuanto funcionalidades se refiere y por ese motivo permanecen en lo alto de la lista.

Para la realización de nuestra practica y después de valorar ciertos aspectos hemos escogido Splunk, ya que creemos que actualmente y tal como se muestra, es uno de los líderes y nos brinda la posibilidad de probar la herramienta gracias a su versión free que nos ofrece 500 mb de datos al día.

Valoramos muy positivamente la posibilidad de añadir APP’s, ya que gracias a éstas podemos ampliar las funcionalidades de nuestra herramienta y añadir fuentes de una forma relativamente sencilla.

Pág: 74

Anonimato y Evasión vs SIEM Abel Pozo Pujol

5.3. Práctica: Instalación y configuración SIEM

Como se ha dicho anteriormente hemos escogido Splunk para realizar nuestra parte más practica en la que realizaremos una instalación y puesta en marcha del sistema.

A continuación, definiremos casos de usos útiles para la detección de técnicas de evasión avanzadas y por último mostraremos como se puede realizar la implementación de dichos casos en nuestro SIEM.

En primer lugar, vamos a definir el entorno que queremos desplegar:

- Hemos montado una pequeña red privada clase A con posibilidad de 6 hosts en un entorno virtualizado con virtualbox.

Host 1: Firewall Pfsense 2.3.2 ip: 10.0.0.1 -> filtraremos las conexiones de toda la red con este firewall opensource con características añadidas como snort.

Con dos tarjetas de red (Wan y LAN):

Figura 44: Portal Pfsense

WAN: 192.168.1.15 en modo bridge

LAN: 10.0.0.1 en red interna (intnet)

Pág: 75

Anonimato y Evasión vs SIEM Abel Pozo Pujol

- Hemos instalado el paquete de snort para notificar posibles amenazas predefinidas en las reglas establecidas por éste.

Figura 45: Reglas Snort

La tarjeta LAN la hemos configurado para establecerse como DHCP server y asignar automáticamente las ip’s definidas.

Figura 46: DHCP server pfsense

Hemos configurado el servidor DNS de google para resolver las peticiones de la LAN.

Figura 47: Dns server pfsense

Con esto ya tendremos el firewall preparado para controlar el tráfico de la red interna(intnet).

Posteriormente mostraremos como se envían los logs a splunk.

Pág: 76

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Host 2: Ubuntu 16.0.4.1 ip: 10.0.0.6 -> En este punto, hemos montado una maquina virtual con Ubuntu con la configuración de red en modo “red interna (intnet)”, la cual por defecto y con pfsense en marcha nos asignará una ip. En este caso será 10.0.0.6.

Para la instalación de splunk deberemos registrarnos y bajarnos la versión correspondiente. En este caso ha sido Splunk Enterprise free (500 mb).

Figura 48: Productos Splunk

Figura 49: Versión free splunk enterprise

Una vez descarguemos nuestra versión (para Ubuntu .deb) lanzaremos el siguiente comando.

Figura 50: Instalación Splunk

Pág: 77

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Con el último comando automáticamente realizará la instalación y nos dará el siguiente mensaje:

Figura 51: Final Instalación Splunk

Con esto ya tendremos Splunk instalado y listo para comenzar a configurar.

Si accedemos al link que nos indica anteriormente, llegaremos a la ventana de inicio:

Figura 52: Pantalla inicio Splunk

Y al acceder:

Figura 53: Opciones Splunk

Pág: 78

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Vemos la parte superior que nos ayudará comenzando con un pequeño tour, podremos añadir fuentes, explorar los datos recibidos o instalar aplicaciones.

Ahora lo que debemos configurar son la entrada de datos, en nuestro caso recibiremos datos a través de syslog que serán los que recibamos de pfsense.

Nos vamos a Settings > Data Input > Local Inputs y UDP.

Figura 54: Data Input

Añadiremos un nuevo input y definimos el puerto 5140 (por defecto syslog utiliza el 514)

El último paso para comenzar a recibir los eventos de nuestros firewalls es hacer que éste envie los logs a Splunk.

Nos vamos a la consola de pfsense y en Status > System logs > Settings

Figura 55: Enviar logs a SIEM

Definimos las opciones de log que queramos hacer llegar a nuestro SIEM.

Pág: 79

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Figura 56: Tipos de logs a enviar

Al guardar los cambios y resetear los servicios correspondientes, deberíamos comenzar a ver los eventos en SPLUNK.

En splunk, nos vamos a Search:

Figura 57: Datos indexados

Y vemos los eventos indexados. Por defecto nos ha creado los índices, los podríamos haber definido nosotros mismos para loguear según necesidad.

Pág: 80

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Figura 58: Logs parseados

Con estos datos, se han refinado los logs para que parsease bien según el tipo de log recibido o tipo de fuente. En este caso tal y como aparece en la imagen anterior nos sirve para conseguir extraer datos posteriormente.

Para generar trafico añadido, hemos creado las siguientes dos máquinas:

Host 3: Kali Linux Light 2016 (10.0.0.7)

Host 4: Windows 8 (10.0.0.5)

Todas las conexiones de estos hosts se realizarán a través del firewall, el cual hemos configurado parar permitir cualquier tipo de conexión y se ha marcado la opción de logueo en todas ellas.

Figura 59: Máquinas montadas

Pág: 81

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Figura 60: Log de reglas en Pfsense habilitado

De esta manera veremos todos los logs generados por el firewall y que nos sirven para monitorizar las conexiones de los mismos.

Por otro lado, para generar más tráfico añadido en nuestro SIEM, hemos instalado una aplicación que simula eventos, llamada eventgen.

Figura 61: Eventgen (generador de eventos)

Con esto, conseguimos tener un sistema de event management muy interesante, pero ahora necesitamos hacer que nuestro Splunk se convierta en un SIEM con un sistema de alertado, dashboards y casos de uso.

Pág: 82

Anonimato y Evasión vs SIEM Abel Pozo Pujol

En primer lugar, necesitamos poder utilizar el SIEM como una herramienta de monitorización, para ello debemos pintar diferentes dashboards con los que poder analizar las desviaciones.

Para este cometido hemos escogido una app llamada “app for stream” en la que puedes definirte multitud de dashboards para poder visualizar tanto en histórico como en tiempo real todo lo que está pasando por tu SIEM.

Figura 62: App for stream

Este tipo de paneles nos sirven para monitorizar y hacer estadísticas de todo tipo de datos, tanto de seguridad como de sistemas, aplicaciones, estado de la red, etc.

El hecho de monitorizar en tiempo real los datos y gracias a este tipo de paneles nos ayudan ante cualquier pico que nos aparezca y no se tenga constancia de él.

Figura 63: Gráficas aplicación “App for Stream”

Pág: 83

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Por último, nos queda el sistema de alertado de amenazas, para ello Splunk Enterprise free te da la opción de definir los casos de uso en sus alertas mediante búsquedas.

Para ello realizamos una consulta para monitorizar las conexiones a una ip específica.

Figura 64: Search de ip específica

Y ahora debemos guardar ésta como alerta para que nos aparezca cada vez que se realiza una conexión con esta ip destino.

Figura 65: Creación de alerta

Pág: 84

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Una vez creada la alerta, veremos la configuración de la misma en la pestaña alerts.

Figura 66: Alerta definida

Y si se realiza alguna conexión a esta ip, nos saltará una alerta en triggered alert.

Figura 67: Evento de alerta generada

Este funcionamiento de alertado que trae Splunk Enterprise se quedó muy corto comparado con los actuales SIEM, por ese motivo crearon un módulo que convierte nuestro splunk Enterprise en una herramienta de análisis de seguridad mucho más potente, denominado Splunk Enterprise security.

Esta aplicación se añade a Splunk como complemento que te ayuda a montar dashboards, correlated searches y notable events de una manera más cómoda. Podemos ver una muestra en la siguiente imagen.

Figura 68: Dashboards Splunk Enterprise Security

Pág: 85

Anonimato y Evasión vs SIEM Abel Pozo Pujol

La ventaja de Splunk Enterprise security es que tenemos una gran cantidad de reglas creadas con diferentes tipos de amenazas y parseadas. El motor y funcionamiento es el mismo, pero nos sirve para la parte de Information security del SIEM.

A continuación, y una vez tenemos nuestro Splunk montado y listo para ir desplegando alertas que nos sean de utilidad para nuestra compañía, vamos a definir diferentes casos de uso para mitigar algunas de las amenazas vistas en el documento, tales como:

- Detección de conexiones a redes Tor - Detección de covert channels mediante flows - Detección de dominio fast flux - Detección de correos con subject ofuscado - Ingesta de reglas yara para detección de malware - Chequeo de eventos de sandbox categorizados como benign en feeds de hashes o webs de IOC’s.

Pág: 86

Anonimato y Evasión vs SIEM Abel Pozo Pujol

5.4. Caso 1: Detección Redes Tor

5.4.1. Objetivo y escenario El objetivo de este caso de uso es la detección precoz de cualquier conexión por parte de usuarios de la red a redes tor. Para este cometido hay muchas casuísticas que podríamos utilizar, pero creemos que lo más óptimo es implementar en SIEM una reference-set o una lista dinámica con los nodos.

Para esta tarea un SIEM es capaz de conectar con una página web, por ejemplo, que establezca una lista actualizada de los nodos de tor o cualquier otra lista (las listas de relays de tor son públicas) y añadirlos a una lista interna del SIEM.

Dependiendo del SIEM escogido para la implementación del caso, hay diferentes tipos de listas, tal y como veremos.

5.4.2. Fuentes a integrar En este caso, en la lista, únicamente aparecen ip’s, por lo que creemos que la fuente principal que se debe integrar son los firewalls de entrada y salida a internet. Si la lista que integrásemos fuese una lista con url’s, a pesar que hay firewalls que hacen url filtering y detectan a partir de éstas, creemos que lo ideal es integrar los proxys de salida de los usuarios.

5.4.3. Comportamiento a detectar

El Umbral que se debe definir es mayor a 1 al día. Es decir que, si una ip se conecta a alguna de las ip’s contenidas en nuestro listado definido anteriormente, nos envíe una alerta.

En este caso se puede ser más o menos restrictivo y se podrá ir definiendo según veamos el número de alertas, pero si lo que queremos es comenzar a conocer las conexiones existentes con redes tor y nuestra compañía, pondría 1.

Para crear esta ofensa procederíamos de la siguiente manera en un SIEM como Qradar:

Con esto nuestro caso de uso quedaría definido y cada vez que una maquina conecte ya sea de entrada o de salida con un nodo de tor, nos lo detectará y nos enviará un correo.

Pág: 87

Anonimato y Evasión vs SIEM Abel Pozo Pujol

5.4.4. Implementación del caso de uso

Para este caso, hemos utilizado Splunk Enterprise Security que tiene un pequeño módulo de threat intelligence. Esto quiere decir que mantiene listas actualizadas con feeds de todo tipo de redes y campañas de malware.

Figura 69: Threat intelligence ES

En ella encontramos una lista actualizada de nodos tor llamad iblock_tor.

Ahora solo debemos crear un correlated search con un notable event para que nos notifique de cada conexión a esta lista.

Figura 70: Correlated Search in ES

En el caso de detectar alguna conexión nos aparecerá un notable event en la parte de incident review.

Figura 71: Notable events con correlated search desplegado

Pág: 88

Anonimato y Evasión vs SIEM Abel Pozo Pujol

En splunk Enterprise tenemos un plugin llamado “getwatchlist for splunkbase” que te permite conectar con cualquier lista publicada en internet, parsearla e introducirla como una lookup table(lista estática). De esta manera podemos realizar la misma tarea vista anteriormente por con el modulo básico de splunk.

Una vez descargado e instalado, podemos lanzar esta búsqueda en “search”:

| getwatchlist https://torstatus.blutmagie.de/ip_list_exit.php/Tor_ip_list_EXIT.csv delimiter=”,” relevantFieldName=ip relevantFieldCol=5 ignoreFirstLine=true isbad=true | outputlookup torexit.csv

Con esta búsqueda descargaremos el csv y lo incorporaremos a una lookup table, cogiendo la 5 columna y añadiéndola como ip. En la query decimos que ignore la primera línea y que añada la lista a torexit.csv.

Ahora solo nos quedará realizar la búsqueda que hará match si encuentra alguna coincidencia entre la lista descargada y los eventos del firewall, por ejemplo. sourcetype=firewall [|inputlookup torexit.csv | fields ip | rename ip as dest_ip]

El sistema de descarga de lista de feeds actualizados se puede hacer de manera automática, incluso con un script. Como hemos comentado splunk Enterprise Security incorpora estas funciones y con splunk Enterprise también se puede realizar.

El hecho de tener listas actualizadas constantemente es muy importante en este caso de uso, ya que los listados de redes tor son muy dinámicos y si no tenemos una actualización constante de estas ip’s podría llegar a generarnos muchos problemas, tanto si una ip no está en el listado y no es detectada cuando hay una intrusión desde esta red, como si tenemos una ip legítima y nos saltan falsos positivos.

Pág: 89

Anonimato y Evasión vs SIEM Abel Pozo Pujol

5.5. Caso 2: Detección Covert Channels

5.5.1. Objetivo y escenario En este caso el objetivo es detectar canales encubiertos, es decir, canales que pueden ser usados para transferir información de un origen a un destino, usando medios no destinados para este propósito.

Para realizar este caso de uso y detectar covert channels es muy útil la utilización de flujos para detectar anomalías de tráfico en temporalidad o volumen.

Para este cometido vamos a poner de ejemplo el sistema que tiene IBM llamado Qradar Qflow collector que utiliza una tecnología de inspección profunda de paquetes en datos de flujo de red en el nivel de aplicaciones para detectar amenazas sin recurrir a firmas de vulnerabilidades. Con esto conseguiremos controlar el comportamiento típico del tráfico de red que incluye aplicaciones, hosts y protocolos.

En primer lugar, hemos de decir que para conseguir detectar los comportamientos deberemos tener un histórico que mida el comportamiento normal del flow, con el tamaño tanto de paquetes, tráfico entre los equipos y sistemas.

5.5.2. Fuentes a integrar Fuentes que nos envíen eventos del tipo netflow para poder recolectarlos de una manera correcta. Palo alto por ejemplo tiene la funcionalidad de enviar estos a Qradar, splunk, etc.

5.5.3. Comportamiento a detectar En este caso el comportamiento a detectar puede ser muy variado, vamos a definir algunos comportamientos útiles:

- Medir la cantidad de paquetes: Definiremos unos umbrales después de extraer estadísticas de flows para descubrir los covert channels. Por ejemplo, un aumento considerable y repentino de paquetes ICMP. Al ser un protocolo de control la medía debería poder establecerse con una recolección de no mucho tiempo y establecer el umbral nos puede hacer detectar a tiempo canales encubiertos.

Pág: 90

Anonimato y Evasión vs SIEM Abel Pozo Pujol

- Para la detección de covert channel en tráfico web podemos correlar diferentes comportamientos. - Tamaño habitual de las peticiones, por norma el tamaño de las peticiones suele tener un mismo tamaño, medir el cambio de este tamaño puede ayudarnos a detectar estos canales encubiertos. - Rango horario: detectar a ciertos rangos horarios el tráfico habitual. - Volumen de tráfico, esto lo hemos visto anteriormente y en el caso de trafico web podríamos hacerlo de igual forma. - Regularidad de las peticiones, los covert channels tienen la peculiaridad de fragmentar los paquetes para que puedan viajar en el protocolo, de esta manera las herramientas envían los paquetes de una manera regular. Si configuramos detectar el envío regular de paquetes puede sernos de ayuda.

Hemos de decir que los covert channels son difíciles de detectar, ya que al viajar por canales encubiertos solo es posible su detección mediante firmas, que actualmente es inmanejable debido a la gran cantidad de falsos positivos o mediante estadísticas que son los casos que hemos definido.

El SIEM nos debe ayudar a crear estas estadísticas de trafico mediante los netflows y a partir de aquí establecer los umbrales pertinentes y refinarlos de tal forma que alerten cuando es algo real.

5.5.4. Implementación del caso de uso En este caso, Splunk tiene una aplicación llamada “netflow analytics for splunk” que nos da la posibilidad de evaluar los netflows recibidos y ver si hay desviaciones. Nos podemos crear nuestras propias reglas para hacer saltar alertas al detectar casos como dns tunneling, por ejemplo.

Figura 72: Netflow analytics for Splunk

Se deberá monitorizar el trafico dns y alertar en caso de aumento inusual.

Pág: 91

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Si lo queremos hacer a través de consultas en Splunk. Podemos realizar una búsqueda para ver las conexiones dns y agruparlas para conocer el volumen con las ip’s origen y destino.

Figura 73: Busqueda por ip’s de conexiones DNS

Otro método para detectar casos de covert channel sin netflow es contar los tipos de record que nos devuelven los logs dns.

Podemos ver un ejemplo de búsqueda para comprobar algún tipo de desviación en los records recibidos.

Figura 74: Busqueda por tipo de Record de eventos DNS

Pág: 92

Anonimato y Evasión vs SIEM Abel Pozo Pujol

5.6. Caso 3: Detectando redes Fast Flux

5.6.1. Objetivo y escenario Básicamente las redes Fast-Flux son redes formadas por equipos comprometidos a los que apuntan los registros DNS de un determinado dominio y actúan como proxy entre los clientes y los servidores donde se almacena el contenido.

El objetivo de estas redes es la asignación de múltiples (cientos incluso miles) de direcciones IPs a un determinado dominio. Estas direcciones IPs van intercambiándose continuamente mediante la asignación de un TTL (Time-to-Live) muy corto al registro DNS (RR) del dominio. La rotación entre las direcciones IP, puede venir dada por algoritmos sencillo como Round-Robin o por implementaciones más complejas en las que intervienen parámetros como el ancho de banda, uso de red, saltos entre puntos finales etc.

5.6.2. Fuentes a integrar Para poder implementar este caso de uso lo que necesitamos básicamente son los logs de los dns públicos de la compañía. De esta manera podremos extraer los campos necesarios para realizar las detecciones correctamente.

5.6.3. Comportamiento a detectar El objetivo de este caso de uso es detectar todos los records A de los logs DNS con TTL < 1800.

Si tienen un TTL bajo puede significar que un dominio tiene diferentes IP’s y tener un proceso automatizado de cambio de ip al expirar el TTL.

Por ese motivo es importante controlar el TTL.

5.6.4. Implementación del caso de uso Es relativamente sencillo hacer búsquedas en splunk de registros dns que devuelvan record A y nos muestren un TTL<1800

Podemos ver el ejemplo de consulta:

Figura 75: Busqueda con TTL<1800 de registros DNS

Pág: 93

Anonimato y Evasión vs SIEM Abel Pozo Pujol

5.7. Caso 4: Detectar utf8 en mails

5.7.1. Objetivo y escenario

El objetivo de este caso de uso es detectar una de las técnicas de evasión descritas en el documento como es la de ofuscación.

Los actuales sistemas de correo existentes en las grandes corporaciones se van regulando dinámicamente para ir mitigando las diferentes amenazas que puedan llegar a los usuarios finales a través los mails personales.

Una de las amenazas más importantes en las compañías son las campañas de phishing que van sobrepasando los diferentes controles de seguridad y llegan al usuario, dejando abierta la posibilidad de caer en el engaño y pulsar los diferentes links.

Por ello se está detectando que los atacantes intentan ofuscar partes del mensaje para hacer más difícil la tarea a herramientas automatizadas para bloquear campañas maliciosas.

Una de las técnicas utilizadas es la ofuscación del subject en utf8.

5.7.2. Fuentes a integrar La principal fuente a integrar es la del log del servidor Exchange que contenga las cabeceras de los mensajes, de esta manera podremos visualizar si una parte está ofuscada y poner medidas.

5.7.3. Comportamiento a detectar

El comportamiento a detectar sería generar una alerta cada 10 correos recibidos por el mismo remitente y con el tag ?utf8? en el principio del subject. De esta manera evitamos que puedan saltar un volumen más alto de falsos positivos.

Pág: 94

Anonimato y Evasión vs SIEM Abel Pozo Pujol

5.7.4. Implementación del caso de uso

Para este caso de uso hemos utilizado las correlation search de splunk security en la que indicaremos que nos salte un aviso cada vez cuando recibamos 10 correos con una parte del mensaje ofuscada con utf8.

Figura 76: Correlated Search de ofuscación de mail

La consulta que se lanza es la siguiente:

| datamodel "Email" "All_Email" search | where subject="?utf8?*" | where 'All_Email.return_addr'>10 | eval tag=mvjoin(tag,"|") | localop | rename "_time" as "orig_time","_raw" as "orig_raw","linecount" as "orig_linecount","eventtype" as "orig_eventtype","splunk_server" as "orig_splunk_server","tag" as "orig_tag","timestartpos" as "orig_timestartpos","timeendpos" as "orig_timeendpos"| fields - date_*,punct

De esta manera nos saltará una ofensa, y podremos proceder a investigar antes de que entren miles de correos por una campaña spam no detectada por los controles automatizados de las herramientas de correo corporativas.

Pág: 95

Anonimato y Evasión vs SIEM Abel Pozo Pujol

5.8. Caso 5: Chequear md5 con Virustotal

5.8.1. Objetivo y escenario Este caso de uso consiste en chequear los eventos que genera el sandboxing de un firewall, por ejemplo, que han sido categorizados como benignos y realizarles un segundo chequeo en una herramienta como “virus total chequer” de splunk.

Esta app permite comprobar un hash de un evento con su base de datos, permitiendo así comprobar todos aquellos archivos que nuestro sandboxing ha resuelto como buenos y que podrían no serlo.

5.8.2. Fuentes a integrar En este apartado podríamos integrar todas aquellas fuentes que nos den urls o hashes, ya que se podrían matchear en la página de virus total.

Pero para el caso de uso que queremos, que es el de comprobar aquellos eventos que determinan que un archivo ha sido categorizado como benigno, pasarle una segunda comprobación para evitar que no hayan utilizado las técnicas de evasión vistas anteriormente para saltarse controles.

Por lo tanto, las fuentes a integrar son los logs de las herramientas sandboxing de comprobación de malware, como podría ser wildfire de palo alto. Se deben enviar los eventos con veredicto benign.

5.8.3. Comportamiento a detectar El comportamiento a detectar en este caso es el de archivos con categoría benign procedentes de una herramienta sandboxing de chequeo de archivos.

5.8.4. Implementación del caso de uso En primer lugar, debemos instalar virustotal checker app for splunk y una vez instalado podremos lanzar consultas como la siguiente para comprobar los hashes de los ficheros. sourcetype="malware" | table file_name, hash | vt field="hash" av="*" | table file_name, hash, vt_av_result, vt_link, vt_ratio

Pág: 96

Anonimato y Evasión vs SIEM Abel Pozo Pujol

5.9. Caso 6: Chequeo reglas Yara

5.9.1. Objetivo y escenario

YARA es una herramienta creada para ayudar en la categorización de malware, para clasificar por familias. Las descripciones llamadas reglas consisten en expresiones booleanas o strings que determinen una regla lógica.

De esta manera tanto en el proyecto yara como en diferentes repositorios podemos encontrar estas expresiones que hacen referencia a malware como pueden ser rutas, nombre de ficheros, etc.

El objetivo de este caso de uso es detectar patrones que otro tipo de herramientas no son capaces de detectar a través de listas dinámicas.

5.9.2. Fuentes a integrar

Aquí no hay un estándard, ya que las reglas yara pueden contener multitud de patrones, como ruta, servicios, software, hashes, etc.

Los eventos de host son los mas interesantes a la hora de cazar este tipo de comportamientos.

En este caso integraremos logs de los sistemas y de los AV.

5.9.3. Comportamiento a detectar

El comportamiento a detectar es el definido en las reglas yara.

Pág: 97

Anonimato y Evasión vs SIEM Abel Pozo Pujol

5.9.4. Implementación del caso de uso Como hemos visto en el primer caso de uso, debemos descargar la lista de reglas yara de cualquier repositorio:

Figura 77: Repositorio reglas Yara

Una vez decidida que lista queremos debemos descargarla con getwatchlist y añadirla en una lookup table. getwatchlist https://raw.githubusercontent.com/Yara-Rules/rules/master/Mobile_Malware_index.yar delimiter=”””” relevantFieldName=patron relevantFieldCol=2 ignoreFirstLine=true isbad=true | outputlookup yaralist.csv

Una vez tengamos nuestra lista añadida en una lookup table deberemos buscar los elementos que queremos loguear, tal y como hemos dicho elementos del sistema.

Figura 78: Eventos sistema

Ahora deberemos realizar búsquedas que podremos crear como correlated search para mostrarnos cualquier elemento contenido en la regla de yara. index=windows_sysmon | lookup yaralist hash AS Hash OUTPUT description AS threat_description | search threat_description=* | table UtcTime,ComputerName,User,Hash,ProcessId,CommandLine,threat_description

Figura 79: Busqueda reglas en lookup table

Pág: 98

Anonimato y Evasión vs SIEM Abel Pozo Pujol

6. Coste del proyecto

6.1. Coste temporal El volumen de trabajo que ha comportado la realización del proyecto se puede clasificar en los siguientes apartados:

 Estudio de las diferentes redes anónimas existentes  Estudio de las diferentes técnicas de evasión avanzadas  Estudio de los sistemas SIEM y casos de uso específicos  Realización de la memoria

A continuación, explicamos detalladamente en qué ha consistido y cuánto tiempo ha requerido cada uno de los apartados mencionados anteriormente:

Figura 80. Coste temporal

Pág: 99

Anonimato y Evasión vs SIEM Abel Pozo Pujol

7. Conclusiones

Después del estudio realizado si podemos dar algún tipo de conclusión sobre las redes anónimas y las técnicas de evasión sería decir que los atacantes siempre van por delante de las compañías, gobiernos, etc.

Esto es así debido a que tienen a su disposición todas las herramientas licitas e ilícitas existentes y tienen la posibilidad de probar antes de actuar. Esto es un hecho irrefutable y que hace tan difícil la erradicación de ataques en las compañías.

Pero vamos a desglosar las conclusiones por temas.

En primer lugar y después del estudio realizado sobre las diferentes redes anónimas, nos damos cuenta que el enrutamiento de cebolla es el eje principal de la mayoría, esto quiere decir que es un sistema muy eficaz para el anonimato a pesar de las vulnerabilidades detectadas a posteriori. Es cierto, como decimos, que existen ciertas vulnerabilidades que parten básicamente del diseño de estas redes y hacen que se pueda localizar a un usuario, a pesar de no ser algo sencillo.

Otro de los puntos que hemos podido observar después del análisis de todas ellas, es que funcionan gracias a la colaboración desinteresada de sus usuarios, esto en una sociedad como la que vivimos es difícil de encontrar en otros ámbitos.

Por último, destacaremos que la evolución y mejora de las redes anónimas existentes es algo que sucede en función que las organizaciones y gobiernos van poniendo palos sobre las ruedas a estos. También gracias a las detecciones de vulnerabilidades encontradas en las redes estudiadas, hemos visto como han surgido nuevas redes como Riffle que a pesar de no estar implementadas a nivel práctico, prometen ser las sustitutas de las actuales.

En segundo lugar y según los análisis realizados de las diferentes técnicas de evasión avanzadas, podemos ver que como hemos dicho anteriormente los desarrolladores de malware o ciberdelincuentes están siempre por delante de los sistemas de seguridad.

La posibilidad de conocer al enemigo desde dentro y saber cómo funciona es una manera ideal para saber cómo sobrepasarlo, por ese motivo es tan difícil frenar o detectar los ataques más sofisticados. Las técnicas analizadas en este momento son las estudiadas, pero estamos seguros que si el trabajo lo realizaremos en 2 años hablaríamos de técnicas totalmente diferentes y orientadas a las herramientas existentes de seguridad.

Pág: 100

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Para concluir sobre este tema solo hemos de decir que nos han parecido interesante el hecho de conocer como se está evolucionando en este sentido para saber que se debe trabajar en una línea proactiva y no reactiva en el mundo de la seguridad.

En cuanto a los casos de uso vistos para implementar en un SIEM podemos concluir que han sido 2 específicos que no traen por defecto y que nos pueden ser de mucha ayuda a la hora de cazar ciberdelincuentes. En este sentido podemos decir que después de conocer en profundidad las posibilidades que ofrece un SIEM, creemos que es una herramienta de futuro y con muchísimas posibilidades en sistemas de seguridad, ya que tiene la capacidad de crecimiento al únicamente trabajar con logs Esto quiere decir que por muchos sistemas nuevos que aparezca de seguridad, siempre van a tener logs y centralizar estos para detectar anomalías es algo que será muy útil para todo tipo de organizaciones o gobiernos.

Por último, decir que si hablamos de líneas de futuro no somos capaces de avecinar cual es la dirección que pueden tomar los ciberdelincuentes, pero sí que podemos ver que los ataques son más sofisticados cada día y las líneas que deben seguir las compañías de seguridad son las de compartir información sobre amenazas para poder detectar y mitigar estas.

Pág: 101

Anonimato y Evasión vs SIEM Abel Pozo Pujol

8. Bibliografía

1. https://freenetproject.org/?language=es 2. https://es.wikipedia.org/wiki/Freenet 3. https://www.cs.cornell.edu/people/egs/615/freenet.pdf 4. https://en.wikipedia.org/wiki/Freenet 5. www.genbeta.com/a-fondo/asi-es-freenet-deep-web-alternativa-a-tor-e-i2p 6. https://geti2p.net/es/ 7. http://www.redeszone.net/2012/09/07/i2p-red-segura-y-anonima-para-navegar- chatear-y-descargar-archivos/ 8. https://www.bestvpn.com/blog/8363/use-i2p-idiots-starting-guide/ 9. https://www.torproject.org/ 10. www.eldiario.es/turing/Primeros-pasos-navegacion-segura-Tor_0_126337372.html 11. https://securityinabox.org/es/tor_principal 12. www.genbeta.com/seguridad/como-funciona-la-red-to 13. https://www.eff.org/torchallenge/what-is-tor.html 14. https://guardianproject.info/apps/orbot/ 15. https://www.cigionline.org/sites/default/files/no20_0.pdf 16. Deep web, tor, freenet & i2p 17. La biblia del hacker – Edición 2012 18. http://www.ieee.es/Galerias/fichero/docs_opinion/2012/DIEEEO16- 2012_RedesAnonimizacionInternet_LdeSalvador.pdf 19. https://ccdcoe.org/sites/default/files/multimedia/pdf/TOR_Anonymity_Network.pdf 20. http://www.ohmygodel.com/publications/usersrouted-ccs13.pdf 21. https://www.usenix.org/system/files/conference/foci12/foci12-final2.pdf 22. wikis.fdi.ucm.es/ELP/images/5/58/TorCharoRoberto.pdf 23. www.lpsi.eui.upm.es/GANLESI/2015_2016/gconferencia_ps.htm 24. http://searchdatacenter.techtarget.com/es/consejo/Como-detectar-y-mitigar-tecnicas-de-evasion- avanzadas-de-malware 25. http://evaluandocloud.com/amenazas-persistentes-vs-tecnicas-evasion/ 26. https://www.pabloyglesias.com/mundohacker-evasion-apps/ 27. http://eprints.ucm.es/22473/1/Sistema_de_ofuscacion_de_malware_para_el_evasion_de_NIDS.p df 28. http://searchsecurity.techtarget.com/definition/advanced-evasion-technique-AET 29. https://www.sans.org/reading-room/whitepapers/forensics/detecting-malware-sandbox-evasion- techniques-36667 30. https://www.vmray.com/blog/sandbox-evasion-techniques-part-1/ 31. https://www.certsi.es/blog/tecnicas-de-evasion-avanzadas 32. https://www.certsi.es/extfrontinteco/img/File/intecocert/EstudiosInformes/deteccion_apt.pdf 33. https://www.exploit-db.com/docs/34591.pdf 34. https://es.wikipedia.org/wiki/Canal_encubierto 35. https://www.sans.org/security-resources/idfaq/what-is-covert-channel-and-what-are-some- examples/2/17 36. http://searchsecurity.techtarget.com/answer/Detecting-covert-channels-to-prevent-enterprise- data-exfiltration 37. http://www-01.ibm.com/support/docview.wss?uid=swg27047107 38. http://blogs.splunk.com/2011/08/16/getwatchlist-getting-watchlists-into-splunk-quickly-and- easily-with-a-splunk-custom-search-command/ 39. http://stratumsecurity.com/2012/07/03/splunk-security/ 40. https://www.sans.org/reading-room/whitepapers/dns/splunk-detect-dns-tunneling-37022 41. https://answers.splunk.com/answers/227353/virustotal-checker-add-on-what-search-syntax- would.html 42. http://blogs.splunk.com/2015/08/04/detecting-dynamic-dns-domains-in-splunk/

Pág: 102

Anonimato y Evasión vs SIEM Abel Pozo Pujol

9. Índice de figuras

Figura 1: Deep Web vs Surface Web ...... 5 Figura 2: Instalación Freenet ...... 8 Figura 3: Instalación Freenet proceso ...... 9 Figura 4: Pantalla Inicial Freenet ...... 9 Figura 5: Pantalla principal Freenet ...... 10 Figura 6: Aplicación Frost ...... 16 Figura 7: Menú Frost...... 17 Figura 8: Instalación Jsite ...... 17 Figura 9: Ejemplo de identidad ...... 18 Figura 10: Freetalk ...... 19 Figura 11: Instalación I2P ...... 21 Figura 12: I2P activado ...... 23 Figura 13: Interfaz I2P ...... 23 Figura 14: Eepsite no encontrado ...... 24 Figura 15: Funcionamiento I2P ...... 26 Figura 16: Protocolo I2P ...... 27 Figura 17: Procesado de mensajes en I2P ...... 30 Figura 18: Estadísticas tor después del escandalo Snowden ...... 38 Figura 19: Tor Browser ...... 39 Figura 20: Configuración TOR 1/2 ...... 40 Figura 21: Configuración TOR 2/2 ...... 40 Figura 22: Funcionamiento Tor ...... 43 Figura 23: Funcionamiento Pluggable transport ...... 44 Figura 24: Estadísticas transferencia ficheros en Riffle ...... 49 Figura 25: Funcionamiento Riffle ...... 50 Figura 26: Inserción ...... 55 Figura 27: Evasión ...... 56 Figura 28: Fragmentación ...... 57 Figura 29: Ofuscación ...... 58 Figura 30: Ejemplo Javascript en claro ...... 58 Figura 31: Ejemplo de Javascript ofuscado ...... 59 Figura 32: Funcionamiento Crypters ...... 62 Figura 33: Themida, aplicación protectora ...... 63 Figura 34: Ejemplo de binders ...... 64 Figura 35: Paquete ICMP ...... 66 Figura 36: Ejemplo ICMP tunneling ...... 66 Figura 37: Paquete ICMP tunelizado ...... 67 Figura 38: Funcionamiento ICMP reverse shell ...... 67 Figura 39: Ejemplo con ICMPsh ...... 68 Figura 40: Comando a ejecutar en máquina victima ...... 68 Figura 41: Acceso a través de ICMP Reverse Shell ...... 68 Figura 42: Funcionamiento http Reverse shell ...... 69 Figura 43: Magic Quadrant SIEM 2016 ...... 74

Pág: 103

Anonimato y Evasión vs SIEM Abel Pozo Pujol

Figura 44: Portal Pfsense ...... 75 Figura 45: Reglas Snort ...... 76 Figura 46: DHCP server pfsense ...... 76 Figura 47: Dns server pfsense ...... 76 Figura 48: Productos Splunk ...... 77 Figura 49: Versión free splunk enterprise ...... 77 Figura 50: Instalación Splunk ...... 77 Figura 51: Final Instalación Splunk ...... 78 Figura 52: Pantalla inicio Splunk ...... 78 Figura 53: Opciones Splunk ...... 78 Figura 54: Data Input ...... 79 Figura 55: Enviar logs a SIEM ...... 79 Figura 56: Tipos de logs a enviar ...... 80 Figura 57: Datos indexados ...... 80 Figura 58: Logs parseados ...... 81 Figura 59: Máquinas montadas ...... 81 Figura 60: Log de reglas en Pfsense habilitado ...... 82 Figura 61: Eventgen (generador de eventos) ...... 82 Figura 62: App for stream ...... 83 Figura 63: Gráficas aplicación “App for Stream” ...... 83 Figura 64: Search de ip específica ...... 84 Figura 65: Creación de alerta ...... 84 Figura 66: Alerta definida ...... 85 Figura 67: Evento de alerta generada ...... 85 Figura 68: Dashboards Splunk Enterprise Security ...... 85 Figura 69: Threat intelligence ES ...... 88 Figura 70: Correlated Search in ES ...... 88 Figura 71: Notable events con correlated search desplegado ...... 88 Figura 72: Netflow analytics for Splunk ...... 91 Figura 73: Busqueda por ip’s de conexiones DNS ...... 92 Figura 74: Busqueda por tipo de Record de eventos DNS ...... 92 Figura 75: Busqueda con TTL<1800 de registros DNS ...... 93 Figura 76: Correlated Search de ofuscación de mail ...... 95 Figura 77: Repositorio reglas Yara ...... 98 Figura 78: Eventos sistema ...... 98 Figura 79: Busqueda reglas en lookup table ...... 98 Figura 80. Coste temporal...... 99

Pág: 104