20 septiembre 2016

15 segundos


Este articulo no pretende ser de carácter técnico, ni novedoso, todos los detalles de comunicación con los vehículos están más que accesibles en Internet y cualquiera puede documentarse para conocerlos. Solo es una prueba de concepto que muestra, que la seguridad en el software y hardware en la automoción sigue igual que a finales de los 90 cuando realicé mi primer acercamiento a las comunicaciones entre dispositivos en la Automoción.

Este tema daría para mucha, mucha más literatura, para los que ya se han introducido en este mundo encontrarán a faltar detalles técnicos, pero sólo se ha simplificado en diagonal el concepto de Inseguridad que existe en esta tecnología. Existe mucha documentación fácil de obtener y con todo tipo de detalles, interfaces, y software para iniciarse en este campo.

Los sistemas de hardware y software para aplicaciones de automoción son cada vez más complejos, el que existan multiples fabricantes dificulta la coordinación sobre todo a nivel de normativas de seguridad y buenas prácticas.
En los últimos años han aparecido normas de automoción como la  ISO 26262, que se publicó en noviembre de 2011, y que ofrece a todos los fabricantes un mecanismo común para medir y documentar la seguridad de un sistema de automoción. 
Fue creada específicamente para la producción de automóviles, la norma ISO 26262 proporciona una serie de pasos para gestionar la seguridad funcional y regular el desarrollo de productos a nivel de sistema, hardware, desde el desarrollo conceptual hasta el final de su vida útil.
La realidad, es que a pesar de que gracias a Hackers como por ejemplo Charlie Miller que se dedican a reportar problemas de seguridad, los fabricantes  empiezan a ser sensibles al respecto, pero sensibilidad no es suficiente. Desde al menos 1999-2003 es posible realizar este tipo de ataques, cierto es, que en aquellos tiempos no estaban los vehículos conectados a Internet, pero sí se podía acceder a las unidades de control como ahora, en aquel entonces usaba un portatil y mediante RS232 accedía a la red del vehículo pudiendo interactuar con él como veremos más adelante. 

Imagen cable que usaba en 2002, todavía en uso.

Todos los fabricantes de vehículos tienen desarrollado un Hardware/Software especifico para diagnosticar sus vehículos, todos los concesionarios y talleres disponen de este hardware para poder acceder a todas las unidades de control, bien para simplemente diagnosticar fallos en el sistema, o por ejemplo programar un juego de llaves nuevas, ajustar valores, probar elementos, realizar chequeos, eliminar los indicadores de la revisión del aceite, borrar averías, activar o desactivar funciones. En el "underground", las mafias de exportación de vehículos emplean estas técnicas para reducir kilómetros en los cuadros de instrumentos y cosas menos ilegales como re-programar la unidad de control del motor para ganar unos caballos de potencia extra, jugando con los márgenes de rendimiento que se guarda el fabricante.

En el siguiente vídeo sólo veremos como es posible acceder a la electrónica del coche aprovechando un descuido del usuario del vehículo, que permitirá al atacante, colocar nuestro "troyano" que posteriormente  dará acceso al coche y sus todas sus funcionalidades.
Colocar el "bicho" en el vehículo para controlarlo de forma remota. (pequeño dispositivo que mediante bluetooth nos permitirá tener acceso a las unidades de forma remota).
La tecnología ha permitido reducir el tamaño y eliminar el cable para acceder al coche)

Imagen 1. Dispositivo a colocar en el vehículo.

Imagen 2. PinOut conector de diagnosis.


Imagen 3 Conector de diagnosis ubicado en el vehículo dónde conectaremos nuestro dispositivo.

En las siguientes 2 imágenes veremos la ubicación del conector en dos fabricantes





En las siguientes imágenes veréis el conector "con" y "sin" nuestra "garrapata" en uno de los coches en los que he realizado las pruebas..




Cada unidad de control tiene su identificador y sus peticiones específicas, con sus respuestas, es bastante cuadrado y fácil de ver cuando te pones en ello.

Pero cambia mucho dependiendo del fabricante, no todos usan el mismo protocolo. El acceso a la unidad de control de Motor sí que se ha estandarizado bastante, y es muy fácil acceder a los parámetros a tiempo real de cualquier motor fabricado desde mediados de los 90.

Con un simple interface que podéis montaros vosotros mismos como este, podréis iniciar las primeras conversaciones con vuestro coche que funcionarán bajo el protocolo ISO 9141-2 que principalmente es usado por  la mayoría de fabricantes Asiáticos y Europeos y os permitirá acceder a la unidad electrónica de vuestro motor.


Interface ISO41




Fragmento de parámetros leídos a tiempo real de la unidad de control de un motor gasolina de BMW

Detalles de la trama
Para el resto de unidades de control como Airbags, ABS, Multimedia, Cierre centralizado, Cuadro de Instrumentos, Dirección, Climatización, Navegación, Sensores Parking etc, en la mayoría de fabricantes de utiliza el protocolo CAN BUS

