domingo, febrero 18, 2018

Compite contra el Movistar Team (@Movistar_Team) de Ciclismo y contra el Movistar Riders (@Movistar_Riders) de eSports

Estamos a una semana del comienzo del Mobile World Congress. El domingo nosotros tenemos nuestro evento de lanzamiento de AURA más algo nuevo en lo que hemos estado trabajando este año, pero también vamos a tener muchas más actividades. Desde charlas y paneles en los tracks del propio Mobile World Congress, hasta actividades en el stand, pasando por actividades en nuestra Flagship del Mobile World Centre que se encuentra en la Plaza de Cataluña. Es en este último sitio donde hemos querido llevar algo diferente. Una sesión de ciclismo contra el equipo Movistar Team.

Figura 1: Compite contra el Movistar Team de Ciclismo y contra el Movistar Raiders de eSports

Como sabéis, el equipo Movistar Team es uno de los más avanzados del mundo en el uso de los datos, gracias al trabajo y pasión de Eusebio Unzúe y Mikel Zabala, este último un auténtico amante de la tecnología. Como ya os contamos hace tiempo, desde LUCA ayudaos a nuestro equipo a analizar los datos y entender mejor el rendimiento de cada corredor y su desgaste en cada etapa. Ganar una carrera es un ejercicio combinado de todo el equipo, y ganar una gran vuelta de tres semanas una obra de arte de ingeniería que mezcla la fuerza y el talento de los corredores junto con las mejores decisiones. Decisiones, tomadas en base a datos que se capturan en cada pedalada que da el corredor, como os contamos en la presentación del año pasado.

Figura 2: LUCA y el Movistar Team

Los datos de los corredores son siempre algo que se protege con celo. Es la "ficha técnica" de un corredor del equipo, pero este año el gran Alejandro Valverde, que ya es una leyenda mundial del ciclismo por su palmarés, su pundonor, y el espectáculo que da en cada carrera en la que participa, nos ha cedido los datos de la subida, nada más y nada menos que a Los Lagos de Covadonga. Una etapa que solo dos corredores han ganado dos veces. Uno de ellos, el gran Pedro Delgado.



La etapa de Los Lagos de Covadonga es un día grande en La Vuelta. Cuando no pasar por allí la carrera, como sucedió el año pasado (la última subida fue en 2016 y la ganó el Movistar Team con Nairo Quintana)  los aficionados sufrimos. Y este año parece que va a volver al calendario, así que los que se apunten a esta sesión de "Spinning" subirán en su bicicleta la subida final a Los Lagos de Covadonga, comparando su subida con el resto de participantes, y con el gran Alejandro Valverde. ¿Cómo?


Pues porque desde LUCA llevaremos las herramientas que utilizamos para analizar los datos del equipo y comprobaremos cómo va cada corredor. Además, las bicicletas están conectadas a las luces IoT de la sala. Cada pedalada significará un grado de intensidad, y esa será la iluminación que habrá en la tienda. Sudar un poquito y disfrutar de la competición.


Pero no solo eso, es que además, el Martes 27 de Febrero se vendrá Mikel Landa, una de las estrellas del equipo de este año que ha venido a luchar por grandes cosas. No hace falta que yo os diga ya que soy un gran aficionado al ciclismo, así que como Mikel estará con los participantes, y le entregará el premio a los ganadores, yo me apunto también a estar allí. Pero lo mejor, estará con los que vengan a participar allí. Si quieres ser tú, apúntate la fecha y ven.


Pero también tendremos desde LUCA al equipo Movistar Riders de eSports para que compitas contra ellos jugando. Los equipos inscritos previamente a través de este formulario, podrán jugar una partida del famoso videojuego League of Legends (LoL) y ver su rendimiento reflejado en una demo diseñada ad hoc para la ocasión, comparándose con métricas históricas de gamers profesionales del equipo Movistar Riders para optimizar su juego gracias al análisis avanzado de datos.

Figura: Ven a competir contra el Movistar Raiders al LOL

Además, los primeros 5 equipos formados tras la inscripción tendrán la exclusiva ocasión de jugar una partida de LoL en tiempo real con los gamers del equipo Movistar Riders las tardes del lunes 26 y martes 27 de febrero. Una partida muy especial para todos aquellos seguidores del equipo y los eSports, en general. Los visitantes del espacio de eSports también podrán utilizar el casco que usamos para monitorizar las ondas cerebrales de los jugadores mientras compiten, que permite conocer cómo funciona tu cerebro mientras compites en eSport. Tienes que inscribirte en este formulario.

Figura: Cómo crear el mejor equipo de eSports del mundo

Un par de experiencias que hemos preparado para los asistentes que se apunten y que son difíciles de repetir. Ha sido un esfuerzo de coordinación de agendas, medios y recursos para esta actividad única, así que aprovéchala.

Saludos Malignos!

sábado, febrero 17, 2018

Debugger Registry Key: Nuestro aliado en Windows para mitigar ataques Fileless UAC bypass y DLL Hijacking

Hace tiempo que mi compañero Pablo González y yo empezamos a estudiar todo lo relacionado con la evasión de UAC. Muestra de ello es la herramienta que hace poco hemos publicado ya en nuestra web de ElevenPaths, que nos llevó a BlackHat Europa y de la que ya hemos hablado anteriormente en este blog, UAC-A-MOLA. Probablemente una de las fases más complicadas en el desarrollo de la herramienta, fue la fase de mitigación.

