C&C y exfiltración a través del webmail corporativo

Supongamos una organización que cuenta con unas medidas de seguridad básicas: las estaciones de trabajo no pueden realizar conexiones directas a Internet, tan sólo pudiendo llevar a cabo peticiones web a través de un servidor proxy, que además es el único que puede realizar peticiones DNS externas.

Tanto el tráfico HTTP como el tráfico DNS generado por este servidor proxy son debidamente monitorizados, y además el proxy “rompe” HTTPS, por lo que también serían detectables técnicas como domain fronting. Sólo son accesibles unos pocos sitios web incluidos en la lista blanca. [Read more…]

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…]

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…]

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…]

Bro IDS tips and tricks

Como continuación del excelente post sobre Bro que publicó nuestro compañero Juan Manuel hace un tiempo, en el presente recopilamos diversos tips and tricks para dicha herramienta que esperamos que os sean de utilidad. Nos centraremos en la última versión estable, Bro 2.5, publicada en noviembre del pasado año 2016.

Captura sobre varios interfaces

En algunas ocasiones, el tráfico a monitorizar nos llega por varios interfaces de red diferentes; por ejemplo, en el caso de disponer de dos salidas a Internet. [Read more…]

vFeed: una BD de vulnerabilidades

vFeed es una herramienta muy interesante de ToolsWatch que recolecta información sobre vulnerabilidades utilizando multitud de fuentes; entre otras:

  • Estándares de seguridad, como CVE, CWE, CPE, OVAL, CAPEC, CVSS, etc.
  • Herramientas de explotación y auditoría de vulnerabilidades, como Nessus, NMap, Metasploit, etc., así como páginas web y bases de datos de seguridad ofensiva, como milw0rm o Exploit-DB
  • Alertas de fabricantes: Red Hat, Microsoft, Cisco, Debian, etc.
  • Firmas de sistemas IDS, como Snort o Suricata

[Read more…]

Un honeyclient para CVE-2015-2865

Recientemente se ha publicado una vulnerabilidad (CVE-2015-2865) que afecta a varios modelos de móviles Samsung Galaxy, y que permite la ejecución remota de código como usuario system siempre que sea posible montar un ataque MitM entre el terminal y los servidores de Samsung (normalmente utilizando técnicas como ARP cache poisoning o similares sobre redes wifi de hoteles, restaurantes, etc. a las que estén conectados el atacante y la víctima).

Estos terminales vienen preinstalados con el teclado virtual Swift, de Samsung. Cuando el usuario instala un language pack adicional para este teclado, o cuando se actualiza uno de los existentes, en primer lugar la aplicación descarga el catálogo de packs en formato JSON desde la URL correspondiente:

http://skslm.swiftkey.net/samsung/downloads/v1.3-USA/languagePacks.json

[Read more…]

Introducción al desarrollo de transforms para Maltego

Una de las características más interesantes de Maltego, herramienta ya potente de por sí, es la posibilidad de desarrollar nuestras propias transformadas, o transforms, para ampliar sus capacidades.

De forma simplificada, una transform no es más que una “caja negra” que toma como entrada una entidad (o entity), y produce como salida una o más entities. Estas entities, ya sean de entrada o de salida, son de cierto tipo (por ejemplo, de tipo Person, EmailAddress, etc.) y deben tener un valor (o value) determinado. Adicionalmente, una entidad puede tener cero o más campos (o fields) extra que pueden enriquecer su valor semántico (cada field está formado por un nombre y un valor).

Las transforms pueden ser locales o remotas: las primeras se ejecutan en la misma máquina donde corre el propio programa cliente de Maltego, mientras que las segundas residen en los llamados servidores TDS (Transform Distribution Service), de forma que el programa cliente de Maltego envía la entity de entrada y recibe de los servidores la entity o entities de salida.

Centrándonos ya en la programación en sí de las transformadas, objeto de la presente entrada, el interfaz para el desarrollo de las transforms locales es sumamente sencillo: cualquier programa que reciba como parámetros el value de la entity de entrada (y, opcionalmente, los nombres y valores de los fields extra), y genere código XML en el formato de especificación de las entities de salida (con sus respectivos valores, etc.), puede registrarse en el programa cliente de Maltego y funcionar como una transform más.

[Read more…]

Un Python mareado

Durante el transcurso del análisis forense de una máquina que sospechamos que está contaminada con malware, hemos encontrado el siguiente fichero: cosa.pyc.

