domingo, septiembre 23, 2018

Bootstrapping o la simplificación de la complejidad

Cuando estás en la universidad te enseñan a diseñar sistemas desde cero. Diseñar un microprocesador por medio de dopaciones. Diseñar una PLA con su juego de instrucciones usando puertas lógicas. Diseñar un lenguaje de programación usando autómatas en forma de reconocedores léxicos y sintácticos. Diseñar una red utilizando conexiones y protocolos de red de todo tipo. Diseñar un sistema operativo desde cero añadiendo la gestión de procesos, la gestión de memoria, la gestión de los recursos. 

Figura 1: Bootstrapping o la simplificación de la complejidad

Recuerdo todas esas enseñanzas con mucho cariño. Recuerdo las estrategias algorítmicas para resolución de diversos problemas. Cuando utilizar Dijsktra. Cuando usar una estrategia de Back-tracking, cuando un Divide and Conquer o una solución basada en una recta de barrido. Me ayudaron a tener herramientas en mi caja de destornilladores y martillos para saber que podía probar cosas distintas en cada problema.

De muchas de ellas os he hablado a lo largo de los muchos artículos que le he dedicado a mi relación con la universidad, pero hoy os quiero hablar de una que me ayuda día a día en mi trabajo y que aprendí en la clase de Sistemas Operativos. Se llama Bootstrap o Bootstrapping

Figura 2: Definiciones de Bootstrap

Cuando estudiaba en la universidad cómo se construye un sistema operativo desde cero la pregunta es.. ¿cómo construyo software para un sistema que aún no existe porque está siendo construido? ¿Cómo hago una herramienta de gestión de ficheros gráfico para un sistema operativo que aún no existe? Pues no hay magia. Se trata de hacer Bootstrap, una forma de simplificar la explicación de lo complejo que es sustituir un sistema operativo que funciona por otro.

Si tienes que construir un sistema operativo completo deberás comenzar a hacer un programa que sea capaz de gestionar la memoria, los procesos y la entrada salida. Una vez que tienes los elementos de la gestión mínima, ya puedes comenzar a construir las herramientas mínimas para construir software en él. Construirte tu gestión de ficheros y tu primer compilador. Y una vez que tengas tu compilador ya puedes construir software usando el propio sistema operativo que te estas creando.

No hay magia, solo trabajo y orden. Programar lo mínimo y necesario para que puedas construir software con el sistema operativo que estás desarrollando y completarlo. Es ta sencillo y evidente. Es tan de cómo debe ser todo lo que debe crecer. Construir el círculo virtuoso de éxito de un sistema operativo haciendo varias fases de trabajo en las que priorizas en cada una de ellas lo mínimo que necesitas para que la segunda ola se aproveche de lo construido en la primera versión. En la primera ola de trabajo.

Esta es la estrategia que se debe seguir en cualquier nuevo proyecto que se quiera lanzar en una empresa. Hacer una estrategia de Bootstrapping, poniendo los recursos iniciales necesarios para cumplir con los objetivos de la primera versión, y que estos sirvan para alimentar la segunda versión del proyecto/producto para acelerar su crecimiento.

Yo usé esa estrategia cuando me puse a trabajar con ElevenPaths. No quise muchos más recursos que los que pude manejar. No quise hacer más de lo que pudiera hacer bien y que me pudiera servir para la siguiente evolución. Hice Bootstrapping con ese proyecto.

Trabajar de esa forma te ayuda a priorizar muy mucho. A diferenciar siempre entre qué es lo más importante y necesario y qué es lo que es accesorio en esta fase. Qué es lo que debo tener y qué es lo que es "Nice to have". Algo que una y otra vez comparto con mis compañeros a la hora de hacer el roadmap de los proyectos y decidir en qué invertimos nuestros recursos. Tengo mi regla de las tres "P" repetida una y otra vez con ellos.

Desde luego, construir un sistema operativo completo es complejo. Son muchos los detalles, y herramientas que tiene tu viejo sistema operativo desde el que estás programando el core del nuevo sistema operativo que siempre van a pesar en contra en una posible comparación. Por eso se debe lidiar entre hacer unas cosas con el viejo sistema operativo donde aún puedes programar cosas para el nuevo, y entre hacer cosas desde el nuevo sistema operativo aprovechando las ventajas que tenga el nuevo sistema operativo que has diseñado.  Hay que balancear la transición. Nunca hay que olvidar esto.

Estas enseñanzas las tengo siempre dentro de mí cuando hago algo, y las he usado años después cuando tuve que diseñar la estrategia de la margarita en la 4ª Plataforma para implantar la visión Data-Centric en Telefónica. No se puede cambiar de un día para otro la forma en la que se gestionan los datos y se desarrollan las aplicaciones. Hay que hacer Bootstrapping. Hay que ver cómo se pueden ir diseñando las funciones mínimas del nuevo "sistema operativo" para ir desarrollando las primeras herramientas y poder ir migrando.

Figura 3: La estrategia de la margarita para hacer Bootstrapping con los datos

