jueves, febrero 28, 2019

Cifrado de las comunicaciones digitales: de la cifra clásica a RSA 2ª Edición de @0xWord

Desde principios de esta semana tenemos publicada la 2ª Edición del libro de "Cifrado de las comunicaciones digitales: de la cifra clásica a RSA" escrito por los doctores Jorge Ramió y Alfonso Muñoz. Este libro es uno de los fundamentales para inmiscuirse en el mundo de la seguridad informática, ya que afianza muchos de los conceptos que vas a utilizar en todas las áreas de especialización. 

Figura 1: Cifrado de las comunicaciones digitales:
de la cifra clásica a RSA 2ª Edición de @0xWord

Llevábamos tiempo con el libro totalmente agotado, pero tras una actualización y ampliación de sus contenidos, hemos vuelto a publicar una segunda edición que si no has leído nunca seguro que te ayuda en tu formación personal.

Para que puedas ver los contenidos que en él se tratan, de criptografía clásica hasta el algoritmo RSA, pasando por los últimos estudios en la vulneración y el hacking de las comunicaciones digitales, he subido el índice del libro a SlideShare.


Como he dicho, este libro es uno de los temas básicos en la formación de cualquier especialidad de seguridad informática y hacking, así que más que recomendada su lectura. Además, los textos son cuidados, con ejemplos, didácticos y de fácil lectura. Se nota que ambos autores han pasado largo tiempo en la docencia universitaria.

Saludos Malignos!

miércoles, febrero 27, 2019

Mobile World Congress 2019: 4th Platform, Aura, Movistar Home, Living Apps & Home as a Computer

En la última entrada del blog os dejaba un resumen por escrito, largo, y con algún vídeo, del camino que hemos recorrido en estos últimos 24 meses en los que hemos ido a toda velocidad construyendo tecnología en el grupo Telefónica. En concreto, la parte final de Home as a Computer y Living Apps, pero con un repaso de cómo y por qué Aura y de cómo y por qué Movistar Home.

Figura 1: Mobile World Congress 2019: 4th Platform, Aura, Movistar Home,
Living Apps & Home as a Computer

Hoy os dejo los vídeos de la presentación que hicimos en el Mobile World Congress 2019 sobre todo el proceso de transformación desde aquel momento en el verano de 2016 cuando le hice el dibujo a Satya Nadella, hasta lo que estamos trabajando ahora mismo. 


Figura 2: Presentación de Telefónica en Mobile World Congress 2019


Y aquí el resto de los vídeos explicando el concepto de las Living Apps y Home as a Computer para ver si queda claro del todo.


Figura 3: Movistar Living Apps


Figura 4: Aura Living Apps


Figura 5: Movistar Home. Llamadas y Vídeo Llamadas


Figura 6: Movistar Home. Gestión de la TV

Y esto es todo por hoy - aunque debería haberlo sacado ayer - pero la vida no me dio para más. Esta tarde os saco el post que debía salir hoy - si la vida me deja - }:)

Saludos Malignos!

lunes, febrero 25, 2019

MWC 2019: Home as a Computer & Living Apps

Ayer fue un día bonito. Salió la nota del proyecto de Internet para Todos en el que mis compañeros llevaban mucho tiempo trabajando. Lo bonito de estar en una compañía como Telefónica es puedes hacer proyectos que cambien cosas. Que cambien la manera de vivir de las personas. Usar la tecnología para las cosas que tienen sentido para las personas.

Figura 1: Home as a Computer & Living Apps

Con ese mismo mensaje, nuestros compañeros de comunicación prepararon el vídeo de “Queridos Humanos”, para transmitir de una forma visual lo que creemos que debe ser la tecnología en la vida de las personas. Muchas veces hemos hablado de eso, de hacer la vida de las personas más rica y más sencilla a través de la tecnología.


Figura 2: Queridos humanos

Con ese objetivo comenzamos a trabajar en la cuarta plataforma, AURA, Movistar Home y ahora las Living Apps. Cuando leáis este mensaje acabará de terminar nuestro evento del lunes donde habremos contado cosas nuestro partnership con Microsoft, y la evolución de lo que estamos haciendo desde mediados de 2016 cuando hice ese dibujo a Satya Nadella para que nos echara una mano con ingenieros y equipos de producto y lograr llevarla a cabo.


Y como no quiero que vosotros, fieles lectores de este blog, no tengáis todos los detalles, os voy a dejar resumido lo que he contado en mi parte. Ya os compartiré el vídeo y os dejaré muchos más detalles de nuestro trabajo con Home as a Computer, Aura y las Living Apps. Vamos a ello.

Aura

Desde que hace dos años justos presentáramos el prototipo de Aura junto con Microsoft, usando aquellas Hololens en mi presentación, muchas cosas han evolucionado. Teníamos la visión de que la tecnología iría por el camino del uso de la AI y los servicios cognitivos masivamente, así que nos pusimos a trabajar en usarlos dentro de Telefónica y la 4th Plataforma.


Figura 4: Presentación de Aura y la 4ª Plataforma en el MWC 2017

No os voy a volver a contar todo lo que hemos contado de AURA, pero sí que está en 6 países (la semana que viene se lanza en el 7º) y a final de año estará en 9 operaciones de Telefónica. Está en más de 20 canales digitales diferentes, incluido el Contact Center en Brasil, y cada día soporta más casos de uso, más conversaciones y más Monthly Active Customers, que es nuestra medida. No hay que olvidar que AURA es solo para los clientes de Telefónica.