Figura 1: Debugger Registry Key: Nuestro aliado en Windows
para mitigar ataques Fileless UAC bypass y DLL Hijacking

Como hemos contado desde el principio, queríamos que la herramienta no solo fuera capaz de detectar, realizar e investigar evasiones de UAC, sino que también fuera capaz de mitigarlas. Y esto no fue una tarea sencilla. Hubo que hacer muchas pequeñas cosas por detrás para lograr que esto fuera así.

Figura 2: Download UAC-A-Mola

Lo que hoy os traigo es un pequeño hack que encontramos en sistemas operativos Microsoft Windows, que nos permite realizar esto sin apenas sobrecargar la máquina anfitriona y que, como veremos más adelante, tiene muchas más aplicaciones que mitigar este tipo de debilidades de seguridad.

Problema que se plantea

Se plantean las siguientes cuestiones:
  • Sabemos que existe un conjunto de binarios oficiales de Microsoft Windows que por sus características son vulnerables a la evasión de UAC. Ya sea mediante la creación de una serie de claves y valores en el registro de Windows o mediante la creación de una estructura de directorios y de una DLL (Dynamic-Link Library) maliciosa en el sistema de archivos.
  • Sabemos que la evasión de UAC se realiza en las primeras fases de ejecución del binario, el programa original nunca llega a abrirse.
  • No queremos que el usuario tenga que realizar acciones adicionales a las que trae el sistema operativo por defecto (como por ejemplo introducir una contraseña cada vez que se ejecuta uno de estos binarios). En definitiva, no queremos endurecer las políticas de seguridad de UAC.
  • Necesitamos saber cuando se ejecuta un binario potencialmente vulnerable a la evasión de UAC, y antes de que se produzcan las primeras fases de la ejecución del mismo, comprobar si ese binario se esta ejecutando de una forma legítima o se esta utilizando para realizar una evasión del UAC.
  • Por último, tenemos que realizar toda la monitorización anterior sin que haya una sobrecarga notable en el rendimiento de la máquina. El usuario no debe notar que se están monitorizando ciertos binarios.
Estas son a grandes rasgos las características que buscábamos para poder realizar una mitigación eficiente de la evasión de UAC. Vamos a ver algunas de las soluciones que se nos ocurrieron:

Hooking de determinadas llamas al sistema

Una de las primeras cosas que hicimos fue hookear las llamadas al sistema que se hacían en el sistema operativo MS Windows desde espacio de usuario. Cuando veíamos una llamada de creación de un proceso, comprobábamos si ese proceso se correspondía con alguno de los binarios vulnerables, si esto era así, suspendíamos el proceso, lo hookeabamos y monitorizábamos todas las llamadas del mismo al registro y al sistema de ficheros, si en alguna de esas llamadas se alcanzaba un ruta potencialmente peligrosa, se detenía la ejecución del binario y se avisaba al usuario si quería continuar con su ejecución.

Hicimos todo esto en Python (sí, Python también funciona en Windows :P) utilizando Deviare un motor profesional de hooking que tiene la ventaja de que esta implementada como un componente COM, por lo que se puede integrar con todos los lenguajes de programación que soporten COM. Esta parte daría para otro post, así que no voy a extenderme más, quizá en un futuro os escriba sobre ello.

Figura 3: Deviare API Hook

La conclusión es que esta técnica funcionó relativamente bien, deteniendo la ejecución el binario cuando pretendía realizar una evasión de UAC y permitiendo su ejecución cuando lo hacía de manera legítima. A pesar de esto, esta técnica tenía un gran problema, el hooking continuo de todas esas llamadas al sistema ralentiza mucho la máquina y por lo tanto no es útil para un entorno real, suficiente para ser descartada.

Debugger Registry Key

Vamos a meternos en materia con la solución que quiero presentaros en este artículo. Como hemos visto en el apartado anterior, tenemos algunos problemas relativamente complejos que solucionar:
  • ¿Cómo podemos saber cuándo se ha ejecutado un binario concreto desde cualquier parte del sistema operativo MS Windows (terminal, acceso directo, invocado desde un intérprete…) sin monitorizar el resto de los procesos para no sobrecargar la máquina?
Y lo que es más importante:
  • Una vez que hemos detectado que se ejecuta uno de los binarios potencialmente peligrosos, ¿Cómo podemos detener su ejecución antes de que realice la evasión de UAC (que se realiza en las primeras fases de ejecución del mismo) y ejecutar un pequeño código nuestro que verifique si ese binario se está ejecutando de manera legítima?
Después de mucho rompernos la cabeza con esto, encontramos lo siguiente en MSDN de Microsoft:

Figura 4: Información en MSDN

¿Curioso verdad? Eso es justo lo que nosotros queremos, con la diferencia de que, en vez de un debugger, queremos ejecutar otro código que verifique si ese binario se ejecuta de manera legítima. Vamos a seguir leyendo:

Figura 5: Proceso para lanzar el debugger automáticamente en MSDN

Parece bastante sencillito, simplemente tenemos que crear esa clave en el registro de MS Windows con el valor del binario que queremos monitorizar, supongamos por ejemplo sdclt.exe, y en su interior creamos un valor debugger con el script que queremos que se ejecute cuando este binario sea invocado por el usuario, vamos a hacer la prueba con calc.exe.