¿Alguno de nuestros lectores nos podría echar una mano para saber qué hace? ;-)

Revisando los parches con MBSA

En ocasiones, en el transcurso del análisis forense de un sistema Windows, puede resultarnos de utilidad conocer el nivel de parcheado del equipo que estamos analizando. En la presente entrada veremos cómo llevar a cabo esta tarea con ayuda de la herramienta Microsoft Baseline Security Analyzer (MBSA).

Cabe aclarar que esta herramienta se aplica sobre sistemas en ejecución (“en vivo”), y no sobre imágenes offline del sistema de ficheros, por lo que en primer lugar será necesario levantar una copia de la máquina objeto del análisis forense. A tal efecto podemos utilizar herramientas como Live View (que nos permitiría desplegar una imagen del disco duro de la máquina obtenida, por ejemplo, con el comando dd, en forma de máquina virtual) o Clonezilla (con la que podríamos obtener una imagen del disco duro del equipo analizado, que luego podríamos desplegar en una máquina virtual u otra máquina física), entre muchas otras opciones.

En lo que sigue, asumiremos que ya tenemos lista y en ejecución esta copia del equipo a analizar. Puesto que el supuesto de partida es que estamos llevando a cabo un análisis forense, asumiremos que tampoco podemos conectar esta copia del equipo a Internet, de modo que utilizaremos el programa MBSA de una forma completamente offline.

Podemos descargar MBSA, en su versión 2.3, a través del siguiente enlace:

http://www.microsoft.com/en-us/download/details.aspx?id=7558

El programa no requiere ningún componente extra (como .NET) y se instala a través del típico asistente, sin mayores complicaciones:

Tras iniciar el programa, llevaremos a cabo un primer escaneo de prueba sobre el equipo, a través de la opción “Scan a computer”:

El objetivo de este primer análisis, que no podrá completarse correctamente, es que MBSA genere los directorios donde almacena la caché con el catálogo de actualizaciones de Windows. Para la versión 2.3, este directorio es "Configuración local \ Datos de programa \ Microsoft \ MBSA \ Cache" (a partir del perfil del usuario administrador con el que estemos ejecutando la herramienta) y, puesto que vamos a llevar a cabo todo el proceso con la máquina que estamos analizando desconectada de Internet, será necesario descargar el catálogo de Windows Update (Microsoft lo denomina “archivo de examen sin conexión”) desde otra máquina y copiarlo a la anterior ruta.

Podemos descargar este archivo (su nombre es wsusscn2.cab) a través del siguiente enlace:

http://go.microsoft.com/fwlink/?LinkId=76054

A continuación, lo copiamos en el directorio caché de MBSA:

En sistemas realmente desactualizados, podría suceder que la versión del agente de Windows Update sea tan vieja que MBSA no pueda llevar a cabo el análisis. En este caso, el programa presenta el siguiente mensaje de error: “Computer has an older version of the client and security database demands a newer versión. Current version is and minimum required version is…”, tal como puede observarse en la siguiente captura:

Si la máquina estuviera conectada a Internet, el propio MBSA actualizaría el agente de Windows Update, pero en nuestro caso deberemos descargar el instalador desde otra máquina e instalarlo en el equipo sobre el que estamos llevando a cabo el análisis forense. Microsoft documenta este procedimiento en el siguiente artículo:

http://technet.microsoft.com/en-us/library/bb932139.aspx

Para sistemas x86, podemos descargar el instalador desde la siguiente URL:

http://go.microsoft.com/fwlink/?LinkID=100334

De nuevo, la instalación se lleva a cabo vía asistente y no presenta mayores complicaciones:

Una vez contamos con una versión reciente del agente de Windows Update, ya podremos lanzar la herramienta contra el catálogo de actualizaciones que hemos descargado. Podemos marcar las opciones de escaneo de interés (en nuestro caso “Check for security updates”) y llevar a cabo el análisis:

Este sería el resumen de resultados para un equipo Windows XP SP3 “dejado caer”, sin ningún parche aplicado:

Mediante la opción “Result details” podemos obtener el detalle de los parches concretos que no han sido aplicados:

También podemos copiar los resultados del análisis en el portapapeles (opción “Copy to clipboard”) y guardarlo en un fichero de texto, que luego podremos utilizar para la confección del informe forense:

Por último, cabe señalar que el programa también cuenta con interfaz de línea de comandos, con la que podemos lanzar los análisis de forma automática con las opciones requeridas:

Esperamos que la entrada haya resultado de vuestro interés.