Figura 5: Aura en el Contact Center de Vivo en Brasil

Es un proyecto on-going, de presente y futuro, que tiene una visión, unos equipos de trabajo y que va a evolucionando para consolidarse cada día más en todos los canales digitales de la compañía – ya sean externos o internos -. Es nuestra aspiración y hacia allá trabajamos con normalidad. Es parte ya de nuestro día a día.

Movistar Home

Como sabéis, el año pasado anunciamos que estábamos trabajando en Movistar Home y lo lanzamos a final de año. Fuimos cuidadosos a la hora de comunicar qué era Movistar Home, porque aunque sí que es un Smart Device, no está pensado como un Smart Device en modo Stand-Alone ni mucho menos. Teníamos una visión clara de que era una pieza más dentro del ecosistema de tecnologías que llevamos a casa de nuestros clientes, y esas tecnologías son muchas y de muy diversa índole.


Figura 6: Presentación de Movistar Home en MWC 2018

En la primera versión nos focalizamos en los servicios core de Telefónica en el hogar, como son la Wi-Fi, la televisión y las comunicaciones, aunque también dejamos entrever hacia dónde íbamos con dos servicios especiales: El paso a la TV de la vídeo-conferencia y el control del IoT en el hogar.

En el caso del control del IoT miramos varias opciones. En primer lugar, la aproximación basada en un control con un sistema completo como el que empujamos desde Wayra con TheThings.io, una startup que desde Barcelona nos ayuda a desarrollar este ecosistema, aunque su modelo de crecimiento está yendo más hacia el mundo de industria.

Pero queríamos un SDK pequeño que pudiera meter en Movistar Home y controlar – de forma transparente – los dispositivos IoT sin necesidad de meterse en los detalles del fabricante. Así, para Movistar Home las primitivas serían cosas fundamentales como "Encender luz en salón", o "apagar calefacción en habitación principal" con independencia total del fabricante del dispositivo. En la fase inicial del proyecto hicimos en CDO este software, pero luego contratamos a la startup SmartIoTLabs, también invertida por Wayra, para que nos ayudará a hacer y crecer este SDK.

Pero dejadme que os cuente un poco más de historia, ya que para poder hacer todas esas cosas que teníamos en mente, hubo un gran debate en el verano de 2017 en la casa. La pregunta era si debíamos hacer un Smart-speaker o un Smart-Display para completar y perfilar la oferta de dispositivos en casa.

Figura 7: Racional en el año 2017 sobre Movistar Home

Se hicieron research-groups, y se evaluaron todos y cada uno de los casos de uso. Al final apostamos por un Smart-Display porque queríamos que fuera una pieza clave para cuatro cosas que están en las diapositivas desde el primer minuto.
- Control de Servicios de Telefónica con voz: Por supuesto, la idea principal entre hacer un Smart-Speaker o Smart-Device no se diferenciaba nada en este punto. Se trata de poner en el hogar una forma de controlar nuestros servicios de forma sencilla. Televisión, WiFi y Comunicaciones. Pero tener un Smart-Display nos abría algunas cosas que para mí eran poderosísimas.
  • Vídeo Conferencia: Una empresa de Telecomunicaciones como Telefónica podía tener un servicio de Vídeo-Conferencia en el hogar asociado al número de teléfono de toda la vida. Seria una evolución de nuestro alma en el hogar, y nos permitiría reemplazar el viejo teléfono fijo y crear nuevos servicios asociados a la voz, como recordatorios, mensajes personalizados, etcétera. 
  • Descubrimiento de funciones: Tener una pantalla nos permitía mostrar sugerencias de cosas que se podían hacer y conseguir que los clientes aprendieran lo máximo de lo que podían hacer en Telefónica.
  • Pantalla Táctil: Introducir un dato, una opción de configuración, un usuario, una contraseña, o cualquier otro dato, era mucho más fácil si había una pantalla auxiliar que se puediera utilizar en un determinado momento.
- Second Screen: El tener una pantalla secundaria nos permite muchos escenarios de completar la visión de contenido en la televisión. Desde completar con información lo que se está visualizando, hasta crear modelos en conexión con el llamado TV-Commerce.
- Hyper-Edge Computing: Movistar Home se pensó desde el primer momento con la capacidad de correr micro-servicios en él. Esto completaría la estrategia de Edge Computing de Telefónica con un dispositivo en el que podemos meter aquellos servicios que requieren una latencia tendiente a cero… como el mundo del gaming.
- Ecosistema de terceros: Teníamos claro desde el minuto uno que tener nuestros dispositivos en el hogar nos abría la posibilidad de traer a terceros, con poco o nulo posicionamiento en el hogar, a este ecosistema. Y por eso se diseñó Movistar Home pensando en ser abierto a terceros desde el primer día.
También hay varias decisiones que tomamos en el principio con Movistar Home. Algunas que demuestran lo difícil del trabajo de un Product Manager. Lo ideal es que tu producto tenga todo y bien, pero la magia es cuando se eligen las correctas, sacrificando cosas que a veces parecen evidentes. Este razonamiento de los equipos de producto explican algunas de las decisiones que se aplicaron a Movistar Home desde el punto de vista de su diseño.
- Privacidad: El dispositivo lleva desde su conceptualización tapa para la webcam y botón que desactiva el micro. Y seguiré defendiendo que hay que potenciar al máximo la privacidad de todo lo que se haga con él.
- Ubicación en el salón: Queríamos que estuviera en el salón, que es el centro neurálgico de la vida familiar, por eso aprovechamos dos cosas que existen allí aún en la mayoría de los hogares. La tele y el teléfono. Por eso Movistar Home está integrado desde el inicio con esos dos elementos, tiene un handset para dotar de privacidad a las llamadas familiares, y la vídeo conferencia se puede pasar a la televisión.
- Always On: Si queremos que un dispositivo la gente lo utilice, debe estar siempre encendido, por eso la privacidad era fundamental, el reemplazo del teléfono también, la conexión con la televisión funcionando por defecto, y no ponerle batería. Así, el número de dispositivos que no funcionan por estar “descargados” no es factor que debiera preocuparnos. O se usa, o no se usa. El que se esté usando siempre lo convierte en un canal confiable de envío de notificaciones, como por ejemplo cuando un vuelo está listo para embarcar.
- Precio: Hicimos en Telefónica un esfuerzo enorme para conseguir que todo el mundo pudiera tenerlo, y actualmente, cualquier cliente de Telefónica lo puede tener en casa financiado, consiguiendo que los 79 € del precio de oferta que le hemos puesto se queden en 3,3 € al mes.
Figura 8: Se puede comprar Movistar Home por 3,29 al mes