Cuando diseñas un nuevo proyecto para una empresa que lleva años funcionando no puedes pensar que vas a tener un folio en blanco para ti. Siempre va a haber algo que ya está funcionando y que hay que modificar, cambiar o reemplazar sin que deje de dar servicio. Hay que ver cómo haces el cambio teniendo en cuenta que lo que estás haciendo siempre va a ser más pequeño y sin todas las herramientas que probablemente haya ya en el viejo sistema operativo. No va a ser fácil. Y no lo hagas.

Pensar en hacer un proyecto desde cero siempre es fácil si estás en una página en blanco y no hay nada ya. Pero si estás en una empresa con vida, pasado, clientes y servicios, vas a tener que aprender a hacer Bootstrapping constantemente. A ver qué es lo importante al principio y ver cómo vas decidiendo qué haces en cada sistema operativo (el viejo y el nuevo) hasta que acabe implantado el nuevo sistema operativo por las ventajas que ofrece.

Saludos Malignos!

sábado, septiembre 22, 2018

Agenda de eventos, conferencias y cursos del 24 al 30 de Septiembre @elevenpaths @luca_d3 @0xWord @telefonica

Ya se nos va el mes nueve del año. Quedan solo los días de la última semana, y que por supuesto contará con actividades para mantener la cabeza en forma. No solo hay que hacer algo de deporte todos los días para cuidarse un poco, hay que hacer deporte mental leyendo, estudiando o aprendiendo en cursos, charlas y conferencias, para mantener la cabeza en forma. Estas son las citas que yo tengo en el radar para traeros.

Figura 1: Agenda de eventos, conferencias y cursos del 24 al 30 de Septiembre

Y antes de que me olvide, el evento de LUCA Innovation Day 2018: Science without fiction está casi a reventar, así que, si quieres venir, no dejes pasar un minuto más para hacer el registro y reservar tu plaza. Tampoco te olvides de comprar mi libro de Pentesting con FOCA 2ª Edición para estudiar mucho, mucho de seguridad.

25-Sept: Jornadas de la Armada [Madrid][*]
El martes que viene tendrán lugar las Jornadas Tecnológicas dentro de la Semana de la Armada que se suele hacer por estas fechas los últimos años. Yo estoy invitado a dar una charla a las 09:45 para hablar un poco de tecnologías de ciberseguriad, así que estaré por allí. No sé si el registro es abierto o no al público, pero toda la información está online.
Figura 2: Jornadas Tecnológicas de la Armada

25-Sept: Data-Driven Business Transformation [London]
El mismo día, pero en Londres, nuestros compañeros de LUCA D3 estarán en una jornada de Data Leaders centrada en el tema que veis en la web: Data-Driven Business Transformation. Una interesante oportunidad de ver de primera mano cómo se pueden utilizar los datos en los negocios. Más información en la web.
Figura 3: Data Driven Business Transformation en Londres

26-Sept: II Congreso Industria Conectada 4.0 [Madrid]
Será la II Edición, y desde Telefónica tendremos presencia en las áreas de IoT, BigData, Ciberseguridad y Transformación Digital, así que si quieres ver cuáles son las tendencias y cómo están evolucionando las empresas más eficaces, tienes una jornada dedicada solo a esto. En la web del II Congreso de Industria Conectada 4.0 tienes toda la información. 
Figura 4: II Congreso de Industria Conectada 4.0

26-Sept: SEDIAN Day Seguridad Digital en Andalucía [Sevilla] 
El mismo miércoles, pero en Sevilla, tendrá lugar una jornada dedicada a la Seguridad de las tecnologías digitales. En ella participará nuestra compañera Yaiza Rubio que hablará de tendencias y ataques en las empresas y cómo debemos afrontar estas nuevas amenazas. Toda la información en la web de las jornadas.
Figura 5: SEDIAN Day en Sevilla

26-Sept: Curso Online Auditorías Móviles [Online]
A lo lardo de todo el día 26 de Septiembre dará comienzo la nueva edición del Curso Online de Auditorías Móviles de nuestros compañeros de The Security Sentinel. Una formación de 250 horas para conocer cómo se audita la seguridad de las aplicaciones y dispositivos móviles, así como se aprende a realizar informes forenses. Como complemento de la formación se entrega el libro de 0xWord que escribí yo junto con algunos compañeros dedicado al Hacking de iOS: iPhone & iPad [2ª Edición] que explica muchas de estas técnicas centradas en el mundo iOS. 
Figura 6: Curso Online de Auditorías Móviles

26 y 27- Sept: Jornadas de Smart Tourism en la UPV [Gandía]
El día 26, primer día de este evento, participarán nuestros compañeros de LUCA hablando de cómo hemos construido la solución LUCA Tourism para dar soluciones Data-Driven a los procesos de gestión del turismo de manera inteligente. Una sesión que formará parte dentro de una agenda mucho más amplia que puedes ver en la web del congreso.
Figura 7: Smart-Tourism en Gandía
Y esto es lo más importante en lo que participamos esta última semana. Esperamos que sea de vuestro interés alguna acción y que nos veamos por ahí.

Saludos Malignos!

viernes, septiembre 21, 2018

WordPress in Paranoid Mode para Developers: Hazlo tuyo y adáptalo

