Quantcast
Channel: Un informático en el lado del mal
Viewing all 4293 articles
Browse latest View live

2FWB: Second Factor Web Browsing [Parte 4 de 4] "2FWB Modo Centinela"

$
0
0
Tras comprobar que el funcionamiento de la solución de 2FWB con aplicación móvil y servicio en cloud para las verificaciones de seguridad funcionaba perfectamente, se nos ocurrió darle una vuelta de tuerca. Al final, habíamos optado por utilizar una conexión BlueTooth en lugar de una conexión BlueTooth Low Energy, y eso nos abría muchas puertas.

Figura 29: 2FWB: Second Factor Web Browsing [Parte 4 de 4] "2FWB Modo Centinela"

En un principio, recordad que la idea de usar 2FWB era poder tener una solución móvil que yo, como responsable adulto de Mi Hacker y Mi Survivor, pudiera utilizar en cualquier conexión de red para comprobar que no se estaba produciendo ningún ataque a la red IPv4 o IPv6 por la que se conectan esos equipos desde su ubicación hasta el servidor web. Pero el caso de uso evolucionó.

2FWB Personal y 2FWB Empresarial

Tras comenzar como una solución de protección para menores, también nos pareció una solución perfecta para navegación personal. Imagina que estás de viaje en una ciudad que no es la tuya. Tienes que trabajar y consumir muchos datos desde tu habitación de hotel, así que pides la red WiFi. Eres un tipo preocupado por la seguridad, así que tienes fortificado tu end-point (el equipo desde el que te conectas) y además, tienes las soluciones de fortificación de la red WiFi que puedes ya que la red WiFi no es tuya.

De las opciones de fortificación de las redes WiFi hablamos el año pasado en la RootedCON 2018, con la charla de Wild Wild WiFi: Dancing with wolves, donde explicamos los trabajos de investigación que hemos hecho durante estos años para fortificar las conexiones a redes WiFi con soluciones como Mummy, SSID Pinning, PsicoWiFi o WEP/WPA/WPA2-TOTP/Biometría.

Aún así, sacar tu teléfono móvil, parearlo con el Agente 2FWB y navegar con la Extensión 2FWB permitiría detectar ataques de Man in The Middle en la red, e incluso más allá. Es decir, si hiciéramos una conexión VPN entre nuestro equipo y un servidor VPN y el ataque de red IPv4 & IPv6 estuviera más allá de nuestro servidor VPN, o hubiera un Proxy manipulando nuestras peticiones entre el servidor web al que deseamos conectarnos y nosotros mismos, también se detectaría.

Figura 30: 2FWB Mobile App para uso personal

Esto es algo importante a resaltar de la solución de 2FWB y es que no está diseñada para detectar los ataques en la red de conexión a Internet, sino a los ataques de red que se produzcan en cualquier tramo entre el cliente y el servidor web que no esté compartido con el Second Channel.

Dicho esto, y pensando que esta solución utilizaba BlueTooth, se nos ocurrió que las redes por defecto podrían tener "centinelas" de seguridad fijos que ayudaran a dar esta protección. Imagina que llegas a tu despacho, a un centro de co-working o a tu casa, y tienes un dispositivo inteligente que no se conecta a tu red WiFi ni a tu red Ethernet, sino que tiene una SIM que lo conecta a Internet por un Second Channel. Este dispositivo, permite conexiones BlueTooth para vigilar la navegación.

Figura 31: Esquema de 2FWB Modo Centinela

Para esta Prueba de Concepto utilizamos un esquema como el que se puede ver, usando una Raspberry Pi y cambiando la SIM por un WiFi Tethering para tener la conexión del Second Channel usando la red móvil del smartphone con el que pareamos la Raspberry Pi.

Así, las personas que trabajan en ese espacio físico, por seguridad, deciden utilizar el servicio Centinela 2FWB de la ubicación física y se conectan a él con su Agente 2FWB a través de la Extensión 2FWB, lo que les permite tener alertas de seguridad y detección de ataques de red en todo el tramo de conexión que haya entre su equipo personal y servidor al que se están conectando. De nuevo, más allá incluso de su servidor VPN.

Prevención y Detección de ataques de red (más allá de la VPN)

A lo largo de muchos años hemos estado investigando ataques de redes IPv4 & IPv6. De ahí nacieron las herramientas como Evil FOCA o los ataques a través de servidores Proxy que explicamos en las charlas de Owning Bad Guys {and Mafia} using Javascript Botnets que utilizamos para explicar cómo infectar un terminal iPhone con un Rogue AP en el libro de Hacking iOS: iPhone & iPad.


Figura 32: Ataques en redes IPv6 con Evil FOCA en DefCon

Han sido, y siguen siendo, muchos años hablando de las debilidades de las redes, y contando como sistemáticamente aparecen ataques a los servidores DNS de los routers (en lo que va de mes creo que ha habido varias alertas de seguridad de este tipo), así que garantizar que una conexión entre tu equipo y el servidor web no se vaya a ver afectada por algún tipo de manipulación es complicado.

Figura 33: Ataque de DNS Hijacking esta semana

En el trabajo de Wild Wild WiFi nos centramos en la Prevención de los ataques, pero este trabajo de Second Factor Web Browsing se centra en la Detección de los ataques. Una fase distinta dentro los procesos de fortificación y seguridad de cualquier sistema informático o servicio en la empresa.

Como parte de nuestro trabajo de innovación en materia de ciberseguridad dentro de ElevenPaths, tras realizar la Prueba de Concepto, observamos que esta solución de 2FWB, tanto en Modo App Móvil, como en Modo Centinela, tenía una aproximación única, así que hicimos la presentación de las patentes pertinentes de la solución.

Figura 34: Patentes de 2FWB

Aún estamos en una fase embrionaria de convertir esta solución en un producto o servicio estable, pero es lo que tiene la investigación, cada día se avanza un poco más aprovechando todo el trabajo que se ha hecho antes hasta que sin darte cuenta las características se van introduciendo ellas solas en todo lo que va saliendo.

.

Os dejo las diapositivas que utilicé en la charla de RootedCON 2019 subidas a SlideShare, y no quiero terminar este artículo sin explicar que estos trabajos son el esfuerzo conjunto de un grupo de personas. No basta con tener la idea, hay que construirla y ahí contar con mis compañeros del equipo del Laboratorio de Innovación de ElevenPaths y del equipo de Ideas Locas es genial.

Saludos Malignos!

*****************************************************************************************
- 2FWB: Second Factor Web Browsing [Parte 1 de 4] "Second Channels"
- 2FWB: Second Factor Web Browsing [Parte 2 de 4] "Network Attacks"
- 2FWB: Second Factor Web Browsing [Parte 3 de 4] "2FWB Mobile App"
- 2FWB: Second Factor Web Browsing [Parte 4 de 4] "Modo Centinela"
*****************************************************************************************

Autoencoders, GANs y otros chicos (buenos y malos) del montón: La IA al servicio de la Ciberseguridad [1 de 5]

$
0
0
El pasado sábado 30 de marzo mi compañero del equipo de Ideas Locas Enrique Blanco y yo tuvimos la suerte de estar en RootedCON 2019 dando una charla sobre el uso de la "Inteligencia artificial aplicada a la Ciberseguridad". Recientemente se ha hablado por aquí del más que recomendable libro de Machine Learning aplicado a Ciberseguridad en el que han participado otros compañeros, pero nuestro objetivo en la charla era justo el contrario.

Figura 1: Autoencoders, GANs y otros chicos (buenos y malos) del montón:
La IA al servicio de la Ciberseguridad [1 de 5]

La intención era mostrar el estado actual de ciertos aspectos como la generación de vídeos y noticias falsas mediante la aplicación de tecnologías de Inteligencia Artificial, pero también cómo esto se envuelve en ciberataques. El objetivo era desarrollar un poco más el trabajo que habíamos hecho para el Security Innovation Day 2018 de ElevenPaths en el que explicamos "Cómo hacer un Face Swapping con Chema Alonso para hacer una Fake News".


Figura 3: Vídeo de prueba con FaceSwapping usando en el SID 2018

Además, algo fundamental era explicar cómo la IA también se utiliza para el servicio del bien, la detección de este tipo de ataques gracias al uso de otros modelos y herramientas basadas en IA es algo ya del presente, pero que veremos aún más en el futuro próximo.

Así llegamos el sábado a la sala 25 de Kinépolis en Ciudad de la Imagen. Con las ganas de dar lo mejor de nosotros y poder mostrar lo que se había trabajado en el equipo de Ideas Locas durante los últimos meses. Siempre con el “nervio” en el estómago, aunque hayas pasado por varias RootedCON y RootedLabs. La RootedCON es estar en casa, pero siempre uno quiere dar lo mejor de sí.

¿De qué va esto?

Cuando Enrique Blanco y yo hablábamos de las slides definimos bien el alcance y lo ajustamos al tiempo de la presentación. Lo primero era que la gente que asistía a la charla entendiera cuál era el contexto de la charla. Por ello, empezaríamos hablando de las noticias falsas y vídeos falsos que son conocidos por todos: el vídeo de Barack Obama y su boca creada a través de una red neuronal profunda, el video de Steve Buscemi como Jennifer Lawrence o el de una famosa actriz en el cuerpo de una actriz porno del que ya hablamos.

Figura 3: Ejemplo de la cara de la actriz de Star Wars en el cuerpo de una actriz porno

Además, queríamos mostrar que una noticia apoyada en un audio o un video falso puede ser mucho más creíble, aunque, históricamente, hemos vivido que un simple texto de una fuente oficial o lo que parece una fuente oficial puede tener un gran impacto en nuestra libertad y nuestra economía. Todos estamos de acuerdo en que una Fakenews - como se vio con el escándalo de Cambridge Analytica - es importante y puede ser utilizada para tomar ventaja y engañar o estafar a cualquier partícipe de la sociedad.

Figura 4: Vídeos falsos creados con IA

Tras el breve repaso por las noticias nos tocaba hablar de si la IA aplicada a la ciberseguridad es un matrimonio condenado a entenderse. Es nuestra opinión, pero no vale para todo. Esto hay que explicarlo. Pusimos dos ejemplos de los que se pueden encontrar en el libro de Machine Learning aplicado a Ciberseguridad.
• Detección de anomalías de red: Mediante la aplicación de un algoritmo de aprendizaje supervisado basado en clasificación se puede entrenar a una máquina para diferenciar entre tráfico legítimo y tráfico anómalo. Mediante la etapa de ‘testeo’ o ‘puesta en producción’ la máquina debe ser capaz de diferenciar entre tráfico legítimo o normal de lo que es tráfico anómalo. Esta prueba se puede encontrar en el Talk de LUCA llevado a cabo por Carmen Torrano y Rafa Sánchez.

Figura 5: Redes más seguras con Machine Learning
• Detección de ataques de phishing: Como segundo ejemplo vemos el servicio llamado Phish.AI del que ya hemos hablado por este blog.. Este servicio recibe una URL e indica a través de una IA basada en aprendizaje supervisado por clasificación si un sitio es phishing o no.
Figura 6: Dashboard de Phis.AI con resultados de URLs analizadas
Pero el número de casos es alto cuando empezamos a revisar los estudios. Ya escribió Enrique Blanco un artículo sobre Generative Adversarial Networks y Ciberseguridad en el que veía su aplicación a casos muy diversos. Desde el mundo del malware y los antivirus, el cracking de contraseñas, o las técnicas de esteganografía y estegonálisis.

Figura 7: Una GAN para el Password Guessing

Pero aún así, no todo vale. Cuando digo que no vale para todo es que no es una palabra mágica, ni, por supuesto, la panacea. Hay una tendencia a abusar de palabras de moda, como ocurrió en su día con el BigData, Blockchain o APT. Todo el mundo quería que las soluciones a sus problemas se resolvieran con este tipo de técnicas o tecnologías. Hay que entender bien el problema y ver dónde se puede aplicar y dónde no.

Conceptos Base

Llegó el momento de los conceptos y la base de teoría. Una cosa que queríamos hacer Enrique Blanco y yo era que los asistentes pudieran entender la práctica que venía después a través de la teoría. Esta teoría se daría de forma lo más sintetizada y sencilla posible, para entender de forma ‘coloquial’ lo que es el Machine Learning, un Modelo, un Algoritmo, una Red Neuronal, un Autoencoder o una Generative Adversarial Network (GAN), entre otras cosas. Este era un objetivo complejo debido al tiempo del que se disponía.

Figura 8: ¿Qué son las redes neuronales?

En la parte teórica había dos partes bien diferenciadas: una breve introducción al Machine Learning y otra un poco más detallada donde se profundizaba sobre los Autoencoders y las GANS, ambas trabajando bajo el paradigma de aprendizaje no supervisado con el objetivo de construir vídeos falsos creados por AI para hacer Fakenews.

Autoencoders

En el primer caso, los Autoencoders, su espacio dimensional es reducido. En otras palabras, de los datos fuente o de la imagen, en este caso, se hace una reducción de dimensionalidad captando ciertas características que nos permiten generar un vector base. A través de ese vector base se puede reconstruir la imagen posteriormente.

Figura 9: Autoencoders

Lógicamente, cuanto mayor es el entrenamiento mejor será la capacidad de esta arquitectura de reconstruir la imagen a partir de su espacio latente o vector base. Por ello, en primeras instancias puede que tengamos imágenes reconstruidas con poca nitidez.

Generative Adversarial Networks

En el caso de las GANs tenemos el siguiente esquema que se puede ver en la imagen. Son dos redes neuronales enfrentadas. Uno es el generador y otro el discriminador. Lo que hacen es un juego de suma cero. Competirán el uno con el otro para ver si el generador engaña al discriminador o no.

Figura 10: Generative Adversarial Networks

En otras palabras, el Generador (G) generará imágenes falsas y el Discriminador (D) comparará imágenes de entrenamiento reales con la imagen generada por el generador. Cuando el Generador engañe al Discriminador y éste no sepa diferenciar cuál es la real, el Generador ha ganado y cuando el Discriminador sepa diferenciar cual es la falsa, el Discriminador gana. El entrenamiento de las GANs funciona así:
• G (generador) genera muestra y se las pasa a D (discriminador). Es decir, G intenta engañar a D. 
• D estima la probabilidad de que la muestra provenga de G (D intenta descubrir a G).
• Entregar D para desenmascarar a G maximizando la probabilidad de que D esté equivocado.
 
• Indicar a G cómo de cerca ha estado de engañar a D.
Hay una serie de riesgos en el entrenamiento de GANs, que también se comentaron y que son:
• El tiempo de entrenamiento es largo, siempre dependiendo de los recursos que se utilicen y se dispongan. 
• El modelo puede no converger. 
• G se queda estancado y no genera muestras válidas o variadas. 
• D se hace demasiado bueno y condena a G.
Autores:Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advance Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica y Enrique Blanco (@eblanco_h) es Investigador en el departamento de Ideas Locas CDO de Telefónica

**************************************************************************************************
- La IA al servicio de la Ciberseguridad [1 de 5]
- La IA al servicio de la Ciberseguridad [2 de 5]
- La IA al servicio de la Ciberseguridad [3 de 5]
- La IA al servicio de la Ciberseguridad [4 de 5]
- La IA al servicio de la Ciberseguridad [5 de 5]
**************************************************************************************************

Autoencoders, GANs y otros chicos (buenos y malos) del montón: La IA al servicio de la Ciberseguridad [2 de 5]

$
0
0
Tras ver los conceptos básicos y fundamentales de las demostraciones que vamos a ver, ya en esta segunda parte del artículo vamos a comenzar a desgranar algunos ejemplos de cómo se pueden utilizar estas tecnologías para hacer, en principio, cosas malas como crear vídeos falsos para FakeNews utilizando diferentes aproximaciones.

Figura 11: Autoencoders, GANs y otros chicos (buenos y malos) del montón:
La IA al servicio de la Ciberseguridad [2 de 5]

Para comenzar vamos a ver dos ejemplos de Face Swapping en los que Pablo González (yo) se mete a cómico usando un vídeo de Miguel Lago y Enrique Blanco se pone a entrenar a un equipo de fútbol, utilizando un vídeo del conocido técnico Mouriño, creando los primeros vídeos usando estas técnicas.

VAE (Variatonial Autoencoders)

Para ejemplificar el uso de un VAE (Variational AutoEncoders) comenzaremos con el vídeo de ‘Pablo se mete a cómico’, donde se hace un Face Swapping entre el cómico Miguel Lago y un vídeo mío. Lo importante aquí no es que Miguel Lago tenga mi cara. Lo importante es que nosotros podemos grabarnos haciendo lo que queramos y luego poner la cara de un político, un directivo, un famoso, etcétera.