La idea que teníamos en la cabeza era unir todas las piezas, es decir, dispositivos y servicios en el hogar para que funcionaran todos juntos y poder crear experiencias únicas. Algo que llamamos “Home as a Computer” y con lo que llevo machacando a mis compañeros hasta la extenuación los últimos meses.

(HaaC) Home as a Computer

Como ya he dicho muchas veces, Telefónica es la empresa que más tecnología lleva hasta el hogar de las personas. Y yo lo veo como un ordenar. Como mi viejo Amstrad CPC donde ejecutaba mis aplicaciones. Ahora en un entorno distribuido más completo. Benditas clases de sistemas distribuidos que vi en la universidad.

En un hogar nosotros tenemos el Desco que nos da acceso y control de la Televisión vía HDMI. Es como si fuera nuestro acceso al monitor del ordenador para poder pintar interfaces gráficos en un monitor de muchas pulgadas en mitad del salón.

Además, el Desco nos da contenido en forma de canales de televisión y vídeo bajo demanda para enriquecer el ordenador (como las utilidades por defecto y los juegos que venían en un sistema operativo antiguo como el CP/M). El que tenga este contenido es fundamental para que lo que se vea por la TV es siempre lo que esté mostrando nuestro Desco. No hay que cambiar a una fuente de entrada de contenido o un modo diferente en la televisión.

Además, en millones de hogares tenemos el Mando a distancia con botones, que es como un ratón y como las Teclas de la Calculadora de los teclados extendidos más las Teclas de Función todo junto.

Por supuesto, tenemos un bus de comunicaciones mágico al que conectar muchos periféricos. Nuestro router Wi-Fi con sus amplificadores de señal , que nos conecta con el mundo IoT en forma de luces, calderas, u otros dispositivos del hogar. Esos serían el equivalente a los Periféricos.

En ese ordenador hay una conexión a Internet magnífico en forma de Fibra (FTTH) o UBB, que además securizamos con servicios como Conexión Segura. Esto permite enriquecer cualquier experiencia siempre con back-ends en Internet.

Ahora también existe un Teclado completo y un Micrófono en Movistar Home, pero también tenemos un microfono proyectado en el nuevo Mando a Distancia Vocal que estamos creando y Altavoces tanto en la televisión como en Movistar Home.

Para completar el ecosistema, tenemos apps en las Smart-TVs y apps en los dispositivos móviles que se conectan a la WiFi del hogar y que están unidos todos en el mismo contrato de servicios, y un control directo a la SIM de los terminales móviles.

Figura 9: HaaC (Home as a Computer)

Y no solo eso, como buen sistema operativo tenemos un montón de servicios por defecto para el hogar.
- Autenticación de las identidades robusta: Los contratos se hacen con personas a las que se ha verificado la documentación, debido a una obligación legal.
- Número de Teléfono fijo y móvil como mecanismo digital de identificación. El número de teléfono fijo indica una ubicación de un lugar en nuestros sistemas, y el número de teléfono fijo de una persona. Además, podemos usar servicios como Mobile Connect para forzar una autenticación robusta.
- Facturación de servicios: Es posible que terceros hagan uso de nuestra factura para cargar algunos servicios. No es algo que se haga masivamente, pero son conocidos nuestros acuerdos con Apple o Google para hacer uso de estos servicios de Carrier Billing.
- Insights: Nuestros clientes tienen un historial con Telefónica, y sus datos personales e insights pueden ser utilizados por ellos para enriquecer servicios de terceros, como los datos de ubicación para rellenar el lugar de entrega de un producto. Es el caso, por ejemplo, de Luca Match.
Y un largo etcétera que va desde soporte técnico en el hogar, hasta servicios de Contact Center, pasando por asistencia remota de dispositivos en casa, servicios de seguridad como Conexión Segura, u otros como Movistar Car o Movistar Cloud. Un montón de tecnología en el hogar que hace que Telefónica sea el que más tecnología lleve a casa de sus clientes.

Y además, con Aura instalada en las apps móviles y Movistar Home, conectada a la red Wi-Fi del hogar tenemos una pieza única para hacer de “interfaz de comandos”. Como si fuera la Shell de este Home as a Computer que os he explicado. Y así comenzamos a trabajar.

Experiencias de terceros

