R2wars, una competición diferente

(Esta entrada ha sido elaborada por Erik Martínez y Vicente Lahoz)

INTRODUCCIÓN

La semana pasada asistimos a la r2con, una conferencia con una comunidad muy comprometida, centrada en el análisis de malware, ingeniería inversa, explotación de binarios y mucho más. La conferencia está organizada por los desarrolladores de la herramienta radare2, un framework de reversing de código abierto muy potente que ofrece multitud de posibilidades, como el ensamblado y desensamblado de archivos, debugging de ejecutables o explotación de software.

Todo esto ejecutado desde la línea de comandos (también tiene una GUI llamada Cutter), así que puedes automatizar tareas y gestionar las salidas del terminal como desees. También tiene una API disponible para la mayoría de lenguajes de programación llamada r2pipe, por lo que puedes integrarla en tus propios scripts y herramientas de una forma muy sencilla. ¡Bastante chulo!

La r2con se compone de charlas, talleres y competiciones (entre varias pausas para café) [Véase github.com/radareorg/r2con2019]. En este post, vamos a contar nuestra experiencia en r2wars, una de las competiciones que se celebran durante la conferencia.

[Read more…]

DEFCON DFIR CTF 2019 (IV): Triage VM Questions

Las evidencias son un precioso fichero .7z (que en Debian no se puede abrir con unzip, hay que usar p7zip, ojo), que una vez descomprimido nos deja los siguientes ficheros:


# ls -laht
total 27G
drwxr-xr-x 2 root root 4.0K Aug 27 18:10 .
drwxr-xr-x 5 root root 4.0K Aug 27 17:43 ..
-rw-r--r-- 1 root root 4.0G Mar 22 22:21 DFA_CTF_Triage-0.vmdk
-rw-r--r-- 1 root root  23G Mar 22 22:21 DFA_CTF_Triage.vmdk
-rw-r--r-- 1 root root 2.0K Mar 22 22:14 DFA_CTF_Triage.vmx

Podríamos arrancar la máquina virtual en VMWare, pero vamos a tratar la VM como una evidencia muerta, para ver si somos capaces de sacar todas las evidencias de un modo más formal.

La forma más rápida de montar en Debian un .vmdk es, si tienes qemu instalado, la siguiente: [Read more…]

DEFCON DFIR CTF 2019 Writeup (III): Memory Forensics

1. ¿Cuál es el hash SHA1 del fichero triage.mem?

Un poquito de sha1sum para empezar a calentar…

# sha1sum adam.mem
c95e8cc8c946f95a109ea8e47a6800de10a27abd  adam.mem

* Respuesta: c95e8cc8c946f95a109ea8e47a6800de10a27abd

2. ¿Qué perfil de memoria es el más apropiado para esta máquina (ej: Win10x86_14393)

Volatility nos da la información gracias al plugin imageinfo: [Read more…]

DEFCON DFIR CTF 2019 writeup (II): Linux Forensics

Como habíamos visto en la parte de Windows, la adquisición forense del equipo Horcrux nos había dejado una tabla de particiones cargadita, siendo una de ellas una de Linux. Siendo Linux, parece tener sentido el realizar el forense desde otro Linux.