Figura 12: Face Swappping entre Pablo González y el famoso cómico Miguel Lago

Este sería un ataque muy parecido a lo que se indicaba del video de la actriz famosa en el cuerpo de una actriz porno para hacer una difamación de la imagen pública del personaje, tal y como explicamos en los Corporate APT contra directivos. En el  caso de Enrique Blanco, como se ha dicho, el vídeo mezcla a José Mouriño con él.

Figura 13: Mezcla de las facciones de la cara de Enrique Blanco con José Mouriño

Para realizar el proceso de Face Swapping que hemos utilizando en estos sencillos ejemplos se sigue un pequeño algoritmo que describimos a continuación::

1. Extracción y detección de rostros:
En este paso se obtienen todos los frames de los videos, tanto del vídeo donde se quiere incrustar la cara como del vídeo que proporciona las caras que se quieren incrustar. Hay que tener en cuenta que se hará una detección de marco facial. Por otro lado, Enrique Blanco se grabó haciendo movimientos similares a José Mourinho
Figura 14: DeepFaceLAB en GitHub
Como recomendación debemos tener claro que, si tenemos iluminación similar al vídeo, un fondo limpio y una orientación del rostro similar, el proceso se simplifica. En el siguiente Github (Prebuilt Windows App) se dispone de una librería que es capaz de hacer Face Swapping.
Figura 15: Reconocimiento de caras con IA

2. Entrenamiento del Variational Auto Encoder (VAE)
Las imágenes de Enrique Blanco y de José Mourinho originales son reducidas a un espacio latente o vector base, quedándose con las características mínimas necesarias para llevar a cabo la reconstrucción. La reducción se ha a través de un encoder, mientras que la reconstrucción se hace a través de un decoder.
Figura 16: Rostros pareados en formato latente

3. Testeo de la red neuronal y generación de vídeo
Desde el modelo o vector base de José Mourinho se pasa por el decoder de Enrique Blanco, por lo que se obtiene una imagen de la cara de Enrique con las facciones y gestos de Mourinho.
Figura 17: Reconstrucción de caras con VAE
El resultado final, que se puede ver en este vídeo de una pequeña actuación del cómico Miguel Lago en el programa de La Resistencia de Movistar+ #0 en la que hemos puesto la cara de Pablo González (la mía, vamos).


Figura 18: Resultado del Face Swapping con VAE

Por supuesto, en estos casos se ha intentado explicar cómo funciona el algoritmo que hemos utilizado, y hemos buscado que los ejemplos fueran los suficientemente llamativos como para que se resaltase el Face Swapping, pero como podéis imaginar, si alguien quisiera hacer un vídeo realista, contar con buen material de vídeos fuentes, elegir los momentos, los gestos, las palabras y las fisonomías de las personas ayudaría a un resultado hiperrealista.

Autores:Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advance Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica y Enrique Blanco (@eblanco_h) es Investigador en el departamento de Ideas Locas CDO de Telefónica

**************************************************************************************************
- La IA al servicio de la Ciberseguridad [1 de 5]
- La IA al servicio de la Ciberseguridad [2 de 5]
- La IA al servicio de la Ciberseguridad [3 de 5]
- La IA al servicio de la Ciberseguridad [4 de 5]
- La IA al servicio de la Ciberseguridad [5 de 5]
**************************************************************************************************

Autoencoders, GANs y otros chicos (buenos y malos) del montón: La IA al servicio de la Ciberseguridad [3 de 5]

$
0
0
Como nos había pedido nuestro querido, y nunca suficientemente bien valorado jefe, para el Security Innovation Day, cuando nos pidió que le ayudáramos con un Corporate APT a ejecutivos de una empresa haciendo un Face Swapping con él para hacer una Fake News, en nuestra charla de la RootedCON explicamos una vuelta de tuerca del proceso.

Figura 19: Autoencoders, GANs y otros chicos (buenos y malos) del montón:
La IA al servicio de la Ciberseguridad [3 de 5]

No se trataba de hacer la suplantación de la cara de Chema Alonso en el cuerpo de otra persona (por ejemplo un actor) para hacer una difamación. En este caso queríamos hacer algo en Real-Time para convertirnos en él mismo - al menos por Vídeo-Conferencia -.

Caso 3: ¿Cómo convertirse en Chema Alonso?

En la charla elegimos a nuestro CDO en Telefónica, y querido jefe, Chema Alonso, ya que su perfil encajaba perfectamente con una identidad que pudiera ser objetivo de una suplantación para realizar una estafa, tan conocida, como la del CEO. Para este caso, trabajamos con las Generative Adversarial Networks (GANs).


Figura 20: Charla de Corporate APT with Fake News en SID 2018

Queríamos demostrar que con dos redes neuronales enfrentadas se puede generar una imagen resultante que puede engañar a cualquier ojo humano en tiempo real, y sin necesidad de grandes recursos.

Figura 21: Datos del vídeo de origen para la conversión en CDO

Para este caso se utilizaron los siguientes requisitos, que aplicaríamos sobre un vídeo elegido. En nuestro caso un vídeo en el que nuestro compañero habla a la webcam como si fuera una Vídeo-Conferencia y explica cosas con un fondo blanco. Nos pareció bueno para hacer la simulación y extraer de él los rostros necesarios para hacerlo "hablar".
• PC con una NVidia como GPU
• Anaconda / Python 3.5
• OpenCV 3.0
• Dlib 19.4
• Pix2pix-tensorflow
• CUDA 8.0
• CUDNN 6.0
• Drivers aplicables a la GPU
La librería para generar este tipo de caso se puede encontrar en el siguiente Github y se llama face2face-demo. Por usar el formato anterior, proponemos el siguiente paso a paso:

Figura 22: Face2FaceDemo en GitHub
1. Generación de datos de entrenamiento: Como se ha dicho, la elección del vídeo original ayudará a conseguir un mejor o peor resultado, así que esta decisión es bastante importante.
a. Detección del rostro del vídeo fuente, como se puede ver en la siguiente animación en GIF de algunos de ellos. 
b. Detección de las facciones con dlib pose estimator – 68 face landmarks. 
c. En este vídeo se disponían 728 frames.
Figura 23: Detección de facciones en el rostro extraídas del vídeo
2. Entrenamiento del modelo generativo: Se hizo uso de pix2pix-tensorflow. El tiempo utilizado de entrenamiento es de tres días aproximadamente. Hay que tener en cuenta que con una TPU en Google Cloud este tiempo puede reducirse drásticamente.
Una vez que se ha entrenado, hay que probar los límites de los rostros, y las expresiones. Y para ello, se puede utilizar un sistema de visión artificial que en tiempo real captura los rostros de alguien en frente de una webcam e intentar recrear con el modelo generado, la misma secuencia de imágenes. 

Figura 24: Prueba del modelo para detectar los límites
Como se puede ver en el primer vídeo, pueden aparecer errores si se detectan rostros o expresiones no disponibles en el vídeo de origen y el modelo no ha sido entrenado lo suficiente como para poder generarlos.  
3. Testeo del modelo: La entrada de datos serán imágenes a través de la webcam utilizando un sistema de visión artificial. Es decir, cualquier persona que queramos que se ponga delante de la webcam del equipo podrá mover en tiempo real la imagen que se crea, tal y como se ve en el vídeo siguiente. 
El modelo generará los movimientos de esta persona con el aspecto, en este caso, de Chema Alonso. En este caso se puede ver una demo en laboratorio en el que Enrique Blanco controla al jefe.

Figura 25: Demo de Enrique Blanco generando vídeo de Chema Alonso

En la conferencia que dimos en la pasada RootedCON primero probé yo a convertirme en nuestro venerado jefe, Chema Alonso, pero creí que sería mucho más creíble que alguien del público subiera y se convirtiera también en Chema Alonso por unos segundos.

Figura 26: Agus convirtiéndose en Chema Alonso en la pasada RootedCON

El voluntario fue Agus, un clásico de la Rooted que fue premiado durante esta décima edición. Gracias Agus por participar en la demo y pasártelo bien haciendo un poco de "master of puppets" de esta recreación hecha por IA.

Autores:Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advance Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica y Enrique Blanco (@eblanco_h) es Investigador en el departamento de Ideas Locas CDO de Telefónica


**************************************************************************************************
- La IA al servicio de la Ciberseguridad [1 de 5]
- La IA al servicio de la Ciberseguridad [2 de 5]
- La IA al servicio de la Ciberseguridad [3 de 5]
- La IA al servicio de la Ciberseguridad [4 de 5]
- La IA al servicio de la Ciberseguridad [5 de 5]
**************************************************************************************************

Autoencoders, GANs y otros chicos (buenos y malos) del montón: La IA al servicio de la Ciberseguridad [4 de 5]

$
0
0
Con estas tecnologías hemos visto ya varias posibilidades. La primera de ellas, que vimos en la segunda parte, sería utilizar las técnicas de Face Swapping para, utilizando técnicas de Inteligencia Artificial, crear un vídeo falso difamatorio de una persona a partir de un vídeo creado por un actor. Esto se podría usar para campañas de difamación personal, o para esquemas de Fake News en campañas políticas.

Figura 27: Autoencoders, GANs y otros chicos (buenos y malos) del montón.
La IA al servicio de la Ciberseguridad [4 de 5]

La segunda de las posibilidades es la que hemos visto en la tercera parte de este artículo. Crear un sistema que utilice Visión Artificial para controlar en tiempo real la recreación de una persona como si fuera un streaming de vídeo, y esto abre muchas posibilidades para ataques contra empresas o personas.

En esta cuarte parte vamos a comentar un par de ellas, que pueden ser especialmente relevantes hoy en día y en un corto espacio de tiempo.

Caso 4: Estafa del CEO/CDO

Esta demo que hicimos era la primera versión de la estafa del CEO/CDO. A través de las Generative Adversarial Networks (GAN) se genera la imagen en movimiento que se quiera emitir por un canal de vídeo, haciendo lo que al atacante le interesaría que esa persona real hiciera en una conversación, por ejemplo, de vídeo-conferencia.

Si eres capaz de conseguir a cualquier empleado de una organización que está hablando con uno de sus jefes, probablemente sea mucho más sencillo conseguir que ese empleado haga cosas que no entienda, pero que ayuden al atacante a realizar una estafa.

Pero para que ese esquema de enviar esa imagen por un streaming de vídeo conferencia, nos faltaba el audio que deseábamos que esa persona dijera. Una imagen es más creíble que mil palabras, así lo dice el refrán, pero se necesita de un audio que parezca real si queremos simular una llamada, por ejemplo, a través de un Skype o de un Google Hangout.

Neural Text-To-Speech (TTS)

Utilizamos para creare este audio un servicio de Microsoft llamado Microsoft Custom Voice. Este servicio genera un modelo personalizado de voz para la persona que se quiere suplantar. Está basado en Deep Neural Networks y permite mejorar pronunciación y entonación del resultado final de manera que se puede adaptar cómodamente. La idea era crear primero una Custom Voice para Chema Alonso y luego usar el servicio de Neural Text-To-Speech para conseguir emitir cualquier frase que quisiéramos.

Figura 28: Servicio de Neural Text-To-Speech en Azure

Quedamos muy sorprendidos de la potencia del servicio de Neural Text-to-Speech (TTS) Microsoft. Si quieres conocer en profundidad más detalles de cómo funciona, o se puede utilizar, puedes encontrar más información sobre el servicio en la web de Azure en Microsoft.

Figura 29: Comparativa de Neural TTS contra Traditional TTS

Custom Voice

¿Cuál fue el proceso paso a paso que utilizamos para generar el audio necesario para hacer la demostración completa de suplantación usando una Custom Voice de Chema Alonso en inglés?

Para generar la voz de una persona que se quiere suplantar se debe generar un modelo entrenado que luego podrá utilizarse para poder crear cualquier frase o expresión de voz que se desee.

1. Ficheros de audio de entrenamiento:
Para poder generar el modelo descargamos audios, en formato WAV, desde vídeos en Youtube. Eso sí, el servicio solo genera audios con acento inglés o chino, así que nos vimos restringidos a que el resultado final no fuera en Español - lo deseable si quieres suplantar a Chema Alonso -. En este caso, elegimos el inglés que el chino se nos hacía un poco más complicado.
2. Trozos de audio:
Al final, obtuvimos 314 trozos de 30 segundos de duración cada uno que nos servirían para entreanr el modelo. En total sumaban unas 2,61 horas de Chema hablando inglés de alguna de las conferencias que da fuera en España.
3. Transcripción a texto:
Posteriormente, había que pasar esos audios con sus correspondientes transcripciones. Y en este caso, para realizar dicha tarea utilizamos un servicio de Google Cloud llamado Google Cloud Speech-to-Text API.
Figura 30: Servicio de Google Cloud Speech-to-Text 

4. Generación del modelo de Neural Text-to-Speech
Una vez obtenidas todos los audios y todas sus transcripciones, las subimos al servicio de Microsoft Neural Text-To-Speech para obtener un modelo de Inteligencia Artificial entrenado con la voz de Chema Alonso hablando en inglés. 
Figura 31: Documentación sobre cómo crear una Custom Voice en Azure Cognitive Services

5. Despliegue uso en el servicio de Neural Text-To-Speech
Una vez el modelo se ha generado correctamente se despliega y ya se puede utilizar como el resto de los modelos de voz que el servicio tiene habilitados. Solo queda pasarle texto y el modelo genera la voz de la persona.
El resultado que tuvimos fue una voz que se identificaba con Chema Alonso, pero que tenía un toque metálico. Seguramente nos faltaron muestras de audio suficiente para entrenar el modelo. También faltó algún detalle más de pre-procesado de los recursos y de post-prrocesado del resultado, pero se identificaba claramente que la voz era de Chema Alonso.

Ahora ya podíamos enviar el streaming de vídeo y audio por un sistema de vídeo conferencia como Skype para hacer real la llamada suplantando a una persona, por ejemplo el CDO de una empresa, y engañar a una víctima pidiéndole que hiciera una u otra cosa.

Figura 32: Suplantando la voz de Chema Alonso en una llamada por Skype

Además, se hizo un ejercicio de post-producción en el vídeo de Chema Alonso llamando por Skype para hablar como Chema Alonso (aunque fuera en inglés) y que la víctima viera a Chema Alonso. Si lo que ves y lo que escuchas te es conocido, confiarás con mucha más facilidad. Es de esto de lo que debemos concienciarnos y ser capaces de poner en tela de juicio lo que vemos y escuchamos.

Más riesgos con sextorsiones o con los menores

Queda claro que una Inteligencia Artificial puede generar vídeos o imágenes de una persona a través de un entrenamiento con las facciones o gestos que queramos. Además, se puede mapear una voz a ese vídeo de forma que se hace complejo detectar, a simple vista, que estamos ante un elemento falso. Y esto abre un enorme mundo de posibilidades en el mundo de los depredadores.

En el mundo de las Sextorsiones, donde se hace uso de vídeo conferencia para mantener relaciones de sexting, las víctimas pueden ser engañadas creyendo que hablan con una determinada persona y siendo realmente un vídeo creado en tiempo real por una Inteligencia Artificial.

Pero mucho peor cuando un depredador de menores quiera hacer creer a su víctima que tiene su edad y utilice AIs que suplanten a menores para ganarse su confianza. El mundo de delitos ante el que nos podemos encontrar en el futuro puede ser desolador.

Autores:Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advance Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica y Enrique Blanco (@eblanco_h) es Investigador en el departamento de Ideas Locas CDO de Telefónica


**************************************************************************************************
- La IA al servicio de la Ciberseguridad [1 de 5]
- La IA al servicio de la Ciberseguridad [2 de 5]
- La IA al servicio de la Ciberseguridad [3 de 5]
- La IA al servicio de la Ciberseguridad [4 de 5]
- La IA al servicio de la Ciberseguridad [5 de 5]
**************************************************************************************************

Autoencoders, GANs y otros chicos (buenos y malos) del montón: La IA al servicio de la Ciberseguridad [5 de 5]

$
0
0
Vistas las posibilidades del uso de la Inteligencia Artificial en ataques contra personas u organizaciones aprovechándose de la capacidad de crear vídeos falsos o de hacer interacciones en tiempo real a través de sistemas de vídeo conferencia usando GANs y sistemas de Neural Text-To-Speech, es hora de cambiar de lado y ver cómo detectar estos posibles ataques.

Figura 33: Autoencoders, GANs y otros chicos (buenos y malos) del montón:
La IA al servicio de la Ciberseguridad [5 de 5]