Hasta el momento, teníamos claro que nuestra Cuarta Plataforma tendría que ser abierta, y que nuestro ecosistema tecnológico debía permitir integrar productos y servicios de terceros para enriquecer la experiencia de nuestros clientes. Por eso hemos ido haciendo múltiples integraciones a medida que íbamos avanzando.

Integramos nuestra cuarta plataforma con Unicef en la famosa Magic Box para ayudar con los datos en la mejora de la lucha contra los desastres naturales. También integramos, a nivel de AURA el servicio de Facebook Safety Check en Chile, e integramos Amanzon Prime Video en nuestros servicios de Movistar Play en Latam. En el caso de España integramos Netflix en nuestro Set Top Box, y en Movistar Home hemos puesto ahora en producción la integración de Twitter y vamos a tener la de Iberia que anunciamos en el lanzamiento.

Diferentes productos y servicios que hemos ido seleccionando para integrar en nuestro ecosistema. Es un ecosistema abierto, pero no público. No queremos que se pueda hacer cualquier cosa, y controlamos cada integración pensando en la conveniencia o no del servicio para la vida de nuestros clientes. Pero pensando en la idea de Home as a Computer, queríamos ir un paso más allá, así que desarrollamos el concepto de las Living Apps que os paso a contar ahora.

Living Apps

Llegado a este punto de la narración, la historia está quedando bastante larga, pero era fundamental para entender por qué hemos llegado hasta aquí. No se trata de algo casual, sino de ir evolucionando paso a paso las cosas. De ir colocando las piezas en el centro del tablero para que al final encaje todo. Y así llegaron las Living Apps.

El concepto fundamental de las AURA Living Apps o Movistar Living Apps como se van a llamar en España es que queríamos llevar Cloud App NLP Use Cases al salón de nuestros clientes usando nuestra plataforma HaaC . ¿Y esto que quiere decir?

Pues queríamos que estas experiencias fueran Cloud Apps, es decir, que no se instalen en ningún dispositivo salvo que sea estrictamente necesario por temas de latencia. Y no por un “sería mejor que fuera más rápido”, sino porque si no no funcionaría. El control del IoT con IA es algo que estamos mirando para llevar al HaaC porque tiene sentido que una luz se encienda o se apague cuando alguien entra o sale de una habitación y la latencia es crucial.

Queríamos que fuera NLP, así que hemos forzado que todos los UX de las Living Apps puedan ser Voice-Enabled y Remote-Enabled. Haciendo estas dos restricciones tenemos casos de uso que pueden ser controlados hablando con Aura y pulsando botones de acceso directo en el mando, pero nos quitamos los componentes con scroll, menús desplegables, flechas arriba o flechas abajo.

Figura 10: Estructura de Living Apps

Y por supuesto, no se trata de llevar la app móvil o la web de un cliente al entorno del salón. Se trata de llevar solo los casos de uso que tienen sentido disfrutar en el salón, o en el ecosistema del HaaC. Y hemos hecho varias de ejemplo que hemos enseñado ya y que estarán en la reléase de antes de verano en producción.

Por ejemplo, Movistar Car. Un servicio que proveemos desde Telefónica de España. Usando Movistar Home, o mediante un SMS o mediante la propia app podemos recibir alertas del vehículo. Y desde el salón de casa podemos abrir la Living App desde Movistar Home o desde Aura en la app de Movistar+ para disfrutar de la experiencia de controlar tu coche desde la TV usando la voz. Sencillo. Este vídeo está sin voz porque es el que uso en mi presentación del MWC mientras yo lo explico.


Figura 11: Movistar Living App de Movistar Connected Car [sin voz]

Lo mismo hemos hecho para Movistar Cloud, para poder ver las fotos y los vídeos familiares en la TV, o en SmartWiFi, para controlar la seguridad de tu red WiFi y de todos tus dispositivos desde el sofá, simplemente hablando.


Figura 12: Movistar Living App de Movistar SmartWifi [sin voz]

Y con terceros estamos trabajando en las versiones finales de la Movistar Living App de Iberia y Air Europa, para poder tener un proceso de Online Check-in desde el sofá. No son todos los casos de uso que tiene la web de un partner, solo aquellos que tienen sentido como experiencia en el salón. Y como veis, utilizan la potencia de dispositivos y servicios que tenga cada cliente en su HaaC, si tiene Movistar Home, será más rica, si no lo tiene, será solo con una pantalla.


Figura 13: Movistar Living App de Air Europa [sin voz]

En el caso de Air Europa, el proceso de recibir una alerta por SMS, app, e-mail o Movistar Home, y poder hacer el check-in en segundos contestando a unas sencillas preguntas ha sido uno de los que más me ha gustado.

Pero hemos trabajado con el El Corte Inglés, que ya explicamos en el lanzamiento de Movistar Home que lo habíamos integrado como servicio de sugerencias en Second Screen, para tenerlo como Living App y gestionar tu lista de deseos.


Figura 14: Movistar Living App de El Corte Inglés

Y con el Atlético de Madrid, que como ya sabéis tiene el estadio más digitalizado del mundo, para comenzar el camino de una aspiración preciosa que tiene el club. Poder llevar la experiencia de estar en el Wanda Metropolitano a las casas de los atléticos. Es un largo camino con un largo roadmap, pero hemos comenzado con una Living App que da información del próximo encuentro, meteorológica y de estimación de tiempos para llegar, pero también que permite hacer la cesión del abono o el upgrade a asientos VIP cuando estén disponibles.