Podréis iniciaros por ejemplo con este adaptador  USB Can BUS que cuesta unos 25$.

USB can BUS adapter

Ejemplo de CAN DATA FRAME


En el video anterior vemos como hemos accedido al cluster (cuadro de instrumentos), lanzando una cadena de comandos secuenciales para actuar en todos los elementos del cuadro.

En el siguiente vídeo vamos a ver como accedemos a otra unidad de control encargada de la activación y desactivación del control de Tracción, un elemento de seguridad  que evita muchos accidentes, a pesar de tener algunos modelos un botón de activación/desactivación se podría realizar un ataque persistente para tenerlo desactivado siempre.




En el siguiente vídeo se puede ver como se accede a la unidad de control de la climatización del un coche..



Para obtener el resultado que hemos visto en los vídeos anteriores, inicialmente capturamos las peticiones legítimas del Hardware oficial del fabricante, para posteriormente poder reproducir las peticiones y obtener los mismos resultados está vez de forma remota mediante bluetooth.

La seguridad en la automoción "moderna" no ha madurado a pesar de haber cumplido sobradamente la mayoría de edad, como todas las tecnologías, hay que ponerlas a prueba para detectar problemas de seguridad que ayuden a mejorarlas. Además, con la tendencia al alza de conectar el vehículo a internet en los modelos más recientes, aumentan los vectores de ataque y cada vez hay más unidades de control para las nuevas funcionalidades, cámaras, sensores de aparcamiento, frenada automática, los Auto-Pilots ,etc...

Queda demostrado de nuevo lo fácil que es acceder a las redes de comunicación interna de los coches.

Como la mayoría de las tecnologías, también se pueden usar para hacer el mal, y no hablaríamos de perdidas de datos, potencialmente estaríamos hablando de perdidas de vidas humanas, como decía al principio.

La seguridad implementada por defecto en la automoción, necesita un empujón, deben de igualarse los avances tecnológicos implementados en los coches con la seguridad que requieren.

Desde mi punto de vista no debería de ser tan fácil acceder a estas unidades de control, se han fabricado dispositivos de conexión OBD de todos los formatos y para todas las marcas de automóviles, basta con buscar por ejemplo en Aliexpress por OBD y veréis como por menos de 5 Euros hay dispositivos OBD que a través de bluetooth te van a permitir acceder a la unidad de control de motor para poder leer estados, parámetros, posibles averías, e incluso permite la interacción de poder borrar las averías y los "Service Checks" de los cambios de aceite.

Los hay más avanzados y con funciones más específicas como el clonar mandos y reprogramar llaves OBD KEY programmers  o KITS muy específicos que te permitirían arrancar coches de alta gama evadiendo todas las medidas de seguridad.

La triste situación actual, es qué, con unos pocos euros y con solo saber leer, puedes acceder a tu coche y establecer una conversación fluida con él. Y no importa cuanto te gastes en tu coche, es más probable que mientras más de alta gama sea, más posibilidades tengas de ser hackeado.

Vigila tu conector OBD, al menos, como las entradas USB de tu ordenador personal.

Os imagináis un "Rubber Ducky"  pero en este caso "RubberOBD"?

Un "bicho" autónomo, con las instrucciones ya aprendidas de casa, para que por ejemplo active el ABS cuando el sensor de giro detecte que estas en una curva.... Ficción?? realidad????

O por ejemplo también, aprovechando que los vehículos empiezan a incorporar frenada de emergencia al detectar objetos en la trayectoria del coche, el PatoOBD  podría frenar el vehículo enviando por CANBUS el comando suplantado que activa la frenada, incluso podría hacerse cuando el vehículo circule a una velocidad determinada, el PatoOBD estaría leyendo los datos referentes a la velocidad del vehículo, y cuando alcance la velocidad X, nuestro PatoOBD inyecta el comando de activación de la frenada de emergencia, Menudo susto!!!!


Cierto es que en la vida real, es muy poco probable que te coloquen un dispositivo de este tipo sin que te des cuenta, pero no falta mucho para que los fabricantes quieran entrar en la red de sus vehículos de forma remota, bien  para  realizar actualizaciones o para recoger estadísticas de uso, y todos sabemos que si el fabricante es capaz de hacerlo, también los malos podrán.

Estamos en los inicios de la era de los coches conectados, a pesar de que el porcentaje es muy bajo todavía, en unos años van a dar mucho que hablar..

Todo está por hacer, si su ciclo de vida evoluciona como el resto de tecnologías, se irán parcheando los problemas según se detecten, tal y como funciona casi todo lo tecnológico hoy en día.

Ya es bastante tarde para empezar desde 0.

