TLS client fingerprinting con Bro

En esta entrada continuamos con Bro IDS, que en esta ocasión utilizaremos como herramienta para la exploración de técnicas de client fingerprinting.

Como es sabido, durante el handshake inicial del protocolo TLS (utilizado, entre otros, por HTTPS en navegadores web), se intercambia un mensaje denominado ClientHello, donde el cliente especifica las primitivas criptográficas que soporta (los llamados ciphersuites).

Por ejemplo, un Firefox 50.1.0 sobre Linux enviaría un ClientHello como el siguiente, tal como lo muestra el disector de Wireshark:
[Read more…]

Evadiendo nuestro antivirus con Windows PowerShell

Hace algunos días se difundió la noticia de que PowerShell se estaba convirtiendo en el método más eficaz para la difusión de malware pero, ¿existen razones de peso que expliquen la migración a esta plataforma?
Durante el siguiente artículo veremos algunas de las razones prácticas por la que muchos blackhat están optando por este lenguaje de scripting.

En primer lugar, cabe destacar que la distintiva de PowerShell respecto a intérpretes tradicionales es que está orientado a objetos, puesto que la información de entrada y de salida en cada etapa del cmdlet es un conjunto de instancias de objeto. Esto, junto a la capacidad de agregar clases personalizadas a framework .NET mediante el cmdlet “Add-Type”, le otorga grandes funcionalidades a tener en cuenta para el desarrollo de malware.
[Read more…]

PoC simple de C2 con domain fronting sobre GAE

En esta entrada seguimos con domain fronting. En esta ocasión vamos a explorar cómo implementar un PoC simple de un servidor de mando y control, y exfiltración sobre Google App Engine (GAE en adelante), y veremos cómo conseguir el domain fronting desde Windows, con un script VBS o PowerShell, para ocultar las interacciones con el servidor C2.

El objetivo

Cuando lo tengamos todo desplegado, dispondremos de un servicio web en myc2server.appspot.com que podremos utilizar desde un equipo Windows comprometido de la siguiente forma: contaremos con un canal de mando y control (sobre la ruta /e2e7765b71c1, a modo de autenticador): [Read more…]

Fileless UAC Bypass

Un paso muy importante tras obtener acceso a una máquina a la que no se debería tener acceso, suele ser elevar privilegios lo antes posible para poder acceder a las zonas más interesantes y poder borrar huellas del sistema de la forma más fiable.

Para controlar estos accesos con privilegios, Microsoft implementó a partir de Windows Vista, un sistema llamado User Account Control (UAC). Como era de esperar, no tardaron en aparecer métodos para saltarse esta protección, llamados de forma genérica como métodos de “bypass de UAC”. Desde el laboratorio de malware de S2 Grupo intentamos conocer bien este tipo de técnicas a fin de poder identificar cada paso que da una muestra de malware en un sistema, y esta en los últimos meses nos ha llamado la atención.

La mayoría de estos métodos “bypass de UAC” requieren de un fichero que se tiene que descargar en el equipo para ser ejecutado o importado por otro proceso ya con privilegios, lo cual en muchos casos hace que salten las alarmas. El sistema sobre el que vamos a hablar en este artículo difiere de ellos en este punto, y puede resultar realmente sencillo de implementar. Sin embargo, no es oro todo lo que reluce ya que este método solo permite hacer bypass cuando la cuenta original tiene un mínimo nivel de permisos. En el caso de una cuenta sin ningún tipo de permisos en la que para ejecutar algo requiere a un administrador, implica tener que introducir las credenciales de otro usuario y por tanto este método no resultaría efectivo.
[Read more…]

Actualización automática de reglas Snort con PulledPork

Nos encontramos en una época en la cual, cada día que pasa, se descubren nuevas vulnerabilidades software, y es muy probable que alguien con malas intenciones intente aprovecharse de estos fallos para realizarnos un nuevo tipo de ataque y que nuestros sistemas informáticos de seguridad no se percaten de dicha intrusión.

Por esta razón, es tan importante mantener todos nuestros sistemas de detección de intrusos (IDS) actualizados. En esta ocasión, se presenta una herramienta para la actualización de reglas del IDS Snort, llamada PulledPork.

PulledPork es un script escrito en Perl que descarga, combina, instala y actualiza conjuntos de reglas de varios sitios que serán usados por el IDS Snort. [Read more…]

La CCI rusa (XI): el ecosistema de inteligencia. Empresas