Figura 15: Movistar Living App de Atlético de Madrid

Son solo algunos de los ejemplos de Living Apps en los que hemos estado trabajando con más intensidad, pero actualmente estamos en las fases iniciales de Living Apps con de veinte compañías diferentes para llevar nuevas experiencias al entorno del hogar, con el objetivo de hacer que todas las piezas del hogar funcionen juntas de una manera "seamless".

Figura 16: Living Apps & Home as a Computer

Como veis, el artículo ha quedado largo, pero aún así ha sido un ejercicio de síntesis a la hora de contar todo lo que se ha hecho para llegar a este punto. Hacer tecnología en una compañía de la escala de Telefónica es increíble, pero al mismo tiempo exige un esfuerzo único por parte de todas las personas que nos levantamos con la única misión de que nuestros clientes disfruten su vida mejor gracias a la tecnología. Si quieres probar las demos, las tienes en el Stand de Telefónica en el MWC y en la tienda Movistar Centre en Barcelona.

Saludos Malignos!

domingo, febrero 24, 2019

Python for Social Good o cómo crear en un rato tu propia colección de herramientas para bien social #Python

Ahora más que nunca, con la gran cantidad de recursos gratuitos que tenemos en Internet, crear aplicaciones que nos ofrezcan soluciones orientadas al bien social es una tarea realmente sencilla. En este artículo vamos a demostrar lo fácil que es crear una aplicación (que llamaremos SocialGood.py) en Python que realice todas estas acciones:

Figura 1: Python for Social Good o cómo crear en un ratito
tu propia colección de herramientas para bien social

Al final la potencia del lenguaje Python ha hecho que se convierta en uno de los más populares no solo para los pentesters, sino también para los Data Scientists, para las startups, y para poder crear un prototipo rápido y funcional en poco tiempo. Y es que sus posibilidades son enormes. Nuestro compañero en 0xWord, Dani Echeverri le dedicó dos pedazo de libros para ver todo lo que se podía hacer en el mundo del pentesting y el hacking.

Figura 2: Python para Pentesters & Hacking con Python

Hoy vamos a ver cómo nos da flexibilidad y multicanalidad. Es decir, podremos, por ejemplo, capturar un texto con la cámara del ordenador, convertirlo a Braille, luego a texto, después traducirlo al idioma que queramos, reproducirlo con voz por el altavoz y finalmente volcarlo a un MP3. Por supuesto, podemos combinar estas acciones como queramos, pero, además, también hemos incluido la opción de hablar por el micrófono y pasar a texto (en el idioma que queramos) la transcripción del mismo, para luego crear otro ciclo de acciones con el resultado obtenido.

Figura 3: Funciones disponibles en la aplicación Python

Todo esto ha sido posible gracias a la cantidad de repositorios y librerías que permiten realizar la mayor parte del trabajo. Sólo tenemos que tener algunas nociones de Python, instalar las dependencias y requisitos necesarios. Finalmente, sólo tenemos que programar nuestra propia aplicación. Este es el código fuente de la nuestra:

from google_speech import Speech
from googletrans import Translator
import speech_recognition as sr
from guessing_game import recognize_speech_from_mic
import braille
import cv2
import os

class SocialTools(object):

    def __init__(self, language):
        self.language=language
 
    def Capture_TextFromImage(self):
        cam = cv2.VideoCapture(0)
        while True:
            ret_val, img = cam.read()
            cv2.imshow('Detect Image', img)
            if cv2.waitKey(1) == 27:
                print("Success! Image taken")
                cv2.imwrite("capture.jpg",img)
                if braille.imageToBraille("capture.jpg") == "":
                    print("Error: Image not recognized")
                break
        cv2.destroyAllWindows()

        # Filtro del texto capturado OCR
        text_image=braille.imageToText("capture.jpg") 
        text_image = [s.replace('\n', ' ') for s in text_image]
        text_output = ''.join(text_image)  
        return(text_output)

    def Text_ToBraille(sefl,text_txt):
        return(braille.writeText(text_txt))
         
    def Traslate_Text(self,text_source):
        translator = Translator()
        translated_text=translator.translate(text_source,dest=self.language)
        return(translated_text.text)

    def Text_ToFileMP3(self,text_mp3,filename):
        speech = Speech(text_mp3, self.language)
        speech.save(filename+".mp3")

    def Text_ToSpeech(self,text_toaudio):
        speech = Speech(text_toaudio, self.language)
        speech.play()

    def Voice_ToText(self, set_language):
        r = sr.Recognizer()
        
        with sr.Microphone() as source:                                                                       
            print("Speak...")                                                                                   
            audio = r.listen(source)
        try:
            print("Output: " + r.recognize_google(audio, language=set_language))
            return(r.recognize_google(audio, language=set_language))
        except sr.UnknownValueError:
            print("Could not understand audio")
        except sr.RequestError as e:
            print("Could not request results; {0}".format(e))
        
if __name__ == "__main__":
    so_good=SocialTools("fr")
    text_from_image=so_good.Capture_TextFromImage()
    os.system('clear') 
    print(text_from_image)
    text_to_braille=so_good.Text_ToBraille(text_from_image)
    text_translated_from=so_good.Traslate_Text(text_from_image)
    print(text_translated_from)
    so_good.Text_ToSpeech(text_translated_from)
    so_good.Text_ToFileMP3(text_translated_from,"frances")
    voicetxt=so_good.Voice_ToText('es-ES')