Figura 6: Valor debugger creado

El resultado, como podéis comprobar, es la ejecución de una calculadora cada vez que ejecutamos sdclt.exe desde cualquier parte del sistema operativo. Estupendo, ya tenemos una forma de detectar cuando se ejecuta un binario concreto sin ninguna sobrecarga para la máquina del usuario y, además, podemos ejecutar un script que compruebe si ese binario se va a ejecutar de forma legítima antes de que lo haga.

Ahora, vamos a ver como podemos aprovechar esta característica para montarnos un programita en Python que automatice las comprobaciones utilizando esta técnica de manera transparente para el usuario y sin añadir sobrecarga en el equipo.

Mitigando la evasión de UAC y el DLL Hijacking

Ahora es donde la cosa se pone interesante, vamos a utilizar la técnica anterior y vamos a desarrollar un servicio y alguna cosita más en Python para aprovecharla en la mitigación de evasiones de UAC. Lo primero de todo, vamos a ver algunas características que tiene la técnica del debugger, que pueden suponer un problema o una deficiencia:
  • Si creamos la clave binario.exe y el valor debugger con la ruta de nuestro script de comprobación, hay que tener en cuenta que cuando el usuario ejecute binario.exe solo se ejecutará nuestro script de comprobación, que tendrá que ser el encargado de ejecutar binario.exe si todo está correcto.
  • Como se ha dicho en el punto anterior, será nuestro script de comprobación el encargado de ejecutar binario.exe después de haber realizado las comprobaciones, pero antes de su ejecución, deberá eliminar la clave del registro, y tras su ejecución, deberá volverla a poner. De lo contrario, entrará en un bucle infinito llamando constantemente al script de comprobación.
  • Por último, pero no menos importante, para poder añadir y eliminar esas claves y valores en el registro de la máquina necesitamos permisos de administración.
Teniendo todo esto en cuenta, el flujo completo que se debería seguir la ejecución de un binario potencialmente vulnerable a la evasión de UAC es el siguiente:
1. El usuario invoca binario.exe. 
2. Se ejecuta automáticamente el script de comprobación que se encuentra en la rama binario.exe y en el valor debugger. 
3. El script de comprobación evalúa si la ejecución es legítima. 
4. Si se encuentran ramas del registro o estructuras en el sistema de ficheros peligrosas, el script de comprobación las elimina. 
5. El script de comprobación elimina el valor debugger. 
6. El script de comprobación ejecuta el binario.exe. 
7. El script de comprobación vuelve a escribir el valor debugger.
La única pega que encontramos en este proceso es que tiene que eliminar el valor del registro que se encuentra en el hive HKLM, que es una rama del registro de MS Windows que requiere permisos de administración para poder modificarse. Como consecuencia de esto, el script de comprobación debe ejecutarse con permisos de administración, y por lo tanto el usuario debería aceptar una pestaña de UAC cada vez que ejecuta uno de los binarios sospechosos. Esto provocaría una modificación del comportamiento de este tipo de binarios que no requieren aceptar el UAC ya que se auto elevan solos.

Figura 7: Descripción del proceso de control

Como lo que nosotros buscamos es mitigar la evasión de UAC sin provocar ningún cambio en el comportamiento del sistema operativo MS Windows por defecto, de forma que se mantenga la facilidad de uso al mismo tiempo que podamos garantizar cierto nivel de seguridad, vamos a utilizar la siguiente estrategia para que el script de comprobación se ejecute con permisos de administración, pero el usuario no tenga que aceptar el UAC, es decir, para que se mantenga el comportamiento por defecto. Lo que haremos será lo siguiente:
1. Crearemos un servicio de Windows, que correrá con privilegios elevados, y que se encargará de modificar el registro y el sistema de fichero. 
2. Por otra parte, crearemos un agente por cada uno de los binarios que queramos mitigar. Lo almacenaremos en una rama protegida del sistema y será el encargado de comunicarse de forma segura con el servicio cuando uno de los binarios sospechosos sea ejecutado por el usuario. 
3. El servicio pondrá en el valor debugger del registro de Windows de cada uno de los binarios la ruta al agente.
Programando el servicio y los agentes

Vamos a ver el código para realizar todo esto. Lo primero el del servicio, escrito en Python:


Figura 8: Código en Python del servicio

Como podéis observar lo que hace es esperar una conexión mediante un socket localhost con una determinada contraseña para que sea más seguro. El agente se comunicará con una serie de comandos, y en función del comando, el servicio realizará una acción u otra.

Por otra parte, el código de los agentes es extremadamente sencillo. Lo que vamos a hacer es tener una clase agente que implemente las funciones básicas de conexión con el servicio y luego heredar de ella para cada uno de los agentes concretos:


Figura 9: Código en Python de los agentes


Figura 10: Código en Python de instanciado de agentes

Una vez tenemos esto, lo único que hay que hacer es instalar el servicio en el sistema, que se ejecutará como cualquier otro.

Figura 11: PoC de UAC Bypass Mitigation