Hoy la noticia sobre WordPress en Internet tiene que ver con miles de sitios troyanizados con un código malicioso. Un nuevo problema de seguridad que afecta algunos administradores de sitios basados una de las plataformas más famosas de Internet. Y esto realmente no es una noticia que no suene a vieja, ya que todas las plataformas populares se ven afectadas por riesgos de seguridad que hay que gestionar.

Figura 1: WordPress in Paranoid Mode para Developers: Hazlo tuyo y adáptalo

Hace tiempo que le tenemos puesto el ojo a WordPress en temas de seguridad, y en ElevenPaths le dedicamos tiempo a él. Con artículos, investigaciones, herramientas y recursos varios. Esa información la hemos ido usando para la creación del libro de "Máxima Seguridad en WordPress" de 0xWord, o para la construcción de Faast for WordPress que dentro de nada estará abierto al público general.

Figura 2: Libro de "Máxima Seguridad en WordPress"

Aquí tenéis una lista de todos los recursos que hemos ido generando alrededor de la seguridad de WordPress enlazados para que los tengas a tiro de clic.

[Libro] Máxima Seguridad en WordPress
[Libro] Hardening GNU/Linux
[Paper] WordPress in Paranoid Mode (Parte 1)
[Paper] WordPress in Paranoid Mode (Parte 2)
[Vídeo] Proteger WordPress con Latch
[Vídeo] Proteger WordPress con Latch Cloud TOTP
[Vídeo] MyWordPress in Paranoid Mode (conferencia Chema Alonso)
[Vídeo] MyWordPress in Paranoid Mode (ElevenPaths Talks de Pablo González)
[Vídeo] Ejemplo de uso de Latch en WordPress
[Vídeo] Hardening WordPress like a hacker
[Vídeo] WordPress Demo XSS en WP-UserAgent
[BlogPost] My WordPress in Paranoid Mode
[BlogPost] Máxima Seguridad en WordPress
[BlogPost] Hackear un WordPress con Network Packet Manipulation
[BlogPost] Fortificar comunicación entre WordPress y MySQL
[BlogPost] WordPress Latch Enforcement
[BlogPost] WordPress aún más seguro con Latch Lock After Request
[BlogPost] Fortificar WordPress frente a ataques de fuerza bruta
[BlogPost] Ataques (al corazón) de tu WordPress
[BlogPost] Cómo robarle las contraseñas a los administradores de WordPress
[BlogPost] Agrupar el control de varios WordPress con un solo Latch
[BlogPost] WordPress: Time-Based XSPA (Cross-Site Port Attack)
[BlogPost] Cómo debería ser un WordPress un poco más seguro
[BlogPost] WPHardening: Automatizar fortificación de WordPress
[BlogPost] Protege los borradores de los artículos de tu WordPress
[BlogPost] Registro de cuentas en WordPress públicos
[BlogPost] Riesgos en la ejecución de tareas de Cron
[BlogPost] WordPres: XSS en plugin WP-UserAgent
[BlogPost] Listar los plugins de WordPress en un pentest
[BlogPost] WordPress: SQL Injection en Scarcity Builder Plugin
[BlogPost] Docker WordPress in Paranoid Mode
[BlogPost] Faast for WordPress

Pero por supuesto pensamos que nunca es suficiente, así que uno de los proyectos que hicimos en ElevenPaths basado inicialmente en una idea loca mía de integrar Latch a nivel de Base de Datos de WordPress utilizando triggers sigue muy vivo.

Figura 3: CodeTalkForDevs "WordPress in Paranoid Mode" 

Y para que los que sepáis programar podáis mejorarlo o hacerlo vuestro, esta semana hemos hecho un CodeTalk For Developers centrado en WordPress in Paranoid Mode, que ya tienes disponible en Youtube y puedes ver y estudiar cuando quieras. Aquí os lo dejo.

Saludos Malignos!

jueves, septiembre 20, 2018

Cómo integrar Empire Project con Metasploit en un pentesting

Si hablamos de PowerShell Empire Project y de Metasploit Framework hablamos de dos de los grandes proyectos de la ciberseguridad. El primero es una realidad en la parte de post-explotación, con diversos proyectos para diferentes entornos, tal y como se puede ver en su Github. El segundo, el framework de explotación más conocido en el sector.

Figura 1: Cómo integrar Empire Project con Metasploit en un pentesting

Del primero - de PowerShell Empire - ya os he escrito varios artículos en por aquí en este blog. Del segundo... os he escrito decenas de posts y un par de libros que tenéis publicados en 0xWord :)

- PowerShell Empire: El Imperio Contraataca
- PowerShell Empire: Post-explotación++ en redes Windows
- PoweerShell Empire GUI: Un interfaz al más puro estilo Armitage
- PowerShell Empire: Trabajando el Pass-the-hass con Mimikatz
- Metasploit para Pentesters (4ª Edición)
- Hacking con Metasploit

Aprovechando el paso por la Ekoparty 2018, tendré el honor de poder hablar de uac-a-mola y de ibombshell, además de Empire, he querido hacer un artículo para mostrar cómo es la integración entre Empire y Metasploit, al menos con algunos métodos disponibles en esta magnífica herramienta de Empire. Los proyectos de uac-a-mola e ibombshell son proyectos que han nacido y que se mantienen en ElevenPaths, tal y como se puede ver en el Github de ElevenPaths.