Hacer una detección de este tipo de situaciones no es y no será una tarea sencilla. Por supuesto, al igual que la Inteligencia Artificial puede ser utilizada, y lo será, para acciones maliciosas, ésta podrá, y está siendo utilizada, para acciones buenas y de defensa o detección.

Figura 34: Libro de Machine Learning aplicado a Ciberseguridad

No vamos a centrarnos en todas las posibilidades en las que las técnicas de Machine Learning y la IA puede ser usada desde el punto de vista defensivo. Para ello tenéis el libro en 0xWord de nuestros compañeros de "Machine Learning aplicado a Ciberseguridad". Nosotros vamos a centrarnos en detectar estos ataques de Face Swapping y suplantación de personas con IA en tiempo real.

La Inteligencia al servicio de lo bueno. La detección.

En esta parte hablamos primero de cómo detectar Fake News, a través del análisis de su texto, gracias al uso de algoritmos de sentimiento. Es decir, algoritmos capaces de detectar elementos como la intención, el tipo de lenguaje, si la noticia es sesgada, el clickbait, etcétera.

Los nuevos desarrollos en modelos generativos profundos, como hemos podido ver a lo largo de este artículo, han mejorado significativamente la calidad y la eficiencia en la generación de vídeos de caras falsas de apariencia realista que pueden ser utilizados como forma de reforzar la noticia falsa.

Figura 35: Modelo de detección de Fake News usando IA

Hasta hace pocos años, resultaba muy sencillo distinguir un vídeo sobre el que se había aplicado la tecnología de Face Swapping, sin embargo, esto se está volviendo más complicado. La evolución de la calidad en generación de vídeos falsos es exponencial. Cada vez resulta más complicado distinguir un vídeo modificado de uno que es real. ¿Cómo protegernos de este tipo de ataques? Pues como hacemos siempre, pensando, investigando y desarrollando algo de tecnología.

Hace no mucho nos encontramos con la siguiente publicación: In Ictu Oculi: Exposing AI Generated Fake Face Videos by Detecting Eye Blinking, que podéis consultar en el siguiente documento. En este trabajo, se describe un nuevo método para exponer videos de caras falsas generados con redes neuronales.

Figura 36: In Ictu Oculi: Exposing AI Generated Fake Face Videos

El método se basa en la detección del parpadeo de los ojos en los videos, que es una señal fisiológica que no está bien presentada en los vídeos falsos sintetizados. Este método se prueba sobre los puntos de referencia de los conjuntos de datos de detección de parpadeo y también muestra un rendimiento prometedor en la detección de vídeos generados con DeepFake.

Figura 37: LA técnica busca detectar el parpadeo no humano de los videos falsos

El repositorio con el código está disponible en GitHub y, aunque aún está en construcción, sirve como un ejemplo válido de aplicación de redes neuronales convolucionales recurrentes para el análisis de vídeos. En el equipo de Ideas Locas intentamos reproducir el funcionamiento de la herramienta, pero carecíamos del dataset original que nos permitiría calcular la probabilidad de que un determinado vídeo fuera falso o verdadero, por ello decidimos buscar una alternativa tal y como se indica a continuación.

Figura 38: in Inctu Oculi

Para una persona adulta sana, generalmente, entre cada parpadeo hay un intervalo de 210 segundos, pero las tasas reales varían según el individuo y la actividad que esté realizando. La velocidad media de parpadeo en reposo es de 17 parpadeos/min o 0.283 parpadeos por segundo (durante la conversación, esta tasa aumenta a 26 parpadeos/min, y disminuye a 4,5 parpadeos/segundo mientras que la lectura de esta diferencia puede ser interesante en nuestro análisis, ya que muchos de los políticos que hablan probablemente estén leyendo cuando están siendo filmado).

La duración de un parpadeo puede oscilar entre 0.1-0.4 segundos/parpadeo. Por lo tanto, tomaremos como referencia de parpadeo normal una duración en el intervalo 0.1-0.4 segundos y una tasa de parpadeo que oscile entre los 17 y los 26 parpadeos/min.

Figura 39: Blink Detection en Python

Para desenmascarar vídeos falsos, decidimos crearnos un clasificador gaussiano con Scikit-Learn muy sencillo en base a dos características fácilmente extraíbles de un vídeo haciendo uso de las librerías dlib y opencv en nuestro queridoPython tal y como se muestra en el siguiente enlace:
• Velocidad de parpadeo [blink/s] v
• Duración del parpadeo [s]
Generamos muestras aleatorias para entrenamiento y testeo del modelo, lo que nos permitiría obtener un mapa de probabilidades de que el vídeo fuera etiquetado como Real o Falso. Es este caso lo que buscábamos era llevar a cabo una regresión logística binaria sencilla (0 para vídeo falso y 1 para vídeo verdadero).

Figura 40: Pruebas con el clasificador Gausiano de los vídeos falsos

Una vez que tuvimos nuestro modelo entrenado, sólo quedaba testearlo con los vídeos que queríamos desenmascarar. A pesar de la sencillez del modelo y de las pocas características extraídas, el modelo es capaz de discretizar si un vídeo es falso o no con bastante acierto. Esto pone de manifiesto que, si bien el modelo podría ser mejorable mediante la inclusión de nuevas características, con unas mínimas nociones de Machine Learning podríamos protegernos contra este tipo de ataques.

Conclusiones

Con todo lo que hemos visto en esta serie sobre cómo se puede utilizar la Inteligencia Artificial para realizar ataques y para hacer cosas buenas esto podemos hablar de ciertas conclusiones. Barack Obama dijo en su día:
“If everything seems to be the same and no distinctions are made, then we won’t know what to protect. We won’t know what to fight for. And we can lose so much of what we’ve gained in terms of the kind of democratic freedoms and market-based economies and prosperity that we’ve come to take for granted”. 
En otras palabras, si no podemos saber qué es real y qué no, no podremos protegernos, no sabremos por lo que luchar. Perderemos las libertades.


Queda claro que utilizar la Inteligencia Artificial para engañar a la gente es asequible, pero también la IA y la ciberseguridad irán de la mano, tanto en el presente como en el futuro. Los límites de la IA no se han vislumbrado y la ciberseguridad se verá fortalecida, pero también atacada por ella. Como siempre, el conocimiento y la concienciación son los pilares sobre los que se asienta nuestra protección.

Autores:Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advance Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica y Enrique Blanco (@eblanco_h) es Investigador en el departamento de Ideas Locas CDO de Telefónica

**************************************************************************************************
- La IA al servicio de la Ciberseguridad [1 de 5]
- La IA al servicio de la Ciberseguridad [2 de 5]
- La IA al servicio de la Ciberseguridad [3 de 5]
- La IA al servicio de la Ciberseguridad [4 de 5]
- La IA al servicio de la Ciberseguridad [5 de 5]
**************************************************************************************************

La presencia de “Chema Alonso” en redes sociales actualizada. (Me acabé Google Plus)

$
0
0
Debido a unos incidentes serios de  seguridad en Google Plus - y al poco uso en el mundo de Internet - Google decidió cerrar su servicio Google Plus el pasado 2 de Abril, como estaba previsto desde hacía mucho tiempo. Google Plus se llevo por delante un servicio que muchos amábamos, como era el famoso Google Reader, pero al igual que le sucedió a Google Wave - el anticipado a Slack o Teams -, tuvo que irse. 

Figura 1: La presencia de “Chema Alonso” en redes sociales actualizada.
(Me acabé Google Plus)
Yo gestionaba los canales de Google Plus para El lado del Mal y el mío particular, y como un campeón estuve allí hasta el último momento. Hasta que el servicio se cerró, estuve publicando todo lo que salía por El lado del Mal, y en el mío personal lo que salía de nuestro trabajo en todo el resto de los medios.

Figura 2: Mi canal de Goole Plus antes de cerrar

Los que me conocen saben que soy un poco como Sheldon, no soy capaz de empezar algo sin dejarlo acabado - ya os contaré como hago los álbumes de cromos con Mi Hacker y Mi Survivor, que es para estudiar -, así que hasta el último día estuve publicando todo por ellos. Pero ahora hay que cambiar, así que os voy a dejar por aquí mi presencia en redes sociales e Internet, por si os interesa a alguno.


Este sitio va a seguir siendo mi principal refugio. Aquí sigo escribiendo, leyendo los comentarios - aunque no comento por falta de tiempo - y expresándome sobre los temas que considero que tengo que hacerlo. Publico los artículos de amigos, compañeros y colaboradores, pero sigo gestionando yo únicamente este sitio.

Figura 3: Feed RSS de El lado del mal en FeedBurner

Para seguir el blog, lo mejor es suscribirse al Canal RSS que tengo en Feedburner desde casi el principio utilizando el cliente RSS que más te guste. Una buena alternativa al extinto Google Reader es Feedly, así que que puedes probarlo si no tienes lector que utilizar. También te puedes suscribir vía e-mail para recibir en tu bandeja de entrada los posts todos los días.

Linkedin (ChemaAlonso)

Es donde mantengo mi perfil profesional. No lo cambio mucho porque tampoco es que cambie mucho mi vida profesional a nivel macro (aunque sea muy activa a nivel micro). Por aquí comparto también lo que comparto por Telegram o Twitter. Como sabéis, Linkedin tiene un límite de 30.000 contactos que yo hace mucho que alcancé, así que no puedo añadir mucha gente nueva.

Figura 4: Linkedin de Chema Alonso

De vez en cuando tengo algún hueco entre los 30.000 contactos que tengo y añado alguno de los que tengo en lista de peticiones. Me encantaría añadir a más gente, pero la lista de peticiones que tengo pendientes de atender es de casi cuatro mil. Eso sí, puedes seguir mis publicaciones y comentar en ellas. 

No soy muy fan de que me envíen correos electrónicos por Linkedin, ya que tenemos canales oficiales para ello en las webs corporativas, así que no suelo contestar mucho por los mensajes privados cuando tienen que ver con trabajo.

Twitter (@ChemaAlonso)

Mi cuenta de Twitter la sigo utilizando, aunque no para debatir ni comentar muchas cosas. Es un canal por el que saco los trabajos que hago yo y lo que sacamos desde Telefónica, ElevenPaths, LUCA, 0xWord, AURA, Movistar Home, Talentum o Blog Think Big. Es decir, es un canal para estar atento en Twitter a la parte más profesional nuestra.

Figura 5: Cuenta de Chema Alonso en Twitter

No suelo debatir y tengo una política que os conté en el artículo de "Colaboradores pasivos de abusones en redes sociales". La verdad, no soy muy fan de Twitter, así que hablo poco de Chema Alonso en primera persona.

Instagram (ChemaAlonso)

Es a la red social donde más tiempo invierto. Publico stories y feed de fotos con cosas totalmente distintas. Más personal público que profesional. Mantengo la misma política de comentarios que la de Twitter, que ya os he dicho que describí en "Colaboradores pasivos de abusones en redes sociales". Como he dicho, no pongo demasiado de trabajo, y sí mucho más social en vida pública.




A post shared by Chema Alonso (@chemaalonso) on

No contesto a los mensajes porque me llegan demasiados y físicamente no me da tiempo a responderlos. Entended, que muchas de las cosas que me preguntáis ya las he contestado por el blog o en vídeos durante muchos años, así que si veo alguna cosa puntual nueva o interesante, lo contestaré cuando tenga algo de tiempo.


Solo como recordatorio para los nuevos navegantes del mundo del Instagram. No hackeo el WhatsApp, el Instagram, el LOL, el Facebook, o el Fortnite a nadie. Eso lo hacen los cibercriminales y no los hackers. Lo más probable es que acabe publicando tu mensajes - suerte que no me da la vida para publicar todos -.

YouTube (Chemai64)

En el canal de Youtube publico todos los vídeos de las conferencias, entrevistas, productos y PoCs organizados por temas y años. Están las conferencias que he sido capaz de recuperar desde el año 2008 o así, más las charlas de ElevenPaths Talks o LUCA Talks, demos de los posts de "El lado del mal", etcétera.

Figura 8: Última entrevista publicada en el Canal Youtube

Tiene más de 230.000 suscritos y debe tener unos mil vídeos, para que hinches y aburras de ver conferencias, entrevistas, podcasts, demos, webinars, etcétera. Y seguiré subiendo todo el material que se va generando.

Telegram (ElLadoDelMal)

Desde hace unos cuatro años tengo abierto un Canal Telegram de El Lado del Mal donde no solo salen los posts de este blog, sino que también salen los de Seguridad Apple, los del Blog de ElevenPaths, LUCA, Blog Think Big y otros medios con temas que tienen que ver con seguridad y tecnología. Intento que sea más cercano al contenido de este blog, así que no sale todo lo que generamos. Si eres usuario de Telegram, es una buena forma de saber qué hacemos.

Figura 9: Canal Telegram de El lado del Mal

Mi cuenta de Telegram no tiene un uso personal, así que no la uso para prácticamente nada. No contesto ningún mensaje por Telegram, solo tengo conectado la publicación de contenidos al canal de ElLadoDelMal y listo.


No es una página personal. Hace mucho tiempo que deje de usar Facebook como canal de comunicación personal. Es un canal en el que saco los contenidos de mis blogs. Al igual, más o menos, que hago en Telegram o Twitter. Si eres un fan de Facebook, también puedes seguir lo que comparto por allí.

Figura 10: Cuenta de Chema Alonso en Facebook 

Periódico: (No Hack, No Fun)

Si eres un amante de la navegación web que disfruta como yo leyendo cada mañana las páginas principales de los periódicos de actualidad y de deportes que me gustan, entonces No Hack, No Fun es tu sitio. Cada sábado creo el periódico semanal, cada domingo saco el e-mailing (al que te puedes suscribir desde la web de No Hack, No Fun) con las noticias que he dado de alta desde el día anterior. Y día a día actualizo la lista de noticias - que solo puedes ver si vienes a visitar la web.

Como ya os he dicho, los viernes antes de que comience la nueva versión semanal tienes la lista de todas las noticias por secciones de lo que he publicado esa semana. Para que no te falte de nada.

Correo Electrónico y Web

Si tienes mi dirección de correo electrónico - alguna de ellas - y me envías un mensaje, probablemente se pierda en la maraña de correos que recibo diariamente. La forma de comunicarse conmigo - si es para un tema profesional - es a través de las  zonas de contacto en las webs de Telefónica, ElevenPaths, LUCA o 0xWord. Ellos me filtran los mensajes, pero si hay alguno importante me lo hacen llegar siempre. Como ya dije, hay unas pequeñas recomendaciones que os dejé para escribirme.

Otros canales

Si hay otros canales que dicen que soy yo, o este blog, o usuarios en sitios que dicen que soy yo, probablemente no sea yo. No soy de participar en nada más que esto. Sí que tengo mi canal en Whakoon donde gestiono mi lista de cómics (y los que me faltan), mi Canal de SlideShare donde publico documentos y presentaciones o Spotify, pero he visto gente que se ha hecho pasar por mí en páginas de Facebook, foros de hacking, etcétera. No soy yo. Si soy yo, aviso por aquí antes.

Saludos Malignos!

Jugando al Mario Kart con los coches Tesla. ¡Mamma Mia! (Parte 1 de 2)

$
0
0
Todos hemos jugado alguna vez al fantástico juego Mario Kart de Nintendo. En él, controlamos un vehículo utilizando un mando de juegos en una carrera dentro de un circuito el cual también encontramos repartidos diferentes objetos que nos permiten obtener ventajas (como, por ejemplo, más velocidad) algunos de ellos impresos en la misma carretera.

Figura 1: Jugando al Mario Kart con los coches Tesla.
¡Mamma Mia!(Parte 1 de 2)

Bueno pues parece que ahora controlar un vehículo Tesla con un mando de juegos al más estilo Mario Kart y además añadir marcas en la carretera para engañar al piloto automático (Autopilot) ya es posible, al menos es lo que cuenta este paper titulado "Experimental Security Research of Tesla Autopilot".

Figura 2: "Experimental Security Research of Tesla Autopilot"

Vamos analizar en detalle este interesante documento, mezcla de ingeniería inversa, exploits, vulnerabilidades y Machine Learning. Recuerda, si quieres conocer algunos conceptos y técnicas relacionados con la seguridad y Machine Learning, nada mejor que nuestro libro, "Machine Learning aplicado a la Ciberseguridad: Técnicas y ejemplos en la detección de amenazas"

Figura 3: "Machine Learning aplicado a Ciberseguridad" de 0xWord

Hacking de Autos

Ya hablamos en su día de diferentes formas de hackear autos. Nuestros compañeros hablaron de cómo hackear un BMW i8 - mira que es difícil de encontrar uno de estos, y les dio por este modelo concreto - utilizando un software inyectado para tomar control del CANBus, y hoy en día hemos hablado de herramientas como CANAlyzat0r para buscar vulnerabilidades en CAN Bus.