Cuando hablamos de la relación de los servicios rusos con las empresas del país, es necesario destacar que a dichos servicios no les interesa cualquier tipo de organización, sólo las que puedan dar una cobertura al servicio o aquellas que les permita controlar, en mayor o menor medida, una parcela de interés para los intereses nacionales de Rusia –generalmente empresas estratégicas para la nación-: recursos naturales (gas y petróleo sobre todo), medios de comunicación, monopolios estatales creados tras el desmembramiento de la URSS… Como dato curioso en relación al control estatal en algunos ámbitos, en la legislación rusa se identifican sectores o empresas estratégicas y es la propia Ley rusa quien define cómo invertir en ellas, incluyendo la inversión extranjera en estas empresas: las empresas extranjeras tienen prohibido ser dueñas de una empresa estratégica rusa, salvo aprobación explícita del Presidente.

Quizá el caso más famoso de empresa aparentemente controlada –o al menos con un elevado grado de penetración- por los servicios rusos ha sido el de Aeroflot, las líneas aéreas rusas. Desde el KGB hasta nuestros días tal era el control de los servicios de inteligencia que vuelos comerciales de la compañía se han utilizado hipotéticamente para repatriaciones forzosas de ciudadanos rusos o incluso para el tráfico de armas biológicas. En 1996 se asocian a los servicios rusos 3.000 de sus 14.000 empleados, situación que es denunciada por el nuevo Presidente de la compañía, que incluso llega a reclamar que dichos servicios abonen el salario de su personal en la compañía; huelga decir que acaba en la cárcel.

Por supuesto, en la actualidad los servicios rusos tienen mucho interés en empresas tecnológicas (interés que no sustituye al que tienen en empresas más clásicas, sino que se suma a éste). Desde empresas cercanas a los contenidos (las que poseen la información) como Mail.RU o VKontakte, hasta las grandes operadoras de telecomunicaciones como Rostelecom o TransTelecom (las que transportan la información), pasando por compañías de seguridad como Group IB (que posee el primer CERT privado ruso), RTEC (Russian Telecom Equipment Company, especializada en el desarrollo de tecnologías para comunicaciones seguras) o Kaspersky, la mayor compañía de seguridad rusa (de la que hay que decir que elabora unos excelentes informes técnicos de APT).

Un caso muy conocido de control (perdón, colaboración) de una empresa por parte de los servicios rusos se produce en diciembre de 2013, cuando el FSB solicita a Pavel Durov, fundador y CEO de VKontakte, datos de usuarios ukranianos (en la imagen podemos ver dicha solicitud). Y es que VKontakte, el “Facebook ruso”, no es sólo ruso: tiene millones de usuarios de ex repúblicas soviéticas, lo que lo convierte en una fuente de datos inmejorable para los servicios rusos. Esta solicitud motiva que Pavel Durov deje la dirección de la red social, venda su parte de la compañía y abandone Rusia, pasando Mail.RU a tomar el control de VKontakte en septiembre de 2014.

a b

