23 junio 2016

Curso PRESENCIAL de Análisis Forense de Dispositivos Móviles





Una de las mayores demandas que tengo desde el punto de vista de peritaje y análisis forense, se centra en la actividad de smartphones. Os pongo casos reales: “mi marido me espía y creo que me ha metido un troyano en el móvil”, “necesitamos extraer la actividad de whatsapp del empleado X en el teléfono de empresa”, “la custodia de mis hijos depende de que se puedan evidenciar las amenazas que he recibido por parte de mi ex en el teléfono”, “a mi hija la acosaban por el chat de instagram”, etc,… 

Al final, el smartphone es uno de más de la familia, y como pongo de ejemplo muchas veces: se nos puede olvidar el tupper con la comida en casa, y lo solucionamos comiendo fuera y cenando en casa el tupper, pero si se nos olvida el móvil, volvemos a por él… y debido a la alta interacción (e incluso dependencia) que tenemos con él, es por lo que el dispositivo es portador de tantísimas evidencias, que pueden suponer que la moneda caiga de nuestro lado, en un proceso judicial.

Por otra parte, en Securízame, como muchos sabéis, este año hemos comenzado a impartir cursos de formación presenciales. Empecé con uno de Hardening de Sistemas GNU/Linux y ahora estamos terminando una serie de cursos de Python (para sysadmins, avanzado y para pentesters)



Con la idea de satisfacer la demanda que soléis sugerirme sobre formación, es que el viernes 8 y el sábado 9 de Julio, voy a impartir personalmente un curso presencial de Análisis Forense de Dispositivos Móviles. Debido a la cantidad de temario que quiero cubrir, es por lo que tendrá 15 horas de duración reales, comenzando el viernes por la tarde (de 16:00 a 21:30), con un descanso a media tarde, y el sábado en modo intensivo desde las 9 AM a 21:00 PM. 

La idea es que se pierda el menor tiempo posible entre descansos y comida, por lo que TODO estará incluido en el planning: Café y refrescos para los descansos, y pizza para comer. Sólo tienes que preocuparte de ir con ganas de aprender.

Os dejo bajo estas líneas, en modo muy global, el temario que quiero cubrir:


Análisis Forense en Dispositivos Móviles

- Introducción y estándares

- Fases de peritaje de Dispositivos móviles

- Estructura de laboratorio recomendada para análisis forense de dispositivos móviles

- Análisis forense de IOS

    + Modelo de seguridad de IOS

    + IOS Internals

    + Estructuras de datos

    + Fuentes de adquisición de datos:

         - Dispositivo físico

         - Backup

         - iCloud

    + Herramientas libres de análisis de IOS

    + Artifacts de aplicaciones de usuario

- Análisis forense de Android

    + Viaje al interior de Android

    + Estructuras de datos

    + Acceso a sistemas de ficheros

    + Carving de datos

    + Los Logs en Android

    + Análisis de aplicaciones APK

    + Artifacts de aplicaciones de usuario

- Utilización de herramientas automatizadas vs. manual

    + Forense con Nowsecure Viaextract 

    + Forense con Oxygen


Si estás interesado, que sepas que a día de hoy nos quedan 8 plazas disponibles, por lo que te sugiero que no te lo pienses mucho y te registres en el siguiente enlace: 



Leer más...

22 junio 2016

Evolve: una GUI web para Volatility





Una de las primeras tareas que hay que llevar a cabo al atender un incidente de seguridad en un sistema, es adquirir el contenido de la memoria RAM. Para ello, podemos utilizar herramientas como Dumpit o Ram capture. Si utilizamos la suite de herramientas para Windows que vienen en WIN-UFO, dentro de la distribución CAINE, en su formato Live (ya sea USB o CD), además contamos con una de las herramientas favoritas de cualquier analista forense: FTK Imager Lite.

Tan complejo que puede llegar a ser la adquisición de la memoria en Linux, y tan sencillo que se hace con FTK, en entornos Windows. Le damos a un botón y se extrae un dump de la memoria en un fichero.

A partir de ahora, toca trabajo de análisis en laboratorio y a destripar la imagen con una de las mejores herramientas que hay: Volatility.

Para ello, toca pasarle como parámetro a este script hecho en python, la imagen de memoria adquirida, el perfil que indicará el sistema operativo al que pertenece el dump, así como el comando o el script que queramos ejecutar sobre la memoria. 

En esta línea, una ejecución válida sería: "python vol.py pslist -f fichero.mem —profile Win2008R2SP1x64” que nos devolvería la lista de procesos que tenía en ejecución la máquina cuando le copiamos "el cerebro”. Volatility, al estar hecho en Python, permite ser ejecutado en multiplataforma, pero siempre bajo una línea de comandos. Esto está bien, en algunos casos, pero cuando requieres trabajo en grupo, o poder procesar varios scripts sobre una misma imagen, puede ser interesante contar con una interfaz web que permita preprocesar ciertos scripts sobre la imagen adquirida, así como mostrar y almacenar los resultados. 