Figura 4: Hackeando CANBus en automóviles

Centrados en Autopilot, hablamos de cómo los vehículos autónomos podían ser hackeados utilizando falsas señales de tráfico que confundieran a gusto del atacante su sistema de Artificial Vision. Ahora un equipo de investigadores de la empresa china Tencent Keen Security Lab han contado en el paper que hemos mencionado antes, varios hacks un vehículo Tesla.

El primer hack explica cómo es posible engañar a las redes neuronales de los coches Tesla utilizando pegatinas en la carretera, muy similar a la técnica de las señales falsas. El segundo hack explica cómo han conseguido infiltrarse en el piloto automático (APE) donde además han llegado a controlar el ECU (Engine Control Unit), es decir, la unidad que controla el motor, lo que se traduce en llegar a tener acceso total de forma remota a los mandos de control del vehículo.

Antes de continuar, tenemos que destacar que estos problemas (los cuales algunos son de 2017 y 2018) ya han sido parcheados y solucionados por la empresa del gran Elon Musk (ahora es cuando se ha hecho público todo el resultado de la investigación, la cual antes fue reportada a Tesla para que solucionara). Es más, el mismísimo Elon ha felicitado a los investigadores en una actitud que no todas las empresas tienen hacia aquellos que encuentran vulnerabilidades en sus productos.

Figura 5: Tesla Model S

En principio, esta investigación sólo afectaba (al menos este ha sido el único modelo donde se ha realizado la investigación) al Tesla Model S 75, con un hardware de piloto automático versión 2.5 y una versión de software 2018.6.1.

Cambiando la trayectoria del Tesla usando pegatinas en el suelo

El sistema de reconocimiento visual de Tesla con el piloto automático funciona realmente bien en casi cualquier condición (aunque no está recomendado en casos intensos de nieve, lluvia, niebla, etcétera). Existen cientos de vídeos que lo demuestran, pero al ser un sistema de visión puro, la información recibida requiere ser analizada y procesada antes de pasar a las complejas redes neuronales del Tesla.

Es decir, la cámara (o mejor dicho, las cámaras) HDR de 12bits (posiblemente una RCCB) obtiene las imágenes en RAW, lo que significa no se procesa la información durante su captura. Por lo tanto, necesita de un pre-procesado antes de llegar a la red neuronal correspondiente. Esas imágenes se copian directamente en una memoria compartida desde una función llamada tesla:TslaOctopusDetector::unit_process_per_camera la cual se encarga de procesar cada imagen ajustando algunos parámetros como son el tono, nivel de detalle, etcétera.

Todas esas imágenes ya procesadas se asignan su red neuronal correspondiente las cuales se encargarán de diversas funciones, como por ejemplo controlar el coche, analizar objetos, las líneas en la carretera, crear mapas de los alrededores, etcétera. Los investigadores se centraron las DNN (Deep Neural Networks) que se encargan del reconocimiento de las líneas de la carretera y el algoritmo que mantiene el vehículo siguiendo dichas líneas (Autosteer).

Figura 6: Esquema de las conexiones entre el APE (Tesla Autopilot)
y el resto de componentes del vehículo tal y como aparece en el paper.

Para esta función de reconocimiento de líneas y Autosteering, Tesla utiliza una sola gran red neuronal con varias salidas diferentes, en vez de usar una específica para cada acción concreta. La detección de las líneas de la carretera es una de estas acciones que utilizan una gran única red neuronal con múltiples salidas.

Una vez la imagen se ha procesado, se introduce en dicha red neuronal y una vez obtenido el output (salida), esta se envía a una función llamada detect_and_track la cual llamará a diferentes kernels CUDA para realizar diferentes funciones como comprobar los bordes de la línea para ver si están borrosos, añadir máscaras a los bordes de las líneas, ajustar las líneas a una rejilla virtual (generada a partir de la red neuronal que se encarga de mapear el entorno en un mapa virtual), añadir puntos de control en las líneas, etcétera. El siguiente cuadro resume todo el proceso de reconocimiento:

Figura 7: Ejemplo del procedimiento de reconocimiento de imagen,
en este caso de una línea en la calzada.

Antes de poder aplicar cualquier tipo de ataque basado en las imágenes recibidas, es necesario probar el rendimiento y estudiar el funcionamiento de los algoritmos en un entorno digital (antes de pasar al mundo real). Para ello utilizaron algoritmos “adversarios”, una técnica de Machine Learning cuyo objetivo principal es engañar un modelo concreto y su salida correspondiente a través de cambios y manipulaciones en la entrada de la información.

Figura 8: Paper que explica los ataques de Zeroth Order Optimization

Comenzaron con el sistema que detecta la lluvia (el cual utiliza una cámara en vez de un sensor) inyectando diferentes modelos de “ruido” y en concreto un tipo de ataque llamado “Zeroth Order Optimization” (ZOO) o también usando ataques de sustitución. Ambos algoritmos tienen que común que modifican la estimación del gradiente, dicho simplificando mucho el término, es algo parecido modificar el vector el cual ofrece la dirección que ofrece la solución óptima.

Figura 9: En este paper se explican los ataques de sustitución

Estos dos métodos tienen el problema de necesitar grandes cálculos lo que finalmente lleva a una tarea computacional demasiado compleja, casi imposible de implementar con resultados satisfactorios. Finalmente optaron por otro método de ejemplo de ataque adversario utilizando DNN con el algoritmo PSO (Particle Swarm Optimization). Este tipo de ataque se basa en generar un enjambre (swarm) de ruido e inyectarlo dentro de las imágenes obtenidas.

Utilizando esta técnica repetidamente contra las diferentes redes neuronales, es posible ir ajustando la puntuación obtenida en la salida de cada una de ellas hasta conseguir el resultado deseado. Además con la ventaja añadida de que dicha distorsión sólo puede ser detectada por una red neuronal y no por el ojo humano.

Figura 10: Ejemplo de inyección adversaria donde confunde a la IA al
Panda con una Llama sin que los cambios sean detectados por el ojo humano.

Por lo tanto, el objetivo final de la investigación es llevar este ataque en el mundo digital con resultado satisfactoria al mundo físico. En el caso de los parabrisas, lo consiguieron simplemente colocando una televisión justo en frente de la cámara que detecta la lluvia en el cristal e ir proyectando diferentes imágenes PSO (este ataque es poco factible implementarlo en el mundo físico en un escenario real). En pocos intentos consiguieron engañar la red neuronal.

En el caso de la detección de la línea, hay que usar un enfoque diferente. De hecho, realizaron dos tipos de ataques distintos que veremos en la siguiente parte.

Autor: Fran Ramírez, (@cyberhadesblog) es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" y del blog Cyberhades.

Jugando al Mario Kart con los coches Tesla. ¡Mamma Mia! (Parte 2 de 2)

$
0
0
Como vimos en la primera parte de este artículo, hasta el momento hemos descrito varios ataques con éxito, pero ahora hay que ver como se podía conseguir atacar a la red neuronal para manipular el sistema de visión artificial del sistema Autopilot de Tesla que detecta la línea de tráfico.

Figura 11: Jugando al Mario Kart con los coches Tesla.
¡Mamma Mia! (Parte 2 de 2)

Para ello, como hemos dicho al final del primer artículo, se utilizaron dos tipos de ataques distintos al sistema de detección de carril en el Autopilot de Tesla que vamos a ver a continuación.

Ataques a la detección de carril en Tesla Autopilor

El primero de ellos llamado Eliminate Lane Attack (Ataque de Eliminación de Carril) tiene como objetivo que el reconocimiento de carril se desactive utilizando algún tipo de marca en el mundo físico. Los ataques que se generaron en el mundo digital se basaban en la distorsión de los pixeles, algo que es complicado de realizar en el mundo físico sin tener realmente comprometido todo el sistema de control de Tesla.

La aproximación principal para lograrlo se basaba en una premisa: la mayoría de la información recogida por la cámara no es útil para el reconocimiento del carril. Es decir, el proceso de la red neuronal que detecta la línea se centra exclusivamente en el carril y una porción del área que le rodea.


Figura 12: Enseña a tu AI a jugar con OpenAI y Deep Learning

La reducción de la complejidad de la imagen es una técnica habitual en el proceso de imágenes utilizando Machine Learning, mi colega Enrique Blanco Henríquez y yo la utilizamos en su día en el blog de LUCA para enseñar a una IA a jugar a Breakout.

Figura 13: La imagen de la izquierda muestra cómo se añadieron algunos
parches en la línea izquierda de la calzada y en la parte derecha se muestra
cómo el vehículo no detectó el retro de la línea.

Así que, y ahora viene la magia, después de varios experimentos se dieron cuenta que agregando recuadros de pixeles de diferentes tamaños en ciertos puntos de dicha imagen del carril y además alterando los bordes de las líneas es posible desactivar el APE (recordemos que es el Tesla Autopilot). De todas formas, este ataque demostró que el sistema APE es bastante robusto y, además, los cambios que hay que realizar en la calzada son demasiado llamativos, por lo que tanto el conductor como el APE podrían detectarlos fácilmente.

El segundo ataque se llamó Fake Lane Attack o Ataque de la Carril Falso y éste tuvo más éxito. Esta vez el objetivo no era desactivar el piloto automático, sino llevar el vehículo hasta donde queramos, como, por ejemplo, cambiar de carril utilizando marcas simples en la calzada. En el modelo digital se dieron cuenta previamente que añadiendo pequeños pixeles uno detrás de otro separados por una cierta distancia en forma lineal, el sistema de visión los detectaba como una línea de carril (ver Figura 14).

Figura 14: Colocando marcas blancas en la calzada se aprecia en la imagen
de la derecha como el vehículo detecta una línea completa donde no existe.

Este modelo digital de ataque adversario es más sencillo de implementar en el mundo real ya que sólo necesitaron colocar pequeñas pegatinas blancas de la misma forma de distribución que en el modelo digital. De esta forma consiguieron que el vehículo siguiera la trayectoria que ellos marcaron en el suelo.

Controlando el Tesla con un mando de videojuegos

Este ataque es más un problema de seguridad de acceso y explotación de vulnerabilidades a los sistemas de los vehículos Tesla. El equipo encontró que después de conseguir acceso root a la ECU (Engine Control Unit) era posible controlar el coche con un mando de juegos Bluetooth. Pero ¿cómo lo consiguieron?

Pues como muchos otros tipos de ataques, haciendo que el navegador principal del Tesla (basado en WebKit) abriera una página maliciosa. Para entender el ataque primero tenemos que ver cómo funciona y como está interconectada la CAN (Controller Area Network) bus del sistema APE, tal y como hemos explicado que hacían otros ataques en la primera parte de este artículo.

Figura 15: Esquema del sistema CAN bus de Tesla.

El sistema APE tiene dos buses principales: CAN1, el cual interconecta los radares del vehículo y CAN0, el cual junto a LB, un dispositivo que actúa a modo de gateway o pasarela de red, el cual soporta protocolos Ethernet y CAN, actúa como sistema de seguridad redundante principalmente.

También existe un bus lógico llamado APE2LB_CAN que interconecta APE con LB, el cual sirve para interconectar APE con dos canales interesantes, PT (PowerTrain) y CH (Chasis). Este último, CH, es la clave de todo el sistema, ya que desde este bus es posible controlar la dirección del vehículo. Pero observando el esquema, es obvio que antes de acceder a él hay romper algunas barreras del mecanismo de seguridad.

Para ello se centraron en un servicio llamado cantx el cual recibe señales intermedias desde el sistema de visión artificial que después las transforma en señales de control del vehículo. En canal de recepción de estos mensajes es el bus lógico APE2LB_CAN y luego son enviados directamente a los buses antes mencionados, PT y CH, siempre a través de la unidad LB (utilizando el protocolo UDP). Aquí es donde entra DSCM o DasSteeringControlMessage, mensaje encargado de controlar el sistema de dirección del vehículo. Este es su formato:

Figura 16: Definición de la estructura DSCM.

El ángulo de giro se define con 2 bytes en angle, counter es un contador de 6 bits que se incrementa cada vez que entra un mensaje, control_type (2 bits) indica el tipo de mensaje enviado por el CAN y finalmente checksum (1 byte) que se autodefine por si mismo. Ahora que ya conocemos un poco más cómo funciona el sistema CAN bus de APE, vamos a ver cómo consiguieron el control de la dirección del vehículo.

Control de dirección de Tesla

Para lograr controlar la dirección de los autos Tesla, inyectar directamente mensajes maliciosos tipo DSCM desde el APE al LB no funciona, ya que DSCM está protegido con una marca temporal o timestamp, el contador y un sistema de redundancia CAN llamado PARTY CAN-bus. Finalmente, el método que funcionaría sería inyectar de forma dinámica código malicioso en el servicio cantx y engancharlo con una función llamada:
DasSteeringControlMessageEmitter::finalize_message()
la cual permitiría rehusar el timestamp y el valor del contador. De todas formas, la clave final se encuentra en el valor del control_type del DSCM. Si se asigna el valor 0x01 y el APE2LB_CAN también se pone a 0x01 indicará que el destino final será el bus CH.

Figura 17: Esquema completo de la implementación final del ataque.

Finalmente utilizaron un mando de juegos conectado a un teléfono móvil, el cual se encargaba a su vez de recibir la señal para luego convertirlas, utilizando el procedimiento que se ha descrito anteriormente, a señales DSCM maliciosas a través de WiFi o 3G. De esta forma es posible controlar la dirección del coche con un simple mando de consola, igual que Mario Kart ;)

¿Qué futuro nos espera respecto a la seguridad de los vehículos autónomos?

Este paper es un gran trabajo que mezcla seguridad informática y técnicas de Machine Learning utilizando DNN, no podemos pedir más. Recomendamos su lectura en profundidad para aprender cómo realizar una ingeniería inversa completa a un vehículo Tesla, tanto de su parte de control como de su cerebro artificial. Tenemos que recordar de nuevo que Tesla corrigió estas vulnerabilidades en dos parches de seguridad que sacaron en 2017 y 2018, sobre todo el que permitía el control remoto del vehículo. El resumen lo tienes en este vídeo que publicaron en Youtube.


Figura 18: Vídeo del trabajo de Tencet Security Research sobre Tesla Autopilot

El otro ataque de las pegatinas en el asfalto no queda del todo claro si fue resuelto ya que Tesla lo tacha de ataque “no realista”. Y en parte tienen razón, ya que el piloto automático se puede desconectar en cualquier momento y fundamentan que el conductor puede tomar el control del vehículo simplemente pisando el freno o agarrando el volante en cuanto detecte la situación de riesgo.

O sea, que parece que funciona, lo que no queda claro es qué pasará cuando no haya conductores humanos en frente del volante para reaccionar a tiempo y seamos simples pasajeros …


Una cosa es segura, Kevin Mitnick y Chema Alonso se lo pensarán dos veces antes de activar el Autopilot de Tesla la próxima vez que se encuentren en EEUU ;)

Autor: Fran Ramírez, (@cyberhadesblog) es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" y del blog Cyberhades.

¿Cuándo me convertí en una "celebritie"? Ojo, ¡tú también lo serás! #AI #ArtificialVision

$
0
0
Hoy os quiero dejar este post un tanto curioso a razón de algo que yo había contado hace años en varias entrevistas sobre la pérdida de la privacidad. Esto fue un debate cuando en la red social Facebook se empezó a meter reconocimiento facial automático de las personas que aparecen en las fotografías que se suben.  Crear un sistema de Inteligencia Artificial capaz de reconocer a la gente es algo bastante fácil cuando eres la plataforma que tiene todas las fotografías que la gente voluntariamente te ha estado subiendo, además de entrenarte durante años con el etiquetado de quién es quién.

Figura 1: ¿Cuándo me convertí en una "celebritie"? Ojo, ¡tú también lo serás!

En aquellos años, calculo que sería el año 2009 o 2010, la preocupación era sobre qué pasaría si alguien fuera capaz de procesar todas las fotografías y buscar la gente que aparecía en el fondo de las mismas. No el primer plano, sino en cualquier punto de la fotografía.

APIs de Visión Artificial para reconocer "Celebrities"