Figura 2: Presentación de UAC-a-Mola


En la Figura 2 tenéis el vídeo de la primera presentación del proyecto uac-a-mola, y a continuación os dejo el paper que hicimos de ibombshell, publicado en el canal SlideShare de ElevenPaths.


Ahora, vamos con la integración entre Empire Project y Metasploit Framework, para lo que vamos a repasar primero una serie de métodos que tenemos disponibles.

Code Execution: metasploitpayload

Este método es sencillo. Partiendo de la base de disponer de un agente de Empire en la máquina Windows se puede utilizar un módulo llamado codeexecution/invoke_metasploitpayload. Las opciones que presenta este módulo son simples, hay que indicar la URL dónde estará a la escucha el módulo de Metasploit exploit/multi/script/web_delivery. Además, hay que indicar el nombre del agente de Empire que ejecutará este código.

Figura 4: Método MetasploitPayload

Entendiendo que partimos de un escenario en el que tenemos un listener de tipo http a la escucha, que un agente de Empire se ha ejecutado en la máquina Windows y que se quiere pasar la sesión del agente a un Meterpreter se puede utilizar este módulo comentado anteriormente para ello.

Figura 5: Listener http con agent configurado en Kali Linux

Como se puede ver tenemos una sesión producida por un agente de Powershell. Ahora, se puede utilizar el módulo codeexecution/invoke_metasploitpayload para ejecutar una petición a endpoint generado con web_delivery en Metasploit. El código que se recoja será un Meterpreter escrito en Powershell, el cual proporcionará una sesión de Meterpreter en nuestra sesión de Metasploit.

 En la siguiente imagen se puede ver cómo se configura el módulo multi/script/web_delivery con un URIPATH y algunos parámetros más. Si se observa la configuración del módulo metasploitpayload de Empire y éste, se puede ver como apuntan al mismo puerto, al mismo URIPATH y a la misma máquina. Esto es fundamental.

Figura 6: Configuración de módulo web_delivery en Metasploit

A continuación, se muestran las opciones configuradas del módulo metasploitpayload de Empire. Encajan con lo configurado en web_delivery de Metasploit. Desde el agente 5N4TV7XU se hará una petición a la URL http://10.0.0.1:8888/ configurado por el módulo web_delivery para responder con un código en Powershell, que será un Meterpreter. Este Meterpreter se conectará al puerto 4444 de la máquina 10.0.0.1, dónde se encuentra el handler de Metasploit.

Figura 7: Options de metasploitpayload en Empire

Cuando ejecutamos el módulo se recibe la petición en el módulo web_delivery. El mensaje que obtenemos es ‘Delivering Payload’ y, a partir de ahí, obtenemos la sesión de Meterpreter. Cómo se puede ver en la imagen, disponemos de la sesión y las posibilidades que el Meterpreter ofrece.

Figura 8: Sesión de Meterpreter obtenida

MSF Foreign Listeners

Este método es más antiguo, pero eficaz. Quizá no tan rápido o sencillo como el de utilizar el web_delivery a través de un módulo de Empire, pero nos permite entender las posibilidades de los Listeners de Empire.

Utilizamos el módulo listeners/meterpreter. La configuración, como se puede ver en la imagen, es sencilla. Hay que indicar el puerto y el host. En este instante, se dispone de un listener de tipo http, que es el que se ha utilizado en el apartado anterior para recibir la conexión con el agente y se dispone de un nuevo listener de tipo Meterpreter. Éste será el encargado de generar la conexión con el handler de Metasploit y permitir obtener una sesión de Meterpreter desde la consola de Metasploit.

Figura 9: Listener de tipo Meterpreter

Aprovecharemos el agente que ya tenemos para generar un nuevo proceso, por ejemplo, un cmd.exe o un notepad.exe. ¿Con qué objetivo? Poder inyectar una shellcode que se conecte al listener de Meterpreter de Empire y se tome el control en el handler de Metasploit. Utilizaremos el reverse_http, aunque también se podría utilizar el reverse_https.

Figura 10: Ejecución de la shellcode

El módulo management/runas permite al agente de Empire poder crear un proceso, por ejemplo, indicándole la ruta c:\windows\system32\cmd.exe. Una vez se crea el proceso, con el PID asociado, se debe utilizar en el módulo code_execution/invoke_shellcode. También se puede llegar a este módulo a través del comando injectshellcode. Como se puede ver en la Figura 10.

Figura 11: Sesión de Meterpreter obtenida en Metasploit que se ejecuta en un Kali Linux

En la parte de Metasploit tendremos un handler configurado para el Meterpreter de tipo reverse_http en el puerto 8088, tal y como se puede ver en la imagen superior. Se obtiene la sesión de Meterpreter.

Figura 12: PoC de integración entre Empire Project & Metasploit Framework

La integración entre las herramientas son importantes y como se ve Empire aporta diferentes opciones. Algunas muy interesantes como la inyección de DLL. Además, es bidireccional de Metasploit también se puede conseguir un agente de Empire y de Empire se puede conseguir una sesión de Metasploit. En el vídeo de arriba tienes el ejemplo completo.

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.