En conclusión, como puede observarse, con este método tenemos una forma de comprobar el estado de diferentes estructuras del sistema operativo antes de la ejecución de un binario. En nuestro caso, lo utilizamos para comprobar si existen determinadas ramas peligrosas en el registro de Microsoft Windows o determinadas construcciones en sistema de ficheros, pero puede ser utilizado para multitud de soluciones.

Autor: Santiago Hernández, Security Researcher en ElevenPaths

PD: Si te gusta este tema, las lecturas recomendadas son los libros de  "Hacking Windows" y "Máxima Seguridad Windows 4ª Edición". Te darán una perspectiva general de cómo funciona toda la arquitectura general de seguridad de los sistemas Microsoft Windows.

viernes, febrero 16, 2018

Cómo se eligió el nombre de ElevenPaths @elevenpaths

Esta mañana muy temprano he leído una pregunta que me hacía un viejo amigo por Twitter para saber exactamente por qué pusimos el nombre de ElevenPaths a la empresa cuando llegamos a Telefónica. Por supuesto, la elección del nombre tiene su pequeña historia detrás, y aunque la he contado algunas veces a amigos en reuniones, creo que nunca la he contado en un post, así que os voy a explicar hoy cómo se fraguó el nombre de ElevenPaths, allá por el año 2013.

Figura 1: Cómo se eligió el nombre de ElevenPaths

En el año 2012 yo estaba en el programa Talentum de Telefónica, la compañía estaba cambiando nuevamente en el mes de septiembre, y se quería acelerar la estrategia de los servicios de digitales. Tras muchos avatares, y decisiones personales, llegamos a la conclusión de empezar con algo pequeño que pudiera crecer luego, por lo que sobre la base de Informática 64, la empresa que montamos Rodol y yo, decidimos crear una nueva empresa que generaría productos y tecnologías de seguridad. Sería pequeña, formada por algunas empresas de nicho que yo quería comprar - algunas se compraron y otras no -, y con un grupo de profesionales que fuimos seleccionando uno a uno.


Para liderar este proyecto, en 2012, me apoyé en David Barroso. En esos momentos estaba en el área de seguridad de la información de Telefónica Digital, y a él le atraía el proyecto de venirse conmigo. Él sería el CTO y yo el CEO. Y constituimos la sociedad. Una sociedad que se llamó inicialmente Telefónica Digital Identity and Privacy. Un nombre que no tenía nada que ver con la marca que queríamos poner a la empresa, pero hasta que tuviéramos un nombre necesitamos alguna para el registro de la compañía. Así que yo puse ese nombre técnico.

Lo curioso es que, para ir más rápidos, utilizamos una jurídica "durmiente" que tenía otro nombre menos relativo con la seguridad informática y más "sonoro", pero esa es otra historia que ya os contaré más adelante. Lo cierto es que con Telefónica Digital Identity & Privacy arrancamos a trabajar, y necesitábamos un nombre. Había que elegir uno. Rodol y yo lo habíamos resuelto años atrás en una servilleta - esta también es otra historia para otro día - y lo hicimos en un día. Yo no quería que esto tardara mucho más.

En uno de los viajes en los que andaba yo, desde un tren, le pasé una lista de sugerencias a David Barroso. En mi reflexión interna, en la lista de palabras que hice todas tenían que cumplir algunas de las características que tenía en mente.

La primera era que debía transmitir buenas sensaciones por sinestesia. Esto es algo que llevaba tiempo observando en muchos estudios. Quería que el nombre transmitiera sensaciones cómodas al pronunciarse. Palabras "redondas" o "dulces" o "suaves.

La segunda es que tenían que ser en inglés. Íbamos a hacer una compañía global para Telefónica, así que no podíamos usar Informática 64. El nombre de "Informática 64" no funcionaba bien en Inglaterra, Brasil o Alemania, así que debían ser palabras en inglés. En el programa Talentum - donde elegí el nombre yo solo en una reflexión interna en Enero de 2012, que será otra historia para contar en otro momento - elegí el nombre en latín con la misma preocupación que ahora, pero ahora quería ir más allá del FootPrint de Telefónica, así que el inglés era la opción.

Figura 3: La marca de Talentum en Telefónica

La tercera, es que quería que tuviera algún número, si fuera posible. Me gustan los nombres con números. Representan la parte de ciencias y matemáticas que hay en mí. Lo podéis ver en Informática 64, ElevenPaths, 0xWord y LUCA D3 - de este último solo añadí el D3 "Data-Driven Decisions" ya que el nombre no se lo puse yo -.

Figura 4: LUCA D3

La última de las cosas que tenía en mi cabeza, por mi experiencia en el registro de la marca de Informática64 fue que, con palabras simples iba a ser imposible, así que había que elegir un nombre compuesto. Jugar con palabras y números siempre da ese juego.

Con esto en la cabeza hice una primera reflexión de palabras que envié a David Barroso. La lista la hice en las notas de mi iPhone mientras viaja en tren de una conferencia a otra de la gira Talentum en la que estaba, y puse palabras que me sonaran bien para componer el nombre.
Balloon, tree, princess, lemon, yellow, zero, one, eleven, houses, home, etc… 
Todas palabras que me sonaran bien a priori. Tenía que hacer un primer filtro, y se las mandé a David Barroso.