Hoy en día, cuando todo el mundo tiene un smartphone con una cámara súper potente en las manos, es todavía peor. La imagen cuando estás en la calle puede acabar en cualquier teléfono y ser subido a cualquier servicio en la red y sin que lo sepas analizadas todas las caras que salen en la foto - sabiéndolo o sin saberlo - para hacer un seguimiento de dónde ha estado cada persona en cada momento. Y esto ya existe hoy en día, pero solo para las "celebrities".
Viendo las filtraciones de los documentos que hizo Edward Snowden, no me extrañaría para nada que no se estuviera haciendo ya en la NSA, y después de ver los sistemas de vigilancia que se quieren poner en espacios públicos, esto es algo a lo que deberíamos empezar a acostumbrarnos. Y sin hablar del enriquecimiento de los metadatos que ayuden a saber dónde se tiró la foto y a qué hora.

Probando APIS de Visión Artificial

En el caso de gente que tiene una vida pública - además de una vida privada - esto es todavía más divertido, puesto que el sistema está más que bien entrenado para que una persona pueda ser reconocida sin mucho margen de error. Y esto es lo que más me ha llamado la atención.

Figura 3: José Parada, Chema Alonso (sin gorro) y Luciano Bello [Año 2008] en DefCON 16

Hoy en día los sistemas de visión artificial están más que desarrollados, y podéis probar el API de Google Cloud Vision para ver cómo reconoce las caras y los gestos. Yo he subido esta foto de mi primera conferencia en DefCON 16  (año 2008) donde en la sala de speakers nos tiramos una foto José Parada, Luciano Bello y yo (sin gorro). Como podéis ver, en esa foto, Google es capaz de reconocer los gestos y expresiones de cada uno de nosotros.

Figura 4: API de Google reconociendo caras y expresiones

Pero no tiene por qué quedarse solo en eso, como os he contado con el caso que os he contado al principio del que hablaba en el año 2009 o 2010, ya hay servicios como Azure Artificial Vision que es capaz de reconocer a "Celebrities" y "Landmarks" con solo subir una foto, y en esa misma foto dice que estoy yo, ya que me reconoce como una "celebritie".

Figura 5: Artificial Vision en Azure para reconocer celebrities y landmarks

En aquel entonces yo estaba lejos de ser una "celebritie". Era mi primera DefCON, estaba empezando a salir de España para dar conferencias, y aún me quedaba mucho camino por andar por delante en mi vida, pero claro, tirando hacia atrás es fácil para el sistema - una vez entrenado con datos de hoy - y reconocerme de mucho más joven.

Figura 6: Me reconoce de una foto del 2008 con un 99,78 % de confianza

En esta otra foto, en la que estoy con el actor Paco Prieto y con Paco Lobatón, del año 2009 o así, de nuevo el sistema es capa de reconocerme, aunque sorprende que no reconozca al bueno de Paco Lobatón - aunque es verdad que su programa a lo mejor tuvo mucho impacto solo en España -. 

Figura 7: El sistema reconoce a Paco Prieto y a Chema Alonso (con un 99,43 % de confianza)

Aún así, he seleccionado una foto de hace 10 años en la que salgo medio-regular, sin afeitar y con poca calidad la foto, y salgo como "Persona" y no es capaz de identificarme. Pero estoy seguro que solo hay que darle tiempo.

Figura 8: Chema Alonso no reconocido. ¿Poca calidad? ¿Barba?

De hecho, la primera prueba que tuve de esto fue con la foto de Chuck Norris, donde el sistema era capaz de reconocerme a mí, pero no al bueno de Chuck - os juro que no era un muñeco de cera como habéis dicho algunos -.


Pensé que era fácil, ya que tenía mi gorro de rayas azules y marrones que uso tantas veces, así que probé la foto en la que Kevin Mitnick se lo puso, y yo me puse sus gafas. A ver si el sistema se confundía con un disfraz tan sencillo como ese. Pero no, no se confundió y nos reconoció a los dos perfectamente.


El asunto es que esto va a continuar. Y la cantidad de dispositivos que van a poder hacer fotos de gran calidad desde distancias imposibles, se va a poder vigilar a todo el mundo - y saber quién es quién - de manera muy sencilla. Así que, no te preocupes, a pesar de que ahora no seas una celebritie y te quedes en "person" ya avanzará esto para que cualquier persona que tenga una foto en la red pueda ser reconocida.

Figura 11: El sistema reconoce con un 85,87 a Chema Alonso

He buscado una de las primeras fotos que hay mías del año 2007 en la red, que me hicieron para una entrevista en mi primera visita a Argentina, y me reconoce igualmente. Dale tiempo a que se haga con todo el mundo esto. ¿Debemos?

Figura 12: Proyecto Face Recognition en GitHub

Por si quieres jugar con estas cosas, tienes este proyecto de Face Recognition que tienes en GitHub escrito en Python que usaron nuestros compañeros en el último Equinox para uno de los proyectos finalistas de OSINT. Esta librería permite buscar caras contenidas en una fotografía a partir de otra imagen con una cara. Es decir, se le pueden pasar fotos públicas y buscar personas en ellas si se tiene una captura de su rostro en otra foto.

Saludos Malignos!

Hacking Windows 10: Escalada de privilegios con CVE-2019-0841

$
0
0
Recientemente se ha liberado una PoC(Prueba de concepto)que implementa la escalada de privilegio descrita en el expediente CVE-2019-0841. Esta escalada de privilegio permite que un usuario pueda ejecutar código arbitrario, por ejemplo, a través de DLL Hijacking y ejecutar en el nivel de integridad de SYSTEM.

Figura 1: Hacking Windows 10: Escalada de privilegios con CVE-2019-0841

La vulnerabilidad se ha conocido por el nombre de “DACL Permissions Overwrite Privilege Escalation” y, si quieres saber más, la implementación de la prueba de concepto puede estudiarse y descargarse desde el siguiente Github.

Figura 2: GitHub con la PoC para estudiar

Con la vulnerabilidad un usuario sin privilegios o privilegios ‘bajos’ puede secuestrar archivos que son propiedad de NTAuthority\SYSTEM. Esto se realiza sobrescribiendo los permisos en el archivo destino, el que se quiere secuestrar. Cuando la escalada tiene éxito se obtiene un “Control Total” de los permisos para el usuario sin privilegio.

¿Dónde radica la magia?

En esta ocasión hay que hablar de que todas las aplicaciones de los sistemas Windows disponen de un archivo settings.dat. Este archivo es el que tiene la configuración de la aplicación. En otras palabras, es un registro que se puede cargar y modificar desde el propio registro.

Figura 3: Máxima Seguridad en Windows: Secretos Técnicos [4ª Edición]

Si eres de los que te preocupa por la tener fortificado al máximo tu sistema Windows, seguro que es un viejo amigo. En el libro de "Máxima Seguridad Windows: Secretos Técnicos [4ª Edición]" de nuestro compañero Sergio de los Santos (@ssantosV) sale en varios capítulos.

Este archivo del que hablamos es muy importante, y hay que tener en cuenta que en el momento en el que arranca una aplicación en Windows, el archivo settings.dat es utilizado por NTAuthority\SYSTEM. Esto es algo interesante, sin duda. En este punto al investigador que descubrió la vulnerabilidad le surge una nueva pregunta, ¿cómo se puede hacer un abuso de este acceso privilegiado a archivos?

Figura 4: Paquetes instalados en un Windows 10

El investigador se centró en el archivo settings.dat de Microsoft Edge. Cada paquete tiene un archivo settings.dat. Una vez que arranca dicho paquete o aplicación en Windows, el sistema realizará una operación OpLock o bloqueo exclusivo, con el objetivo de evitar que otros procesos utilicen o accedan a la información de ese archivo mientras se está ejecutando la aplicación.

Figura 5: Settings.dat de Microsoft Edge

En el caso de la PoC (Prueba de Concepto), cuando se arranca Microsoft Edge, el archivo settings.dat se abre como NTAuthority\SYSTEM. Una vez la aplicación es ejecutada y el archivo es abierto, se realizan algunas verificaciones de integridad:
1. Se comprueban los permisos de los archivos
2. Si los permisos son incorrectos, se corrigen los permisos de los archivos
3. Se lee el contenido
4. Si el contenido está corrupto o dañado se borra el archivo
5. Se restablece la configuración copiando el archivo, el cual sirve de plantilla, que se encuentra en C:\Windows\System32\settings.dat.
6. Se obtiene el bloqueo exclusivo en el archivo recién copiado
7. Se continua con la ejecución de la aplicación de Windows.
En resumen, si el fichero settings.dat no es considerado válido, Windows lo elimina y copia la plantilla que está almacenada en una ubicación protegida. De esta forma se evita el abuso, a priori. Pero no estamos aquí con un post que busca ampliar nuestros conocimientos de Hacking Windows para dejarlo aquí. Y vamos a verlo.

Figura 6: Libro en 0xWord de Hacking Windows:
Ataques a sistemas y redes Microsoft

El investigador se dio cuenta que se puede utilizar este comportamiento para establecer los permisos en ‘cualquier’ archivo mediante el uso de enlaces físicos. El objetivo ahora será crear enlaces duros a archivos dónde queremos tener un “Control Total” como usuario no privilegiado o usuario regular.

Explotándolo

Se sabe que los permisos de archivos establecidos en un enlace duro darán como resultado cambios en el archivo original. A continuación, se va a mostrar un ejemplo de cómo secuestrar un archivo. Para el ejemplo, el investigador optó por utilizar el fichero HOSTS. Un usuario normal no tiene acceso de modificación a este archivo, tal y como se puede ver en la imagen.

Figura 7: Modificación no disponible para usuarios no privilegiados

El investigador Nabeel Ahmed ha escrito un exploit que automatiza el proceso de creación de un enlace físico y provocar que la vulnerabilidad se desencadene. No es más que llevar a cabo lo que se ha ido explicando en los pasos anteriores. A continuación, se muestra el paso a paso del proceso.

¿Cómo funciona el exploit?

El exploit tiene el siguiente funcionamiento:
1. Primero verificará si el archivo settings.dat existe o no. Además, si éste existe, verificará los permisos. Si se utiliza la aplicación Microsoft Edge se parará la ejecución del proceso, en el caso de que esté en ejecución. Con cualquier otra aplicación ocurriría igual. Lo interesante es asegurarse de que se utiliza una herramienta que esté por defecto en el sistema, lógicamente.
2. Se buscará el archivo settings.dat y se eliminará para crear un enlace físico al archivo específico. En este caso al archivo HOSTS. En este paso es dónde se puede hacer el vínculo con cualquier archivo, por lo que, pensemos en un DLL Hijacking de una DLL que tenga nuestro código con un Meterpreter o con lo que sea.
3. Re-arrancar la aplicación. Una vez es creado el enlace físico, se vuelve a arrancar la aplicación, en este caso Microsoft Edge. Se desencadena la vulnerabilidad. Por último, hay que verificar si el fichero destino tiene permisos de “Control Total” para el usuario sin privilegio, lo que al principio no teníamos.
En la siguiente imagen publicada por Nabeel Ahmed se puede ver el resultado final después de lanzar el proceso que implementa el exploit de manera completa y con éxito en un sistema operativo Microsot Windows 10 vulnerable.

Figura 8: Exploit ejecutado con éxito

Además, se puede disfrutar de un video en el que se muestra la ejecución de una DLL, mediante técnica de DLL Hijacking y haciendo uso de la aplicación de actualización del navegador Google Chrome. Más que interesante.


Figura 9: DACL Permissions Overwrite Privilege Escalation
(CVE-2019-0841) PoC using Google Chrome

Interesante técnica que seguramente abrirá puertas en los Ethical Hacking, por lo que habrá que ver cómo se reacciona ante esta vulnerabilidad. Los equipos de IT tendrán trabajo.

Autor:Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica.

ElevenPaths cumple 6 años: 19 de Abril de 2013. Año 1. Día 1. @elevenpaths @informatica64

$
0
0
Aún no se llamaba ElevenPaths. Lo cierto es que no sabíamos cómo, pero llegamos.  Era el día 22 de Abril. El 19 de Abril de 2013, viernes, se consumó la constitución de Telefónica Digital Identity & Privacy S.L. y el lunes 22 ya estábamos allí. Y sin saber qué iba a ser de nosotros. Como os dije el año pasado que cumplimos cinco años, los comienzos de ElevenPaths, o mejor dicho, de Telefonica Digital Identity & Privacy, fueron un poco extraños. Una veintena de Outsiders que llegaban al edificio Oeste 3 en el Distrito Telefónica con la idea de hacer cosas grandes en el mundo de la ciberseguridad.

Figura 1: ElevenPaths cumple 6 años: 19 de Abril de 2013. Año 1. Día 1.

Una vez Palako, que estuvo allí desde del primer día de este proyecto - como estaba en Londres su contrato con Telefónica Digital UK se hizo antes que el del resto por lo que puede presumir de ser "el primer caballero" -, dijo de mí una de las cosas que si has trabajado conmigo seguro que conocerías. Él me conoce muy bien de tantos años juntos. Y lo que dijo es justo lo que hicimos cuando llegamos allí. Yo no sabía dónde teníamos que ir con certeza. Nadie sabe qué deparará el futuro - que se lo digan a los chicos deGoogle Plus - pero teníamos clara "más o menos" la dirección.


Digamos que, si en un punto dado de tu vida tienes 360 posibilidades para elegir un camino en un plano y muchas más en un mundo esférico, yo suelo elegir aceptablemente bien el cuadrante por el que debo ir, aunque no sepa la dirección exacta, ni mucho menos. Y cuando elijo el cuadrante tiro millas. Rápido. Y después ire aprendiendo y esforzándome al máximo para acercarme a la línea exacta. Pero de momento... al lío.




A post shared by Chema Alonso (@chemaalonso) on

Aquel día hice lo que Palako dijo cuando yo llegué en el año 2016 al puesto de CDO en una reunión con gente que le preguntó si yo sabía lo que hacía. El bueno de Palako, que me sufre ya muchos años, no solo de compartir cervezotas Troopers y dejarme dormir en su sofá tantas y tantas veces le dijo algo así:
"Mira, ten por seguro que Chema Alonso no sabe dónde vamos a llegar en concreto por este camino, pero sabe que tenemos que ir por aquí. Y no te quepa la menor duda de que no se va a parar. Ya uniremos los puntos más adelante, así que mejor que vayamos tirando, que seguro que nos va a ir bien yendo por ahí desde ya."
Y eso hicimos aquel día de Abril que comenzamos en ElevenPaths. Sabía más o menos qué queríamos hacer. Sabíamos más o menos hacia dónde queríamos ir. Innovar, hacer cosas nuevas que nadie hubiera hecho o que nosotros pudiéramos hacer mejor. Hacerlo con gente brillante. Y queríamos hacer algo totalmente nuevo, pero no teníamos mucha idea de qué íbamos a hacer en concreto. Los "Business Cases" perfectos son para otras cosas, no para hacer tecnología del futuro. Así que tiramos millas. Y allí llegamos Rodol y yo, con nuestro equipo de Informática 64 para empezar con el tajo, más los "fichajes estrella".


El primer día nos pusimos unos pocos a montar los equipos, las mesas (sí, las mesas), tirar los cables, poner la red, y colocar las sillas. Otros pocos se pusieron con la FOCA, que yo quería pasarla a Cloud (ya vendría después Pedro Pablo Pérez tiempo después a bautizarla como Faast), otros pocos con Rodol a la cabeza, se pusieron con MetaShield Protector, y los que quedábamos y venían recién llegados a pensar en cómo podíamos hacer aquel Path1 que nunca llegamos a hacer.

Era el día uno y nos pusimos ya a hacer cosas. En la dirección de lo que queríamos: Innovar, hacer productos y ciberseguridad. Luego ya cambiaríamos, pivotaríamos, uniríamos puntos hacia atrás y haríamos cosas nuevas. Pero de momento... al lío que el tiempo apremiaba, y yo ya había puesto dos Deadlines: El evento de presentación interna en Telefónica para Junio, y nuestro Primer Security Innovation Day de 2013 donde presentamos Latch, Faast, MetaShield Protector y alguna cosa más de innovación. Ya sabéis cómo me gustan a mí los Deliveries, Deadlines y Difundir.

Mientras que se montaban las mesas y repartíamos los sitios de trabajo, Rocío se encargaba de que todo el mundo pudiera entrar con sus tarjetas provisionales, que los contratos nuevos estuvieran firmados, además de explicar a todos que nos llamaríamos como entidad jurídica "Telefónica Digital Identity & Privacy". Que no se preocuparan por eso de "Sonora algo" que aparecía en su vida laboral.

Y es que teníamos tantas ganas de comenzar que en lugar de crear una nueva entidad jurídica en Telefónica reutilizamos una de una startup anterior que se había parado llamada "Sonora no-sé-qué". Fue curioso tener que explicar a la gente que en su vida laboral no aparecía Telefónica Identity & Privacy y sí "Sonora no-recuerdo-qué-más".