Aquí es cuando llega, al fin, Evolve.

Su instalación y ejecución no puede ser más sencilla:

git clone https://github.com/JamesHabben/evolve
cd evolve
python setup.py install

Para determinados plugins es necesario disponer de ciertas librerías: 

pip install bottle
pip install yara
pip install distorm3
pip install maxminddb

En el caso de mi instalación, en una distribución CAINE 7, además tuve que ejecutar pip install distorm3 —upgrade

La ejecución de Evolve, necesita varios parámetros. Entre otros, el fichero con el volcado de memoria a analizar, el perfil de Volatility correspondiente a la versión de sistema operativo al que corresponde la memoria analizada, así como el puerto en el que escuchará el servidor web por el que se publicará la información analizada de la memoria.  

 python evolve.py -w 8000 -f /opt/imagen.mem —profile Win2008R2SP1x64 


Si nos conectamos vía web a dicho servicio se nos muestra algo como lo siguiente:



En el panel de la izquierda se puede ver la posibilidad de ejecución de los diferentes plugins, que según se va terminando su ejecución el botón se transforma de run a show. 

La información procesada queda en el mismo directorio donde se encuentra el dump de memoria, en un fichero con formato SQLite, en el que se genera una tabla por cada plugin ejecutado.

sqlite> .tables
AmCache   AtomScan  Auditpol  CmdScan   PSList    PSTree    YaraScan ApiHooks  Atoms  BigPools  Cmdline   PSScan    VerInfo 

Como digo, una herramienta más o incluso una ayuda para hacer más visual el resultado que interpreta una herramienta. Sin embargo, el trabajo real lo tiene que hacer el ojo y mente humanas, que son las que realmente entienden lo que ven.


Leer más...

21 junio 2016

Anti Ransom V3

Ya ha pasado algún tiempo desde la última versión de Anti Ransom y, como es lógico, muchos correos, conversaciones y gente me ha dado sugerencias, ideas y reportado fallos.

Con todo eso en la mano, he rediseñado bastante Anti Ransom y lo he hecho evolucionar de arriba a abajo.

De entrada, primer y principal cambio: Ahora Anti Ransom es OpenSource y puedes descargar, visionar y si te apetece colaborar en el código fuente del proyecto desde GitHub.

Esto ha sido posible al cambiar del lenguaje original (Perl) a Python. Perl requería el uso de PDK, una herramienta comercial que permite convertir scripts en ejecutables libres de dependencias. En el caso de Python, lo he cambiado por Pyinstaller.

El siguiente cambio ha sido dejar de utilizar handle como herramienta para listar ficheros abiertos. Eso evita seguir teniendo que descargar en cada instalación dicho programa. Queda como dependencia Procdump, pero ya estoy valorando ideas para eliminar dicha dependencia.

El módulo psutil de Python tiene una interesante función llamada open_files() que lista los ficheros abiertos de cada proceso. Personalmente era bastante escéptico, pero una vez implementada una rutina basada en ella, tengo que decir que el resultado ha sido excelente. Todas las muestras que he usado han sido detectadas con bastante celeridad, superando con mucho la rutina anterior que usaba handle

Otro tema que inquieta mucho a la gente son los falsos positivos. A lo largo de estos años mucha gente me ha enviado correos al respecto. Para abordar este tema, de entrada, durante la instalación se deshabilita y detiene el servicio de indexación de Windows, causante de la mayoría de falsos positivos.

Además, ahora Anti Ransom ya no decide por si mismo eliminar un proceso, te permite decidir a ti lo que quieres hacer


Evidentemente, el gap de tiempo que hay entre que tú decides y el proceso muere, puede suponer que tu HD quede cifrado o no. Por eso, lo que hace AntiRansom es suspender el proceso potencialmente malicioso y lanzar el popup, de esa forma, mientras decides, tu HD sigue a salvo. Si le dices 'Go', el proceso se des-suspende y sigue con normalidad y si le dices stop, el proceso muere dejando tras de sí un dump de su memoria en la que puedes 'escarbar' y tratar de encontrar la(s) clave(s) que ha usado para cifrar los ficheros.

Además, ahora Anti Ransom es multi-hilo, de forma que, si encuentra un proceso sospechoso y lanza el popup, lanzará a la vez otro hilo que sigue monitorizando. Por tanto, si un malware ha lanzado 10 procesos, los 10 van a ser detenidos casi a la vez, independientemente de que estés frente al PC para pulsar 'Stop'. Cuando vuelvas, verás los 10 popups y todos los procesos maliciosos estarán suspendidos.