Con este sencillo programa en Python, hemos creado una clase llamada SocialGood la cual nos permitirá realizar todas las tareas que antes hemos mencionado. Sólo tendremos que ir jugando con las diferentes llamadas a las funciones disponibles e ir concatenando las acciones que queramos.

Social Good: Ejemplos de uso

Por ejemplo, en el código publicado, podemos ver que el primer paso es definir el idioma principal con el que trabajaremos, en nuestro caso, francés:
so_good=SocialTools("fr")
Luego capturamos el texto de una captura obtenida desde la cámara del ordenador:
text_from_image=so_good.Capture_TextFromImage()
El texto recibido lo convertimos a Braille:
text_to_braille=so_good.Text_ToBraille(text_from_image)
El siguiente paso que realizamos es convertirlo al idioma francés que hemos definido antes:
text_translated_from=so_good.Traslate_Text(text_from_image)
Ahora hacemos que dicho texto se reproduzca por el altavoz con voz:
so_good.Text_ToSpeech(text_translated_from)
También hemos añadido la opción de poder hablar desde el micrófono para luego transcribir la conversación a texto plano, en el idioma que queramos (en nuestro caso español):
voicetxt=so_good.Voice_ToText('es-ES')
Finalmente, con esta función creamos un fichero MP3 (de nombre “frances”) con la traducción:
so_good.Text_ToFileMP3(text_translated_from,"frances")
Si fuera necesario, con el texto obtenido podríamos volver a ejecutar cualquiera de las otras funciones y así sucesivamente.

PoC en Vídeo

El siguiente vídeo muestra la ejecución de las acciones anteriores, es decir, primero captura de imagen con texto (en español), traducción a Braille, traducción al francés, reproducción por el altavoz del texto, prueba de reconocimiento de voz con el micrófono y finalmente (esto no se ve el vídeo), grabamos un fichero MP3:

Figura 4: PoC de SocialGood en Python

Las librerías y repositorios utilizados en el código han sido las siguientes:
Con apenas 70 líneas de código (seguro que este programa se puede mejorar y optimizar más) podemos implementar de una manera sencilla este tipo de aplicaciones las cuales pueden ser de gran utilidad para crear programas para el bien social.

Happy Hacking!!!

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.

sábado, febrero 23, 2019

Mobile World Congress y algo más para la semana que viene

La semana que viene tiene dos grandes protagonistas en Madrid y Barcelona. El primero está en Madrid con la feria ARCO para aquellos que quieran disfrutar del arte desde el 27 al 3 de Marzo, el segundo protagonista es el Mobile World Congress de Barcelona, donde estaremos muy presentes como los últimos seis años. Sí, son seis años ya los que llevo con este participando en el Mobile World Congress.

Figura 1:Mobile World Congress y algo más para la semana que viene

Mis primeros tres años fueron con ElevenPaths, de los que tengo el recuerdo del lanzamiento de Latch, de Faast y luego con la famosa historia en la que recibí al Rey y me llamaron quinqui ciberdelincuente del 15-M. Luego la famosa de las Hololens con la 4ª Plataforma y AURA, y la pasada con Movistar Home... y ahora éste que se nos viene el lunes.

Figura 2: Nuestro presidente, Irene Gómez de AURA y Elena Gil de LUCA darán charlas

Este año, además de todas las ponencias en las que participamos, tendremos rueda de prensa el lunes en el mismo stand de Telefónica, donde contaremos con nuestro presidente José María Álvarez-Pallete y con Satya Nadella, presidente de Microsoft que vendrá a acompañarnos. Han sido un par de años sin que Microsoft viniera el Mobile World Congress, pero este año están devuelta con un stand - donde veréis nuestro Movistar Home "powered" con AURA -.

Figura 3: Los colegas de Innovación también están presentes

Nosotros tendremos en el stand una zona en la que podrás probar AURA, Movistar Home y las novedades que presentaremos en el lunes. Solo has de preguntar a nuestros gurús. Y si no tienes pase para el MWC, no pasa nada. En la tienda de Movistar Centre en la Plaza de Cataluña también tendrás montado el mismo espacio para que puedas probar simplemente pasando por allí.

Y más allá del Mobile World Congress

Además del MWC, por supuesto, hay un par de actividades que merece la pena que tengáis en el radar. Primero el miércoles 27 de Febrero tenemos en el Espacio de la Fundación Telefónica en Madrid una charla con José Ignacio Latorre que hablará sobre su nuevo libro "Ética para las máquinas". Este es un tema que sabéis que me interesa bastante, así que hay que tenerlo en el radar.

Figura 4: Ética para Máquinas en la Fundación Telefónica
Por último, el viernes 28 de Febrero da comienzo una nueva edición del Curso Online de Hacking Ético Profesional con nuestros compañeros de The Security Sentinel. Como ya hemos contado muchas veces, el curso toca, durante las 180 horas de formación de que consta, los temas más importantes que necesita un pentester para comenzar a trabajar en el mundo del Ethical Hacking profesional.
Además, los asistentes recibirán como complemento de la formación los libros de Ethical Hacking y Metasploit para Pentesters 4ª Edición de 0xWord, con lo que si quieres meterte en el mundo profesional es un buen camino. Después, recuerda que en jobs.telefonica.com tenemos publicadas las vacantes que tenemos abiertas para venirte a trabajar con nosotros.

Figura 6: Libros de Metasploit para Pentesters 4ª Edición y Ethical Hacking de 0xWord