Como recuerdo curioso, después de haber presentado en el Security Innovation Day 2013 nuestro trabajo, se me ocurrió hacer una inocentada con la que más hemos disfrutado todos. Me hice unas fotos con el pelo engominado y recogido y llevando traje y corbata. Con esas fotos cambié todas mis redes sociales haciendo creer que me había cortado el pelo y tirado el gorro de rayas a la basura. Y lo publiqué en un post en el el blog con una historia rocambolesca de que me forzaban a ello.

Figura 6: Mi perfil de Linkedin el 28 de Diciembre de 2013

Lo mejor fueron los comentarios que me pusieron tanto en el blog como en muchas redes sociales para decirme lo bien que estaba así y lo mal que estaba con la pinta esa del gorro y los pelos. Al final, resultó ser una inocentada y yo seguí con mis pintas, pero después de haber leído muchas cosas.

Me quedo de aquel año con muchos recuerdos. Alguno que acabó con los bomberos teniendo que rescatar a un compañero que se jugó el físico con tal de que mi computadora portátil no se rompiera el día del Security Innovation Day, que ese era el nivel de compromiso que teníamos - y seguimos teniendo - con el proyecto.

Los Originals

Hoy, mirar hacia atrás esos días, con seis años de trabajo a la espalda da alegría. Con muchas cosas de por medio y con muchas aventuras y desventuras da cierto calorcito de buenas sensaciones. No todos los que fueron allí - los que venían de Informática 64 y los que lié para que se metieran en el barco desde el primer día - quedan aún en la casa, aunque sí la mayoría.  Aquí con algunos de los "Originals" que aún quedan en la puerta de nuestra vieja casa.


Antonio, Olvido, Palako, siguen a mi lado - en mi comité de CDO de hecho -, otros que entraron un poco después como Pilar, Paloma o Sergio de los Santos siguen al pie del cañón, y aún sigo teniendo mi grupo de Originals del que Rodol y yo somos cabeza, esparciendo un poco de esa forma que teníamos de hacer las cosas nosotros antes de llegar, y el día que llegamos. 


Y otros se nos fueron a otros proyectos. David Barroso o algunos de nuestros compañeros que quisieron hacer otras cosas, y a los que me alegra ver, de vez en cuando, y saber que están disfrutando con su trabajo. Fue un impresionante Año 1 en ElevenPaths y doy gracias por haberlo podido vivir con el grupo de personas que nos juntamos allí. 

Saludos Malignos!

Y después de Semana Santa: Eventos, Cursos y Charlas en Madrid, Cartagena de Índias, Málaga, Sevilla y Online. @elevenpaths @luca_d3 @0xWord

$
0
0
Es sábado, y la semana que viene ya toca volver al trabajo. Así que yo vuelvo a la rutina de traeros la lista de eventos, charlas, cursos y saraos varios a los que puedes apuntarte para la semana que viene. Estos son los que tengo en el radar de lo que vamos a hacer nosotros. Toma nota que son un buen montón y en Madrid, Colombia, Málaga, Sevilla, Melilla y Online.

Figura 1: Y después de Semana Santa: Eventos, Cursos y Charlas
en Madrid, Cartagena de Índias, Málaga, Sevilla y Online.

Lo primero que tenemos es un taller de Introducción a la Seguridad de la Información que se va a realizar los días 23 y 24 de Abril en el Centro Tecnológico de Melilla, donde participaremos desde ElevenPaths. Una oportunidad para estar en contacto con nuestros compañeros si eres de Melilla.


23, 24 y 25 de Abril:XXX Securmática[Madrid]

Durante los días 23 a 25 de Abril tendrá lugar en Madrid la edición número 30 del foro de CISOs por excelencia en España: Securmática. En este evento, nuestro compañero Pedro Pablo Pérez, CEO de ElevenPaths, dará una ponencia en la jornada inaugural junto con nuestro compañero Hugo de los Santos, director de la unidad de Cloud. Tienes la agenda completa en la web del evento.

Figura 3: XXX Congreso de Securmática en Madrid

24 de Abril: Mundo Hacker Day [Madrid]

En este evento de un día completo de duración tienes una agenda de grandes ponentes que debes revisar en la web del evento. En este evento participaremos desde ElevenPaths con dos charlas de nuestros compañeros Carmen Torrano, Product Manager de IoT Security - y Deepak Daswani,Ciber-Security Ambassador
Nuestra compañera Carmen Torrano se centrará en "El nuevo Petroleo: Los Datos" donde hablará de cómo se pueden utilizar estos datos con complejos algoritmos de Machine Learning para crear modernas soluciones de Ciberseguridad. Como sabéis, Carmen es una de las autoras del libro de "Machine Learning Aplicado a Ciberseguridad" que recientemente hemos publicado en 0xWord.

Por otro lado, nuestro compañero Deepak Daswani hablará de cómo explotar los leaks que se han ido descubriendo de la aplicación de WhatsApp Web para poder extraer información de personas a través del servicio WhatsApp.

25 de Abril:ElevenPaths Security Innovation Day Andalucía[Málaga]

El evento anual en ciberseguridad de ElevenPaths llega a Andalucía.Presentamos la I Edición del Security Innovation Day Andalucía, un evento de referencia en el mundo de la ciberseguridad dentro del territorio sur y organizado por ElevenPaths, la unidad de ciberseguridad de Telefónica. En nuestro mundo, la seguridad es infinita. En ElevenPaths queremos llegar lo más lejos posible en cada desafío. Por eso desarrollamos innovación para hacer frente a amenazas, ataques y, por supuesto, proteger a nuestros aliados. 

Figura 6: Security Innovation Day Andalucía 

Security Innovation Day Andalucía es nuestro evento del año sobre innovación en ciberseguridad orientado a profesionales de la seguridad de la información en el sur de España. Cuenta con ponentes de referencia, innovación y la presentación de nuestras principales y futuras líneas estratégicas. 

Figura 7: Agenda del Security Innovation Day Andalucía

Hoy en día estamos expuestos a sufrir ataques cada vez más sofisticados y frecuentes que ponen en peligro nuestro negocio, reputación, privacidad y confianza. Por eso, necesitamos ser cada vez más receptivos a las medidas de ciberseguridad y redefinir nuestra estrategia hacia la ciber-resiliencia. El mundo digital abre posibilidades infinitas, tanto a personas como a empresas. Por ello, en ElevenPaths creamos innovación disruptiva en ciberseguridad con el fin de aportar la privacidad y confianza que nuestra vida digital necesita.

25 de Abril:Girls Get Tech[Madrid]

Este día en Madrid, en las instalaciones de Google Campus, habrá un evento de mujeres en las que habrá conferencias y talleres de mujeres de éxito. Entre ellas, estará nuestra compañera Yaiza Rubio para dar una sesión llamada Girls Get Safe. Al evento os podéis apuntar ya en la web de registro.


Figura 8: Girls Get Tech en Madrid

25 de Abril: Hacking Ético [Online]

Este curso te proporciona los conocimientos necesarios a nivel conceptual y práctico para que puedas implementar en empresas y negocios, un sistema integral de seguridad informática integral y perimetral, apoyado por el uso de Software Libre. Desarrollarás y adquirirás habilidades prácticas para la realización de auditorías de sistemas, usando las técnicas de la auditoria de T.I. del tipo “Hacking Ético y/o Test de Penetración”. 
Figura 9: Curso Online de Hacking Ético

Conocerás los diferentes tipos de atacantes, así como a usar las diferentes técnicas y herramientas de intrusión utilizadas por los delincuentes informáticos para lograr violentar la seguridad de un sistema de información. Con este curso, podrás realizar sin problemas auditorías de pentesting con su correspondiente informe profesional, además de conocer los métodos utilizados por los delincuentes cibernéticos para poder contrarrestar sus ataques. Tienes todos los detalles en la web de este Curso Online de Hacking Ético.

Este curso se ha definido con un 75% de práctica y un 25% de teoría, lo que te facilitará mucho el aprendizaje y el aprovechamiento máximo de conocimientos. Ayuda a orientar las auditorias de instrusión haciendo uso de las normas y buenas prácticas en seguridad de la información a nivel internacional y permite aprender las técnicas de ataque y protección de las redes inalámbricas y las aplicaciones web dinámicas. El objetivo final es formar auditores técnicos e integrales en  seguridad informática.

Figura 10: Libros de Metasploit para Pentesters y Ethical Hacking
Este curso entrega a todos los asistentes de forma gratuita los libros de Ethical Hacking y de Metasploit para Pentesters [4ª Edición] de 0xWord, además de que puedes apuntarte a este curso la versión VBook de Ethical Hacking.

26 y 27 de Abril: OSINT City [Sevilla]

Durante dos días en Sevilla tendrá lugar este evento centrado en Ciberseguridad en el que participará nuestro compañero Nacho Brihuega, coordinador del equipo de Hacking Ético en nuestra unidad de ElevenPaths Servicios Profesionales. Tienes toda la información en la web del evento.

Figura 11: OSINT City

28 y 29 de Abril:UNWTO Tourism Tech Adventure: Scaling Up[Cartagena de Índias]

UNWTO Tourism Tech Adventure: Scaling Up es una jornada organizada por el Ministerio de Comercio, Industria y Turismo, ProColombia y la Organización Mundial del Turismo el próximo 29 de abril en Cartagena de Indias (Colombia), con el objetivo de conectar a empresarios y visionarios para explorar las oportunidades de la transformación digital en el sector turístico. El equipo de LUCA participará en el seminario de alto nivel sobre innovación donde se abordará como tema principal el uso de nuevas tecnologías y el impacto de nuevas aplicaciones.

Figura 12: UNWTO Tourism Tech Adventure en Colombia

Y esto es todo lo que os traigo. Como veis, una vuelta intensa después de Semana Santa para que te conectes rápido con la formación y el trabajo.

Saludos Malignos!

Unas charlas: Navarra Lan Party sobre Datos, CodeTalk sobre cómo entrenar AI y unos minutos de la charla sobre la lengua

$
0
0
Para hoy domingo, os dejo una charla que di en una conferencia en la Navarra Lan Party 2018 en Pamplona, una webinar que hicieron mis compañeros sobre Cómo entrenar inteligencias artificiales con OpenAI Gym y un pequeño corte de solo unos minutos - aún no se ha publicado la charla completa - de la charla que di en el VIII Congreso Internacional de La Lengua Española que tuvo lugar en Córdoba (Argentina).

Figura 1: Unas charlas: Navarra Lan Party sobre Datos, CodeTalk sobre cómo entrenar AI
y unos minutos de la charla sobre la lengua

La primera de las charlas es la que di en la Navarra Lan Party 2018, invitado por el Instituto Cuatro Vientos de Pamplona con el que tengo una estrecha relación desde hace años, fui a firmar unos libros de 0xWord y a dar una charla sobre el mundo de los datos y, en especial, sobre el tema de Cambridge Analytica y cómo los info-leaks de datos puede utilizarse para crear grandes entornos de Big Data que permita cluseterizar bien los objetivos a ser atacados por Fake News.


Este es un tema del que he hablado en otras conferencias, pero no había quedado reflejado en muchas de ellas, así que aproveché que volvía a mi querida Pamplona y que se iba a grabar la charla en un entorno ameno y cercano con estudiantes y amantes de la tecnología para hacerla.

Figura 3: "Tus datos mueven el mundo y tú no lo sabes" en Navarra Lan Party 2018


La segunda de las charlas es a cargo de mi equipo de Ideas Locas - ya sabéis, esos locos que han estado entrenando Inteligencias Artificiales para que se conviertan en Chema Alonso - que explicaron en una de las CodeTalks for Developers de ElevenPaths "Cómo entrenar una Inteligencia Artificial con OpenAI Gym", para que los developers, developers, developers podáis sacarle provecho al máximo.

Figura 4: Charla en la RootedCON 2019 usando una AI para suplantarme en vídeos

Y la charla la grabaron en vídeo durante esta Semana Santa, y la tienes aquí mismo, subida a Youtube para que no te pierdas nada de cómo sacar provecho a frameworks como OpenAI Gym. Recomendación extra, aprende mucho Python [Python para Pentesters, Hacking con Python] que por aquí lo usamos mucho para estas cosas.


Figura 5: CodeTalk for Developers: Cómo entrenar tu AI con OpenAI Gym

Y la última son solo unos minutos de la charla que dimos en el VIII Congreso Internacional de la Lengua Española en Córdoba (Argentina), son solo unas demos y algunas explicaciones, que tienen que ver con la visión que os conté tiempo atrás con la inocentada de que a mí me daban un taburete de la RAE, que aunque fuera un día para hacer bromas, muchas de las cosas que decía en el artículo realmente las pensaba.


Al final, de lo que se trata es de que las herramientas tecnológicas de generación de textos, interpretación de la lengua, y lo que es más importante, asistentes digitales, e inteligencias artificiales que se creen en el futuro, traten con cariño nuestra lengua. Algo que es importante más, cuando estamos metiendo sentimiento a las AI basados en la interpretación de la lengua.


Ya os dejé este fragmento de un minuto que publiqué en mi Instagram, pero ahora he conseguido esta otra grabación en la que se puede ver - más o menos - la parte que hice en el congreso. Como os digo, solo unos minutos.


Figura 8: Charla de Chema Alonso en el VIII CILE

Y eso es todo, tres charlas para que pases este domingo antes de volver al trabajo el lunes tranquilo y calentito en casa. Yo hoy me voy a terminar mi colección de cromos de fútbol con Mi Hacker, que lo que se empieza... se termina.

Saludos Malignos!

Hacking Fitness vía Garmin Connect [Parte 1 de 2] #Garmin #Fitness

$
0
0
Garmin Connect es una plataforma para deportistas que utilizan dispositivos de la marca Garmin para monitorizar en tiempo real, gracias al sistema GPS, variables importantes en la práctica del deporte como velocidad, metros de desnivel, posicionamiento dentro de un mapa, ritmo cardiaco, creación de historiales de recorridos e incluso crear pequeñas comunidades, donde los usuarios definen segmentos y utilizan gamificación para competir dentro del segmento y ver quién marca el mejor tiempo.

Figura 1: Hacking Fitness vía Garmin Connect [Parte 1 de 2]

Para compartir la información con otro usuarios, basta instalar la app en el smartphone y vincular éste con el dispositivo Garmin a través de Bluetooth, crear una cuenta gratuita en la plataforma Garmin Connect y vincular la cuenta de correo electrónico utilizada para la creación de la cuenta en el portal web en la app del smartphone. Una plataforma que, antes de almacenar los datos personales de cada usuario, llama la atención para hacer algo de "Hacking con Buscadores" y conocer cuál es su robustez.

Figura 2: Hacking con Buscadores. Google, Bing, Shodan & Robtex

Como hemos visto anteriormente en el pasado, en plataformas como Endomondo (Róbame, que estoy así de sano y estoy haciendo deporte) o Runtastic (Otra red social de deportistas que publican su ubicación y su estado de salud) , si los usuarios no han tomado las adecuadas protecciones, si la plataforma no ha tomado las suficientes medidas para evitar los info-leaks y si el servicio web no ha configurado correctamente las opciones de información,  la privacidad de los usuarios podría verse afectada, y esto es lo que vamos a ver hoy.

Figura 4: Proyecto de ElevenPaths sobre info-leaks en webs de deportistas

En el pasado, el ejercito militar americano, tuvo que prohibir el uso de dispositivos y servicios como Strava, porque los datos que subían sus soldados pudo revelar la ubicación de bases secretas, como vimos en el artículo "¿Los datos de Strava delatan a los militares de USA?"

Análisis de Fichero robots.txt en Garmin Connect

Analizamos en la plataforma la existencia del fichero robots.txt utilizado para impedir a los motores de búsqueda la indexación de cierto contenido web. Observamos que no existe, así que la probabilidad de que los motores de búsqueda hayan indexado información web del sitio, como, por ejemplo, datos de las cuentas de los usuarios relacionados con su actividad física es elevada.

Figura 5: No existe el fichero robots.txt en la web del servicio Garmin Connect

Ya hemos visto en el pasado que el tener un fichero robots.txt no es una garantía total, y que incluso se podría convertir en una fuga de información en sí mismo, pero bien configurado ayuda a evitar problemas de info-leaks. Y en la web de Garmin Connect no existe.

Figura 6: Robots.txt en Garmin Connect not found

Como curiosidad, al realizar la petición del recurso “robots.txt” al nombre de dominio principal, observamos que sí que existe, aunque “de aquella manera”, porque no ha sido configurado siguiendo buenas prácticas. No

Figura 7: Fichero robots.txt para el nombre del dominio principal