15 segundos es el título de la entrada por este vídeo que seguro ya visteis en su momento.
El vídeo no tiene mucha visibilidad ya que el coche tiene el volante a la derecha, pero 'los malos' acceden al conector de diagnosis, colocan el interface, y posiblemente después desactivan la alarma para posteriormente acceder al inmobilizador del vehículo para programarle otras llaves. ( con sólo el "transponder" bastaría) una vez abierto el coche se lo llevan en escasos 15 segundos evadiendo todas las medidas de seguridad de en este caso un flamante Audi RS4. (80.000-90.000 Euros)

Este es un ejempo de como aprovechan los malos las debilidades existentes en la industria de la automoción.




Keep Hacking!!!!


Info de Interés

Leer más...

12 septiembre 2016

Regalamos 5 entradas para #Dragonjarcon 2016




La última vez que estuve en Colombia, fue en 2015, justamente para participar en un  evento organizado por Jaime Restrepo, de la comunidad Dragonjar: El DragonjarCON. En esa ocasión fue en la encantadora ciudad de Manizales, en el que tuve el placer de impartir un taller de Seguridad en Entornos Corporativos y la charla "Cooking an APT in the paranoid way".  

De hecho, y como suele ser habitual en las conferencias a las que he asistido en Latinoamérica, os conté aquí cómo fue la experiencia

Esta semana, el 17 y 18 de Septiembre, tendrá lugar la tercera edición de este evento, esta vez en Bogotá, al hotel NH Royal Metrotel Bogotá, en el que será sin duda todo un éxito.

Contarán con grandes ponentes y amigos, como Hugo Bayona, Mateo Martínez, Jose Pino, Álvaro Andrade, Sheila Berta, Alejandro Hernández, Jocsan Laguna, Rafael Bucio, el propio Jaime Restrepo.... y además como representación española va Pedro Candel!

Puedes registrarte en el mismo en la página del evento: https://www.dragonjarcon.org/

Este año no podré asistir a este evento Desde Security By Default, así como en otras ediciones, queremos colaborar con el evento regalando 5 entradas para el acceso al mismo. 

Para ello, sólo deberás dejarnos un comentario indicando por qué te mereces una entrada completamente gratuita para asistir a este fantástico evento. Seleccionaré las respuestas más creativas de entre las que dejéis. La fecha máxima para participar es el viernes 16 de Septiembre a las 23:59 en horario peninsular español (GMT+1)


Recuerda hacer mención a tu twitter o correo electrónico para que en caso que seas uno de los seleccionados, puedan comunicarse contigo.

Como bases del concurso, que sepáis que SOLO regalamos la entrada al evento.  No está incluido el viaje a Bogotá, ni la comida, ni los gastos de lo que hagas por allí. Por ello, te pediría que si participas en el concurso, es porque o vives en Colombia o te planteas viajar por tu cuenta a disfrutar del evento. La entrada es personal e intransferible, por lo que se la daremos al titular de la cuenta twitter/correo que dejes en tu comentario.

Espero vuestra participación!
  


Leer más...

08 agosto 2016

Evento solidario de seguridad #1Hackparaloschicos




El próximo 26 de Agosto se celebrará en la ciudad Argentina de Córdoba, en concreto en el Colegio Universitario IES, la cuarta edición de #1hackparaloschicos, una jornada con charlas y talleres de seguridad informática, con fines benéficos. La organización de #1hackparaloschicos, la componen los conocidos Maxi Soler y Carlos Garay, y en ediciones anteriores han participado grandes ponentes y amigos como Gustavo Presman, Gustavo Ogawa, Cristian Amicelli, Marcelo Temperini, Maximiliano Macedo o mi criminóloga favorita, Laura Quiñones.

En esta edición participan, entre otros, los chicos de @infoasegurarte (Marcelo y Maximiliano) y se estrena Gabriel Franco, a quien pude conocer en la 8.8 en Chile, de la mano de mi "siempre bien recordado" Claudio Caracciolo.



La finalidad principal del evento es la recogida de alimentos para ayudar a la ONG "Un litro de leche por mes". 

Se trata de un evento, muy al estilo de #X1RedMasSegura o #HackingSolidario que tenemos en España, y para el que se aceptan donaciones de leche en polvo, leche larga vida, cacao, alimentos para desayuno y/o merienda que irán destinados a la Fundación "Un litro de leche por mes", antes mencionada, a nombre de #1hackparaloschicos.

La información relacionada con el evento la podéis encontrar en:
Por supuesto podéis seguir a @1hack en twitter para estar enterados de las últimas novedades.

De haber estado en Argentina, sin duda habría sido un placer el poder participar en una iniciativa de estas características, que sirva para ayudar a los que menos tienen.

Estoy seguro que esta cuarta edición será aún más sensacional, así que no dejéis de ir, y de donar!
Leer más...

03 julio 2016

Enlaces de la SECmana - 325

Leer más...

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...