A pesar de casos como el de VKontakte, sin duda el mayor nivel de control sobre empresas tecnológicas que existe en Rusia se produce sobre los proveedores de telecomunicaciones (teléfono, Internet…); dichos proveedores están obligados a facilitar acceso “de serie” al FSB tanto a las comunicaciones como a documentos internos de las compañías mediante SORM (Systema Operativno-Razisknikh Meropriatiy). SORM puede traducirse del ruso como “sistema para medidas operativas de búsqueda en comunicaciones”, sabiendo que ORM (“medidas operativas de búsqueda”, es la definición amable de interceptación ([1]) y es un conjunto de regulaciones y, sobre todo, de equipamiento tecnológico, de aplicación en los proveedores, que facilita al FSB y a otros servicios un mecanismo sencillo para escuchar las comunicaciones, evitando cualquier autorización judicial. Un dispositivo físico es desplegado en la infraestructura del proveedor de comunicaciones y conectado mediante un cable especialmente protegido a centros de operaciones del FSB. A partir de ese momento, el servicio puede acceder a las comunicaciones y sistemas sin ningún tipo de control por parte del proveedor –que a pesar de pagar de su bolsillo el equipamiento no tiene acceso a éste- y, por supuesto, sin ningún tipo de orden judicial (al menos a priori).

SORM fue inicialmente desarrollado en 1996 y en la actualidad cuenta con tres capacidades fundamentales: SORM-I, para la interceptación de comunicaciones telefónicas fijas y móviles, SORM-II (1998), para la interceptación de tráficos de red (Internet) y SORM-III (2014), que proporciona capacidad de adquisición de todo tipo de comunicaciones y almacenamiento de los datos y metadatos interceptados, con un elevado periodo de retención. Estos sistemas se ocupan de adquirir toda la información relevante de las comunicaciones rusas y facilitan el acceso a estos datos no sólo al FSB, sino a diferentes agencias de seguridad o inteligencia del país.

En resumen la colaboración, voluntaria o no (“nadie le dice NO al FSB”), de algunas empresas con los servicios rusos es teóricamente elevada, como también lo es el grado de penetración de estos servicios en el tejido empresarial ruso con dos objetivos: control y cobertura. Y hoy en día las tecnológicas pueden aportar mucho en ambos sentidos. Ojo, nada nuevo ni exclusivo del ecosistema de este país: ya hablaremos algún día de la CIA y algunas líneas aéreas estadounidenses, o de la NSA y ERROR: EOT. Connection closed.
Referencias
[1] Andrei Soldatov. Russia’s communications interception practices (SORM). Agentura.RU. http://www.europarl.europa.eu/meetdocs/2009_2014/documents/libe/dv/soldatov_presentation_/soldatov_presentation_en.pdf. Enero, 2014.

Libro recomendado: “El pequeño libro rojo del activista en la red”

portada_el_pequeno_libro_rojoEn esta entrada he decidido hacer una revisión del libro “El pequeño libro rojo del activista en la red”, escrito por Marta Peirano, periodista fundadora de Cryptoparty Berlin, co-directora de COPYFIGHT y adjunta al director del diario.es, entre otras cosas.

Así que el pequeño libro rojo del… ¿activista en la red? ¿Pero quiénes son los activistas? Marta Peirano ha seleccionado de forma muy acertada esa palabra para el título. Como bien recalca: “Cuando nuestros representantes no pelean por defender nuestros derechos sino contra nuestro derecho a ejercerlos, la única respuesta es la desobediencia. Puede que no tengamos nada que ocultar, pero sí tenemos mucho que temer. En una sociedad ultravigilada, todo el mundo es antisistema”. Dicho de otra forma, nos convertimos en activistas en la red en el momento que somos conscientes de los mecanismos de control y vigilancia y queremos escapar de ese sistema establecido.
[Read more…]

Evolucionando nuestro VPMS II

Hace algo más de dos años que vimos como evolucionar nuestro VPMS inicial para el control de acceso a red, a un sistema basado en una asignación dinámica de VLANs en función del usuario. No obstante, no siempre es posible este tipo de autenticación ya que, por ejemplo, podemos encontrar dispositivos conectados a nuestra red como controles de acceso, teléfonos o impresoras que no dispongan de funcionalidad para su autenticación mediante 802.1x y, por lo tanto, debemos garantizar otro tipo de autenticación, siendo lo más habitual usar la autenticación MAB (MAC Authentication Bypass).

Al igual que vimos en la configuración inicial de nuestro VPMS, mediante la autenticación MAB nos volvemos a basar en la dirección MAC del cliente para proporcionar el acceso a la red (no en el usuario final) aunque, al estar integrado en un servidor Radius, nos da más potencia que la versión inicial de VPMS. No obstante, como todo, tiene sus ventajas e inconvenientes. [Read more…]

Camuflaje en la capa de cifrado: domain fronting

En la entrada de hoy hablaremos sobre una técnica relativamente vieja (aunque programas como Signal la han empezado a utilizar hace relativamente poco) y que siempre me ha parecido un hack muy “astuto”: el domain fronting.

Por ejemplo, tomemos la dirección IP del frontal que nos sirve www.google.es:

$ host www.google.es
www.google.es has address 216.58.210.227

Vamos a fijarnos en el campo Common Name (CN) del certificado TLS que nos devuelve el servidor: [Read more…]

Ejecutando un binario mediante la técnica RunPE

La técnica conocida como RunPE la podemos encontrar descrita con varios nombres diferentes como: RunPE, Dynamic Forking, process replacement o process hollowing. También he visto que se refieren a ella como “process zombie”, pero después en otras fuentes mencionan diferencias que podéis leer aquí [5].

Durante los últimos meses hemos observado desde el laboratorio de malware que algunos “bichos”conocidos la implementan, por ejemplo como hancitor[1].

En esta entrada no vamos a explicar la técnica en detalle, ya que con un simple búsqueda en Google por los términos RunPE, Dynamic Forking o Process Hollowing, encontraréis información muy buena sobre la técnica [2][4].

Por tanto, el objetivo de la entrada es ver como un analista cuando se encuentra con un malware que utiliza esta técnica puede obtener el código del malware para analizarlo posteriormente (el código inyectado). Para probarlo, durante esta entrada hemos utilizado el código que podéis encontrar aquí [3]. Como podréis ver está sacado de una entrada del foro “www.rohitab.com” que se referencia como comentario en el mismo código fuente. [Read more…]