Además, no es posible obtener información interesante a partir de las rutas relativas de recursos almacenadas en el fichero “robots.txt”. No obstante, hay que recordar que el sitio web podría hacer uso de Headers HTTP X-Robots-Tags "NoIndex" o de etiquetas HTML  META NoIndex en páginas web para evitar la indexación, así que la prueba del nueve es comprobar cuántas URLs de perfiles de usuarios de Garmin Connect se han quedado indexadas en los buscadores.

Búsqueda de URLs de actividades deportivas de usuarios

Una vez dentro de la plataforma, en la zona de actividades del usuario, se observa en la URL un posible patrón común para todas las actividades registradas de los usuarios de la plataforma: “modern/activity

Figura 8: URL con la información de una ruta en bicicleta de Amador Aparicio (@amadapa)

Haciendo, como hemos dicho al principio, un poco de “Hacking con Buscadores” se observa como Google tiene indexados casi 100.000 resultados relacionados con la actividad de los usuarios de la plataforma, lo que es una auténtica salvajada. Y desde el punto de vista de negocio de Garmin Connect extraño, ya que está entregando los datos de todos sus usuarios a Google.

Figura 9: Resultados indexados en Google de usuarios de Garmin Connect

Con una sencilla consulta, se determina que es posible acceder a la información de las actividades usuarios de la plataforma sin la necesidad de tener una cuenta en ella, seguramente porque la cuenta no cuente con la configuración de privacidad adecuada o porque los usuarios quieran compartir esta información con el resto de usuarios de Internet.

Figura 10: Información de la actividad deportiva de un usuario
junto con el dispositivo Garmin utilizado.

Además, para cada actividad pública, es posible conocer el dispositivo Garmin que registró y volcó la información deportiva en cada una de las actividades, junto con la versión de software que tenía en ese momento. De nuevo, un info-leak de un dispositivo igual que el sistema de recuperación de contraseñas de Google, lo que permite a una empresa tipo Cambridge Analytica realizar una mejor base de datos de las personas a atacar en campañas de Fake News.

Autor: Amador Aparicio de la Fuente (@amadapa), escritor de libro "Hacking Web Technologies"

******************************************************************************************************
- Hacking Fitness vía Garmin Connect [Parte 1 de 2]
- Hacking Fitness vía Garmin Connect [Parte 2 de 2]
******************************************************************************************************

Día del libro en @0xWord Código 10% descuento: DIALIBRO2019 #DiaLibro #DiaDelLibro

$
0
0
Hoy día 23 de Abril de 2019 nos sumamos a la celebración del Día del Libro en 0xWord, así que vamos a hacer un 10% de descuento en todo el material de nuestra tienda online utilizando el código "DIALIBRO2019" que estará disponible desde las 00:00:00 horas hasta las 23:59:59. 

Figura 1: Día del libro en 0xWord Código 10% descuento: DIALIBRO2019

El cupón permite conseguir todos nuestros libros con un precio menor de 20 €, y los packs de cinco libros con unos precios en los que el libro sale por unos 15 € más o menos. Una ocasión fundamental para conseguir el material para estudiar, regalar a compañeros en próximos cumpleaños, o disfrutar en forma de pegatinas, cómics o pósters.


Mantener una editorial low-cost como 0xWord no es una tarea fácil, y aunque el descuento es sólo de un 10%, si no fuera por todos los autores que dedican su esfuerzo a escribir los libros con ilusión y afán de compartir, y los que compráis los libros, no sería posible. Mantener durante los últimos tres años el mismo precio del libro sin hacer ningún cambio o ajuste de precio, es una tarea que sin todos los que apoyáis a 0xWord sería imposible. Gracias.

Saludos Malignos!

Hacking Fitness vía Garmin Connect [Parte 2 de 2] #Garmin #Fitness

$
0
0
Tras encontrar en la primera parte de este artículo que en Google hay indexadas casi 100.00 URLs con datos de actividades de  usuarios - más las que se puedan bruteforcear con alguna herramienta como OSR-Framework o el proyecto Dirty Business Card, vamos a continuar con la búsqueda de info-leaks que se producen en la plataforma Garmin Connect haciendo más uso de las sencillas técnicas de "Hacking con Buscadores".

Figura 11: Hacking Fitness vía Garmin Connect
[Parte 2 de 2]

Vamos a comenzar intentando hacer un perfilado de los usuarios por medio de la información que es pública de la plataforma y que, en principio, está indexada en Google.

Profiling de usuarios

Teniendo acceso de manera pública a las actividades de los usuarios, se comprueba cómo es posible acceder al perfil de cada uno de ellos, además de hacer “dorking” en función del patrón de URL del perfil de los usuarios:

Figura 12: Dorking para buscar información de los perfiles de usuarios.

En algunos perfiles, se observa que el punto de origen de la actividad y el punto de finalización es el mismo, lo que hace suponer que vive allí o en un lugar muy próximo a él. Esto es algo que ya se había visto en el caso de las bases secretas militares con los datos de Strava o en el caso de Endomondo con Robme. No se debe dar activar el origen y el final de una ruta de deporte pública en la ubicación en la que uno vive.

Figura 13: Usuarios en repetidas actividades con mismo lugar de origen y final

Estos usuarios con el mismo punto de origen y de finalización de la actividad física podrían estar dando información que afecte a su seguridad física personal, sobre todo si es relativa a rutinas constantes de la persona.

Figura 14: También se deja, como se ve, la información del dispositivo Garmin usado.

Dado que la plataforma hace uso del servicio Google Maps, es posible obtener información más detallada de los puntos de origen y finalización de la actividad, como por ejemplo el nombre y número de las calles donde se comienza y termina una ruta.

Figura 15: Información más precisa de los puntos de origen y de finalización de la actividad.

Pero con esta información, ya se puede continuar con un proceso e OSINT más completo sobre la persona, ya que se ha dado demasiada información pública a todo el mundo. Vamos a ver cómo estos datos pueden seguir alimentando bases de datos con nuestra privacidad personal.

Datos de carácter personal del usuario

Hasta  este momento, tendríamos el nombre y apellidos del usuario, así como el nombre de la ciudad y calles que más frecuenta porque en ellas inicia o termina buena parte de sus actividades deportivas. También aparece en el perfil de los usuarios el nombre de sus perfiles en otras redes sociales.

Figura 16: Información de las redes sociales utilizadas por uno de los usuarios

Con la información anterior, sería relativamente sencillo obtener datos de carácter personal de los usuarios, siempre y cuando se hayan publicado en Internet previamente y no se hayan eliminado. Una buena fuente son las clasificaciones en las carreras, que al final dejan información pública de todos los deportistas que han participado. En la siguiente imagen incluso aparece un correo electrónico de uno de los usuarios:

Figura 17: Dirección de correo electrónico indexada por Google

Con el nombre de correo electrónico es posible extraer el nombre y apellidos del usuario, ya que ha utilizado esa cuenta de correo para utilizar servicios en Internet en lo que ha introducido datos de carácter personal. Hay muchas bases de datos en la red con esta información, así que hay que tener mucho cuidado con dónde están publicados nuestros datos.

Figura 18: Datos de carácter personal del usuario publicados en web de teléfonos

Y ya, para terminar de perfilar a los usuarios y tener toda la información de una determinada zona geográfica para hacer una base de datos con los vecinos y correr algoritmos de Machine Learning que los agrupen en grupos de Insights, podemos seguir tirando del hilo.

Marca y modelo del smartphone del usuario

Con el nombre de usuario de la cuenta de correo electrónico anterior, se puede probar el en el servicio de correo electrónico de Google para tratar de obtener qué dispositivo móvil tiene, en caso de que éste esté vinculado a una cuenta de correo electrónico de Gmail y el usuario utilice este servicio, como ya vimos en un artículo anterior.


Figura 19: Información del dispositivo móvil utilizado por el usuario
con la cuenta de correo electrónico vinculada a él

Con las opciones del servicio de correo electrónico y de recuperación de la contraseña que proporciona Gmail se determina que el usuario dispone de una cuenta de correo en Gmail y que ésta se encuentra vinculada a un dispositivo móvil, un “Huawei Honor View 10”, que probablemente da alguna idea de los gustos, preferencias o ideas de una persona sobre algunos temas tecnológicos o económicos.

Conclusiones sobre este artículo

Si usas la plataforma Garmin Connect y no quieres que tus datos personales queden expuestos o se pueda llegar hasta ellos por una configuración laxa de la privacidad de tu cuenta, puedes utilizar la configuración de privacidad que se muestra en la siguiente imagen:

Figura 20: Configuración de privacidad de Garmin Connect

Lo ideal y respetuoso para la privacidad del usuario es que todos los perfiles tuvieran la opción por defecto de que los datos no los pudiera ver nadie, y además las apps y opciones de UX no deberían a incitar a su publicación. Pero si usas esta plataforma de Garmin Connect las recomendaciones básicas son:
  • Configura el perfil para que sólo tú puedas ver la información que aparece en él.   
  • Sería aconsejable que nadie más que tú vea la información de las actividades o del histórico de actividades que has realizado.  
  • Si quieres, puedes proporcionar información a Garmin de las rutas que realizas para de esta forma ayudar a la plataforma a que clasifique las rutas en función de su popularidad. Nadie más que Garmin va a disponer de esa información…. en teoría… ;)
Por último, recuerda que si dejas información pública del origen y final de tus rutas podrías estar publicando donde vives a todo el mundo y que si publicas información de tu pulsómetro podrías dar información de tu estado de salud que pudiera ser utilizada por terceros con fines negativos para ti, así que cuida tu privacidad al máximo.

Autor: Amador Aparicio de la Fuente (@amadapa), escritor de libro "Hacking Web Technologies"

******************************************************************************************************
- Hacking Fitness vía Garmin Connect [Parte 1 de 2]
- Hacking Fitness vía Garmin Connect [Parte 2 de 2]
******************************************************************************************************

"Weaponizando Features" de Google Drive para descargar documentos no descargables

$
0
0
En los sistemas de Internet a veces hay características que dan una falsa sensación de seguridad cuando en realidad son "features" más para molestar que para cumplir una determinad misión que, en su confusión, el usuario que la utiliza pudiera creer que ofrece. Y permitidme que explique correctamente esta frase con un ejemplo concreto con la característica que permite configurar un documento de Google Drive como público pero "No descargable".

Figura 1: "Weaponizando Features" de Google Drive para descargar documentos no descargables


Como podéis imaginar, una cosa va contra la otra. Es antinatural que un documento que se pone en Google Drive como público - es decir, que será visualizable por un navegador web - no será descargable. Es un contrasentido porque al final para que el documento se vea en el navegador, el servidor de Google Drive, al final, tiene que entregarlo - de una u otra forma -, produciendo una descarga total o parcial del contenido, en un formato u otro.

Figura 2: El documento se comparte para "ver", pero no para "editar" en Google Drive

Lógicamente se pueden poner barreras que incomoden la función de descargar el documento, pero si se solventan todas esas dificultades y se "weaponizan" con un script o un proceso automático, dicha "feature" será totalmente inútil, tal y como explicó Chema Alonso con el servicio de "Desbloquéame" en WhatsApp que no ha sido hasta esta última versión que se ha corregido esa "feature weaponizable".

Documentos "No Descargables" en Google Drive

Vamos a ver el ejemplo de todo lo dicho anteriormente con el caso de la opción que permite configurar un documento del que no se permite descargar una copia. Le falta el icono del botón de descargar que aparece normalmente arriba a la derecha. En este caso, el guión de la película "Todos lo saben", publicado en la web de La Academia del Cine.

Figura 3: Documento compartido para leer, pero no se puede descargar (falta la opción)

Con esta opción configurada, además de no aparecer el icono con la opción de descargar el documento, Google Chrome no permite utilizar el comando Cntrl+Shift+C para abrir la consola de comandos, ni ver el código fuente. Ni tan siquiera abrir el documento con otro navegador, ya que lo redirige a Google Chrome.

Weaponización de la descarga

Cómo es lógico, el documento está bajando a nuestro equipo, así que solo hay que buscar la manera de automatizar la captura de esas descargas para obtener el documento completo. La primera "Feature 1" de la que vamos a aprovecharnos es que si pulsamos en la parte de Opciones - el icono de los tres puntos verticales -, entonces Google Chrome deja utilizar otra vez el botón derecho para llamar al menú de opciones de contexto del documento. Entre ellas podemos entonces acceder a la opción de "Guardar Cómo" la página web, y hacerlo como un documento normal en formato HTML.

Figura 4: Opción de "Guardar Cómo" en Google Chrome

A pesar de haber podido descargar esta página, la realidad es que éste documento en formato HTML no estará disponible sin conexión a Internet, ya que lo que hacen Google Chrome y Google Drive es que descargan de Internet cada página del documento a medida que se hace scroll sobre ella, lo que es una buena opción de usabilidad, pero malo para los que queremos conseguir el documento completo.

Para continuar con el proceso de "weaponización", nos tenemos que aprovechar de la “Feature 2”. Lo que vamos a hacer es abrir el documento en  formato HTML con otro navegador, por ejemplo MS Internet Explorer o con Mozilla Firefox, ya que a todos los efectos este archivo es un documento local. Si bien al abrirlo, el archivo HTML sigue pidiendo al servidor la información sobre las páginas siguientes del documento, y el botón derecho está desactivado.

Figura 5: Opción de "Inspect Element" en Mozilla Firefox

Ahora bien, no estamos en Google Chrome, así que si repetimos el uso de la "Feature 1", en Microsoft Internet Explorer y accedemos al menú de contexto haciendo clic con el botón derecho, esta vez nos permite seleccionar la opción “Inspeccionar Elemento” y llegar a las herramientas de desarrollador, como se ve en la Figura 5.

Figura 6: URL de descarga de las páginas del documento como imagen

Desde estas herramientas, ya podemos monitorizar las URL que el archivo HTML pide al servidor para acceder a cada página, usando por ejemplo la pestaña Network en MS Internet Explorer o Mozilla Firefox. En estas URLúnicas en formato gráfico, tenemos página a página, todo el documento, las cuales sí son descargables.

Figura 7: Cambiando el número de página bajan todas

Solo deberemos ir moviendo el parámetro page hasta el número total de páginas para obtenerlas todas. Así que ahora ya podemos hacer un script completo que "weaponize" el proceso completo de añadir la opción de descargar el documento de Google Drive.

Weaponizando con un sencillo script

En este ejemplo, donde hice solo un caso manualmente, lo que hice fue generar un script que me hiciera, a partir de una URL todas las que tenía que descargar y las metí en un fichero de TXT. Como he dicho, solo modificando el valor del parámetro "page".

Figura 8: URLS de todas las páginas generadas en un fichero de TXT

En segundo lugar, usar un sencillo WGET para que descargara todas las imágenes y las metiera en una carpeta.

Figura 9: Descarga de todas las páginas

Y por último, renombramos todos los archivos a formato gráfico y los unimos en un único fichero con el comando MERGE.

Figura 10: Unión de todas las páginas en un solo archivo

Con esto tenemos nuestro documento completo descargado en formato gráfico, pero aún podríamos convertirlo a PDF o usar un sistema OCR para ponerlo en formato gráfico.  Depende de lo que quieras hacer con él.

Figura 11: Archivo completo del guión público

Si lo que se trata es de tener un documento único completo para su lectura offline, ya sería más que suficiente, pero si lo que quieres es editar el texto necesitas interpretar las imágenes de las páginas y pasarlas a texto. Yo probé el servicio de Azure de Visión Artificial para reconocimiento de caracteres y no va nada mal.

Figura 12: Reconocimiento de caracteres con visión artificial

Al final, como decía al principio, es antinatural que un documento que se comparte como visible en la red no se pueda descargar en cliente. Si está en el equipo cliente, solo hay que ver cómo weaponizar el proceso y hacerlo fácil. Lo siguiente será hacer una extensión para Google Chrome o Mozilla Firefox que haga todo el proceso automáticamente y listo. Weaponizado.

Autor: Pablo García Pérez

Hacking Windows 10: Más técnicas para saltarse AMSI (Anti Malware Scan Interface) con VBA y las Macros de Office

$
0
0
Hace unas semanas hablábamos sobre AMSI (Anti Malware Scan Interface) y el porqué de este mecanismo de protección que Microsoft liberó. El juego del gato y del ratón comentamos en su momento. Así parece seguir. AMSI puede ser aplicado a diferentes lenguajes de scripting, entre ellos el potente lenguaje de administración y pentesting: Powershell.

Figura 1: Hacking Windows 10: Más técnicas para saltarse AMSI
(Anti Malware Scan Interface) con VBA y las Macros de Office