Lo cierto es que yo estaba muy convencido de Eleven. Me encantaba. Se podía poner con número - como en nuestras direcciones de e-mail 11paths - lo que da juego para acortar el nombre o ser de los primeros en una lista. Además, podría acortarse también a "e-", lo que tenía que ver mucho con nuestro primer proyecto fallido el "Path1" que algún día os contaré. Por último, era un número, que podía ser binario. Me encantaba. David estaba de acuerdo, y como siempre, lo arregló con un:  "Además, son dos Ases. Dos números 1. Ases en el Blackjack, que pueden valer 1 o pueden valer 11". David Barroso siempre te sorprende con comentarios únicos para la historia. Es el rey en esto.


Así que, una vez que David Barroso se convenció como yo, buscamos nombres con Eleven "algo". En ese mismo viaje de tren fuimos cambiando combinaciones de todo tipo: Eleven Trees (este me gustaba, porque cuidar un proyecto era para mí como cuidar un árbol), Eleven ballons, Eleven Ways, Eleven … muchas cosas. Hasta que David Barroso lo dijo por primera vez. "Paths, tiene que ser Eleven Paths".

La explicación que me dio David me convenció.
"Un path es un camino que se sigue, como el nuestro que arrancamos ahora. Además, nuestro objetivo es innovar, probar, e intentar cosas nuevas, así que vamos a explorar muchos caminos. Y lo más importante, es una ruta a una carpeta. Un path a un proyecto".
Y me pareció perfecto. Así que sin decir nada a nadie, llamé a Rodol y le pedí que comprara todos los dominios 11pahs, e-paths, elevenpaths, que estuvieran disponibles de los principales, que éste era nuestro nombre. Luego teníamos que comenzar con el registro de la marca. David hizo la última comprobación en Internet buscando a ver si ElevenPaths significaba algo malo, pero justo lo que encontramos es lo que más gustó. Un proverbio que dice:
"Eleven Persons take Eleven Paths"
Justo eso, innovar, tomar diferentes caminos. Esto además a mí me evocaba una explicación aún mejor:
 "… Y como en un pentesting, que siempre hay otro camino. ElevenPaths… to get into your system".
Teníamos nombre. Lo teníamos claro. Aún así, una vez que David Barroso y yo elegimos ElevenPaths, lo comunicamos a nuestros compañeros de Telefónica que nos hacían de nexo en nuestros primeros pasos y al equipo de marca, que antes de darnos el sí definitivo querían proponernos por medio de alguna agencia algún otro nombre.

David y yo teníamos claro que queríamos ser ElevenPaths, pero les dejamos hacer el estudio. No nos iban a ganar fácilmente. Y así fue. Las propuestas de nombre que consiguieron no les convencieron a ellos, que nos dieron el OK a ElevenPaths y se pusieron a trabajar en la propuesta de grafismo alrededor de ese nombre. Como curiosidad, una de las opciones que habían recibido de una agencia - y que el equipo de marca descartó - fue ACERÓN.

Aún nos partimos de risa pensando en que nos podían haber llamado ACERON. Vamos, no sé si hubiera sido capaz de defender ese nombre yo en mi Linkedin.

Saludos Malignos!

jueves, febrero 15, 2018

Mobile World Congress, RootedCON, y otras citas que no son del montón }:)

Vale, el título no es lo mejor, pero hoy por la mañana con todo el sueño que tengo, me he levantado un poco poético. Además, ya sabes que en estos artículos lo que os traigo es la agenda de Cursos, Conferencias, Charlas, Eventos o Seminarios Online en los que participamos desde ElevenPaths, LUCA, Telefónica o 0xWord. Vamos, para que te reserves hueco en aquello que te interesa.

Figura 1: Mobile World Congress, RootedCON, y otras citas que no son del montón }:)

El primero que os traigo es el del día 20 de Febrero del equipo de LUCA Data-Driven Decisions tiene un seminario online en las LUCA Talks, en este caso centrado en la tecnología LUCA Fleet para gestión de flotas de vehículos utilizando tecnologías de Big Data y sistemas de Analítica Descriptiva, Predictiva y Prescriptiva.

Figura 2: LUCA Fleet el 20 de Febrero a las 16:00 CET online

La segunda cita a tener en cuenta es el Curso Online de Hacking con Python que comienza el día 26 de Febrero en The Security Sentinel. Esta formación, de 90 horas de duración, está formada por 8 módulos en los que se ven técnicas avanzadas, y se entrega el libro de 0xWord del mismo título, es decir, el que escribió Daniel Echeverri llamado "Hacking Con Python". En la web del curso tienes un vídeo que explica el curso en detalle.

Figura 3: Curso Online de Hacking con Python para el 26 de Febrero

La siguiente cita es el Mobile World Congress en Barcelona, yo estaré desde el domingo con el evento de lanzamiento de AURA... y alguna cosa más, pero durante toda la semana hay paneles, charlas, demos en los stands, etcétera. Nosotros en Telefónica tenemos demos de LUCA, ElevenPaths, AURA, etcétera. Toda la información en la web del evento.

Figura 4: MWC en Barcelona desde el 26 de Febrero

Y luego, en mitad del MWC, hay una parada en Vitoria-Gasteiz, con el evento CyberGasteiz, donde además de las ponencias - en las que participan mis compañeros Felix y Yaiza de ElevenPaths y el gran Vicente Aguilera de Internet Security Auditors - podrás adquirir los libros de 0xWord. Será los días 28 de Febrero y 1 de Marzo.

