open source security

5 Proyectos de seguridad Open Source que me han salvado la vida

… y uno que me mola muchísimo.
En la entrada de esta semana quería dejaros un listado de herramientas de seguridad open source que en algún momento me han sacado de algún problema, han hecho mi trabajo más fácil, me han resultado interesantes o me han servido para sacar adelante un reto en un CTF.

Radare2

r2logo3La primera herramienta de la os quiero hablar es Radare2. Seguramente la más conocida dentro de la comunidad hispanohablante ya que su desarrollador es .cat y es un habitual dando charlas en los diversos congresos de seguridad que tienen lugar en España.
Para los que no conozcan Radare2, se podría resumir en que es un framework para realizar ingeniería inversa. Una de las cosas que más me gusta de Radare es el soporte a arquitecturas y formatos de ficheros marcianos que otros programas de ingeniería inversa no soportan nativamente. Según su documentación:


Architectures:
6502, 8051, CRIS, H8/300, LH5801, T8200, arc, arm, avr, bf, blackfin, csr, dalvik, dcpu16, gameboy, i386, i4004, i8080, m68k, malbolge, mips, msil, msp430, nios II, powerpc, rar, sh, snes, sparc, tms320 (c54x c55x c55+), V810, x86-64, zimg, risc-v.
File Formats:
bios, CGC, dex, elf, elf64, filesystem, java, fatmach0, mach0, mach0-64, MZ, PE, PE+, TE, COFF, plan9, dyldcache, Commodore VICE emulator, Game Boy (Advance), Nintendo DS ROMs and Nintendo 3DS FIRMs.

Una de las peculiaridades de Radare2 es que está en constante desarrollo. Si te has descargado Radare2 al empezar a leer este artículo, será mejor que vayas haciendo checkout otra vez porque seguramente a estas alturas estés desactualizado. Para estar, más o menos, al día de lo que pasa en Radare2 puedes seguir el proyecto en Twitter o echar un ojo al blog de vez en cuando.

Osquery

logo-bigEsta herramienta me llamo la atención desde el momento en que la vi en acción en un taller en BruCON. Se trata de un programa desarrollado por el equipo de respuesta ante incidentes de Facebook para poder realizar actividades de live response en sistemas OS X y Linux.
Osquery nos permite realizar consultas al sistema utilizando la sintaxis de SQLite. Estas consultas son muchas veces independientes del sistema operativo, lo que permite el acceso a la información de distintos sistemas utilizando la misma consulta.
Además de la consola interactiva desde la que lanzar consultas, Osquery te permite ejecutar un servicio que va a realizar consultas periódicamente y escribir los cambios en un log que luego pueden ser procesados por un correlador en busca de comportamientos anómalos.

Loki

lokiiconLoki es un escáner simple de indicadores de compromiso (IOC). En el momento de escribir este artículo, Loki sólo soporta los siguientes tipos de IOC:

  • Nombre de fichero (expresión regular)
  • Hash de un fichero
  • Conexiones contra direcciones IP/dominios
  • Reglas YARA

Loki llama la atención principalmente por ser el hermano pequeño de Thor. Thor es un escáner de IOCs, pero esta vez no es simple y su funcionalidad es mucho mayor… pero no es open source. Aun así Thor está haciendo ruido en la comunidad DFIR por su velocidad a la hora de escanear el sistema de ficheros, característica que comparte con Loki y que hace a este más interesante.
Además, con un poquito que te manejes con python, ampliar las capacidades de Loki es realmente sencillo.

Snort/Suricata

suri-400x400Estos dos proyectos vienen de la mano ya que cumplen una misma función: Sistema de Detección de Intrusiones (IDS).
Mi experiencia usando estos dos sistemas es como IDS y como herramienta para analizar el alcance de un incidente en una red. Los dos proyectos pueden hacer los dos trabajos perfectamente, pero en el segundo caso yo prefiero usar Suricata antes que Snort.
La razón por la que prefiero usar Suricata es que permite una mayor granularidad a la hora de escribir reglas. Mientras que Snort te obliga a definir una regla sobre tráfico http como TCP, Suricata te permite definirla como http. Esto permite escribir reglas más estrictas y reducir el número de falsos positivos, lo que a la hora de encontrar comportamientos específicos en la red viene muy bien.
Snortpig_professor2(NOTA: La versión 3 de Snort ha salido hace poco y no sé si han cambiado algo en la sintaxis de las reglas, por lo que es posible que las reglas de Snort 3 permitan la misma granularidad que Suricata.)
Es importante saber que este tipo de productos requieren un mantenimiento en forma de actualización de reglas y, sobre todo al principio, invertir tiempo en la personalización de las reglas para que se adapten a tu entorno y no estén llenado la consola de los analistas de falsos positivos.

Volatility

vVolatility desde hace unos años se ha convertido en el estándar de facto en lo que a análisis forense de memoria se refiere.
Soporta múltiples tipos de imágenes de memoria, incluido soporte inicial para imágenes de Windows 10.
Tiene por detrás un gran soporte de la comunidad, lo que hace que cada cierto tiempo aparezcan plugins que extienden la funcionalidad de este proyecto. Además, escribir este tipo de plugins es relativamente sencillo si necesitas adaptar ciertas cosas para el análisis en el que estás trabajando.

DVRF

Este último proyecto no lo he probado aún, pero que estoy esperando tener un poco de tiempo libre para poder hincarle el diente: Damn Vulnerable Router Firmware (DVRF).
Es un proyecto diseñado para introducir a la gente en el mundo de la ingeniería inversa de firmware. Esta preparado para ser instalado en un Linksys E1550, pero si no tienes uno en casa puedes trabajar en ello usando Qemu.
Hasta han publicado también una pequeña guía con los primeros pasos que hay que dar para tener DVRF en Qemu.

Como veis hay muchos proyectos open source que nos pueden ayudar a realizar nuestro trabajo en seguridad sin invertir dinero en licencias. Estos son solo algunos de los múltiples proyectos que se usan día a día en seguridad, muchos se han quedado fuera (Metasploit, Bro, Cuckoo, Rekall…).
Por último, me gustaría que vosotros, lectores, compartierais los proyectos open source de seguridad que más os gusten o que os han salvado el día, ya sea ayudándoos a explotar una vulnerabilidad marciana, detectando un bicho que el antivirus no cazaba, o bastionando un sistema que tenía que estar en producción para ayer.
Además, si tienes un proyecto personal que te gustaría compartir y dar visibilidad, déjalo en los comentarios. Quién sabe, a lo mejor en una futura entrada sobre proyectos de seguridad open source puede aparecer en la lista, ¡o puede salir una colaboración con el blog!

Ernesto Corral

Ernesto Corral

Profesional de la seguridad de perfil técnico. Principalmente interesado en respuesta ante incidentes, malware e ingeniería inversa.
Me encanta participar en CTFs y últimamente estoy cacharreando con temas de hardware.

Ver descripción | Ver perfil en LinkedIn
Ernesto Corral