Y esto es lo que os dejo por hoy, que como os imagináis estamos con los preparativos finales de la rueda de prensa de este próximo lunes. Y ya os detallaré más en qué estamos trabajando y qué hemos anunciado allí a lo largo de la semana en una serie de posts.

Saludos Malignos!

viernes, febrero 22, 2019

Cómo ubicar fotos en un mapa a partir de sus metadatos

Es impresionante la cantidad de fotografías que tomamos hoy en día con nuestros teléfonos móviles. Casi se puede decir que toda la vida la documentamos con nuestras imágenes. Algunas compartiéndolas en redes sociales y otras simplemente almacenándolas en el terminal o en la nube. Y desde hace mucho años hablamos de los Metadatos que estás contienen y de los posibles riesgos que conllevan si se hacen públicos.

Figura 1: Cómo ubicar fotos en un mapa a partir de sus metadatos

Esta información también ha sido usada en muchos de los Análisis Forenses Informáticos, como el ejemplo del escote de la novia del defacer en la recopilación que se hizo en el 2012. Incluso para el desarrollo de herramientas que permitan determinar el robo de las cámaras o celulares como Stolen Camara Finder, si siguen siendo usadas y las imágenes cargadas en Internet. Hoy en día en cualquier Análisis Forense Pericial es una pieza fundamental de la información que se extrae. Podéis ver alguna de las charlas de Chema Alonso sobre este tema.


Figura 2: Metadata Security 

Esa información que esta dentro de los metadatos de las imágenes, es conocida como EXIF (Exchangeable Image File Format), que es un estándar creado en los años noventa por una empresa japonesa con el objetivo de que los archivos JPEG almacenaran las configuraciones usadas por los fotógrafos al momento de realizar la toma, creando etiquetas para guardar las diferentes informaciones de la configuración.

Figura 3: Tabla con metadatos de ubicación GPS

En el caso de la ubicación se crearon treinta y una etiquetas diferentes que contienen toda la información posible con relación a la geoposición, siendo desde 2004, usado normalmente en todos los dispositivos fotográficos. Para ver el detalle de los GPSTags toca tener en cuenta la tabla de la Figura 3.

Figura 4: Metadatos GPS en Metashield Clean-Up Online

Que son los mismos que se visualizan cuando analizamos una imagen con el producto de ElevenPaths Metashield Clean-Up, tal y como se puede ver en la Figura 4.

¿Cómo podemos ubicar las fotografías en un mapa?

Cuando en el proceso solo tienes una fotografía, es muy simple tomar los valores y colocarlos en maps.google.com, pero si en un investigación o simplemente por curiosidad tomas todas las fotos que tengas en un equipo en el que estés haciendo un peritaje forense judicial y quieres localizarlas todas en un mapa, ya no es tan simple.

Figura 5: Libro de Técnicas de Análisis Forense informático
para Peritos Judiciales profesionales

Lo primero que toca hacer es entender cómo se almacena la información de latitud y longitud en los campos de GPS Tags, para lo que en nuestro tan querido por lo pentesters lenguaje Python existe la librería PIL que permite el manejo de imágenes con una gran cantidad de módulos. Uno específicamente para los datos EXIF, denominado ExifTags.  Con el que se busca específicamente el Tag llamado GPSinfo, que en Python es un diccionario creado con las claves que marca el estándar. Como se puede ver en el siguiente ejemplo.

Figura 6: Accediendo a GPSinfo

Revisando la tabla de la Figura 3, podemos ver qué significa cada campo. Y es en los campos 2 y 4 donde tenemos la información de Latitud y Longitud, respectivamente. Representados en una tupla de 3 campos, donde cada campo es una lista de 2 objetos. Estos datos nos dan Latitud, Minutos y Segundos, respectivamente en cada lista. Teniendo en cuenta que el segundo valor de la lista es la precisión de cada dato. Así que para transformarlos en un valor que se pueda buscar en un mapa, se debe aplicar la siguiente formula para cada campo
  • Latitud = primer campo de la tupla*precisión en ese campo de la tupla
  • Minutos = Segundo campo de la tupa / 60 * precisión en ese campo de la tupla
  • Segundos = Tercer campo de la tupla / 3600 * precisión en ese campo de la tupla
Para el ejemplo que estamos haciendo, sería:
  • Latitud = 33*1
  • Minutos = 26 / (60*1)
  • Segundos = 163327 / (3600*10000)
Y calculados sobre este ejemplo concreto que estamos viendo, el resultado es el que se puede ver en la imagen siguiente.

Figura 7: Latitud y Longitud calculados a partir de los campos 2 y 4

Ya se tienen los valores, solo falta tener en cuenta la referencia de ubicación, o sea si es Norte o Sur para la Latitud y si es Oeste o Este para la Longitud. Esto nos da el signo a usar. Si es Sur la Latitud es negativa y si es Este la Longitud es negativa, por lo que para nuestro ejemplo quedaría así:

Figura 8: Ajustadas las referencias

Si tenemos muchas fotografías y queremos ubicarlas todas en el map, debemos hacer este proceso con cada una de las imágenes, para lograr tener todas las ubicaciones y poder mostrarlas en un mapa con marcas usando, por ejemplo, la API de Google. Para usarla se requiere obtener una API Key aquí.

Figura 9: Resultado de ubicaciones mostradas en maps.google.com

Para hacerme más fácil todo este proceso, cree en Python un pequeño script al que llamé GPSpicture que esta disponible en GitHub, por si a alguien le viene bien en alguna investigación o simplemente por curiosidad quieran localizar en el mapa todas las imágenes cuya versión de EXIF sea 2.2 y contengan los datos de localización.