Por último, llegamos a la RootedCON, donde los días 1, 2 y 3 de Marzo tendrán lugar las conferencias. Ya se ha publicado la agenda completa, con los RootedLabs incluidos, y mi charla será el día 3 a las 13:00 horas, así que nos veremos por allí. Por supuesto, habrá stand de libros de 0xWord y este año un calendario de firmas con autores, por lo que podrás comprar tu libro y llevártelo firmado por los principales escritores - muchos de ellos ponentes en la RootedCON de este año -.

Saludos Malignos!

miércoles, febrero 14, 2018

Seguir con Google la pista a Documentos PDF por los datos de su Certificado Digital

La firma digital que se pone en un documento lleva implícitos los datos del firmante que iban en el certificado digital que se utilizó. Estos datos pueden ser, por supuesto, los datos de un DNIe, que se haya utilizado para dicho menester, o los que aparecen en un certificado emitido por la FNMT para la interacción con la administración pública.

Figura 1: Seguir con Google la pista a Documentos PDF por los datos de su Certificado Digital

No hay mucho misterio más que los datos de la firma digital que se estampa en un documento PDF se pueden leer en claro, y aunque muchos de los visores de documentos PDF no avisan de que el documento lleva una firma digital, Google sí indexa esa información - tal y como me indicó mi amigo rootkit, que tanto disfruta del Hacking con Buscadores -, por lo que se puede utilizar como parámetro de búsqueda.

Figura 2: Documentos firmados del Department Of Defence de USA

Esto permite, por ejemplo, que una organización pueda localizar donde han sido publicados - e indexados - documentos que hayan sido firmados digitalmente con sus certificados.

Figura 3: Documentos firmados por un empleado del DoD

Pero también puede ser un leak de información no deseado, sobre todo por la cantidad de datos personales que acompañan a cualquier certificado digital emitido a una persona particular, como por los que sabemos que hay en certificados digitales tan populares como el del DNIe o la FNMT.

Figura 4: Documentos con certificados digitales de la NASA

Así que, con unas sencillas búsquedas en Google puedes saber si algún documento PDF que hayas firmado digitalmente ha sido publicado en la red y está emitiendo datos personales tuyos que no deseas. 

Figura 5: Documentos públicos en la red con firmas digitales de certificados FNMT

Por supuesto, la búsqueda por campos de los certificados digitales afectará a todo documento que almacene en formato de texto plano - o incluso en metadatos - los datos del certificado digital, así que no solo tienen que ser certificados digitales en documentos PDF.

Saludos Malignos!

martes, febrero 13, 2018

Meterpreter Paranoid Mode: Conexión segura en tu payload #metasploit

Recientemente he estado probando este script de bash llamado Meterpreter Paranoid Mode. La idea del autor de este script, seguramente, venga de este artículo de Rapid 7 sobre cómo de paranoicos podemos volvernos a la hora de configurar un Meterpreter. Sin duda, es un tema interesante, ya que los payloads que manejamos manejan, al final, información importante. Evitar que nos detecten por la evaluación de la comunicación mediante el cifrado de ésta, es algo que, en algunos entornos, puede ser fundamental. Eso sí, a nosotros nos ha llamado la atención el nombre por nuestro querido WordPress in Paranoid Mode.

Figura 1: Meterpreter Paranoid Mode

Meterpreter Paranoid Mode permite a los usuarios fortificar los staged/stageless de las conexiones de Meterpreter, teniendo que chequear para ello un certificado. La idea es sencilla: el script crea un certificado en formato PEM, el cual será utilizado para validar la conexión. Para tener la conexión validada, el handler al que se conecta el payload, debe disponer de acceso al certificado PEM. Además, se tendrá que tener habilitado el chequeo de este certificado, con la opción stagerverifysslcert a TRUE, dentro de los parámetros de Meterpreter avanzados. Esto lo veremos más adelante.

Figura 2: Meterpreter in Paranoid Mode

Una vez que el payload es creado por el script, mediante la herramienta msfvenom a bajo nivel, se debe configurar el handler para crear la conexión utilizando el certificado PEM. Se utilizará un hash SHA1 para la validación. Este es el resumen de la idea, de todo lo que automatiza el script Meterpreter in Paranoid Mode.

Figura 3: Meterpreter Paranoid Mode

Al ejecutar el script, éste solicita la creación de un certificado o importación de éste. Para hacerlo sencillo, se puede 'impersonar' un dominio. Para este ejemplo, se ha utilizado el dominio de Google. El script proporciona algunos pop-ups a la hora de poder seleccionar opciones, lo hace mucho más sencillo de utilizar por parte del usuario.

Figura 4: Creación de un certificado para un dominio suplantado

Una vez que rellenamos la opción del dominio y se lleva a cabo la 'suplantación' del dominio, se genera un nuevo certificado en formato PEM, el cual es almacenado en el directorio output. Más tarde, veremos detalles de dicho certificado almacenado. Lo que hay que entender es que es ese certificado el que será utilizado por el handler para validar la conexión segura con nuestro Meterpreter.