Otro cambio importante es la interfaz gráfica. Ha mejorado bastante al emplear QT como motor gráfico y sobre todo gracias al precioso logo que me han regalado :)


La versión ya compilada y lista para ser instalada se puede descargar desde aquí. En poco tiempo actualizaré la página principal del proyecto, con capturas y vídeos
Leer más...

20 junio 2016




En general, si en algo podemos caracterizar a España en cuanto a la seguridad informática, es por contar con muchísimos eventos de seguridad repartidos a lo largo y ancho de su geografía: la mayoría públicos y algunos privados, dirigidos a todo tipo de público, desde los más neófitos en la materia hasta aquellos muy especializados, con contenidos más generalistas hasta contenidos muy innovadores y con un alto carácter técnico. Todos ellos han ido creciendo rápidamente en número, pasando de muy pocos y espaciados en el tiempo, a poder contar con al menos un par de eventos al mes como mínimo y prácticamente en cualquier lugar.

Para este artículo, se han elegido los eventos públicos organizados por entidades privadas y que son representativas de las denominadas "CONs" en el argot o "Conferencias de Seguridad", ya que además existen otra multitud de eventos públicos organizados por las Administraciones Públicas, eventos con un fin más comercial, etc. Nos centraremos simplemente en las que podemos decir que tienen la "esencia de una CON".

Todas ellas bajo el mismo denominador común que las caracteriza, con independencia del tipo de público al que se dirigen, siempre se hace especial hincapié en recomendar al público que emplee siempre las mejores prácticas y medidas de seguridad, sobre todo al navegar por un sitio web, que se fijen en el "candadito" famoso del navegador principalmente a la hora de tener que facilitar cualquier tipo de dato personal. Pero en este artículo nos planteamos si ellas son las primeras que lo hacen, al menos para dar ejemplo a diferentes Organizaciones, Administraciones, particulares, etc. y cuentan con las medidas de seguridad mínimas en cuanto a la implementación de protocolos y prácticas de navegación seguras en sus páginas web de internet.

Es cierto que no se encuentran obligadas a dar cumplimiento a ninguna Ley como la 11/2007 de 22 de junio de Acceso Electrónico a los servicios públicos como ocurre en el caso de las Administraciones Públicas, pero algunas veces, en sus páginas nos solicitan datos de carácter personal para suscribirnos a una lista de correo, para adquirir una entrada o para cualquier otra cosa. Por tanto, deben de cumplir con la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal (LOPD) y en función de la clasificación de los datos personales que requieran, tendrán la obligación de aplicar diversas medidas de seguridad.

Para poder asegurar un protocolo inseguro como HTTP, empleamos SSL (Secure Sockets Layer) y TLS (Transport Layer Security) para poder cifrar las comunicaciones y poder autenticar al menos a una de las partes, en este caso el servidor para que sea realmente quien dice ser ante nosotros y no pueda existir un repudio, siendo a veces opcional incluso la autenticación también del cliente.

Otros compañeros del sector ya han presentado varios informes en los que se hablaba sobre las necesidades del cifrado como el Análisis de la implementación SSL en los Ayuntamientos Españoles donde el panorama de las conclusiones expuestas era bastante desolador.

Veremos si los que deberían de ser los primeros y "predicar con el ejemplo" realmente lo hacen y cómo es la situación actual entre las diferentes CONs.

La muestra empleada han sido todas las denominadas CONs de España activas del tipo público y organizadas por entidades privadas conforme se ha explicado anteriormente. Ha sido realizado el día 26 de mayo de 2016 y la única CON no incluida ha sido "ConectaCON" ya que redirigía su página a otra CON que ya es objeto de estudio. Por tanto, contamos con un total de 21 CONs de este tipo. Pido disculpas anticipadas por si he olvidado alguna o no se ha incluído algún evento, pero es lo que tiene tener tanta diversidad.

Para el análisis, se ha empleado el servicio de "Qualys SSL Labs" para analizar la seguridad del servidor principal de cada CON disponible en https://www.ssllabs.com/ssltest/analyze.html donde han sido analizados los siguientes aspectos:

a) Autenticación

a.1.- Certificado del servidor
a.2.- Certificados adicionales
a.3.- Cadena de certificación

b) Configuración

b.1.- Protocolos
b.2.- Cifrados empleados
b.3.- Simulación de handshakes
b.4.- Detalles del protocolo
b.5.- Misceláneo

En la siguiente tabla, se muestran los resultados finales obtenidos según el grado final conseguido en base al análisis minucioso y exhaustivo de los aspectos se seguridad indicados anteriormente. Para el ranking, cuando no es posible acceder por SSL/TLS, se ha priorizado un error en la conexión a mostrar una página indicando la posibilidad de mostrar el sitio web.