Figura 10: GPSPicture en GitHub

Autor: Diego Samuel Espitia Montengro (@dsespitia) CSA de ElevenPaths en Colombia

jueves, febrero 21, 2019

MorterueloCON: Hack&Beers, X1Red+Segura y @0xWord

Como sabéis, vamos a colaborar en la próxima MorterueloCON que tiene un cartel muy ambicioso. En ella, desde este jueves un Hack&Beers, el viernes y sábado el plato fuerte de las charlas y el sábado también una edición de X1Red+Segura de nuestro amigo Angelucho. Y ademas, estará presente 0xWord on un stand de libros donde podréis comprar vuestros ejemplares, podréis llevaros las firmas de algunos autores que hablan en las charlas y podréis conseguir gratis algún ejemplar con el sorteo que han hecho.

Figura 1: MorterueloCON: Hack&Beers, X1Red+Segura y @0xWord

El stand lo tendréis disponible durante todas las charlas, y hemos organizado las siguientes jornadas de firmas para vosotros. El viernes, de 11:50 a 12:30, tendréis para firmar libros a dos grandes autores de 0xWord. En primer lugar 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”.

Figura 2: Hacking con Metasploit: Advanced Hacking
Y el segundo de los autores será Daniel Echeverri, autor de tres libros de los más demandados. El primero de ellos Python para Pentesters, que es un "must" para entrar en el mundo del Ethical Hacking. El segundo de ellos para sacar partido más allá a este lenguaje, que se llama "Hacking con Python", y el último sobre temas más que interesantes "Deep Web: TOR, FreeNET & I2P - Privacidad y anonimato".

Figura 3: Hacking con Python

Por último, el viernes, de 18:15 a 18:45 estará en el stand para firmaros su ejemplar David Meléndez (@taiksontexas). Como sabéis, David es un hacker que se especializó en los drones y reventó la DefCon con sus trabajos para weaponizar y sacar el máximo partido a la tecnología dron, y en su libro "Hacking con Drones: Love is in the Air" explica cómo funcionan y cómo se les puede sacar el máximo de partido.

Figura 4: Hacking con Drones: Love is in the air

Y para animar el congreso se ha puesto un sorteo de libros de 0xWord al que puedes participar ya, con las siguientes condiciones:


Y si el ganador elige uno de mis libros, yo prometo ponerle en la firma un No Lusers de los míos, para que tenga un buen recuerdo.

Saludos Malignos!

miércoles, febrero 20, 2019

El movimiento lateral a través de DCOM [2]: DCOMrade para detectar debilidades en DCOM

En la primera parte de este artículo hablamos de cómo se podía utilizar un componente DCOM con el atributo de ShellWindows para hacer una movimiento lateral en un proceso de Ethical Hacking, para poder, usando Powershell, ejecutar remotamente una consola de Meterpreter. Hoy vamos a ver una herramienta que ayuda a encontrar los DCOM que pueden ser utilizados.

Figura 8: El movimiento lateral a través de DCOM [2].
DCOMrade para detectar debilidades en DCOM

DCOMrade es un script que permite enumerar posibles aplicaciones vulnerables DCOM que puedan permitir el movimiento lateral, ejecución de código o, incluso, la exfiltración de datos. El script trabaja desde Powershell_v2 y puede ser ejecutado en diferentes versiones de Windows, desde la 7 hasta la 10, y las versiones servidores consecuentes, por lo que es perfecto para añadir a las técnicas de Pentesting con PowerShell de las que hemos hablado tanto.

Figura 9: Pentesting con Powershell

He querido probar la herramienta y ver las posibilidades, y me dio un aire a UAC-A-Mola y su parte dedicada a la investigación de los bypasses de UAC. Como se puede ver en la imagen, se lanza el script y se pedirá una serie de opciones. Otra opción es ejecutar el script e ir indicando los diferentes parámetros con el “-“.

Figura 10: Script de DCOMrade en GitHub

Nos pedirán datos sobre el target, sobre el usuario y sobre el sistema operativo, y en caso de ser necesario, datos sobre la contraseña. Hay que tener en cuenta que esto es para recapitular posibles DCOM que permitan hacer movimiento lateral, si hemos accedido al sistema y tenemos, por ejemplo, un Meterpreter no necesitaríamos la contraseña en ningún caso.

Figura 11: Ejecución de DCOMrate

Una vez que podemos ejecutar el script en la máquina empezamos a obtener los resultados en diferentes ficheros de texto, incluso un HTML que nos pinta la información de forma más atractiva. Este proceso puede tardar un tiempo.

Figura 12: Analizando los componentes DCOM

Como comenté, el listado de archivos es variado, dónde se pueden encontrar las aplicaciones y los CLSID potencialmente vulnerable y que se pueden probar con el objetivo de utilizar alguna de las técnicas conocidas para lograr ese movimiento lateral a partir de los CLSID.

Figura 13:  Fichero de resultados

Por último, y para ver lo que se puede ver en el fichero HTML vemos la siguiente imagen. En ella se puede ver una tabla representando la información. Hay varios apartados que son reflejados, cada uno refleja información de los diferentes ficheros que hemos podido ver antes.

Figura 14: Listado de los componentes DCOM detectados como útiles 

Sin duda, una técnica moderna e interesante, junto a las otras opciones que existen para llevar a cabo movimiento lateral a través de DCOM. Seguiremos contando este tipo de técnicas, más que interesantes.

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