Ahora, nos toca elegir si vamos a utilizar un staged o un stageless. La herramienta nos dará dos opciones, la primera nos generará un .bat, mientras que la segunda nos generará un .exe. En este artículo se ve la perspectiva y diferencias entre un staged y un stageless. Es una lectura totalmente recomendada.

Figura 5: Staged payload

Una vez seleccionado el tipo de stage, se debe indicar el tipo de payload que se quiere utilizar. Para este ejemplo, hemos utilizado un staged, por lo que podemos utilizar los siguientes payloads:
" Windows/meterpreter/reverse_winhttps
" Windows/meterpreter/reverse_https
" Windows/x64/meterpreter/reverse_https
Para este ejemplo, hemos utilizado la opción windows/meterpreter/reverse_https. Ahora tenemos, en la carpeta output, generado un fichero .bat con el código adecuado para lograr la conexión cifrada con el handler. Más abajo veremos parte del código para que entendamos qué utiliza.

Figura 6: Elección del payload

Antes de continuar, vamos a mostrar el certificado generado con la herramienta y la opción 'impersonar'

Figura 7: Fichero PEM del certificado del dominio suplantado

El código que está en el interior del fichero .bat es el que se puede ver en la imagen. Como se puede ver, la automatización utiliza Powershell para ejecutar el Meterpreter con las opciones de la validación del certificado activadas.

Figura 8: Script en powershell a ejecutar

Como se puede ver en la siguiente imagen, desde el handler que Meterpreter Paranoid Mode ha configurado se obtiene la sesión.

Figura 9: Sesión establecida

Además, se pueden ver las opciones que se han configurado, lo cual es importante por si se quiere hacer el procedimiento a mano, en vez de utilizar la herramienta. Las opciones importantes son:
" StagerVerifySSLCert a true. Con esta opción el handler verifica la conexión. 
" EnableUnicodeEncoding a true. 
" HandlerSSLCert apuntando a la ruta del certificado en formato PEM.
Por último, os dejamos un video del proceso para que veáis la automatización y algunos de los detalles que se pueden visualizar.

Figura 10: PoC de Meterpreter Paranoid Mode

Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en ElevenPaths

lunes, febrero 12, 2018

LUCA: Algunos de los productos BigData que hemos hecho

La unidad LUCA Data-Driven Decisions ya tiene un año y medio de vida, y desde el comienzo hemos estado trabajando en acelerar la construcción de productos. De muchos de ellos ya os he ido hablando a lo largo de este tiempo por aquí, y os he dejado una buena lista de lo que hemos estado construyendo en las LUCA Talks que tenéis en YouTube.

Figura 1: Algunos de los productos BigData que hemos hecho

Hoy os he recogido algunos de los últimos vídeos que hemos hecho sobre los productos y tecnologías que creamos en LUCA para que podáis ver la cantidad de cosas que se pueden hacer con las tecnologías de Big Data. Algunos, seguro que os suenan.


Figura 2: LUCA Comms: Sacando partido a los datos de las llamadas empresariales



Figura 3: LUCA Store: Centro Comercial La Vaguada



Figura 4: LUCA Tourism



Figura 5: LUCA Verify



Figura 6: LUCA & ExterionMedia



Figura 6: LUCA Pigram



Figura 7: LUCA SmartSteps


Como podéis ver, la construcción de tecnología es una de las piezas claves de nuestro ADN, y seguiremos ampliando lo que estamos construyendo.

Saludos Malignos!

domingo, febrero 11, 2018

¡Más Ingenieros, es la guerra! Vente a crear tecnología en Telefónica.

La apuesta por la creación de tecnología en Telefónica es clara desde que hace años se comenzó el camino con la construcción de la primera Telefónica Digital. Vendrían también muchas iniciativas y evoluciones, como Wayra, Open Future, Talentum, Tokbox, Tuenti Móvil, ElevenPaths, LUCA, la 4º Plataforma, AURA, Telefónica Alpha y más iniciativas que vendrán.

Figura 1: Más Ingenieros, es la guerra! Vente a crear tecnología en Telefónica

En ellas se crea tecnología de ciberseguridad, de BigData, sistemas cognitivos, desarrollo móvil en Android, iOS, watches comunicaciones WebRTC, IPcoms, puro networking, IoT, desarrollo web, etc... una miriada de posibilidades que permite que la carrera tecnológica de un ingeniero evolucione constantemente. Además, en le proceso de construir tecnología existe un alto componente de innovación, así que en la gran mayoría de las areas son proyectos de innovación que requieren muchos tipos de perfiles.

Figura 2: Oferta para trabajar con tecnologías Cognitive

Desde el más innovador, hasta desarrolladores, pasando por gente de Quality Assurance, de UX, Program Managers, Release Managers, SysAdmins, expertos en Cognitive Technologies,  3D designers para los proyectos con VR, AR o Enhanced Reality, DBAs, Data Engineers, Data Scientists, Product Managers, profesional de las tecnologías de Internet, DeepLearning, AI, Arduino, FPGAs, BlockChain, entornos Cloud de Amazon, Azure, Google o VMWare, etcétera.

Figura 3: Profesionales de QA y Release Engineers

No, no es que tengas que saber de todo, son solo una pequeña lista de las tecnologías en las que tenemos proyectos en curso ahora en nuestras áreas de construcción tecnológica. Y en muchas de ellas con oportunidades de incorporación. Todos los puestos los sacamos en la web Jobs en Telefónica, donde puedes buscar por tus conocimientos.

