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!

sábado, septiembre 15, 2018

Redes sociales de contactos íntimos que filtran las cuentas de sus clientes

Probablemente para muchas de las personas que utilizan servicios de contactos online para encontrar parejas de larga o corta duración, la privacidad de que están utilizando dicho servicio sea un plus. Es decir, después de ver como una brecha de seguridad que se llevó todos los datos de Ashely Madison acabó incluso con suicidios, o como los datos de los usuarios de Adult Friend Finder quedaron para la consulta de todo el mundo, lo último que quiere cualquier persona cliente de servicios familiares es que cualquiera pueda saber que se está haciendo uso de ese servicio. Pero por desgracia, no siempre tienen todas las medidas de privacidad que serían deseables.

Figura 1: Redes sociales de contactos íntimos que filtran las cuentas de sus clientes

Hace unos días una persona contaba cómo había hecho uso de un servicio que se llama "Follamigos". Supongo que con el nombre del servicio cualquiera se puede hacer una idea clara de para que es este servicio. No para solteros exigentes, no para encontrar el amor de verdad, es solo para lo que dice el título.

Figura 2: Estructura del fallo del "Leak del Login"

Cuando habló de ese servicio, yo me acordé del caso del Leak del Login que afecta a tantos servicios de ese tipo, incluidos algunos otros como el popular Grindr, y que permite saber si una persona tiene cuenta en allí o no, simplemente intentando crear esa cuenta o intentando recuperar la contraseña. Un leak facilísimo de weaponizar.

Figura 3: Como debería ser la creación y la recuperación de contraseñas

Como se puede ver en la imagen superior si se solicita recuperar una contraseña de una cuenta asociada a una dirección de correo electrónico que no está dada de alta en el servicio, la respuesta que da la web es que esa cuenta no existe.

Figura 4: "Correo electrónico inválido". No existe la cuenta
Totalmente diferente a cuando se prueba una cuenta que sí que existe en el sistema, ya que "Follamigos" informa de que se ha enviado un mensaje de e-mail con la nueva contraseña. Todo muy fácil de explotar. Así que, si te sacas una cuenta en alguno de estos servicios... cuidado con la dirección de e-mail que utilizas, no vaya a ser una que conozcan personas que no quieres que sepan que haces uso de estos servicios.

Figura 5: Cuenta existe y se envía la password por e-mail

Y a los programadores de estos servicios hay que recordarles que un proceso de creación de cuentas y de reseteo de contraseñas sin leakear las cuentas es lo deseable. En este artículo se explica cómo se debe hacer.

Saludos Malignos!

viernes, septiembre 14, 2018

Cómo montar un entorno de pentesting desde cero con Docker (Parte 2 de 2)

Como hemos visto en la primera parte de este artículo, una vez tenemos nuestro contenedor Kali Linux corriendo, pasaremos a la instalación de las máquinas vulnerables. Esta operación la realizaremos desde el host y para ello vamos a instalar dos contenedores, uno con la vulnerabilidad HeartBleed y otro con una aplicación web vulnerable SQLi creada por mi colega @tuxotron que permiten practicar tanto las técnicas de SQL Injection, como el Hacking de Tecnologías Web con ataques al bug de HeartBleed.

Figura 11: Cómo montar un entorno de pentesting desde cero con Docker (Parte 2 de 2)

Para instalar el contenedor con la vulnerabilidad HeartBleed y el nombre “Contenedor_HeartB”, ejecutamos el siguiente comando primero para descargar la imagen:
docker pull hmlio/vaas-cve-2014-0160
Después lo dejaremos en ejecución (background) usando el siguiente comando Docker:
docker run -d -p 8443:443 --name Contenedor_HeartB hmlio/vaas-cve-2014-0160
Luego haremos lo mismo con la otra imagen vulnerable SQLi:
docker pull tuxotron/audi_sqli
Y para ejecutarla:
docker run -d -p 80:80 --name Contenedor_SQLi tuxotron/audi_sqli
Si lanzamos un listado de los contenedores Docker veremos los siguientes:

Figura 12: Listado de contenedores y su nombre asignado

En este punto ya tenemos las tres máquinas, pero para realizar las pruebas de pentesting tenemos que realizarlas desde el contenedor Kali Linux y desde allí auditar y ejecutar los exploits en remoto. Antes hemos visto que, por defecto, Docker asigna una dirección IP dentro del rango 173.17.0.0/24 (excepto la .1 que como ya hemos visto pertenece al Gateway Docker).

Para ver la dirección IP de un contenedor, no es necesario conectar al mismo, podemos verlo desde Docker con el comando docker inspect. Si lo ejecutamos directamente de la siguiente manera, por ejemplo para ver los datos del contenedor con la vulnerabilidad HeartBleed:
docker inspect Contenedor_HeartB
Usando directamente este comando aparece demasiada información, tenemos que buscar entre todos los parámetros del contenedor el valor de la dirección IP (el cual suele estar al final del todo). Como esta salida no es más que un JSON, podemos filtrar el campo que nos interesa:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' Contenedor_SQLi
Esto nos dará directamente como salida: 172.17.0.4, que es la dirección IP del primer contenedor del listado de la Figura 12, el que tiene la vulnerabilidad SQLi. Aplicando este comando a cada unos de los nombres (o id) correspondientes a cada contenedor, obtenemos su dirección IP:

Figura 13: Listado de los contenedores y su dirección IP interna.

Por supuesto, es posible asignar una dirección IP concreta el contenedor o incluso cambiar los parámetros por defecto de la red bridge, pero eso lo veremos en otro artículo. Todos los contenedores estarán conectados, además de a la red interna bridge, a Internet (siempre y cuando el host lo esté también o no se haya evitado este acceso de alguna manera en el contenedor o la imagen). En este punto y volviendo al esquema general que pusimos al principio de este post, esta sería la situación actual:

Figura 14: Esquema final de la infraestructura de pentesting.

Llegados a este punto, ya podemos realizar cualquier tarea de Ethical Hacking desde el contenedor Kali Linux. Por ejemplo, para comprobar que existe la vulnerabilidad HeartBleed podemos verlo directamente desde nmap:
nmap -p 443 --script ssl-heartbleed 172.17.0.4
Obtendríamos una salida similar a esta:

Figura 15: Comprobación de la existencia de la vulnerabilidad
HeartBleed en el contendor usando nmap.

Ahora ya podríamos utilizar nuestro querido Metasploit para explotar esta y las otras vulnerabilidades presentes. Para abrir Metasploit, como siempre: msfconsole

Figura 16: Ejecución de Metasploit dentro del contenedor Kali.

A partir de este punto ya depende de ti para que apliques todos los conocimientos que hayas obtenido, practicar o simplemente para experimentar.

El siguiente vídeo contiene todo el proceso, incluida la parte de instalación de las top10 de Kali Linux (que dura 15 minutos) para que esa forma se tenga una idea completa del tiempo de instalación.

Figura 17: PoC de cómo montar un entorno de pentesting desde cero

Otra de las ventajas de Docker que antes no hemos mencionado, es la facilidad de eliminar todo del sistema y empezar desde cero. Si queremos empezar de nuevo y borrar todas las imágenes y contenedores, podemos usar los siguientes comandos:
docker container stop $(docker container ls -a -q)
docker system prune -a
Por otro lado, si has guardado la imagen Docker con Kali ya actualizado y con el top10 de herramientas instaladas, volver a levantar todo el sistema no llevará más de 5 minutos, el tiempo de teclear los comandos para arrancar las máquinas Docker a partir de las imágenes.

Figura 18: Libro de Docker: SecDevOps

Todos estos conceptos y más sobre Docker y otros relacionados con la seguridad de los contenedores los puedes encontrar en 0xWord, dentro de nuestro libro Docker: SecDevOps.

Autor: Fran Ramírez, (@cyberhadesblog y @cybercaronte) miembro del equipo de Crazy Ideas 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.

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