miércoles, septiembre 19, 2018

Ya puedes conseguir "Pentesting con FOCA" 2ª Edición de @0xWord @ElevenPaths

Ayer por la tarde se puso a la venta la 2ª Edición del libro "Pentesting con FOCA", que escribí sobre nuestra querida herramienta. Dese la primera edición - que ya tenía unos años - el proyecto ha ido cambiando, pasando a ser OpenSource - podéis descargar FOCA desde la web del laboratorio de ElevenPaths - y añadiendo un Market de Plugings para extender su funcionalidad.

Figura 1: Ya puedes conseguir "Pentesting con FOCA" 2ª Edición de @0xWord @ElevenPaths

Así que ya tocaba hacer una actualización de los contenidos del libro. Después de 5.000 libros vendidos de la primera edición, le pedí a mi compañero Pablo González que me ayudara a adaptar los contenidos para que tuviera el texto acorde a la estructura actual del proyecto, y por fin tenemos esta 2ª Edición. La portada también está actualizada - un poco - a los pequeños y sutiles cambios que ha sufrido nuestra querida FOCA rosa, pero solo para los que os fijéis en esos detalles que a Rodol le gustar poner.


Para que sepáis el contenido exacto del libro - que ya puedes pedir desde la web de 0xWord -, os he subido a mi SlideShare el índice completo de esta nueva edición de Pentesting con FOCA, para que sepáis exactamente qué temas toca y cuáles no.

Figura 3: Índice del libro "Pentesting con FOCA 2ª Edición" de @0xWord

Entre las novedades de esta última versión de FOCA, como sabéis, está el Market de Plugins de la herramienta que puedes utilizar para extender sus funcionalidades. Además del API para que tú crees tus propios plugins y hagas de la herramienta lo que tú necesites.

Figura 4: Market de Plugins de FOCA

El proyecto sigue vivo, a otro ritmo y con apoyo de la comunidad, pero sigue siendo un proyecto vivo que cuidamos desde ElevenPaths, y del que puedes saber más o colaborar en nuestra Comunidad de ElevenPaths o directamente en el GitHub del proyecto. Fear The FOCA!

Saludos Malignos!

martes, septiembre 18, 2018

Unos (7) trucos de usuario que he aprendido este verano

Muchas veces algunas personas piensan que por saber hacer cosas de seguridad informática, ser CDO de Telefónica, o haber estudiado la carrera de Ingeniería Informática, se sabe todo. Ni mucho menos. Cada día es un camino de aprendizaje. A veces de cosas grandes, otras de cosas pequeñitas que luego se meten en tu vida sin saberlo. Durante este verano he aprendido una serie de cosas - algunas incluso de mis hijas - que tienen que ver con usar las cosas y las he ido recopilando.

Figura 1: Unos (7) trucos de usuario que he aprendido este verano

Si lo sabías, podrás decir eso de "¿Y no sabías eso?", pero si no sabías alguna de ellas y te viene bien, me sentiré feliz, porque a mí me han ayudado estas pequeñas cosas. No esperes hacks, o cosas difíciles. Son más bien "features" que no son tan fáciles de encontrar -  como aquella que os conté de Recuperar dispositivos de audio en Windows Vista y Windows de Pedro Laguna - 

1.- El laser y el lápiz del Power Point

Llevo muchos años usando PowerPoint en las presentaciones, y concentrar la atención de los usuarios sobre lo que ven en pantalla es fundamental. Cuando usaba Windows era usuario de Zoomit para ampliar la pantalla y señalar cosas. Desde que tengo el Mac no lo uso, y hago zoom con el gesto de los dos dedos en el Touchpad en la pantalla, aunque no siempre puedo hacer zoom en la presentación. 

Figura 2: Sacar el puntero láser, elegir su color y sacar el lápiz a pintar. 

Lo que sí que aprendí es que puedes poner la pantalla en Blanco o en Negro usando las letras W o B cuando estás en modo presentación. Algo útil cuando quieres captar la atención de la gente. Todas esas opciones están en el menú que sale abajo a la izquierda cuando estás en "Modo Presentación". Entre las opciones está usar un puntero láser y elegir su color. Además, puedes sacar el lápiz y pintar. Algo que había visto en alguna presentación pero que siempre pensé que era de una herramienta externa - similar a ZoomiT -.

2.- Descargar vídeos y fotos de Instagram

Esta me la contaron este verano - ¡gracias Andrea! - y tiene que ver con la manera más fácil y cómoda de descargar vídeos y fotos de Instagram sin utilizar ningún plugin o hacerlo manualmente que es un poco rollo. 

Figura 3: Guardar fotos y vídeos de Instagram usando Telegram

Para ello basta con que copies la URL en Telegram (en una conversación contigo mismo), y después la abres. Verás que aparece la opción de Guardar en el equipo. Fácil, fácil. No, no la conocía.

3.- Elegir la mejor foto en modo "Ráfaga"

El modo ráfaga de iPhone siempre me pareció un rollo hasta que mi Hacker me explicó cómo funciona y para qué es. Se trata de que pongas la cámara en modo foto y después dejes el botón de lanzar la foto pulsado durante unos segundos.