Tal y como vimos hace unas semanas, había métodos clásicos y sencillos para jugar y conseguir el bypass de AMSI y otros métodos no tan sencillos, los cuales hablan de parchear el proceso para que el buffer de lectura siempre valga 0. Es un juego interesante y que dará que hablar, como en su día lo hizo el UAC o AppLocker. De este modo, la seguridad mejorará, ya que el encontrar caminos que hacen que una protección falle ayuda a mejorar su seguridad.

Figura 2: Libro de Hacking Windows: Ataques a sistemas y redes Microsoft

Hoy vamos a ver más técnicas de Hacking Windows que puedan ayudar en un proceso de pentesting, que puedan usarse para evadir AMSI cuando sea necesario. Hay que recordar que AMSI es una protección joven, la cual aparece en Windows 10. Es una característica de seguridad que actúa entre los intérpretes de scripting y el motor de antivirus.

AMSI en Windows

Los lenguajes de scripting que soportan AMSI son Powershell, Windows Script Host (wscript.exe y cscript.exe) y, recientemente, Visual Basic for Applications o VBA. El flujo es sencillo, cuando se ejecuta un comando en uno de estos intérpretes, los comandos son enviados a la interfaz de AMSI. Si el antivirus está ‘hookeado’, éste podrá recibir la ejecución y decidir si bloquear o permitir lo ejecutado. De este modo, se puede detectar ejecución en memoria de código malicioso y bloquear este comportamiento.

La idea del bypass es sencilla, intentar evitar que los comandos que son ejecutados a través del intérprete sean detectados como algo malicioso. Como ya comenté arriba, ya hemos visto ejemplos de bypass de AMSI en Powershell. En septiembre de 2018, Microsoft anunció la implementación de AMSI para VBA, incluyendo la característica para MS Office 365, release de enero de 2019. Hoy en día cualquier usuario de Office 365 debería ejecutar Office con AMSI habilitado para evitar las macros maliciosas.

Figura 3: AMSI en Macros VBA de Office

Según la teoría, cualquier método COM y llamadas a la API Win32 debería acabar siendo tratada por el sistema Behavior Log. Además, llamadas específicas son marcadas como triggers. La ejecución de una macro será pasada a AMSI para tomar una decisión. Por defecto, la configuración de AMSI no está habilitada para todas las macros de los documentos. Su política está configurada para documentos de baja confianza. Es decir, documentos cuya confianza es dudosa, ya sea por no estar firmado o por haber sido descargado de Internet.


Algunos bypasses de AMSI con VBA
Se han ido publicando algunos bypasses de AMSI para VBA. Algunos se han recopilado en un magnífico artículo de Pieter Ceelen, dónde se detalla el ámbito de ejecución de AMSI con VBA y los bypasses.

Bypass 1: Attack without VBA

El primer bypass es un ataque denominado ‘Attack without VBA’, por lo que parece que de primeras no tendremos a VBA. Está orientado al uso de macros: ‘Excel 4.0 macros’. En Excel hay un segundo motor de macros específico para Excel 4.0 macros. Este motor está implementado en Excel.exe y no utiliza el motor de VBA, el cual se encuentra en la DLL VBE7.dll.

Figura 4: Excel 4.0 Macro

Como el motor de AMSI solo ‘hookea’ a VBA, Excel 4.0 proporciona un vector de ataque. Sobre el ataque de Excel 4.0se puede leer más en un interesante artículo de Stan Hegt. El resumen es rápido y sencillo, la idea es crear una macro para MS Excel 4.0 Macro.

Figura 5: Ejemplo de Macro usando las API de Win32

Una vez realizada la macro y configurada con el Auto_open se tiene todo lo necesario. En el artículo de Stan Hegt se muestra un ejemplo básico para la apertura de la calculadora o cómo hacer uso de la API de Win32 y conseguir un ataque más completo y potente.

Bypass 2: Macro Runtime Scope & Abusing Trust

El segundo bypass que vamos a tratar es el denominado Macro Runtime Scope & Abusing Trust. ¿En qué consiste? Microsoft hizo varias excepciones sobre el scope o ámbito de ejecución de AMSI. Especialmente las excepciones para documentos categorizados como de confianza y ubicaciones de confianza.

Si pruebas con un documento de confianza y una macro verás que todo fluye normal pasando por AMSI, aunque quizá no debería. Esto es prueba y error. Por otro lado, el investigador Pieter Ceelen se dio cuenta que con los documentos de ubicaciones de confianza se excluían de AMSI en la configuración predeterminada.

Figura 6: PoC del Bypass 2 en GitHub

Se puede utilizar una PoC (Prueba de Concepto) desde el Github del investigador. La idea era sencilla: lo primero es que, con el documento abierto, se guarda el documento actual como una plantilla hacia la ubicación de confianza.

Después, se abre un nuevo archivo basado en esa plantilla que activará un evento document_new desde una ubicación confiable. El script que se proporciona en el Github tiene tres semanas, por lo que sigue siendo muy funcional.

Bypass 3: Innocent COM functions

El tercer bypass es denominado como ‘Innocent COM functions’. Microsoft hace distinción entre ‘InnocentCOM. Algunos ejemplos de funciones Innocent COM que permiten abusar de no lanzar AMSI son:
• Instanciación de Excel y llamar a ExecuteExcel4Macro o DDEInitialize. 
• Utilizar WMI y SpawnInstance.
Figura 7: Ejemplo por DarkOperator

Esto está documentado por Carlos Pérez o DarkOperator, genialmente, para que puedas probarlo con un paso a paso.

Bypass 4: Non-Win32API/COM functions that have side effects

El cuarto bypass es denominado ‘Non-Win32API/COM functions that have side effects’. Hay varias funciones integradas en Word y Excel que pueden proporcionar la ejecución de código o provocar el desactivar AMSI.

Es posible utilizar una macro para editar el contenido de un archivo de Word y almacenarlo como archivos de texto con extensión REG o BAT, por ejemplo, disableamsi.reg o disableamsi.bat. Con estos ficheros se puede deshabilitar AMSI a través de la configuración macroruntimescope en el hiveHKCU. Teniendo en cuenta, y esto es importante en el Ethical Hacking, que la mayoría de las empresas no van a configurar por GPO la configuración de macroruntimescope, se podrá sobrescribir en HKCU.

Figura 8: Macros para hacer estas pruebas

En el mismo archivo BAT se podrá hacer que se inicie Word sin el splash screen de bienvenida. Es un método interesante, y se puede hacer muy silencioso. Se puede descargar desde Github el código de la macro.

Conclusión

AMSI es una protección que está aquí para, en principio, estar en las nuevas generaciones de Microsoft Windows. Es una protección ambiciosa y que debe cubrir una serie de vectores de ataque muy amplios y complejos. Veremos cómo avanza el juego del gato y del ratón en los próximos meses que seguro que es divertido.

Autor:Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica.

Criptografía Nazi en la II Guerra Mundial: La fantástica historia del Big Ben de Londres y los “Bletchley Park” alemanes

$
0
0
La historia de cómo se consiguió descifrar la máquina Enigma es de sobra conocida. Quizás el mejor libro que explica su funcionamiento y el proceso de “ingeniería inversa” que hicieron en Bletchley Park es “Hut Six”, escrito por Gordon Welchman, uno los genios olvidados que trabajó codo con codo junto al mismísimo Alan Turing. Nosotros hemos hablado en este artículo sobre "La Spanish Enigma" y en nuestro libro de Microhistorias que ya conocéis, tanto de Enigma como de Alan Turing. Así que tenemos ingentes cantidades de documentación (e incluso películas) sobre este hecho histórico que salvo millones de vidas.

Figura 1: Criptografía Nazi en la II Guerra Mundial: La fantástica historia
del Big Ben de Londres y los “Bletchley Park” alemanes

Pero ¿y los alemanes? ¿tenían un “Bletchley Park”? ¿cómo gestionaban ellos la seguridad de las comunicaciones? La Historia la escriben los vencedores, es por eso que algunos capítulos quedan en el olvido como es el caso de la historia de los criptoanalistas alemanes.

Figura 2: Libro Microhistorias donde hablamos de Enigma y Alan Turing

En el fantástico libro “Sapiens” de Yuval Noah Harari, aparece mencionado un hecho realmente interesante que nos sirve de muestra para destacar la increíble pericia e inteligencia de los científicos y militares alemanes. En la Europa ocupada, se emitían por radio las noticias de la BBC y al principio de dicha transmisión, se escuchaba en directo las campanadas del Big Ben dando las horas.

Figura 3: Fragmento de Sapiens en el que explica la anécdota.

Según el libro, los alemanes seguían al detalle dichas transmisiones hasta el punto que encontraron una forma de determinar las condiciones meteorológicas en función de las diferencias de tono de las campanadas, información que era vital para la Luftwaffe (Fuerza Aérea Alemana) y sus operaciones de bombardeo en territorio inglés. Es decir, un auténtico estudio de esteganografía y estegoanálisis para coger información por cover channels.

Figura 4: Foto del Big Ben durante la Segunda Guerra Mundial iluminado por los focos antiaéreos

No existen pruebas (al menos no las hemos encontrado) que confirmen este hecho, ya que medir estos valores tan complejos sólo partiendo del sonido (y con los medios de la época) era algo que se antoja bastante complicado. Pero, por otro lado, sí que era posible medir o, mejor dicho, comprobar, los sonidos de fondo. La lluvia, el viento o incluso sirenas y asociarlos a ciertos eventos meteorológicos es algo más plausible de detectar. Una cosa sí que es cierta: entre el 16 y el 18 de septiembre esta emisión en directo se cambió por una grabación.


Figura 5: Vídeo con el sonido del Big Ben tal y como sonaba por aquella época

Unas teorías dicen que se eliminó el directo justamente por lo que hemos comentado antes, es decir, porque todo un equipo de científicos nazis estaba escuchando y analizando hasta el último detalle dando demasiadas pistas, de cada sonido de aquella transmisión la cual venía directamente desde el mismísimo corazón del imperio británico: el centro de Londres.

Pero existe otra teoría quizás más ajustada a la realidad, y es que los británicos temían que los alemanes lanzaran un ataque con las bombas dirigidas V-1 justo en el momento de dicha transmisión y las explosiones se escucharan por todos los territorios ocupados, minando la poca moral que les quedaba. Como otro dato curioso y un poco dentro del mundo de la conspiración, el Big Ben nunca fue bombardeado por los nazis … ahí los dejamos ;)

Figura 6: Bomba volante V-1

Dejando de lado esta curiosidad, este hecho deja en evidencia una realidad: los alemanes también estaban vigilando, y de cerca, todas las transmisiones de radio de los Aliados. Estas transmisiones de la BBC estaban sin cifrar y eran públicas, pero la gran mayoría de las realizadas por los diferentes estamentos militares sí lo estaban, y estas también se escuchaban y analizaban. De hecho, los alemanes llevaban descifrando con éxito los mensajes de la armada británica desde 1930. Y cuando llegó la guerra en 1939, sabían perfectamente la ubicación de todos los barcos británicos. Estaban muy por delante de las fuerzas aliados y eso era gracias a su gran infraestructura de descifrado de comunicaciones.

Organismos de la Alemania Nazi dedicados a criptografía

Los responsables de este gran logro que otorgó una gran ventaja inicial en la guerra a los nazis se llamaban B-Dienst. Podríamos pensar, respondiendo a la pregunta que nos hacíamos al principio del post, que eran el “Bletchley Park” alemán. Pero no era exactamente así, B-Dienst no era más que un departamento dentro una organización mucho mayor a su vez parte del alto mando militar alemán (eso sí, fue uno de los que consiguieron los logros más destacados durante la guerra).

Figura 7: Técnico de la B-Dienst monitorizando señales de radio

De hecho, hay reconocidos hasta seis organismos (2 militares y dos civiles) dedicados a la criptografía durante la Segunda Guerra Mundial a servicio de la Alemania Nazi. Estos estaban integrados dentro de los altos mandos militares de la siguiente manera:
OKH/GdNA (dentro del Alto mando del Ejército): estaba ubicado en Jüterborg (al sur-oeste de Berlín) y estaba compuesto por 12.000 personas dedicadas a vigilar todas las señales de la armada aliada.
OKM/4SKL III (dentro del Alto mando Naval): monitorizaban todas las transmisiones y criptoanálisis del tráfico naval de los británicos, americanos, rusos, franceses y suecos. Se componía por un equipo de unos 2.500 entre técnicos, matemáticos e incluso soldados de campo (encargados de infiltrarse o acercase a las líneas enemigas para detectar transmisiones). La famosa B-Dienst que hemos comentado antes estaba dentro de este departamento militar.
OKL/LN (dentro del Alto mando Aéreo):como es lógico, la Luftwaffe era que quien recibía toda la información descifrada por este equipo de personas. Su lucha contra la RAF (Fuerza Aérea Real británica) y la USAAF (Fuerza Aérea Americana) provocó que este fuera el departamento que más ayudas y esfuerzo recibió durante la guerra, llegando a tener hasta 13.000 personas bajo su mando.
OKW/Chi (dentro del Comando Supremo de Fuerzas Armadas): este era un equipo de 800 personas dedicado sobre todo a estudiar todo el tráfico diplomático emitido por los aliados. Pero su característica más interesante es que eran un Red Team, ya que se encargaban de estudiar y encontrar errores dentro del cifrado alemán dentro del mismo departamento (OKW).
Y a estos cuatro anteriores hay que sumar los dos estamentos “civiles” (no eran militares de base, pero estaban controlados por el Partido Nazi). Estos eran:
Oficina Extranjera Sección de Criptonanalítica (Pers Z B): Unos 200 criptoanalistas formaban este equipo involucrado sobre todo a descifrar los códigos emitidos por diplomáticos. Tenían una pequeña estación de interceptación de mensajes en Dahlem pero la gran mayoría de mensajes los recibían también de OKW/Chi. También estudiaban el tráfico diplomático de los aliados, neutrales o amigos de la causa.
Despacho Goering de Investigación (FA): Agencia nazi creada en 1933 que monitorizaba cualquier transmisión (incluso no militar, además de cartas postales) en Alemania, Dinamarca, y la Polonia invadida. Luego se especializó en mensajes enviados por los rusos y estaba centrada en la BBC, por lo que posiblemente eran los que escucharon a fondo las campanadas del Big Ben.
Podemos observar el gran despliegue alemán para codificar y decodificar todo tipo de transmisiones. Además de la ventaja de esta gran infraestructura, para subir más aún su confianza en el control de las comunicaciones, se sumó la aparición la famosa e “invencible”, máquina Enigma. Pero a principios de 1942, las tornas comenzaron a cambiar. Todo el equipo de Bletchley Park junto a Alan Turing para cambiar el orden de volver del lado aliado el control de las comunicaciones, en la parte de la historia que ya conocemos.


Parece ser que no había buena relación entre los diferentes departamentos que antes hemos mencionado, sobre todo con la FA de Goering, lo que hizo que toda esa gran maquinaria de descifrado no funcionara a la perfección (cosa que sí hicieron bien los británicos al centralizar todos los esfuerzos en Bletchley Park). Las rencillas entre los diferentes mandos y la gran estructura dificultaron mucho esa comunicación. Además, cada vez hacía falta más gente en otro tipo de recursos bélicos y esa gran estructura fue disminuyendo con el tiempo.

Figura 9: Máquina Bombe diseñada por Alan Turing para descifrar Enigma/td>

Como hemos podido observar durante el artículo, los nazis con esa infraestructura mejor coordinada y gestionada hubieran echado por tierra posiblemente todos los esfuerzos de Bletchley Park. Incluso ellos detectaron los fallos en su flamante máquina Enigma y diseñaron diferentes “parches” de seguridad para evitarlos. Esto finalmente se plasmó en una máquina Enigma totalmente renovada, la SG-41 (Schüsselgerät), la cual llegó un poco tarde (finales de 1944) pero tiene el honor de ser la máquina Enigma que venció a Bletchley Park

Pero amigos/as … esa es otra (Micro-) historiapara más adelante;)

Otros referencias
- La “Spanish Enigma“, su aportación clave al descifrado final de Enigma y el rapapolvo de Bletchley Park
- Da Vinci Myth Code: Mensajes ocultos en las figuras de los Caballeros del Zodíaco resueltos con Enigma
- El enigma con Enigma
- Cifrado de las comunicaciones digitales: De la cifra clásica a RSA
Autores:

Fran Ramírez, (@cyberhadesblog) es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades.

Rafael Troncoso (@tuxotron) es Senior Software Engineer en SAP Concur, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" además del blog CyberhHades.
Viewing all 4293 articles
Browse latest View live