En primer lugar vamos a montar la partición como es debido para poder ver lo que tenemos dentro (si estáis en un sistema Linux necesitaréis las ewftools, y aquí [https://www.andreafortuna.org/2018/04/11/how-to-mount-an-ewf-image-file-e01-on-linux/] tenéis un tutorial estupendo sobre cómo hacerlo):

Montamos el contenedor: [Read more…]

DEFCON DFIR CTF 2019 writeup (I): Crypto + Deadbox Forensics

Como ya parece ser una (estupenda) tradición dentro de la DEFCON, se ha vuelto a lanzar un reto forense no oficial. Este año se lanzó el día en el que me iba de vacaciones, así que llegamos con retraso para resolverlo, pero llegamos.

Lo primero son los datos con los que tenemos que trabajar. Las evidencias están disponibles en este enlace de Dropbox:

https://www.dropbox.com/sh/4qfk1miauqbvqst/AAAVCI1G8Sc8xMoqK_TtmSbia?dl=0

y aquí tenéis el enlace al sitio web del CTF:

https://defcon2019.ctfd.io/

El reto es más largo que un día sin pan (83 preguntas si he hecho bien las cuentas), así que para no volverme loco me he puesto un límite temporal: tengo una semana para dedicarle al reto, writeup incluido. El domingo 25 ya descargué todas las evidencias y dejé todo listo para empezar, así que el lunes 26 empezamos con ganas. [Read more…]

El Quijote de caza : Una aproximación ortográfica al Threat Hunting

Desde el punto de vista del Threat Hunting, uno de los grandes retos siempre es el modelaje de aquellas anomalías que podemos percibir a simple vista y la generación de reglas que poder integrar en nuestras herramientas.

Para la siguiente serie de artículos se va a dar una aproximación léxica, analizando nuestro lenguaje y su implementación en el entorno TI para la extracción de diferentes anomalías basadas en la ortografía del castellano.
Durante el siguiente artículo vamos a extraer un algoritmo que nos permita la detección de esos dominios generados con DGA a través de la ponderación de cada uno de los caracteres latinos. [Read more…]

Conservar la privacidad como medida de seguridad

Hoy traemos una colaboración de Luis Amigo. Él se define de la siguiente manera: “Con raíces sólidamente enterradas en el mundo Unix, me gusta definirme como estudiante en tránsito, gestor de proyectos, programador, devops… aún faltan muchas cosas por aprender. Cuando no estoy trabajando o estudiando disfruto leyendo, escribiendo o compartiendo artículos.
Desde estas líneas agradecemos a Luis su participación.

Muchas compañías son conscientes de que la información es uno de sus principales activos y por ello invierten cada vez más en protocolos y medidas de seguridad. Los expertos en seguridad saben que el propio usuario es uno de los principales vectores de riesgo y por eso establecen medidas para evitar estos problemas en el entorno controlado de una oficina. Estas políticas entran en colisión directa con paradigmas cambiantes como el trabajo remoto o la posibilidad de llevar dispositivos personales a la oficina (BYOD). Aunque los expertos en seguridad establecen medidas de control para este tipo de casos, es importante que se fijen en otro problema que pasa desapercibido: la cantidad de datos personales que esos trabajadores van dejando en Internet y que pueden ser utilizados para generar vectores de ataque sobre sus compañías.

La ausencia de privacidad es un problema de seguridad

Durante años se ha ignorado el problema de seguridad que viene de la mano de la falta de privacidad. Los usuarios han ido realizando registros en multitud de emplazamientos, dejando respuestas a preguntas secretas, dejando información sobre sus hábitos, sobre su vida, sobre su infancia… sin ser conscientes de los problemas de seguridad derivados de esos problemas. [Read more…]

La importancia del bastionado de servidores – Parte 3. El incidente

Hoy publicamos el tercero, y último, de los artículos cortesía de Jorge García sobre la importancia del bastionado de servidores. Aquí tenéis todos los artículos de la serie [1] [2] [3]

Con la tienda ya publicada y en servicio, llega el momento de poner en práctica todas las cosas que hemos mencionado arriba: mantener una correcta vigilancia, mantener la aplicación y sistemas actualizados, etc.

Personalmente reviso casi todas las mañanas las alertas de Suricata de todos los servicios que tengo publicados. Filtro aquellas que no considero relevantes y me centro en las que sí que lo son. Normalmente se tratan de intentos de intrusión que han sido bloqueados o intentos de explotar una tecnología que no está desplegada en el servidor. Esto ocurre a menudo cuando, por ejemplo, se publica una vulnerabilidad de WordPress y los atacantes intentan explotarla en cualquier CMS accesible desde Internet, aunque no disponga de la versión vulnerable o ni siquiera sea del mismo fabricante del que se haya publicado la vulnerabilidad. [Read more…]

La importancia del bastionado de servidores – Parte 2. Bastionando el servidor

Hoy publicamos el segundo de tres artículos cortesía de Jorge García sobre la importancia del bastionado de servidores. Aquí tenéis todos los artículos de la serie [1] [2] [3]

De acuerdo, tenemos la misión de hospedar una aplicación web de comercio online y ofrecerla al mundo en un servidor que tenemos en propiedad. Nuestro objetivo es que sea lo más inexpugnable posible a todos los niveles. Dado que se trata de una aplicación web, es previsible que el principal vector de entrada de ataques sea a través de vulnerabilidades de la propia aplicación. A ver, no nos engañemos, todos los CMS son firmes candidatos a tener vulnerabilidades severas. El esquema de cómo estará organizada la plataforma es el habitual en un servidor virtual:

Por lo tanto, la cuestión es elegir un CMS con estas premisas:

  1. Que se desarrolle activamente y esté respaldado por una comunidad numerosa de desarrolladores o por una gran empresa. Esto nos garantiza que cuando se publique una vulnerabilidad, ésta sea rápidamente corregida.
  2. Que el CMS instalado sea la última versión disponible de una rama que tenga soporte, y que se prevea que siga teniéndolo durante bastante tiempo. No hay que olvidar que, dado que no disponemos de entorno de desarrollo en casa, las actualizaciones o migraciones implican pérdida de servicio que a su vez implica potencial pérdida de dinero.
  3. Que sea compatible con el sistema operativo del servidor que disponemos. Una consideración que es obvia pero importante.
  4. Que el historial de vulnerabilidades críticas sea lo más bajo posible. Un CMS que se desarrolla activamente y tiene buen soporte pero que de media se descubre una vulnerabilidad crítica cada semana no es viable de mantener ni seguro de utilizar.

[Read more…]

La importancia del bastionado de servidores – Parte 1. Introducción y tipos de infraestructura

Hoy publicamos el primero de tres artículos cortesía de Jorge García sobre la importancia del bastionado de servidores. Jorge se presenta de la siguiente forma: “Aunque oficialmente soy administrador de sistemas y responsable de seguridad en la empresa donde trabajo, lo cierto es que mi trabajo también es mi hobby. Soy un gran aficionado a la informática geek, a la seguridad defensiva, a desplegarme mis propios servidores y a todo proceso DIY (‘do it yourself’) que me plantee nuevos retos de aprendizaje mientras me busco la vida para solucionar los problemas. La evolución es mi pasión.

Todas las empresas, sin importar el ámbito en el que se desarrollan, disponen en mayor o menor medida de una infraestructura informática de servidores que almacenan y procesan información corporativa de vital importancia para el negocio. La duda que siempre me asalta es: si tan importante es esta información, ¿por qué la experiencia nos dice que es tan frecuente que las empresas no mantengan sus servidores, aplicaciones y equipos actualizados y debidamente bastionados?

Bien es sabido que una gran parte de las empresas no toman en serio la seguridad informática. Sin ir más lejos este informe publicado hace tres meses indica que 7 de las 10 vulnerabilidades más explotadas durante 2018 tenían entre 1 y 6 años de antigüedad; o este otro informe que indica que una gran cantidad de empresas no parchean sus sistemas de forma rápida. Esto es debido a que, las empresas piensan que no son objetivo escudándose en el el típico pensamiento de “mi empresa es pequeña y no tiene nada atractivo para los hackers”, o bien porque no tienen o no consideran necesario disponer de recursos de personal y herramientas para mantener la plataforma actualizada. O al menos no lo hacen hasta que ya es demasiado tarde, y de eso mismo voy a hablaros en el post de hoy. It’s a true story. Vamos con un poco de background. [Read more…]