Figura 4: Android developers

Tenemos ahora muchas plazas en mis equipos de CDO (ElevenPaths, LUCA, AURA, 4ª Plataforma), pero también en muchos otros rincones de la compañía, así que puedes buscar (mi recomendación es que pongas en el buscador los términos que te interesen).

Figura 5: Alertas de oportunidades

Pero si quieres mantenerte alerta, puedes darte de alta en el sistema de alertas y cada semana recibirás la lista de nuevas vacantes para venirte a hacer tecnología con nosotros. Llevamos años acelerando la construcción de equipos tecnológicos, y te garantizo que ahora mismo tenemos equipos de centenares de ingenieros en diferentes áreas de construcción de tecnología con cosas de lo más actual. No te vas a aburrir.

Saludos Malignos!

sábado, febrero 10, 2018

DeepFakeApp: Una AI de Face-Swapping al servicio de fantasias sexuales

Estas últimas semanas el mundo del pr0n en Internet se ha visto sacudido por culpa del uso de de Inteligencia Artificial aplicada a un trabajo concreto, el Face-Swapping. Es decir, utilizar algoritmos de vision artificial basados en Deep Learning que son capaces de reemplazar caras en vídeos para cambiar, literalmente, quién es la persona que aparece en el vídeo.

Figura 1: DeepFakeApp: Una AI de Face-Swapping al servicio de fantasias sexuales

No parece nada complejo el trabajo, ya que los algoritmos que se utilizan están disponibles en la web. Hoy en día, bajo licencias OpenSource, es fácil localizar un buen arsenal de herramientas y plataformas, que permiten construir este tipo de apps. Tensorflow está disponible, y es fácil localizar programas de FaceSwapping en todas partes.

De hecho, son comunes las apps tipo Snow o SnapChat que juegan con este tipo de efectos en real-time. Cuando en Snapchap se utiliza un efecto que pone unas orejitas de gato, o una nariz de perrito, el sistema está utilizando por debajo un algoritmo de Visión Artificial que está reconociendo las facciones de la cara y pintando encima efectos, así que... el siguiente paso parece que era evidente.
Lo que hace DeepFakeApp es justo eso, le das un vídeo porno, fotos de la famosa o el famoso que quieras poner en el escena, y la app localiza en el vídeo la cara de la actriz y la sustituye por la cara de la persona famosa. Y tras un buen entrenamiento corriendo la red neuronal para que el resultado sea fino, tenemos el resultado listo, vídeos convincentes de famosos manteniendo relaciones sexuales.

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

Es fácil, localizar en la red estos vídeos, aunque han sido eliminados y bloqueados de muchos portales. Por otro lado, se ha abierto una nueva categoría en el mundo del pr0n para crear fantasias sexuales, y ya es una de las búsquedas más hechas en ellos.

Saludos Malignos!

viernes, febrero 09, 2018

No Hack, No Fun: El periódico que publico los sábados... y los viernes

Ya ha pasado un año y medio desde que comencé con la andadura de mantener un "periódico" online llamado "No Hack, No Fun". Un canal de comunicación hecho para los que les gusta revisar las secciones de cualquier diario. Este diario recoge los artículos que veo de interés, y los que publicamos en este blog "Un informático en el lado del mal", en "Seguridad Apple", en "Data Speaks" en el "Blog de ElevenPaths", "Think Big" y en "A un clic de las TIC", entre otros.

Figura 1: No Hack, No fun: El periódico que publico los sábados... y los viernes

Además, recojo artículos de prensa, vídeos de conferencias, demos, anuncios o charlas desde YouTube, junto con las fotos que voy publicando en mi Canal Instagram. Todo, en un periódico que rehago semanalmente - habitualmente los sábados -, enviando una newsletter por correo electrónico a todos los suscritos - que ya son unos 4.000 -.

Figura 2: Newsletter de "No Hack, No Fun"

Por supuesto, cuando yo recreo "No Hack, No Fun" cada sábado, eso quiere decir que comienzo de cero a añadir los artículos en cada una de las secciones. Este proceso se produce día a día, llegando el viernes, es decir, cada día como hoy, con el periódico completamente lleno. Las secciones tienen un buen montón de artículos, más del triple que tienen los sábados, cuando empiezo el periódico desde cero.


Esto quiere decir que, cuando llega la newsletter, o el mensaje en Twitter, Facebook o Instagram explicando que se ha publicado una nueva edición de "No Hack, No Fun",  el periódico anterior está lleno de artículos. Por suerte, la plataforma guarda todas las ediciones anteriores, desde la primera hace más de año y medio, por lo que si no quieres perderte ningún artículo, puedes revisar la edición anterior.

Figura 4: Archivo de las ediciones de "No Hack, No Fun"

Solo tienes que hacer clic en el calendario y revisar cualquiera de las ediciones anteriores, pero especialmente la de la semana anterior, ya que cuando llegan los sábados, el periódico de la edición anterior está repleto de artículos.

Saludos Malignos!

Entrada destacada

Gracias 2017. Por todo lo que me has dado.

Hoy doy por concluido el año 2017 . Sí, sé que quedan días, pero para mí ha tocado ya la campana de las vacaciones, y quiero tomármelas com...

Entradas populares