Figura 4: Fotos en modo ráfaga

Esto hace que se grabe en modo ráfaga y se hagan muchas fotos seguidas mientras pulsas el botón. Después se da a la opción de Select y aparecerán todas las fotos de la Ráfaga. Seleccionas las que te gusten para el Instagram y borras las demás. Easy.

4.- Las búsquedas dentro del chat de WhatsApp

No soy muy usuario de WhatsApp, pero tengo un grupo de amigos en el que "amonesto" al que manda un memé sobre comida o cachondeo repetido. A veces necesito buscar, y la opción no es tan clara. Un día pasé un rato buscando cómo se hacía y hay que entrar dentro del grupo.

Figura 5: Buscar dentro de un chat de WhatsApp

Y aparece la opción. Después, cuando la activas sale justo donde debería estar siempre. Pero no, hay que activarlo. Muy sencilla cuando la conoces, pero creo que en iPhone sería más cómoda si apareciera cuando "tiras" hacia abajo.

5.- Buscar fotos usando en iOS usando AI

La IA está en todos los rincones de nuestra vida y en iOS se utilizan los servicios de Artificial Vision para reconocer objetos en fotografías. Si entras al carrete y buscas por "cosas" aparecerán las fotos que contengan esos objetos.

Figura 6: Fotos buscadas con el objeto Car en iPhone

La opción está en buscar en la opción de fotos, y una vez que buscas un objeto puede que acierte o que o acierte mucho. Depende de lo que busques. Pero mola.

6.- Cambiar el modo de los mapas en Google Maps

Esta opción me tenía loco, y no la encontraba. Uso Google Maps cuando hago rutas, y me gusta que los mapas estén en la dirección de la marcha y no en la dirección Norte. Estas opción de configurar es muy fácil si sabes dónde está. 

Figura 7: Ruta en Google Maps en modo "Norte". Haz clic en la brújula y cambia el modo.

Pues está en la brújula. Hay que pinchar sobre la brújula para cambiar el sentido de la ruta. Cuando lo descubrí este verano me dio mucha tranquilidad. Que me tenía negro cuando se me ponía - sin querer  - en modo Norte.

7.- El preview tooltip de WhatsApp desde la app de escritorio

Este corrió por Internet este verano, pero yo tampoco lo conocía. Se trata de aprovechar el preview del último mensaje en el Tooltip que sale en la app de escritorio de WhatsApp.

Figura 8: Basta con que dejes el ratón encima del grupo en la app de WhatsApp Desktop

Como se puede ver, no importa si el tamaño es muy grande o muy pequeño. En el menú de contexto sale todo y así no se notifica el doble-check azul de que has leído el mensaje. Para los paranoicos. Yo la verdad es que no lo uso, pero me pareció curioso.

Tengo algunos más en la lista de estas cosas que voy aprendiendo y me sorprendo, pero como el post ya quedado muy largo, me los guardo para otro día. De momento os dejo estos.

Saludos Malignos!

lunes, septiembre 17, 2018

Coinhive y el mercado legal {e ilegal} de la minería de criptodivisas

Coinhive es uno de los crypto miner más famosos y utilizados. Este tipo de crypto miner permiten a un usuario minar mientras visita un sitio web. El tema está de actualidad y es de los que llaman la atención de mucha gente y de los que tienen dos vertientes, como casi todo en el mundo de la ciberseguridad, la parte legal y la que no.

Figura 1: Coinhive y el mercado legal {e ilegal} de la minería de criptodivisas

El modo de funcionamiento de Coinhive, Crypto-Loot o JSECoin es idéntico y no podemos decir que es algo novedoso. Es más, si vamos años atrás vemos incidentes como el caso de la RSA Conference y el SEA, dónde gracias a un Javascript que se cargaba externamente a la web de la RSA Conference se consiguió emitir un mensaje cada vez que los usuarios accedían al sitio web. Estas técnicas usadas en Crypto Minering se han convertido en un auténtico boom.

- El boom de los minadores JavaScript
- Cyptojacking: Amenza latente y creciente
- Guerra abierta para evitar la minería no autorizada de criptodivisas cuando navegamos

En el Security Day de 2014 contamos este caso como ejemplo de la importancia de un pentesting estratégico y de observar y controlar todos los recursos de terceros que son utilizados por una empresa. El servicio Faast de ElevenPaths así lo hace.


Figura 2: Security Innovation Day 2014

En su día hablamos de CoffeeMiner, un proyecto educativo que enseñaba cómo funcionaba la inyección de código Javascript para minar, haciendo uso del propio Coinhive.


Figura 3: Ejemplo de CoffeeMinner

El funcionamiento de Coinhive y otros mineros web tiene un funcionamiento similar al problema de la RSA que comentaba antes. El propietario de un sitio web puede inyectar el código Javascript en su sitio web con el objetivo de que los visitantes aporten parte de su CPU para minar. La parte legal viene en el caso del consentimiento y notificación de esto al usuario. Es decir, Trespass to chattels.

Figura 4: Trespass to chattels