+-------------+-----------------------+------+------+-------+-------+---------------------------+
|     CON     |           URL         | NOTA | HTTP | HTTPS |  HSTS |         COMENTARIOS       |
+-------------+-----------------------+------+------+-------+-------+---------------------------+
| FAQin       | faqin.org             |  A+  |  Ok  |   Ok  |   Ok  | (1)                       |
| Morteruelo  | morteruelo.net        |  A+  |  Ok  |   Ok  |   Ok  | (2)                       |
| Rooted      | rootedcon.com         |  A   |  Ok  |   Ok  |       | (6)                       |
| Navajanegra | navajanegra.com       |  B   |  Ok  |   Ok  |       | (3)(4)(5)(6)              |
| Nocon Name  | noconname.org         |  C   |  Ok  |   Ok  |   Ok  | (3)(4)(7)                 |
| Mundohacker | mundohackerday.com    |  F   |  Ok  |   Ok  |       | (8)(0)(A)(9)(7)(B)(4)     |
| Easthackmad | eastmadhack.org       |  T   |  Ok  |   Ok  |       | (8)(3)                    |
| Qurtuba     | qurtuba.es            |  T   |  Ok  |   Ok  |       | (8)(C)(3)                 |
| Hack&Beers  | hackandbeers.es       |  T   |  Ok  |   Ok  |       | (8)(C)(3)                 |
| X1Red+Segura| x1redmassegura.com    |      |  Ok  |       |       | (F)                       |
| Secadmin    | www.secadmin.es       |      |  Ok  |       |       | (F)                       |
| Honeysec    | honeysec.info         |      |  Ok  |       |       | (F)                       |
| Clickaseguro| clickaseguro.es       |      |  Ok  |       |       | (F)                       |
| Hackron     | hackron.com           |      |  Ok  |       |       | (D)(E)                    |
| Sh3llcon    | www.sh3llcon.es       |      |  Ok  |       |       | (D)(E)                    |
| Euskalhack  | euskalhack.org        |      |  Ok  |       |       | (D)(E)                    |
| Gsickminds  | gsickminds.net        |      |  Ok  |       |       | (D)(E)                    |
| Albahaca    | albahacacon.es        |      |  Ok  |       |       | (D)(E)                    |
| Tomatina    | tomatinacon.com       |      |  Ok  |       |       | (D)(E)                    |
| Paella      | paellacon.com         |      |  Ok  |       |       | (D)(E)                    |
| Conpilar    | conpilar.es           |      |  Ok  |       |       | (D)(E)                    |
+-------------+-----------------------+------+------+-------+-------+---------------------------+


*** Leyenda ***

(1) Negocia los protocolos de mayor seguridad y mayor longitud en bits a menor (más seguro)
(2) Negocia los protocolos de mayor seguridad y menor longitud en bits a menor (menos seguro)
(3) Negociación débil con Diffie-Hellman
(4) No soporta Perfect Forward Secrecy (PFS)
(5) Cadena de certificación incompleta
(6) Sólo soportan navegadores con soporte de Server Name Identification (SNI)
(7) Sólo soporta TLS 1.0
(8) Certificado no confiable (difiere el nombre al sitio)
(9) Algoritmo de firma débil en el certificado
(0) Soporta SSL 2
(A) Soporta SSL 3
(B) Soporta RC4
(C) Vulnerable a Poodle
(D) No configurado para permitir HTTPS
(E) Se muestra mensaje del propio ISP instando a cambiar la página
(F) No se puede conectar


Puede accederse a los resultados individuales detallados obtenidos por Qualys SSL Labs para cada una de las CONs en https://mega.nz/#!wRRXUJQB!TUzUe1sFXn-UcTIYduKE3qmMkSfFUNmidGSPC_lBaW0

Como conclusión y a la vista de los resultados, podemos decir que son muy mejorables en general las medidas de seguridad mínimas en cuanto a la implementación de protocolos empleadas en sus servidores. Por tanto, se da muy bien organizar todo tipo de CONs pero no tanto dedicar algo de tiempo a ser los primeros en dar ejemplo y tener los servidores correctamente configurados para que cuando el público navegue con el "candadito" puesto -en el caso de que sea posible- lo haga de la forma más segura posible. Destacar también que sólo 3 CONs son capaces de trabajar de forma segura con el protocolo HSTS (HTTP Strict Transport Security) y que 2 de ellas hacen uso de la autoridad de certificación Let's Encrypt.

Contribución Anónima
Leer más...

19 junio 2016

Enlaces de la SECmana - 323

Leer más...