A continuación, podéis ver un esquema sencillo de funcionamiento de minado web. En este esquema se muestra como un actor compromete un sitio web y modifica la web para que el Javascript de, por ejemplo, Coinhive esté disponible en la web cada vez que se sirva. El script de Coinhive dispone de una data-key que apunta a la clave pública. De esta forma todo lo que se mina por parte del navegador va hacia el propietario de esa clave pública.

Figura 5: Esquema sencillo de minado

En el último año y medio ha habido un aumento notable de incidentes de seguridad que acaban con la inclusión de este tipo de código en sitios web. Además, se ha incrementado el número de aparición de este tipo de soluciones. Un caso llamativo fue el de Facebook Messenger y el malware que lo usaba para minar Monero en el PC. Se llamaba Digmine y era descargado a través de un enlace video que se enviaba a través de Facebook Messenger. El malware descargaba un programa que minaba Monero en background. De nuevo, una intrusión para utilizar recursos de CPU.

Figura 6: Macro minando Monero

Otro caso interesante, por el potencial que tiene fue el caso de los EXCEL que disponían de una Macro que minaba. Como se puede ver en la imagen, se utilizaba conexiones a Coinhive desde la Macro con el objetivo de minar Monero. En la siguiente ElevenPaths Talk se habla un poco de todas las criptomonedas existentes.


Figura 7: Criptografía, criptomonedas y otras hiervas

Hay muchas derivadas y vectores que acaban con el objetivo de minar en el equipo. Ahora, hablaremos un poco más de Coinhive en detalle. El sitio web de Coinhive proporciona una serie de posibilidades para introducir el Javascript en un sitio web.

Figura 8: Opciones de introducir Coinhive 

Como se puede ver en la imagen superiro, se puede utilizar un ejemplo rápido a través de la opción “Simple Miner UI”, un captcha que aprovecha para minar y validar que no eres un bot, una API con la que interactuar y poder validar, por ejemplo, que no eres un bot, un plugin de Wordpress, etcétera. El primero de los ejemplos de Coinhive es algo como esto:

Figura 9: Ejemplo 1 de Coinhive

El atributo data-key es el que debe contener la clave pública del sitio creado en Coinhive. En la parte interna de Coinhive hay que crear un par de claves, y la pública se configura. Por defecto, este código utiliza authedmine, por lo que en todo momento el usuario es consciente de la minería y no se activará hasta que el usuario que navega al sitio quiera.

Esto es importante, ya que solo se minará si el usuario es consciente y quiere apoyar al sitio cediendo su CPU. En la imagen, se puede observar un ejemplo sencillo de cómo se puede ver en un sitio web real.

Figura 10: Usuario consciente de la minería de Coinhive

El segundo ejemplo es el del captcha. Es una solución interesante y que puede ayudar a sitios web a obtener beneficio por el uso de sus servicios. En vez de utilizar publicidad, siempre que el usuario sea consciente y quiera ceder su recurso, se puede dar pie a una minería a favor del sitio web. En este caso, el código es similar al anterior:

Figura 11: Ejemplo de Coinhive con Captcha

Cuando pasa unos segundos minando, se verifica y es cuando se puede hacer el submit para demostrar que uno no es un bot o que ha sido una infección sin conocimiento del usuario.

Figura 12: Alertas de uso

Hasta aquí, hay un uso legítimo porque es el usuario que cede sus recursos, es consciente de ello y quiere colaborar. El problema radica cuando uno no es consciente que por acceder a un sitio se está haciendo uso de su CPU. Para evitar caer en este tipo de sitios web, podemos utilizar plugins para el navegador como el de Notmining. También se puede utilizar bloqueadores de código Javascript como NoScript, todo un clásico. Además, las soluciones antivirus han entrado a evaluar este tipo de códigos.

Figura 12+1: Ejemplo de funcionamiento de NotMining

Como últimas curiosidades decir que Coinhive mina el 1% de todos los bloques de Monero. Más de 250.000 dólares han sido minados con Coinhive, aunque esto no quiere decir que, de forma ilegal, aunque, probablemente, parte sí. Coinhive se queda con 75.000 dólares de esos 250.000 dólares minados, es decir, un 30%.

Sin duda, este tipo amenazas, por su no notificación y consentimiento, son una de las principales amenazas del año 2018, sustituyendo en los rankings de reportes anuales al ransomware. También se debe entender las diferencias entre esto y el ransomware, ya que a efectos prácticos y de impacto no es igual. El cryptojacking está aquí para quedarse. Ya es parte de nuestra vida digital.

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.

domingo, septiembre 16, 2018

Eventos, conferencias, charlas y cursos para la semana que viene @0xWord @Luca_d3 @elevenpaths

Volviendo a la rutina de los domingos del curso escolar, os recojo cuáles son los eventos, charlas, cursos y conferencias en las que vamos a participar de una u otra forma en Telefónica, desde las unidades ElevenPaths y LUCA Data-Driven Decisions, o apoyando desde 0xWord. Esta es la lista de lo que tenemos para los próximos días y en lo que voy a participar yo personalmente.

Figura 1: Eventos, conferencias, charlas y cursos para la semana que viene

La primera de las sesiones que tenemos por delante será mañana mismo, día 17 de Septiembre, en la Universidad de Suecia, donde nuestros compañeros del Laboratorio de ElevenPaths impartirán en una sesión en la Sala Alan Turing sobre nuestra herramienta NETO de análisis de extensiones. Tienes toda la información en el blog de ElevenPaths. Pero como probablemente os pillará lejos, os dejo una lista de cosas más accesibles.
  • 6 Historias que pueden contar tus datos [Online]: El martes 18 de Septiembre de 16:00 a 17:00 y por Internet, nuestra compañera Paloma Recuero hablará de Data Storytelling. Las emociones juegan un papel esencial en ayudar a nuestro cerebro a considerar distintas alternativas y tomar una decisión. Por ello, las historias capaces de despertar nuestras emociones nos mueven a la acción. Este es precisamente el objetivo del “Data Storytelling”, “Analytical Stories” o las “Historias de datos”. Si queremos que los Insights o hallazgos que hemos obtenido usando Inteligencia Artificial y analíticas Big Data se conviertan en "Acciones", es importante saber presentarlos de forma atractiva y convincente a los responsables de toma de decisiones en la empresa.

    Sin embargo, aunque normalmente pensamos en Data Storytelling al final del proceso de análisis, Thomas H. Davenport, en su libro “Keeping Up with the Quants, nos propone hacerlo en la primera fase, al definir el problema, y para facilitar el trabajo define 6 tipos de historias. Si quieres conocer qué 6 tipos de historias pueden contar tus datos, no te pierdas nuestro próximo webinar.

  • Conferencia de Eduardo Mendoza [Madrid]: El mismo martes, a las 19:00 horas en el Espacio de la la Fundación Telefónica,Eduardo Mendoza, presenta su nueva novela, “El rey recibe”. Tras haber recibido el pasado año el Premio Cervantes, el autor barcelonés vuelve a las librerías con un proyecto en forma de trilogía: Las tres leyes del movimiento; con ella, se propone recorrer los principales acontecimientos políticos y culturales del siglo XX a partir de la experiencia personal del protagonista.

  • Figura 3: Presentación de Eduardo Mendoza
  • Curso Online Hacking Ético Experto [Online]: El miércoles 19 de Septiembre da comienzo una edición de este curso de The Security Sentinel orientado a formar personas para adentrarse el mundo profesional y trabajar en Ciberseguridad. Este curso proporciona los conocimientos necesarios a nivel conceptual y práctico para que puedas implementar en empresas y negocios, un sistema de seguridad informática  integral y perimetral.

    Figura 4: Curso Online Hacking Ético Experto
    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. Tiene 180 horas de duración y además se entrega el libro de Pentesting con Powershell de 0xWord para que saques el máximo del tiempo de estudio. Toda la información en la web del curso.
  • WordPress in Paranoid Mode [Online]:  Nuestro compañero Pablo González impartirá esta sesión el 19 de septiembre y en este webinar hablaremos sobre WordPress, el CMS más utilizado del mundo. A su vez, detallaremos la investigación realizada por nuestros expertos sobre cómo fortificar un sistema WordPress. Se dice que uno de cada cuatro sitios en Internet es un WordPress y debemos fortificarlo lo mejor posible.

    Figura 5: Fortificar WordPress like a hacker

    Desde ElevenPaths hemos llevado a cabo durante el último año y medio un trabajo de investigación sobre cómo fortificar un sistema WordPress. Se ha desarrollado una herramienta denominada WordPress in Paranoid Mode. La idea de esta herramienta es poder proteger la base de datos de accesos no controlados. Para ello, se hace uso de Latch a nivel de trigger en la base de datos, teniendo tres modos de funcionamiento: Administración, Edición y Sólo Lectura. Conoce este nuevo modelo de protección para tu WordPress en este talk y cómo ampliarlo, configurarlo y expandirlo.
  • BlockChainCON [Madrid]: El jueves 20 de Septiembre da comienzo en Madrid un evento centrado en las tecnologías BlockChain, en las que se hablará de como utilizar esta tecnología para construir productos y servicios dentro del mundo empresarial. 
    Figura 6: Ponentes en BlockChainCON
    Alí, entre los ponentes principales se encuentra nuestra compañera Yaiza Rubio, que hablará de algunos de los proyectos en los que hemos estado trabajando internamente en la unidad CDO de Telefónica.  

  • OVUM Digital Future [Londres]: El día 20 de Septiembre yo participaré como ponente invitado en la keynote de este evento en el que se quiere pintar el futuro del mundo digital. Allí hablaré de AI, de AURA, de Movistar Home y de la estrategia CDO de Telefónica para cambiar la manera con la que nos relacionamos con nuestros clientes a través de las nuevas tecnologías.
Y esto es todo lo que tengo en el radar para esta semana, que no es poco. Hay cosas de Big Data, de AI, de BlockChain, de Seguridad Informátic y Hacking, tocando WordPress, Latch, Machine Learning, Data StoryTelling y hasta una sesión con el mítico Eduardo Mendoza. What Else?

Saludos Malignos!

Entrada destacada

Seis recomendaciones personales de libros de @0xWord para disfrutar y aprender

Este verano pude disfrutar de la lectura de un libro que me encantó. El libro de Factfulness que me había regalado mi compañera Beatriz Ce...

Entradas populares