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

SocialFish2.0: Nueva herramienta para concienciar contra el Phishing

$
0
0
Ya hemos hablado en otras ocasiones sobre el cómo medir la concienciación y la cultura de seguridad en una empresa. Es algo complejo, nada sencillo, ya que depende de las personas, depende del mimo que la organización haya dado a los empleados y la formación, concienciación y conocimientos que fluyen hacia éstos. Nosotros hicimos, allá por el 2016, una herramienta a la que llamamos SAPPO y que permite medir este tipo de datos tan interesantes para poder dilucidar si vamos por el buen camino.

Figura 1: SocialFish2.0: Nueva herramienta para concienciar contra el Phishing

También hablamos de Weeman, un framework para generar phishing de forma automática y poder evaluar si los empleados de una organización caen ante este tipo de pruebas en un Ethical Hacking. Otro ejemplo es cómo la inteligencia artificial entra en el mundo de la ciberseguridad con Phish.AI. Una herramienta que permite utilizar una IA para detectar sitios que pueden ser phishing e ir aprendiendo sobre esto. Este tipo de evoluciones e integraciones se pueden ver en el libro de Machine Learning aplicado a Ciberseguridad de 0xWord.

Figura 2: Machine Learning aplicado a Ciberseguridad

Hace muy poco tiempo, se ha liberado una nueva herramienta que permite ayudar a llevar a cabo este tipo de pruebas. La herramienta se llama SocialFish y se puede descargar desde su Github. Esta aplicación proporciona un entorno para poder gestionar las “campañas” de concienciación a través de un ataque de phishing. Además, hace seguimiento de lo que se quiere realizar y los resultados de éstos. Es decir, podremos saber qué usuario ha pinchado en el enlace, ha accedido y ha introducido credenciales.

Figura 3: SocialFish en GitHub

Hay dos versiones de esta herramienta. La versión 1.0, es la antigua, y la interacción con la herramienta funciona a través de un script, al más puro estilo Social Engineer Toolkit o setoolkit, quizá una de las más famosas herramientas de ingeniería social en el mundo de la ciberseguridad.

Versión 1.0

La versión 1.0 dispone de diferentes plantillas que nos daban a elegir al ejecutar el script. Hay que indicar que la aplicación se encuentra escrita en flask en la versión 2.0 y tiene PHP en la versión 1.0. Las plantillas que nos daban a elegir, aunque se podía personalizar, son las de Facebook, Google, LinkedIn, Github, StackOverflow o Wordpress. Lógicamente, sitios interesantes para el engaño.

Figura 4: Plantillas de SocialFish

Cuando se configuraba una plantilla y se indicaba a dónde retornar la información de las credenciales que se obtenían se puede ver algo similar a la imagen de a continuación. Hay que tener en cuenta que es un funcionamiento similar al famoso Social Engineer Toolkit.

Figura 5: Sitio web de Phishing para Facebook

A continuación, se puede ver las contraseñas que se pueden obtener desde el sitio anterior. Muy sencillo de crear y de colgar en un dominio real, siempre pensando en la prueba de evaluación de concienciación de los empleados. Lógicamente, en las organizaciones, se suele personalizar las páginas buscando un cebo creíble para generar la confianza con los empleados con menor concienciación.

Figura 6: Log con accesos al sitio de phishing y credenciales capturadas

El funcionamiento de esta versión se puede ver en el siguiente video de los creadores. Realmente interesante como alternativa este tipo de herramienta.


Figura 7: Demo de SocialFish v1.0

Versión 2.0

La aparición de la versión 2.0 de SocialFish trae un lavado de cara importante. Desde el uso de un nuevo lenguaje, como es Flask, a la posibilidad de poder manejar la herramienta desde una atractiva página web.

La instalación de SocialFish puede traer un quebradero de cabeza, aunque si partimos de una distribución Kali Linux no debería ser así. Los requisitos que nos marcan son varios, desde el uso de Python3.6 o superior a usar pip3. Además, tiene un largo número de dependencias que son incluidas en el fichero requirements.txt que se puede encontrar en el repositorio. Al final, todo se reduce a ejecutar python3 -m pip install -r requirements.txt para que las dependencias sean instaladas.

Figura 8: Libro de Pentesting con Kali Linux

Una vez todo está listo, debemos ejecutar Python3 SocialFish.py [user] [pass]. Esto ejecuta la aplicación web y levanta un servicio en el puerto 5000. Cuando nos conectamos a ese puerto con un navegador web veremos una página como la que se muestra, dónde debemos introducir el usuario y contraseña generado anteriormente.

Figura 9: Login en SocialFish v2.0

Una vez se accede a la aplicación nos encontramos con un aspecto como el que se puede ver en la siguiente imagen. Aspecto limpio, claro y de uso sencillo. Hay un apartado dónde se indica el sitio a clonar y a dónde realizar la redirección. Además, vemos una especide de dashboard dónde podemos ver los datos que se van recopilando:
  • Clics que se han hecho sobre el recurso fake.
  • Visitantes que no hicieron clic.
  • Credenciales capturadas.
  • Número de phishings realizados.
Además, de este dashboard web que vemos en la figura siguiente, SocialFish v2.0 también dispone de aplicación móvil para llevar a cabo el seguimiento y el lanzamiento de ataques.

Figura 10: Dashboard Web de SocialFish v2.0

En el siguiente Github se puede encontrar la app móvil de SocialFish. El aspecto es similar al que se puede ver en la imagen siguiente.

Figura 11: App movil de SocialFish v2.0

Sin duda, SocialFish es una aplicación que tiene recorrido y que puede crecer mucho. Ahora mismo, goza de gran apariencia, aunque la funcionalidad se limita a un phishing y seguimiento básico de éste. Puede que en próximas versiones veamos mayor número de funcionalidades que puedan aportar diferentes pruebas basadas en ingeniería social y que permita medir la concienciación de los empleados.

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

Cómo crear un servicio de reconocimiento OCR con Cognitive Services de Visión Artificial en Google Cloud

$
0
0
Mi compañero Lucas, del equipo de Ideas Locas de mi unidad, ha participado en una LUCA Talk de las que hacemos en la unidad LUCA de Big Data & AI - valga la redundancia - para explicar a desarrolladores cómo se puede crear un servicio en cloud para tener un reconocimiento de caracteres OCR que se pueda utilizar en cualquier procesado de datos no estructurados basados en documentos escaneados.

Figura 1: Cómo crear un servicio de reconocimiento OCR con
Cognitive Services de Visión Artificial en Google Cloud

Dentro del proceso de digitalización de documentos físicos, el procesado OCR de documentos es una pieza fundamental. Permite digitalizar el archivo de una compañía y hacer que los datos almacenados en esos documentos físicos pasen a ser parte de las bases de datos de la organización. Esto permite que se puedan procesar y tomar decisiones en base a la información que contienen.


Figura 2: LUCA Talk de cómo crear un servicio OCR con Google Cloud

De cómo hacer esto con Google Cloud utilizando los servicios de cognitivos de Visión Artificial ha hablado durante esta sesión de poco más de media hora nuestro compañero. Si quieres aprender cómo hacerlo tú mismo paso a paso, puedes verlo en el vídeo.

Saludos Malignos!

RootedCON 2019: Horarios, charlas, fotos y firmas @rootedcon @0xWord

$
0
0
Esta será la décima edición de RootedCON en Madrid, y por supuesto nosotros estaremos para apoyar estar iniciativa tan bonita que comenzó con la ilusión de un grupo de personas que luchó para sacarla adelante hasta convertirse en lo que es hoy. Habrá muchos compañeros de ElevenPaths, muchos amigos del sector, y muchos grandes ponentes que han surgido al calor de estas conferencias por toda España.

Figura 1: RootedCON 2019: Horarios, charlas, fotos y firmas

Yo voy a dar una charla sobre una pequeña idea que me surgió el verano pasado, mientras disfrutaba del descanso merecido bajo el sol, y que tiene que ver con ser el "Papaete" de Mi Hacker y Mi Survivor, dos niñas que adoran la tecnología. Y tiene que ver con ataques de red, con ataques de redes de tipo man in the middle, algo de HSTS, criptojackers,  con niñas viendo Youtube y conectándose para estudiar. A ver si os gusta el resultado final.


Mi charla será el viernes a las 15:30, pero podéis ver ya más o menos la lista completa de speakers y la agenda cómo va ahora mismo en la web, y localizar a todos los que vamos a estar por allí este día. Además, como desde el principio, habrá un stand de 0xWord en el que haremos sesiones de firmas y fotos con los autores de los libros. Estos son los horarios.

Jueves 28 de Marzo

La sesión de firmas será de 11.00 a 12.00 de la mañana y estarán Amador Aparicio, que además de escribir periódicamente en El lado del mal, es uno de los autores principales del libro de Hacking Web Technologies, donde yo también participé, y también Francisco Ramirez, que de nuevo, además de escribir un montón de posts por aquí tiene tres libros geniales, como son:

- Microhistorias: Anécdotas y curiosidades de la historia de la informática y los hackers
Docker: SecDevOps
- Machine Learning aplicado a Ciberseguridad

De todos ellos podrás conseguir las firmas el jueves. Podrás pedir el libro por anticipado contactando con info@0xWord.com, o podrás traerte el tuyo si ya lo tienes comprado para que te lo firmen o hacerte una foto con ellos.

Viernes 29 de Marzo

Será por la tarde. Como ya sabéis yo tengo mi charla de 15:30 a 16:30, así que justo después estaremos por el stand de 0xWord en la RootedCON los siguientes autores.  Toma nota: Elías Grande, que es autor del libro de Docker: SecDevOps, Carlos GarcíaValentín Martín autores de Hacking Windows: Ataques a redes y sistemas Microsoft y Alfonso Muñoz, autor de dos libros de ciencia de base, como son Esteganografía y Estegoanálisis y Cifrado de las comunicaciones digitales: de la cifra clásica a RSA (2ª Edición), que acaba de ser publicado. Yo, estaré allí para firmaros algunos de los libros en los que he participado, como son :

Sábado 30 de Marzo

Por último, el sábado a partir de las 11:45 le toca el turno a nuestro compañero Pablo González Pérez(@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters (4ª Edición)", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows: Ataques a sistemas y redes Microsoft", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, que como sabéis es Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de mi unidad CDO de Telefónica.

También estarán Francisco Ramírezy Rafael Troncoso para firmar sus libros de "Microhistorias: Anécdotas y curiosidades de la historia de la informática (y los hackers)" y "Docker: SecDevOps". Vendrá también Carmen Torrano que firmará junto a Fran Ramírez el libro de "Machine Learning aplicado a Ciberseguridad" y para terminar el gran David Melendez con su "Best Seller" Hacking con Drones: Love is in the air"

Como os he dicho, podéis pedir vuestros libros, packs, pegatinas, camisetas, cómics, etcétera por anticipado contactando con info@0xWord.comy tenerlo listo para recoger allí mismo, y si lo quieres firmado, puedes pedirlo por anticipado y no tendrás que hacer ninguna cola para ello. Nos vemos en la RootedCON.

Saludos Malignos!


Chema Alonso: Año UNO

$
0
0
El día 15 de marzo de 2018 fue el día marcado en mi calendario para abandonar este mundo. Y hacerlo a lo grande, con un mortal hacia delante desde mi monopatín mientras bajaba por una cuesta para terminar en una baldosa mal fijada al suelo. Pero no fue así. Y aquí sigo. Haciendo balance de lo que ha sido mi vida en este primer año de extra-time que llevo sobre el planeta.

Figura 1: Chema Alonso "Año uno"

Aunque los que estuvieron por allí y me despertaron ensangrentado recuerdan que mi conmoción fue un debate cíclico sobre lo que había pasado, lo cierto es que yo lo viví, como os conté, de otra manera mucho más placentera. El sistema operativo de mi cabeza entró en modo a prueba de fallos y no grabó ninguno de los estímulos que llegaban desde mi cuerpo. Mi cerebro colapsó y no aguantó el malfuncionamiento hardware.

Pero me desperté. Y no con poco dolor y cabreo por lo cómodo que estaba en ese punto de standby con negrura en el que me encerró mi mente.

Lo hice mientras me estaban cosiendo y fabricando las dos cicatrices de nueve puntos en total que tengo en el párpado en el ojo derecho. Podéis llamarme “ScarEye”, que para nombre de Supervillano de segunda no está mal.



Y al día siguiente me fugué del hospital. Y me fui a comer con los amigos, y comencé a vivir con el tiempo extendido de la "Extra Ball" que me tocó.

Desde entonces poco y mucho cambió mi vida.

Poco, porque lo que hago es lo que me gusta. No creo que aunque hubiera sido otro villano, mi vida hubiera cambiado mucho. Ya en un post muy antiguo, de hace unos años, hablaba de la Esencia del Antihéroe para explicar que fuera yo el villano que fuera, acabaría siendo informático. Me gusta la tecnología y lo que hago, así que hace un año cuando tuve una segunda oportunidad no cambié mucho.

Seguí haciendo mis cosas en Telefónica. Mis cosas en 0xWord. Mis cosas como el Chema Alonso ese que lleva tantos años dando guerra por Un informático en el lado del mal, o las tablas de muchos escenarios.

Me gusta Telefónica, me gusta escribir, me gusta pensar, me gusta crear, me gusta contar cosas, que siempre había soñado con ser profesor y enseñar. No fue casualidad que me sacara el CAP para dar clases en secundaria o que estuviera durante tantos años enganchado en la radio con el maravilloso Javi Nieves o dando clases en la universidad tantos y tantos cursos.

En la forma de afrontar la vida, tampoco es que fueran a cambiar después de ese salto de cabeza contra el suelo. Ya había encontrado el hilo de Ariadne un poco antes y enfocado mi vida de una forma que me gusta. Aprovecho cada segundo de mi vida balanceando entre tecnología, lectura, series, deporte, chuletón, vino, música o patinar con mis niñas. No voy a volverme loco porque me haya podido matar o me vaya a morir con seguridad.

Lo que sí que valoro un poco más es el tiempo.

El tiempo es finito, y disfrutarlo es lo que quiero. No me eches la bronca. No quieras que cambie a mis años. No quieras que no sea como soy. No me quites la energía. No me des lecciones de vida que yo ya llevo una. No llores cada momento por lo que pasó. No quiero a mi alrededor vampiros de energía. O gente que me diga lo que tengo que hacer o dejar de hacer. Eso ya lo sé yo y decido si me hago caso o no a cada poco. Y hago lo que me hace feliz o me piden las entrañas.

Quiero a mi lado gente divertida. Vitalista. Que quiten el peso de la vida, para aceptar que no tenemos esa misión trascendental que muchos necesitan atribuirse. Como si el paso por la vida fuera el batido de las alas de mariposa que van a cambiar el universo. No creo en eso.

Me iré, como me pude haber ido hace un año. Me iré y me habrás dicho lo que me hubieras dicho hasta ese día. Me iré y te habré dicho lo que te dije hasta ese momento. Habrá una última conferencia. Un último beso. Una última palabra. Ese abrazo de despedida que nos dimos al decirnos adios hasta la próxima vez. Que realmente será un último adiós. Y un último sentimiento. Y nada más.

Será de la forma que sea. Tarde, pronto, o a media distancia. Será en soledad o en compañía, pero será. Y tampoco será para tanto. "Goodbye, my friend". Y listo. Y no pasará nada. Y no esperes que tenga en mi vida un objetivo por cumplir que se quede a medias. Una obra inacabada. O algo por hacer que me hubiera hecho pleno. ¡Qué va! Ya me acabé Internet que me hice una foto con Chuck Norris, di una charla con Mi Hacker y grabé un anuncio con Mi Survivor. Habré hecho cosas buenas, cosas malas, y habré vivido mi tiempo de la mejor manera que se me ocurrió.


Quiero que queden en tus ojos de la memoria cosas chulas que te agraden. Las risas. Las tonterías esas que decía y hacía. Las veces que lloramos entre carcajadas. Las veces que te abracé como un gorila después de habernos tomado una botella de vino, que con mis amigos nos abrazamos así. Cuando nos fuimos de viaje. Las que me metí contigo con humor inocente, porque si lo hice fue porque eras especial. Las veces que te acaricié sin decir nada. Las veces que te sorprendí con una chorrada. Las que lo hice a lo grande. Las cosas buenas. No las malas. Cuando me viste haciendo algo diferente. Las veces que pinté monstruos contigo o las que te castigué porque era bueno para ti. Las veces que comimos en buenos restaurantes. Las que tomamos café en el Starbucks o en el Vips. Las que fui un Pirata buscando una batalla.

Las malas, entiérralas.

Y poco más. pasó un año. Y vamos a por otro. A por "Chema Alonso: Año 2". Lo que será este año habrá que verlo. Por ahora no preveo más que cosas similares a las del año pasado. No desearía matarme pronto que me gustaría hacerme viejo y ver a mis niñas crecer y vivir sus vidas, pero... ¿Quién sabe?

Saludos Malignos!

Mastering iBombshell: Para tu próximo Ethical Hacking

$
0
0
Esta semana ha tenido lugar el CodeTalk for Developers de ElevenPaths centrado en cómo sacar partido a iBombShell, y ya lo tienes disponible en Youtube para que en cuestión de poco más de treinta y cinco minutos veas cómo empezar a utilizarlo en tus proyectos de Ethical Hacking.

Figura 1: Mastering iBombshell: Para tu próximo Ethical Hacking

Como siempre, el proyecto está abierto y vivo, por eso esta sesión está pensada también para que aprendas a crear módulos o extender su funcionalidad. Todo el repositorio de código está en GitHub y puedes tanto aportar como sugerir nuevos módulos. Aquí tienes la sesión completa en vídeo.


Figura 2: CodeTalk for Developers "iBombShell"

Y para que completes tu estudio, aquí tienes todos los recursos publicados hasta la fecha sobre iBombShell, con toda la información que tenemos disponible.

- [GitHub] iBombShell
- [White Paper] iBombShell: Dynamic Remote Shell
- [Vídeo] CodeTalk for Developers "iBombShell"
- [Blog Post] Pentesting MacOS & Windows with iBombShell
- [Blog Post] iBombShell: Tu Shell de pentesting en MacOS con PowerShell
- [Blog Post] iBombShell: Creando una función para MacOS
- [Blog Post] iBombShell: Environment Injection in Windows 10
- [Blog Post] iBombShell: Crear módulo para extracción de claves SSH privadas
- [Blog Post] iBombShell: UAC Bypass con Mocking Trusted Directories
- [Blog Post] iBombShell: Nuevas funciones presentadas en BlackHat Europe 2018
- [Blog Post] iBombShell: Cómo saltarse AMSI y Windows Defender
- [Blog Post] iBombShell: Cómo hacer un popup phishing
- [Blog Post] BlackHat Arsenal: Tools for Research & Pentesting -> iBombshell
- [Blog Post] iBombShell: Módulo de RID Hijacking & C2 GUI en .Net
- [Blog Post] iBombShell: Novedades en la versión 0.2b Evolution++

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

Y esta semana toca... @0xWord @luca_d3 @elevenpaths

$
0
0
Como dicta la rutina que he tomado, os dejo un sábado más la lista de eventos, cursos, conferencias, charlas, y demás citas a tener en cuenta de las que realizamos nosotros. Yo estaré de viaje por Argentina que tengo que ir a Córdoba a asistir y tener una pequeña participación en el VIII Congreso Internacional de la Lengua Española.

Figura 1: Y esta semana toca...

A mi vuelta, ya sabéis, estaré en la RootedCON 2019 en Madrid con una ponencia el viernes por la tarde y firmando libros de 0xWord. Con eso tengo la semana echada por mi parte, que los vuelos al otro lado del Atlántico y el cambio horario se llevarán parte de mi tiempo útil. Pero la semana tiene muchas más cosas que merece la pena que tengáis en el radar, así que os las traigo por aquí para que las tengáis controladas.

25 de Marzo: Curso Profesional de Auditorías Móviles [Online]

Si eres un profesional de la informática y quieres adentrarte en el hacking o quieres mejorar tus aspectos profesionales en el mundo de la seguridad informática, o simplemente sientes curiosidad por el hacking, puedes apuntarte a este curso que permite estudiar cuándo, cómo y dónde quieras. Con este curso conocerás las últimas y más eficientes técnicas de pruebas de hacking ético a dispositivos móviles con sistemas operativos Android e iOS

Figura 2: Curso Online de Auditorías Móviles

Esta es una formación que te permitirá, posteriormente, realizar auditorías de pentesting a dichos dispositivos móviles de manera profesional. Con 120 horas de formación que abarcan un temario que va desde la auditoría de aplicaciones móviles hasta el análisis forense de los dispositivos completos. Tienes el temario completo en la web de esta formación.

Figura 3: Libro de Hacking iOS: iPhone & iPad (2ª Edición)

Además, se entrega como complemento a la formación el libro que escribimos entre varios profesionales centrada en la auditoría, el hacking y el análisis forense de dispositivos de Apple de 0xWord titulado "Hacking iOS: iPhone & iPad (2ª Edición)". 

25 de Marzo: Experto en red TOR y Deep Web [Málaga]


Formación de 16 horas que comienza el día 25 de Marzo en Málaga en horario de tarde. Este curso se ha desarrollado para dotar al alumno de los conocimientos en el uso de tecnologías que proporcionan privacidad y anonimato al usuario. 

Figura 4: Curso experto en la red TOR y Deep Web Málaga

Se abordaran distintas temáticas tales como el uso de Proxys, VPN y red TOR, pros y contras de cada una de ellas, comparativas entre las distintas tecnologías y como pueden se pueden usar de forma combinada para proporcionar un mayor nivel de privacidad y anonimato. 


Figura 5: Libro Deep Web: Tor, FreeNET & I2P

La formación constará de una parte teórica y una parte práctica para poder sacar el máximo provecho a este taller. Los alumnos recibirán como material de apoyo el libro de 0xWord de "Deep Web: TOR, FreeNet, I2P. Privacidad y Anonimato". Tienes toda la información sobre esta formación en la web de Comunix dedicada al curso: Experto en red TOR y Deep Web.

26 y 27 de Marzo: FutureNET World [Londres]

FutureNet World es un evento anual para compartir los desafíos más difíciles de las operadoras, enfocándose en los últimos avances tecnológicos, con un análisis visionario de los servicios que los clientes están demandando en el mundo digital.



Figura 6: FutureNET World

El Dr. Richard Benjamins, Big Data & AI Ambassador en LUCA, participará en la ponencia “Examinando cómo la automatización de la red y la IA están habilitando nuevos modelos y servicios de negocios digitales mediante el uso de datos”.

27 de Marzo: Datanomics [Madrid]

Una de las mayores expertas de nuestro país en identidad digital y aspectos legales de la tecnología, Paloma Llaneza, estará en nuestro auditorio realizando un didáctico repaso a las implicaciones legales y sociales que puede tener en nuestra vida cuando pulsamos el botón “Acepto la política de privacidad y términos de uso”. Paloma Llaneza conversará con el escritor Pepe de la Peña.



Figura 7: Evento Datanomics en el Espacio de la Fundación Telefónica


El último ensayo de Llaneza, Datanomics, editado por Deusto, supone un demoledor y brillante repaso a todas las consecuencias que preferimos obviar cuando aceptamos que las grandes compañías tecnológicas comercien con nuestros datos personales.

Estos datos reflejan comportamientos y pensamientos profundos perfectamente identificados e individualizados, que facilitan a las empresas y a los Estados la toma de decisiones sobre nosotros, pues así saben lo que vamos a hacer en cada momento. Y como nos conocen más que nosotros mismos, nos dirigen hacia una toma de decisión u otra. 

28 a 30 de Marzo: RootedCON 2019 [Madrid]

Como ya os había dicho, durante estas fechas tiene lugar la RootedCON Madrid. Tres días de charlas, formaciones, hacking y networking en el sector de la seguridad informática. Yo estaré el viernes, y durante los tres días habrá muchos compañeros de 0xWord, ElevenPaths y Telefónica. Tienes la lista de todas las charlas en la web del congreso.



29 de Marzo: RITSI 2019 [Albacete]

Este año la X Edición del RITSI tiene lugar en Albacete, y aunque yo he intentado poder estar de forma presencial allí, mi viaje a Argentina no me lo ha permitido, por lo que estaremos colaborando con un stand de 0xWord donde podrás adquirir nuestros libros. Si quieres que alguno de los autores - incluido yo mismo - te firme el libro, puedes pedirlo por anticipado a info@0xWord.com y lo recoges allí mismo. Tienes toda la info de la jornada en esta web.

Figura 9: X Congreso RITSI en Albacete

Y esto es todo, pero para completar el post os dejo la última entrevista que me hicieron vía teléfono tras mi participación en la Campus Party Punta del Este en Uruguay.


Figura 10: Entrevista radiofónica para En Perspectiva

Espero que estos eventos tengan alguna actividad que os sea interesante en la que participar. Nos vemos en el post de mañana que me toca hacer un poco de deporte.

Saludos Malignos!

Un leak en “Pipl” que weaponiza tus leaks y publica tu teléfono en Internet. ** Ten cuidado **

$
0
0
Las técnicas OSINT (Open Source Intelligence) se basan en extraer información que es pública o que está disponible públicamente. Pero no siempre quiere decir que esa información debiera ser pública. En muchos casos esa información proviene de leaks que tiene las plataformas que dan soporte a los servicios de Internet, como los que explota OSR-Framework, o los simples info-leaks del login.

Figura 1: Un leak en “Pipl” que weaponiza tus leaks y publica
tu teléfono en Internet. ** Ten cuidado **

Jugando con estos leaks se puede sacar mucha información, como ya os conté con el caso del número de teléfono en Paypal del que os hablé hace un año, haciendo algún proceso de "weaponización". Es decir, automatizando la fuga de información para sacarle algún provecho en la extracción de datos, como en el caso de los números de teléfono en cuentas de Facebook haciendo búsquedas inversas.


Figura 2: Charla sobre Info-leaks en servicios web por Chema Alonso

Y de todas estas técnicas sabe sin duda la web Pipl, un motor de búsqueda de información sobre las personas utilizado en procesos OSINT y que bebé de miles de sitios web y redes sociales. Perfecto para demostrar que otro Cambridge Analytica es más que posible todavía y que estamos lejos de dejarnos ser perfilados fácilmente por técnicas de Big Data.

Figura 3: Web de Pipl con más de 3 mil millones de personas registradas

En esta web podemos buscar a cualquier persona y ver rápidamente cuáles son sus perfiles principales, y una breve descripción de quién es, llegando a dar datos personales como su número de teléfono o dirección de correo electrónico.

Figura 4: Registro de Chema Alonso en pipl

Esta información, que a priori parece que no es accesible desde la web externa, es bastante importante, más, cuando se pueden hacer búsquedas inversas utilizando los números de teléfono, lo que completaría perfectamente el servicio de "Dirty Business Card" del que hablaba Chema Alonso tiempo atrás.


Figura 5: Dirty Business Card Reader: PoC

Esta información es accesible si ha sido filtrado por algún leak o si, por desgracia, el dueño de la cuenta en una red social no ha sido lo suficientemente precavido como para configurar de la manera adecuada las opciones de privacidad de sus cuentas en los servicios de Internet en los que se ha sacado cuenta.

Sacando E-mail y Telefóno de Pipl

Pero lo peor es que esta información, que parece que no está disponible a priori, realmente sí que lo está. Está en campos hidden de la web de Pipl que está abierta a todo el mundo. Basta con buscar el campo "phn" y aparece el número de teléfono que ha sido descubierto por esta web. En el caso de Chema Alonso sale el de su antigua oficina en Informática 64.

Figura 6: Teléfono y cuenta registradas de Chema Alonso

Este es un leak fácil de weaponizar, por lo que el riesgo es bastante alto. Si tienes cuentas en redes sociales o servicios de Internet en los que has configurado tu número de teléfono personal como información adicional o como 2FA te recomiendo que te busques. Puede que te sorprenda encontrar la información que de ti tienen.

Figura 7: E-Mail y Teléfono particular de una cuenta en Pipl

El proceso de salir de esta base de datos es un poco lento, por lo que te recomiendo que comiences por averiguar de donde puede provenir el leak que ha llevado tu información a esta base de datos, configurando de manera robusta todas tus cuentas, y después que solicites de manera legal la retirada de tus datos. Este es nuestro mundo hoy en día. Uno en el que tus datos vuelan con mucha facilidad.

Autor: Pablo García Pérez

Pentesting con PowerShell: Powershell Transcription, Constrained Language y otras medidas de protección en un Ethical Hacking

$
0
0
En el blog hemos hablado de diferentes cosas relacionadas con el pentesting con Powershell. Ya hemos hablado sobre la protección de AMSI y las necesidades de hacer un bypass cuando uno está haciendo Ethical Hacking, sobretodo si hay sistemas Windows 10 por medio. Como nota dejar por aquí una charla y presentación de BlackHat de años anteriores donde se presentaban formas de saltarse AMSI, recomendable su lectura.

Figura 1: Pentesting con PowerShell: Powershell Transcription,
Constrained Language y otras medidas de protección en un Ethical Hacking

El martes 26 daré un RootedLab sobre PowerShell y sus posibilidades ofensivas en un pentest. Los asistentes tendrán un cupón descuento para libros míos de 0xWord. Hoy, quería hablaros sobre las posibilidades de defensa que Powershell ha empezado a tener, ya que no todo es ataque para eso ya tenéis el libro de Pentesting con Powershell 2ª Edición.

Figura 2: Pentesting con Powershell 2ª Edición

Por supuesto, y como digo siempre, cuando sale una protección o una forma de restringir acciones, se investiga la forma de saltarse esa protección. Es una acción natural que ayuda a mejorar la solvencia y potencia de la protección. El juego del gato y del ratón, así que vamos a ver cómo hacer algo de lo que trata el libro de mi compañero Sergio de los Santos, aplicar políticas para alcanzar la "Máxima Seguridad en Windows"

Política de ejecución

La política de ejecución de scripts de Powershell es un concepto que está presenta desde hace mucho tiempo, desde las primeras versiones de Powershell. El objetivo inicial era marca qué se podía ejecutar y en qué ámbito. Un ejemplo sencillo es visualizar lo siguiente:
  • Restricted: Política restringida, no se puede ejecutar ningún script de Powershell a través de dicho proceso.
  • Unrestricted: Política totalmente no restringida. Se puede ejecutar cualquier script en Powershell.
  • RemoteSigned: Se puede ejecutar solo scripts creados localmente y si son remotos o descargados, solo si están firmados.
  • Signed: Se pueden ejecutar scripts solo si están firmados.
Aparecieron más políticas y se fue perdiendo el foco. Por ejemplo, hay una política que es ‘Bypass’.

Figura 3: Powershell.exe -Exec Bypass

Con esta política se puede ejecutar un proceso de Powershell, donde el usuario puede ejecutar scripts, simplemente arrancando el proceso con dicha política, por ejemplo: powershell.exe –Bypass.

Constrained Language

Una de las evoluciones para evitar ciertas acciones ‘maliciosas’ fue la llamada Constrained Language o modo de lenguaje restringido. La idea que radica detrás de este modo es poder utilizar o dar soporte a las tareas administrativas del día a día y restringir el acceso a la parte sensible del lenguaje de Powershell. Ese lenguaje que puede ser utilizado para invocar APIs de Windows orientadas a otro tipo de tareas, no tan administrativas.

Aquí tenemos una nueva protección, por lo que tenemos a gente buscando la posibilidad de saltar la protección. ¿El resultado? La mejora de la solución de protección, si se tiene en cuenta que hay vías de saltarla.

Figura 4: Deteccion del tipo de lenguaje

Para ver el tipo de lenguaje que tenemos se puede ejecutar $ExecutionContext.SessionState.LanguageMode. Si el modo de lenguaje se encuentra en Constrained, estaremos ante el modo de lenguaje restringido. Si el sistema base tiene Powershell versión 2, se puede hacer un bypass del CLM, ya que el modo Constrained aparece en la versión 3 de Powershell.

Figura 5: Constrained no está en v2

En Windows 10, desaparece la posibilidad, por defecto, de utilizar Powershell versión 2, por lo que se evita este bypass y debemos ir a otras opciones. Por ejemplo, se puede utilizar PSBypassCLM, una herramienta que permite hacer ese bypass.

Powershell Transcription

No todo es protección directa. En muchas ocasiones nos interesa saber qué es lo que está ocurriendo en el sistema y tener un buen sistema de logging es fundamental. En el caso de Powershell, éste ha ido evolucionando y mejorando. Hay varias opciones:
  • Module Logging.
  • Script Block Logging.
  • Powershell Transcription.
Las tres opciones son funcionalidades para registrar acciones que ocurren a través de Powershell. Module Logging registra el uso de módulos, mientras que la segunda es capaz de registrar comandos, bloques de script o script-block, etcétera. La tercera es una de las más interesantes, ya que registra el input y output de la sesión con Powershell.

¿Dónde se activa esto?

Tenemos que abrir el binario mmc.exe, la consola de gestión de Windows, y añadir un nuevo complemento. El complemento es el objeto de políticas locales. Debemos ir a la parte de “Computer Configuration -> Windows Components -> Windows Powershell”.

Figura 6: Opciones de PowerShell en mmc.exe

Para habilitar Powershell Transcription se debe entrar en la configuración y habilitarla. Es importante seleccionar el directorio donde se quiere almacenar el fichero con los inputs y outputs generados por cualquier usuario a través de una Powershell.

Como se puede ver en la imagen siguiente, el proceso es sencillo y a partir de este momento se dispone de un sistema que registra cualquier acción sobre la Powershell. Esto permitirá, en la mayoría de los casos, registrar acciones sobre lo que hacen los usuarios y poder estudiar y detectar alguna acción “extraña” o alguna ejecución maliciosa.

Figura 7: Política para logging de inputs & outputs en Powershell

Para este ejemplo, podemos ver como el fichero de texto ha registrado las acciones de entrada y salida dentro de una Powershell. Lo que el usuario ejecutó y el resultado que éste obtuvo. Esto ayuda a un administrador a entender bien el entorno en el que se han estado moviendo los usuarios.

Figura 8: registro de acciones

Es importante conocer las defensas de Powershell para poder llevar a cabo la parte ofensiva, sin duda. Microsoft proporciona diferentes medidas de protección, en busca de un entorno lo más seguro posible. Sin duda, es interesante conocer, tanto la parte defensiva como la ofensiva, si te dedicas al pentesting. Powershell sigue evolucionando de la mano de Microsoft.

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

The Dirt: Dirty Business Card Reader Curricula Module

$
0
0
Hace un tiempo habló Chema Alonso en este blog del proyecto del equipo de Ideas Locas llamado Dirty Business Card y de cómo sacar información pública en Internet a partir de una tarjeta de visita usando OSINT y algún info-leak. A día dese  sigue dotando a la herramienta de nueva funcionalidad, y como ya es por todos hacer un poco de Hacking con Buscadores permite extraer información con gran facilidad.

Figura 1: The Dirty: Dirty Business Card Reader Curricula Module

En el artículo de hoy os vengo a hablar de cómo estamos dotando a Dirty Business Card de la capacidad de conseguir el currículo de aquellas personas que lo tengan público en la red usando Google. Estas mismas técnicas se pueden - y se deberían - aplicar también usando otros buscadores como Bing o DuckDuckGo.

Figura 2: Libro Hacking con Buscadores 3ª Edición.
Un auténtico clásico para entender OSINT


El proyecto de Dirty Business Card ya cuenta con la búsqueda de información estructura de los curricula usando LinkedIN, pero en este caso queríamos ir a la búsqueda no estructurada de CV que se haya creado en documentos ofimáticos.

Google Hacking para búsqueda de Curricula

Encontrar un Curriculum Vitae nos puede ayudar a encontrar información muy relevante acerca de una persona, como su número de teléfono, su dirección de e-mail personal o dirección postal de residencia. Para llevar a cabo esta tarea, utilizaremos algo de Google Dorks. En la red tenemos muchos idiomas, y como hablamos de información no estructurada, cada CV puede contener un formato diferente, y como es lógico las palabras clave a buscar cambiaran. Veamos un ejemplo en inglés y español.

Ejemplo de búsqueda en inglés

“phone * * *” “address *” “e-mail” intitle:”curriculum vitae”

Como veis, tenemos más de 62.000 resultados, algunos de ellos serán falsos positivos. Muy lejos de los millones de resultados que puede tener un LinkedIN, pero puede que aparezca información muy jugosa.

Figura 3: Búsqueda de CVs en Inglés

Además, nos puede interesar buscar una determinada persona, para ello basta con añadir el nombre y/o apellido que venga en la Business Card a la búsqueda (no olvides las comillas), o filtrar por algún dato que ya tengamos como el número de teléfono o una dirección de correo electrónico.

Ejemplo de búsqueda en español

“teléfono * * *” “dirección *” “e-mail” intitle:”curriculum vitae”

En esta ocasión recibimos menos resultados, pero 18.900, que no es poco. Al igual que en el ejemplo de inglés podemos añadir los datos de la persona buscada en Dirty Business Card, a ver si hay suerte.

Figura 4: Currículos devueltos por la búsqueda

Estas búsquedas son ejemplos, es posible obtener otra consulta con más resultados (mejores o peores), todo es probar y variar la búsqueda, se puede cambiar phone por telephone, por poner un ejemplo.

Dirty Business Card Reader

La herramienta para el backend utiliza el Framework Flask (Python), para las peticiones hacemos uso de requests y para parsear los resultados beautifulsoup. En la parte frontend del proyecto se hace uso de Angular, una tecnología que utilizamos en muchos proyectos en nuestra unidad CDO.

Figura 5: Libro de desarrollo en Angular en 0xWord

El funcionamiento general de Dirty Business Card Reader ya lo habéis visto en el vídeo. Se escanea una tarjeta de visita y el sistema va buscando toda la información que se puede extraer de los datos que van en ella. Aquí tenéis un vídeo de su funcionamiento.

Figura 6: Dirty Business Card Reader

Dentro de Dirty Business Card Reader, se busca a través del nombre y apellidos por posibles CV que encuentra Google, y devolvemos un gráfico con las posibilidades (se ha limitado la información que se devuelve para este ejemplo).

Figura 7: A partir de la Business Card se han encontrado 2 CV en Google

Vemos que a través del nombre se ha encontrado el CV en Internet, y tiene dos posibles resultados. Si pasamos el ratón por encima, se puede ver la URL. Esta es la forma más visual, pero a la hora de trabajar es más fácil el acceso a formato texto, para ello tenemos los resultados en un listado (URLs editadas para eliminar información sobre la persona de ejemplo).

Figura 8: URLs de los CV encontrados

Si vistamos cualquiera de los dos enlaces obtenidos por la herramienta, podemos verificar que se trata de un CV, y que pertenece a la persona indicada (por motivos de privacidad se ha omitido). Nada rocket-science, solo más información que se extrae de tu Business Card si no tienes controlada la información que llevas en ella.

Figura 9: CV encontrado con Dirty Business Card Reader

Según el lado de donde miremos, Google puede ser nuestro mejor aliado, o convertirse en nuestro peor enemigo. Conclusión, controla lo que compartes en Internet, no dejes información sensible accesible al mundo.

¡Hasta pronto!

Autor: Josué Encinar García (@JosueEncinar), autor del blog BoomerNiX y Security Researcher en el equipo de Ideas Locas de la unidad CDO de Telefónica.

Kubernetes: Cómo gestionar autorización de recursos con RBAC (Parte 1) #docker #kubernetes

$
0
0
El Control de Acceso Basado en Roles (Role Based Access Control - RBAC), es uno de los mecanismos que nos ofrece Kubernetes a la hora de autorizar el acceso a sus recursos (pods, nodos, secretos, etcétera). Éste es de hecho el mecanismo de autorización más usado (disponible en versión estable desde la versión 1.8 de Kubernetes).

Figura 1: Kubernetes: Cómo gestionar autorización de recursos con RBAC (Parte 1)

Prácticamente toda interacción con los recursos se realiza a través de su servidor API, lo que implica, que al final todo se limita a hacer peticiones HTTP a dicho servidor (componente esencial del nodo/s maestro o Control Panel). Para hablar de autorización basada en roles, lo primero es hablar de los roles en sí. Vamos a ello.

Roles en Kubernetes

En Kubernetes existen dos tipos llamados Role y ClusterRole. La mayor diferencia entre ambos es que Role pertenece a un nombre de espacio con concreto, mientras que el ClusterRole es global al clúster. Por lo que, en el caso de ClusterRole, su nombre debe ser único ya que pertenece al clúster. En el caso del Role, dos espacios de nombre distintos pueden tener un Role con el mismo nombre.

Otra de las diferencias que cabe mencionar, es que Role permite dar acceso a recursos que están dentro del mismo espacio de nombres, mientras que ClusterRole, además de poder dar acceso a recursos en cualquier espacio de nombres, también puede dar a acceso a recursos del clúster, como nodos entre otros.

Figura 2: Arquitectura de Kubernetes

Ahora que sabemos los tipos de roles, lo siguiente es saber quién le podemos asignar dichos roles. En este caso tenemos: cuentas de usuario, cuentas de servicio y grupos. Las cuentas de usuarios, como puedes imaginar son cuentas asignadas a un usuario en particular, mientras que las cuentas de servicios son usadas por procesos. Por ejemplo, imagina que nuestra aplicación necesita acceder de forma programática a recursos del clúster, para ello usaríamos una cuenta de servicio.

Por último, necesitamos el "pegamento" que enlace un role a una cuenta (de usuario o servicio) o grupo. Para ello existen dos recursos en Kubernetes: RoleBinding y ClusterRoleBinding. RoleBinding puede referenciar un role que esté en el mismo espacio de nombres, mientras que ClusterRoleBinding puede referenciar a cualquier role en cualquier espacio de nombres y asignar permisos de forma global.

RBAC en Minikube

Una vez hemos visto todos elementos que entran en juego en el campo del RBAC, veamos algunos ejemplos. Para estos, vamos a usar minikube. Asegúrate que RBAC está habilitado, para ello puedes arrancar minikube con el siguiente comando:

Figura 3: Arrancando minikube

Vamos a crear dos usuarios: cybercaronte y tuxotron, ambos pertenecientes a un grupo llamado developers.

1.- Creamos los certificados para cada usuario:
    mkdir ~/certs && cd ~/certs
2.- Creamos la clave y petición de firma para cybercaronte
    openssl genrsa -out cybercaronte.key 2048
openssl req -new -key cybercaronte.key -out cybercaronte.csr -subj "/CN=cybercaronte/O=developers"
3.- Creamos la clave y petición de firma para tuxotron
    openssl genrsa -out tuxotron.key 2048
openssl req -new -key tuxotron.key -out tuxotron.csr -subj "/CN=tuxotron/O=developers"
4.- Creamos los certificados para ambos usuarios
Si tienes instalado minikube en un directorio distinto de ~/.minikube, ajusta el comando
    openssl x509 -req -in cybercaronte.csr -CA ~/.minikube/ca.crt -CAkey ~/.minikube/ca.key -CAcreateserial -out cybercaronte.crt -days 90
openssl x509 -req -in tuxotron.csr -CA ~/.minikube/ca.crt -CAkey ~/.minikube/ca.key -CAcreateserial -out tuxotron.crt -days 90
Ya tenemos creado los certificados para ambos usuarios, lo siguiente sería:

5.- Creamos los propios usuarios en nuestro clúster (minikube):
    kubectl config set-credentials cybercaronte --client-certificate=cybercaronte.crt --client-key=cybercaronte.key
kubectl config set-credentials tuxotron --client-certificate=tuxotron.crt --client-key=tuxotron.key
Para poder crear usuarios tenemos que ser administradores del clúster. Cuando arrancamos minikube por defecto somos administradores, por eso podemos ejecutar los dos comandos anteriores.

Puedes comprobar que dichos usuarios han sido creados con el siguiente comando:
    kubectl config view
O bien, puedes imprimir el contenido del fichero ~/.kube/config
    cat ~/.kube/config
En ambos casos deberías ver los usuarios cybercaronte y tuxotron. Para ejecutar comandos con un usuario u otro, tenemos que decírselo a kubectl a través del contexto. Para ello vamos a añadir dos contextos nuevos, uno para cada usuario.

6.- Creamos dos contextos nuevos:
    kubectl config set-context cybercaronte --cluster=minikube --user=cybercaronte
kubectl config set-context tuxotron --cluster=minikube --user=tuxotron
Para ver los contextos que tenemos, podemos ejecutar:
kubectl config get-contexts

CURRENT NAME CLUSTER AUTHINFO NAMESPACE
cybercaronte minikube cybercaronte
*minikube minikube minikube
tuxotron minikube tuxotron
Como vemos tenemos tres contextos, los dos que acabamos de crear, más minikube, que es al que nos da acceso como administrador al clúster. Además, éste es actualmente el contexto activo, denotado por el asterisco.

7.- Cambiamos de contexto:

Para cambiar de contexto, es decir, para cambiar de usuario y/o clúster (podemos trabajar con varios clústers a la vez), podemos hacerlo con el siguiente comando:
    kubectl config use-context tuxotron
Para comprobar que el contexto ha sido cambiado, o bien ejecutamos el comando `kubectl config get-contexts` y buscamos la entrada con el asterisco:
    kubectl config current-context
Hasta ahora todo lo que hemos hecho es crear dos usuarios, pero no le hemos dado ningún permiso. Por lo que, si intentamos acceder a cualquier recurso, la petición debería ser denegada. Como nuestro contexto actual es tuxotron, intentemos leer los pods del espacio de nombres default y veremos el error:
    kubectl get pods -n default                                                                                                   
Error from server (Forbidden): pods is forbidden: User "tuxotron" cannot list resource "pods" in API group "" in the namespace "default"
Volvamos a usar nuestro contexto minikube para poder realizar algunas tareas administrativas:
    kubectl config use-context minikube
8.- Creamos espacios de nombres:

Vamos a crear 3 espacios de nombres, uno personal para cada usuario y un tercero al cual llamaremos equipo, en el que ambos usuarios podrán interactuar con recursos:
    kubectl create namespace cybercaronte
kubectl create namespace tuxotron
kubectl create namespace equipo
Para comprobar que nuestros espacios de nombres han sido creados:
    kubectl get namespace

NAME STATUS AGE
cybercaronte Active 14m
default Active 17h
equipo Active 14m
kube-public Active 17h
kube-system Active 17h
tuxotron Active 14m
Hasta aquí la primera parte de nuestro artículo, en breve la segunda parte para que terminemos de jugar con RBAC en Kubernetes.


Figura 4: Kubernetes: Cómo gestionar autorización de recursos con RBAC [Parte 1]

En el vídeo que te dejamos por aquí, tienes el proceso completo de lo que hemos hecho hasta ahora en esta fase de aprender a utilizar RBAC.

Más información

Recuerda que en nuestro libro “Docker:SecDevOps” (que escribimos junto a Elías Grande), aunque no hablamos expresamente de Kubernetes, sí que lo hacemos de Docker Swarm y los conceptos generales de clústers en Docker. Pero, sobre todo, el libro aclara muchos conceptos de Docker básicos y está enfocado a la seguridad de sus componentes así como al SecDevOps.

Figura 5: Libro de Docker: SecDevOps en 0xWord

Os dejo por aquí también algunas de las referencias que tenemos sobre Docker escritas ya en este blog, para que tengáis toda la información disponible y accesible.

[BlogPost] SecDevOps: Una explicación en 5 minutos (o poco más)
[BlogPost] Cómo montar un entorno de pentesting desde cero en Docker
[BlogPost] SuperLatch Docker: Integrar Latch con Docker y Kubernetes en tus apps
[BlogPost] Docker Distroless Images: Cómo crear imágenes Docker sin SO ni shell
[BlogPost] Dagda Docker Security Suite: Auditoría de seguridad en aplicaciones dockerizadas
[BlogPost] Docker de My WordPress in Paranoid Mode
[BlogPost] Docker de My WordPress in Paranoid Mode (WPM): "The Making of"
[BlogPost] Hacking Kubernetes: Auditoría de seguridad y explotación de vulnerabilidades
[BlogPost] Kubernetes: Cómo gestionar autorización de recursos con RBAC

Por cierto, tanto Rafael Troncoso como yo mismo (Fran Ramírez), estaremos esta semana en la RootedCon por si queréis hablar un rato con nosotros sobre Docker o Microhistorias, estaremos más que encantados de firmar cualquiera de nuestros libros (“Docker: SecDevOps” y “Microhistorias: Anécdotas y curiosidades de la informática (y los hackers)”).

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.

Rafael Troncoso (@tuxotron) es Senior Software Engineer en SAP Concur, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" y del blog Cyberhades.

Mañana en exclusiva en la RootedCON libro de: Arduino para Hackers: PoCs & Hacks Just for Fun de @0xWord

$
0
0
No ha dado tiempo ni a ponerlo en la tienda online de 0xWord porque se ha forzado la máquina para que el libro de "Arduino para Hackers: PoCs and Hacks Just for Fun", estuviera a tiempo para la RootedCON, y parecía que no iba a poder ser, pero... al final ha habido suerte.

Figura 1: Mañana en exclusiva en la RootedCON libro de:
Arduino para Hackers: PoCs & Hacks Just for Fun de 0xWord

Mañana por la tarde, sin que esté aún disponible en la tienda de 0xWord, estará en el stand de 0xWord en la RootedCON el nuevo libro de nuestra colección. El libro de "Arduino para hackers: PoCs and Hacks Just for Fun", que la semana siguiente estará disponible en la tienda online.

Figura 2: Libro de "Arduino para Hackers: PoCs & Hacks Just for Fun"

El libro lleva explicados en detalles muchos proyectos con Arduino para que sobre ellos se puedan construir nuevas ideas, usando como esqueleto estos mismos que hemos construido nosotros previamente. Es el texto de los proyectos que están en el Vídeo Book de mismo título del que os hablé tiempo atrás "Arduino para Hackers: PoCs and Hacks".

Figura 3: Contraportada y Sinopsis del libro de "Arduino para Hackers"



Así, podrás conseguir cualquier material de nuestra pequeña editorial, además de llevarte el nuevo libro de Arduino, y las firmas de todos los autores que estamos por allí. Nos vemos, un año más, en la RootedCON, y espero que os guste la charla que tengo preparada.... si acabo de prepararla a tiempo.

Saludos Malignos!

3 Cursos online de Hacking en Abril, 2 eventos de Big Data esta semana y 1 libro de Arduino para Hackers ya. #Arduino #hacking #pentest

$
0
0
Ayer no me dio la vida para sacaros el post del blog, pero tenía que pasarme por el Equinox de Telefónica, preparar las diapositivas de la RootedCON para luego dar la charla y firmar los libros y hacerme las fotos con todos los que os pasasteis por el sitio de 0xWord. Hoy no me toca pasar por allí, pero os dejo por aquí las próximas citas.

Figura 1: 3 Cursos online de Hacking en Abril, 2 eventos de Big Data
esta semana y 1 libro de Arduino para Hackers ya

Como pone en el título son tres cursos online de hacking para el mes de abril, y dos conferencias de Big Data que tendrán lugar esta semana que entra. Yo, a partir de mañana mismo, os paso a desgranar todos los detalles de la charla que di en la RootedCON con la idea de 2FWB (Second Factor Web Browsing) que conté. Hoy podéis disfrutar de la sesión de mis compañeros Pablo González y Enrique Blanco en la RootedCON en la que van a jugar un poco conmigo (ahí lo dejo).

Figura 2: Second Factor Web Browsing en la RootedCON

Y antes de que me olvide, el libro de Arduino para Hackers: PoCs & Hacks Just for Fun está ya disponible para compra online en la web de 0xWord. Aquí tienes el enlace.

Figura 3: Libro de Arduino para Hackers: PoCs & Hacks Just for Fun

11 de Abril: Curso de Hacking Ético Experto [Online]
Este día comienza la formación más larga de The Security Sentinel, que con 240 horas de formación prepara a los alumnos para comenzar a trabajar de forma profesional en el mundo del pentesting y el Ethical Hacking. Es una buena opción para hacer a tu ritmo y desde tu casa durante varios meses si estás trabajando ya en algo y lo que deseas es explorar un cambio al mundo de la seguridad informática.
Figura 4: Curso de Hacking Ético nivel Experto Online
Tienes todos los contenidos, los módulos y la metodología en la web del curso. Además, todos los alumnos recibirán gratis el libro de Pentesting con PowerShell que escribió nuestro compañero Pablo González en 0xWord.
Figura 5: Libro de Pentesting con PowerShell en 0xWord

18 de Abril: Hacking con Python [Online
Este curso te proporciona los conocimientos necesarios a nivel conceptual y práctico para que puedas programar en Python para el desarrollo de Auditorías de Pentesting basadas en este lenguaje. Es un curso de 90 horas de duración sobre programación en Python pero orientado a personas que quieran enfocar su carrera profesional como pentesters. No es necesario tener conocimientos previos del lenguaje ni de programación.
Figura 6: Curso Online de Hacking con Python

Con este curso, podrás realizar, sin problemas, auditorías de seguridad con su correspondiente informe. Este curso se ha definido en un 75% de práctica y 25 % de teoría, lo que te facilitará mucho el aprendizaje y el aprovechamiento máximo de conocimientos. Tienes toda la info en la web del curso. Además, todos los alumnos recibirán el libro de Hacking con Python de 0xWord.
Figura 7: Libro de Hacking con Python
25 de Abril: Hacking Ético [Online]
Este curso te proporciona los conocimientos necesarios a nivel conceptual y práctico para que puedas implementar en empresas y negocios, un sistema Integral de Seguridad Informática integral y perimetral, apoyado por el uso de Software Libre. Desarrollarás y adquirirás habilidades prácticas para la realización de auditorías de sistemas, usando las técnicas de la Auditoria de T.I del tipo “Hacking Ético y/o Test de Penetración”. 
Figura 8: Curso Online de Hacking Ético
Conocerás los diferentes tipos de atacantes, así como a usar las diferentes técnicas y herramientas de intrusión utilizadas por los delincuentes informáticos para lograr violentar la seguridad de un sistema de información. Con este curso, podrás realizar sin problemas auditorías de Pentesting con su correspondiente informe profesional, además de conocer los métodos utilizados por los delincuentes cibernéticos para poder contrarrestar sus ataques. Tienes todos los detalles en la web de este Curso Online de Hacking Ético.
Este curso se ha definido con un 75% de práctica y un 25 % de teoría, lo que te facilitará mucho el aprendizaje y el aprovechamiento máximo de conocimientos. Ayuda a orientar las auditorias intrusivas haciendo uso de las normas y buenas prácticas en seguridad de la información a nivel internacional y permite aprender las técnicas de ataque y protección de las redes inalámbricas y las aplicaciones web dinámicas. El objetivo final es formar auditores técnicos e integrales en  seguridad informática.
Figura 9: Libros de Metasploit para Pentesters y Ethical Hacking
Este curso entrega a todos los asistentes de forma gratuita los libros de Ethical Hacking y de Metasploit para Pentesters [4ª Edición] de 0xWord, además de que puedes apuntarte a este curso la versión VBook de Ethical Hacking.
  04 de Abril: Meetup Big Data & AI for Social Good 2019 [Madrid]
El Big Data y la Inteligencia Artificial generan no solo oportunidades de negocio, también existen oportunidades para atacar los grandes problemas de nuestros planeta, reflejado en los 17 Objetivos de Desarrollo Sostenible de la ONU. En este Meetup presentaremos dos proyectos super interesantes de cómo el Big Data y la IA están al servicio de las personas a través mapas de migraciones forzosas o la predicción de accidentes de tráfico. Más info:
Figura 10: Big Data & AI for Social Good

04 de Abril: I Congreso Big Data [Alcoy]

El Congreso Big Data Alcoy pretende ser un foro profesional, en el que se presenten de forma práctica los avances en torno al uso de Big Data, aplicados a inteligencia artificial, tratamiento de leads y gestión smart de territorios. Mario Romero, Head of Business Development de LUCA, participará como ponente en una de las mesas redondas sobre la aplicación del Big Data en la estrategia empresarial, una ocasión única para obtener una visión completa de la aplicación del análisis de datos en las empresas, requisito imprescindible para lograr la adaptación de los negocios a la necesaria transformación digital. Más información en la web:
Figura 11: I Congreso Big Data Alcoy

Y esto es todo por hoy, así que ahora a continuar con la RootedCON los que estáis en ella en Madrid, y el resto a aprovechar el fin de semana.

Saludos Malignos!

2FWB: Second Factor Web Browsing [Parte 1 de 4] "Second Channels"

$
0
0
Tengo la suerte de ser un "papaete" que tiene dos niñas que me vuelven loco. Son totalmente distintas, la mayor es "Mi Hacker" y la pequeña "Mi Survivor". Cada una es como es ella. No es fácil encontrar puntos en común en su forma de ver la vida, pero si hay algo que tienen las dos es que les encanta la tecnología.

Figura 1: 2FWB: Second Factor Web Browsing [Parte 1 de 4] "Second Channels"

Supongo que su "papaete" habrá tenido algo que culpa, y es que desde muy pequeñas las he expuesto a la tecnología, para que la vivan conmigo. Han estado en robótica y en tecnología desde que eran muy pequeñas. Scratch, Arduino, Lego Mindstorms, o lo que sea. Yo las apunto a cursos, seminarios, les compro libros de programación o simplemente les cuento cosas. Pero no solo eso, también las incito a hacer cosas conmigo en mi trabajo. Y les encanta.

Niñas y Tecnología

No intento que esta forma mía de vivir con mis salvajes deba ser la que se aplique con los niños y niñas. Esta es la forma en la que yo vivo la tecnología con Mi Hacker y Mi Survivor. Con Mi Hacker, en el año 2017, cuando aún no estaba lanzada AURA en ninguno de los países subimos juntos en el "Encuentro de Telefónica". Un acto privado con unas 1.000 personas donde ella hizo una demo completa guiada conmigo de cómo iba a funcionar AURA en la app móvil de Movistar+ en España.

Figura 2: Presentando Aura en Movistar+ en Noviembre de 2017 con Mi Survivor

Y con Mi Survivor, pues ya sabéis que rodé un pequeño anuncio el verano pasado con Movistar Home, dando rienda a su afición al Atlético de Madrid y jugando un rato con ella. Nos lo pasamos genial ese día, y se pasó dos días antes aprendiéndose las frases y repitiéndolas durante horas y horas a todo el que se acercaba.


Figura 3: Movistar Home y SuperCopa de Europa 2018

Y como os podéis imaginar, he estimulado mucho su interés por la tecnología, así que las preguntas que todo padre sufre, yo las tengo que debatir durante días y semanas con ellas. Preguntas que seguro que os suenan a la mayoría.
  • Papaete, ¿me dejas el móvil?
  • Papaete, quiero un iPhone.
  • Papaete, ¿puedo tener Musicali? Los grabo en privado. No, en borradores. Porfi, porfi.
  • Papaete, ¿por qué tu tienes Instagram y yo no puedo?
  • Papaete, no quiero Youtube Kids, quiero Youtube normal.
  • Papaete, ¿qué es esto de TikTok? ¿Y Crush?
  • Papaete, ¿puedo buscar en Internet una cosa del colegio?
  • Papaete, puedo bajar un jueguecito en el ordenador. Es gratis.
  • Papaete, ¿has visto a Momo? En el cole lo han visto todas las niñas…
Y claro, el verano pasado me tenían la cabeza llena de sus peticiones, así que decidí que tenía que hacer algo. Como todo buen investigador de seguridad me he pegado mucho con los ataques de red, y cuando estamos de viaje y hay que usar un ordenador, las redes WiFi me dan mucho miedo. Es lo que tiene haber estado criando y construyendo a nuestra querida Evil FOCA, o de jugar con los servidores Proxy. Ya sean por IPv4 o por IPv6, en cualquier red a la que te conectes puede aparecer un atacante.

Figura 4: Ataques en rede de datos IPv4&IPv6 con Evil FOCA en este libro.

Y como me tenía muy preocupado, empecé a pensar cómo podía vigilar sus conexiones mirando por encima del hombro todo lo que hacían pero sin estar. Y así fue como se me ocurrió esta idea del Second Factor Web Browsing (2FWB) que os voy a contar en esta serie, pero dejadme que lo haga uniendo los puntos de atrás adelante después de haberos explicado el punto de partida. La gracia es poder unir los puntos de cosas que vas dejando en el pasado para poder crear cosas nuevas en el futuro. Como lo que os cuento hoy.

Second Channels que no Side Channel

Recuerdo cuando llegó la primera vez que se me ocurrió empezar a utilizar un Second Channel en un producto. Era el año 2013 y acabamos de terminar nuestra primera patente de un producto que se llamaba en CodeName Path2. Era nuestra primera patente y estábamos construyendo el producto y todos los detalles del servicio que iba a proveer.

Ese Path2 se convirtió a la postre en Latch, y la pregunta que teníamos que resolver era... ¿cómo abrimos y cerramos el pestillo si estamos en una situación en la que no hay Internet? Las soluciones a estos problemas se suelen resolver con algoritmos TOTP generados en el end-point o generados en el bank-end y enviados por SMS, pero yo quería hacer algo distinto. Quería utilizar el canal SMS como si fuera un canal de comunicaciones y permitir que la app siguiere funcionando normalmente enviando "tramas" SMS.

En aquel entonces, haciendo lo que tiene que hacer un equipo de producto, decidimos quitar esa característica del roadmap principal y aceptar que no la teníamos para enfocar los recursos en partes del producto y servicio que consideramos más prioritarias en aquel en entonces.

Pero ni mucho menos se me olvidó.

Tiempo después empezamos a trabajar en la idea de ver cómo podrían funcionar las apps maliciosas en los Identity Providers de Internet para robar los Tokens OAuth y hacer ataques como el de RansomCloud lo que nos llevó a que hiciéramos nuestro querido y famoso SAPPO del que hablamos en la RootedCON 2016 y con el que nuestro amigo Kevin Mitnick asusta a los ejecutivos de todo el mundo en sus charlas.


Figura 5: Kevin Mitnick explicando Ransomcloud

Y fue con esa idea de hacer cosas con los Tokens OAuth la que volvió a tocar en mi cabeza la idea de los Second Channels. Lo que sucedió es que preparando la presentación del MWC de Febrero de 2017 fui a ver UNICEF en New York tras pasar a dar una pequeña charla en la Universidad de Columbia.

Allí nos estuvieron contando cómo el canal SMS era aún una poderosa herramienta para ellos porque en muchos de los países en los que trabajaban, o en muchas situaciones de emergencia, era el único canal de comunicaciones que existía. Inundaciones, corrimientos de tierra, situaciones de emergencia humanitaria por hambre o enfermedad, etcétera.


Y a la vuelta, junté a mi equipo de Ideas Locas y les dibujé un pequeño esquema de lo que íbamos a construir. Íbamos a hacer Pigram, nuestro sistema para comunicarse en redes sociales y correo electrónico por medio de un canal SMS y el uso de tokens OAuth.


Figura 7: SafePost, publica en Internet con canal SMS

Con el tiempo tuvimos que cambiar el nombre de Pigram a SafePost, por presiones ajenas que algún día os contaré, pero a día de hoy el servicio sigue estando activo y lanzado en varios países. Y lo más importante, decidimos estandarizarlo y crear un SDK para que cualquier app móvil pudiera utilizar el canal SMS para comunicarse. Hoy en día se llama Stack SMS y tenéis el paper, las herramientas y los vídeos explicativos públicos en la red.


Hicimos un juego de prueba con el ahorcado para explicar cómo podía utilizarse, pero durante la última Vuelta Ciclista a España, tras hacer una etapa con el Movistar Team, me di cuenta de que podíamos hacer un sistema de mensajería en grupo basado en Internet+Stack SMS que diera más velocidad y cobertura a las comunicaciones durante carrera por las zonas más inhóspitas de los países, y nació el juguete que enseñamos en Diciembre de 2018.


Figura 9: Movistar Team Chat Room con Stack SMS

Pero aún lo podíamos utilizar para muchas más cosas. El poder contar siempre con un Second Channel tan cómodo, accesible y común como el SMS nos abría muchas posibilidades, y cuando en este Mobile World Congress 2019 nos pidieron alguna charla de seguridad, mis compañeros del equipo de Ideas Locas crearon el IoT AntiDDOS SMS Shield, es decir, una solución de control remoto de dispositivos IoT que estuvieran siendo inhabilitados por un ataque de denegación de servicios.


Figura 10: IoT AntiDDOS SMS(GSM) Shield

Como podéis ver, la idea de utilizar Second Channels ha sido una constante durante los últimos años en nuestro equipo, así que no es raro que apareciera la idea de Second Factor Web Browsing (2FWB) que os voy a contar a continuación. Pero como ha quedado muy largo, dejadme que esto sea en la siguiente parte del artículo.

Saludos Malignos!

*****************************************************************************************
- 2FWB: Second Factor Web Browsing [Parte 1 de 4] "Second Channels"
- 2FWB: Second Factor Web Browsing [Parte 2 de 4]
- 2FWB: Second Factor Web Browsing [Parte 3 de 4]
- 2FWB: Second Factor Web Browsing [Parte 4 de 4]
*****************************************************************************************

2FWB: Second Factor Web Browsing [Parte 2 de 4] "Network Attacks"

$
0
0
Ya os he contado los trabajos que hemos venido haciendo con respecto a los Second Channels, ahora toca hablar de la parte de cómo protegerse contra los ataques en redes IPv4&IPv6. Ni que decir hay que en ElevenPaths, y en mi equipo de Ideas Locas de CDO trabajamos de continuo con todos ellos y hablamos largo y tendido. Desde ataques de Network Packet Manipulation, hasta ataques de phishing homográficos como los PunnyCodes, pasando por los procesos de Ethical Hacking con SSLStrip2 y Delorean o las investigaciones de HSTS, HPKP y Certificate Pinning.

Figura 11: 2FWB: Second Factor Web Browsing
[Parte 2 de 4] "Network Attacks"

Esto hace que la preocupación cuando Mi Hacker o Mi Survivor utilizan mi equipo en una red para conectarse a buscar algo en Internet sea máxima. Me preocupa y, además de fortificar el end-point, reviso periódicamente todo tipo de detalles para asegurarme que se están conectando al sitio correcto, que no hay ninguna inyección de scripts, que el DNS ha devuelto la dirección correcta, que el certificado digital es el que debe, etcétera. Verificaciones que seguramente también hacéis vosotros en vuestro día a día cuando navegáis por Internet.

Conexión Segura & SmartWiFi

Una de las primeras cosas que he hecho ha sido activar el servicio de Conexión Segura en casa. Este servicio permite que toda la navegación que se produce a través la conexión WiFi y la línea de fibra en los hogares con Movistar Fusión, sea analizado (sin romper HTTPs). Como cualquier servicio de seguridad no te da el 100% de garantías, pero sí que te permite añadir una capa de protección a la navegación y filtrar dominios maliciosos, o ataques comunes.

Figura 12: Gestión de Conexión Segura desde SmartWiFi

Este servicio, que se puede activar desde la app de SmartWiFi de forma gratuita para toda la navegación en la WiFi de Movistar, ha detectado ya que la mitad de los hogares, en los cientos de miles de navegaciones que están protegidas a día de hoy, hayan pasado por un contenido malicioso que ha sido bloqueado. Esto es un montón de peligros quitado. Un dominio que sirve un ransomware y es detectado, se bloquea para todos los clientes Movistar Fusión con Conexión Segura y evita que se expanda.

Figura 13: Gestión de seguridad de red WiFi con SmartWiFi

Es una capa de protección transparente para los hogares, y que yo tengo puesto a todos los familiares y amigos. Con un clic estás más protegido por defecto aplicando la seguridad desde un sitio estratégico, la red por la que circula el tráfico.

Un "Second Channel" para verificar el tráfico

Dicho esto, aún me queda el riesgo de todos ataques de red que se produzcan en la red local, o aquellos ataques al end-point que vengan por canales cifrados, o que no sean detectados por la solución EDR (Endpoint Detection and Response). En todos esos caso, además de hacer una fortificación del puesto de trabajo - recomendable el libro de Sergio de los Santos (@ssantosv) "Máxima Seguridad en Windows 4ª Edición" - queda la revisión manual de los mensajes de alerta, de los detalles de las conexiones, etcétera.

Figura 14: Máxima seguridad en Windows [4ª Edición]

Es decir, navegar de forma conjunta con ellas para ver qué está pasando en el equipo con un ojo crítico con el que buscar hasta el más mínimo detalle que pueda ser el indicador de un ataque. Y eso no escala. Mi tiempo no es infinito, y no puedo hacer todas las comprobaciones manualmente siempre, así que había que automatizar este proceso.

Verificar todo significaba estar siempre sentado a su lado y ver todo lo que pasaba. Pero, ¿y si para revisar todo en vez de estar sentado en su mismo equipo usamos de manera continua dos canales? De esta forma podríamos automatizar en otro equipo las verificaciones de "papapete" para saber si estamos sufriendo un ataque de red.

Figura 15: Idea detrás de 2FWB: Second Factor Web Browsing

La primera idea que se me vino a la cabeza fue que estaría bien tener un equipo con dos tarjetas de red, y tener siempre una conexión a él para ir recibiendo en la pantalla lo que está viendo en su navegación. Algo así como los equipos de "manos remotas" que tenemos en muchos equipos importantes en la red de comunicaciones.

Pero la mayoría de los portátiles - como la Microsoft Surface que le tengo puesta a Mi Hacker - viene con la WiFi solo. Podría comprar una segunda tarjeta, pero debería montar en todo momento una red y conectarla a mi equipo también con dos tarjetas, y además mi equipo debería conectarse a otra red distinta. Esto podría ser fácil, porque yo me suelo conectar vía "hotspot" a mi teléfono móvil vía BlueTooth. No es casualidad que se me ocurriera la malvada idea del DirtyTooth que presentamos en RootedCON 2017, era un power-user de ello.


Figura 16: DirtyTooth en RootedCON 2017

Pero para montar esta verificación de la navegación en tiempo real era demasiado lío el tener que poner el equipo de Mi Hacker o de Mi Survivor conectado al mío por una segunda red creada entre ellos y luego conectar mi terminal vía BluetTooth para usar una conexión de red LTE - que vistos los ataques a redes móviles usar otra red no es del todo seguro - que permitiera tener una segunda visión de los servicios de Internet a los que se conectan y verificar que todo está ok.

¿Y si lo simplificamos?

Al final, si tenemos una conexión vía BlueTooth+2G/3G/4G a Internet tenemos siempre un Second Channel en todos los equipos, y la verdad es que yo siempre llevo mi smartphone y todos los equipos que usamos vienen con BlueTooth. Es fácil conectar el equipo que usan mis hijas con mi SmartPhone utilizando BlueTooth y ver dónde están navegando y qué están viendo, para poder comprobar que lo que están recibiendo es lo que deben recibir.

Esta comprobación podríamos hacerla desde el propio termina móvil donde haríamos las comprobaciones, o mucho mejor, haciéndolo desde un servicio en la nube que haría esas verificaciones para todas las instancias de esta app. Las dos arquitecturas tienen ventajas e inconvenientes. Tener toda la lógica en la cloud simplifica la construcción, pero da un elemento más en el sistema que podría ser atacado en un posible esquema de DDOS al servidor en cloud que recoge la inteligencia para detectar los ataques.

Figura 17: Arquitectura de 2FWB con protección de app en smartphone

Por otro lado, tener toda la lógica en el terminal móvil obliga a desplegar nuevas apps o nueva lógica al dispositivo cuando hay nuevas reglas de detección de ataques. Pero hace el atacante deba conseguir vulnerar la red del equipo desde el que se navega a Internet más la conexión a Internet del smartphone. Un doble ataque más difícil de realizar, sobre todo si no estás cerca geográficamente para atacar al dispositivo móvil - ver libro de Ataques a redes de comunicaciones móviles GSM/2G/3G/4G de nuestros amigos de Layak -.

Figura 18: Libro de hacking y seguridad en comunicaciones móviles
GSM/GPRS/UMTS/LTE (2G/3G/4G)

Con es doble canal usando una conexión a Internet de navegación vía red WiFi o Ethernet, y un segundo canal vía BlueTooth+3G/4G, podríamos realizar dos conexiones al mismo servidor desde dos puntos diferentes, usando dos redes distintas. Usar este doble canal tiene cierta similitud con el doble factor de autenticación en los sistemas de login, donde se busca que el atacante deba vulnerar dos elementos distintos para aumentar su dificultad. En este caso, el tráfico del primer canal debe generar respuestas similares y con propiedades similares al que se obtiene por el segundo canal y si no, generamos una alerta.

Esta idea, permite detectar ataques de red en el canal primario, como un DNS Spoofing, un ataque de Phishing, un dominio marcado en un servicio de seguridad como peligroso por usar ficheros JS de  cryptominnig, ataques de bypassHSTS, o de Certificado Falso. Solo necesitamos saber qué es lo que se está recibiendo como respuesta en el canal primario y hacer una comprobación en el canal secundario.

Arquitectura en el end-point

Para conseguir los datos de seguridad útiles para la detección de ataques, necesitamos en el equipo a proteger tener una extensión en el navegador que nos permita capturar las cabeceras HTTP y datos del DOM de la página HTML de la respuesta, más alguna información de red que recibimos del sistema, como direcciones IP resueltas por el DNS, datos del DNS que responde, tablas ARP, etcétera. Toda esta información se captura usando dos elementos.
- Extensión de navegador (en este caso Google Chrome): Este elemento extrae la información que necesitamos del D.O.M. (Document Object Model, y se lo envía al Agente. Además, recibe del Agente las ordenes de bloquear o no bloquear la sesión de navegación con un mensaje de alerta.
- Agente en el sistema (en este caso escrito en Node JS): Establece la conexión vía BlueTooth con el 2FWB y le envía la información recibida de la Extensión del navegador, además de información del sistema para que el 2FWB le diga el resultado de la evaluación. Después, recibe la información desde el 2FWB y manda las órdenes a la Extensión del Navegador para que bloquee o no la sesión.
Con esta arquitectura, tenemos la ocasión de que las verificaciones que haría yo mismo de forma manual para comprobar que está viendo lo que debe de ver en cada momento, de tal manera que si algo no cuadra, o se detecta un fallo en el certificado, el nombre del dominio, la dirección IP del servidor, los ficheros incrustados en el DOM del documento, etcétera, se bloquea la navegación con un aviso que llega a la pestaña del navegador en la que está visualizando el contenido.




A post shared by Chema Alonso (@chemaalonso) on

He de decir que hicimos pruebas con BluetTooth Low Energy y con un solo componente basado en la extensión de Google Chrome, pero la realidad es que teníamos dos problemas con esto:
1.- Volumen de datos: Con el protocolo BLE el volumen de datos que podíamos enviar era muy limitado y lo que necesitamos enviar y a la velocidad que lo necesitábamos nos limitaba mucho a la hora de hacer verificaciones de seguridad.
2.- Datos de red del sistema: Para poder detectar ciertos ataques como ARP Spoofing, ataques MITM en IPv6 con SLAAC, etcétera, necesitábamos información del sistema operativo así que necesitábamos un agente en el sistema.
Así que por eso se eligió usar un perfil BlueTooth desde el Agente y tener la extensión de Google Chrome para acceder a la información de la web que se estaba navegando y ver los datos en tiempo real del DOM. Tener las cabeceras HTTP, información del certificado, los archivos scripts inyectados, etcétera es algo que desde la extensión es posible realizar.

Saludos Malignos!

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

Sorry HAL: La IA supera en lectura de labios a los humanos

$
0
0
En la charla que dimos hace unos meses en la Fundación Telefónica sobre Ciencia Ficción e Inteligencia Artificial, realizamos una aproximación de los posibles futuros escenarios relacionados con la IA que aparecen en algunas famosas películas de Ciencia Ficción. Una de ellas era por supuesto “2001: Una Odisea en el Espacio” y en este clásico del cine en concreto hay una escena donde HAL 9000 es capaz de leer los labios de los astronautas Bowman y Poole, y así descubrir el plan que estaban trazando contra él.

Figura 1: Sorry HAL. La IA supera en lectura de labios a los humanos

Más allá de la capacidad de HAL 9000 de leer los labios, algo sobre lo cual ya se está trabajando y cada vez se está perfeccionando más con técnicas de Machine Learning y Visión Artificial, lo que realmente nos interesa de esta escena es su base, es decir, la comunicación sin utilizar el sonido como fuente principal.


Figura 2: Conferencia de Ciencia Ficción e Inteligencia Artificial

El objetivo principal sería conseguir llegar a hacer que una máquina sea capaz de interpretar las acciones o comandos que realiza un ser humano, sin que estos se propaguen en forma de sonido a través del aire.

De este modo dicha máquina podría recibir los comandos sin tener ningún tipo de interferencia exterior, es decir, que la ausencia de aire o un sonido ambiental extremo no sean obstáculo para que estos comandos se reciban perfectamente y nuestro asistente digital sea capaz de ejecutarlos.

Figura 3: Escena donde HAL 9000 lee los labios de la tripulación ubicada
en la exposición de la Fundación Telefónica “Odiseas de la Inteligencia”.

El verano pasado se publicó este paper, en el cual se estudia posibles soluciones “no-acústicas” para el reconocimiento de voz o ASR (Automatic Speech Recognition). Dicho de otro modo, buscar alternativas para enviar los comandos utilizando la boca, pero sin emitir ningún tipo de sonidos. En esta investigación se describe una técnica utilizando señales sEMG (Surface Electromyographic) para detectar los movimientos de los músculos de cara y el cuello. Esta técnica de reconocimiento de voz “silencioso” se conoce como SSR o Silent Speech Recognition.

Figura 4: Paper sobre Silent Speech Recognition

En el paper se describen diferentes técnicas donde se utilizan sensores ubicados, como hemos mencionado antes, en la cara y cuello del sujeto. Utilizando un modelo entrenado contra diferentes palabras, con sEMG es posible asignar un patrón de alta fiabilidad el cual es capaz de reconocer palabras y frases sin necesidad de propagarlos a través del sonido.

Figura 5: Ejemplo de sensores sEMG.

El MIT también se ha interesado en integrar alguna técnica que sea capaz de enviar estos comandos “silenciosos”. En concreto, han desarrollado un dispositivo llamado AlterEgo, el cual permite realizar una conversación totalmente silenciosa con un ordenador sin utilizar la voz, es decir, articulando internamente las palabras. Discreción absoluta.

Figura 6: Project AlterEGO en MitMediaLab

AlterEgo es capaz de detectar cualquier tipo de movimiento de la boca, aunque esta se mantenga cerrada (algo parecido a lo que ocurre cuando leemos en voz baja). Si dos personas tienen el dispositivo conectado, sería posible también hablar entre ellas con total y absoluta privacidad.

Figura 7: AlterEgo, dispositivo desarrollado por el MIT.

Pero también es curiosa la forma de cómo AlterEgo recibe la información, es decir, si alguien nos habla (ya sea el mismo asistente digital u otra persona) ¿escucharemos la conversación como siempre? ¿a través de nuestro sistema auditivo? La respuesta es sí, pero no exactamente.

Esta vez el “sonido” de entrada se recibe directamente a través de la mandíbula. Esta técnica no es nueva pero sí se está perfeccionando poco a poco, de hecho, ya podemos ver incluso auriculares a la venta que utilizan esta novedosa forma de transmitir y recibir el sonido.

Figura 8: Auriculares de "Bone Conduction"

Esta técnica de recepción de audio funciona a través de la conducción de dicha señal utilizando la vibración de los huesos de la mandíbula. Dicha vibración es detectada por nuestro oído interno, y de esa forma, es posible “escuchar” el mensaje sin necesidad de llevar ningún dispositivo de recepción de sonido (como unos auriculares, por ejemplo). Desde luego no es la mejor forma para escuchar música debido a la baja calidad de la recepción, pero sí son perfectos para poder escuchar conversaciones en cualquier tipo de ambientes.

Esta técnica la cual utiliza la vibración de los huesos también se ha aplicado a otro tipo de materiales, esta vez artificiales. Por ejemplo, este altavoz es capaz de transmitir el audio sobre cualquier superficie y la empresa Clarion ha llevado esta misma técnica al audio de los coches.

Clarion promete convertir tu coche en un altavoz en sí mismo. Es decir, el salpicadero se convierte esta vez en el altavoz y un dispositivo colocado en el espejo retrovisor interior apuntando al parabrisas, hace el efecto de sub-woofer.

Figura 9: Esquema interno de un altavoz que utiliza una superficie como medio de transmisión del sonido

Como hemos podido observar, la forma en la que nos comunicamos entre nosotros y las máquinas está cambiando día a día y puede que en unos años no se parezca en nada a la actual. Uno de los muchos puntos positivos de estas nuevas técnicas de comunicación es la implementación de soluciones para personas con algún tipo de deficiencia auditiva, ya que problemas como la eliminación del ruido ambiental o la interpretación de las palabras, se resuelven completamente.

También se abre una puerta a ayudar personas que tengan algún problema, por ejemplo, situado en las cuerdas vocales, ya que estos dispositivos al no utilizarlas, permiten una comunicación fluida basada en el movimiento de la boca y otros músculos de la cara o cuello.

Por otro lado, también se abre un nuevo capítulo en el mundo de la privacidad y la seguridad. Con estas nuevas técnicas se aumenta la seguridad a la hora de comunicarnos entre nosotros o entre máquinas (al menos desde el punto de vista de algún observador exterior), pero al mismo tiempo, la privacidad puede estar en riesgo, ya que todos estos dispositivos registran digitalmente todas nuestras interacciones, es decir, todas las conversaciones estarían registradas y almacenadas en alguna parte (problema parecido se aplica hoy día a los asistentes digitales y el almacenamiento de la información que reciben por parte de los usuarios).

Es increíble que incluso la escena de HAL 9000 y la lectura de labios, la cual siempre ha sido un símbolo del progreso de la tecnología, se está empezando a quedar anticuada.

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.

2FWB: Second Factor Web Browsing [Parte 3 de 4] "2FWB Mobile App"

$
0
0
Vista la arquitectura general del sistema de Second Factor Web Browsing en el apartado anterior, vamos a ver cómo funciona el sistema con varios ejemplos. Para ello, vamos a explicar primero cuál es el formato de información que intercambian el Agente 2FWB en el sistema operativo desde el que se navega y la App 2FWB instalada en el terminal móvil que habilitará el Second Channel. Esta información se intercambia utilizando el protocolo BlueTooth tal y como ya se ha explicado.

Figura 20: 2FWB. Second Factor Web Browsing
[Parte 3 de 4] "2FWB Mobile App"

Para que se entienda, vamos a suponer que desde el navegador del equipo de una de mis hijas se comienza a navegar a un determinado dominio de Internet. La Extensión 2FWB para Google Chrome extrae cierta información relativa a la respuesta que se recibe desde el servidor y se la entrega al Agente 2FWB que se encuentra corriendo en el sistema operativo. Éste, añade información relativa al propio entorno de red que no puede ser extraída con una extensión del navegador, y por Bluetooth envía un fichero con todos los datos a la App 2FWB que se encuentra en el terminal móvil pareado.

Figura 21: Alerta de seguridad para que llame a papá

Después de realizar todas las comprobaciones, en nuestro caso mediante un servicio en cloud que hace todas las verificaciones, la App 2FWB enviará una respuesta al Agente 2FWB que llegará hasta la Extensión 2FWB instalada en el navegador, dejando que prosiga la sesión de navegación, o bloqueando la pestaña con una aviso que diga: "¡Avisa a Papá". Recordad que se trata de un servicio que intenta ayudar a sentirse más seguros a los más jóvenes, y es como si su "papaete" estuviera navegando junto a ellos.

Peticiones y respuestas

El formato de intercambio es bastante sencillo. Desde el Agente 2FWB se envía a la App 2FWB este fichero con los datos más relevantes. El nombre del dominio, un id de la petición y la pestaña en la que está visualizando dicho contenido. Después se  introducen los datos del certificado digital recibidos en la petición HTTPs que se utilizarán para verificar con el original del sitio.

Figura 22: Formato de envío de datos que va desde el Agente 2FWB a la App 2FWB

Además, se entregan las cabeceras HTTP que han venido en la respuesta entregada por el servidor web ante la petición del navegador, junto con la lista de scripts. Además incorpora información tomada del sistema por el propio Agente 2FWB como el TimeStamp o las respuestas DNS obtenidas.

En la lógica del Servicio 2FWB, que en nuestra arquitectura está en una plataforma Cloud pero que también podría recaer directamente en la App 2FWB, evalúa los diferentes controles para verificar los diferentes posibles ataques.

Evalúa la hora del sistema, el valor SHA256 del certificado que se recibe por el Agente 2FWB en la máquina con la que se debería obtener (revisando los posibles certificados digitales y las políticas HSTS para ver si existe algún Certificate Pinning marcado por el servicio).

Evalúa la dirección IPv4/IPv6 a la que se ha conectado, la lista de cabeceras HTTP recibidas, la lista de scripts, y hace una verificación extra del nombre de dominio contra servicios de inteligencia varios  - como NotMining -para saber la calidad de ese dominio.

Figura 23: Respuesta a recibida a la petición de 2FWB con id:123

Y con todas las comprobaciones hechas, al Agente 2FWB le llega la respuesta vía App 2FWB con un formato similar a este. Donde si alguna de las validaciones anteriores falla (campo con valor a "False" ), se considerará que la conexión es peligrosa y el campo "Operation" devuelto en la respuesta, tomará el valor "Deny" . En caso contrario, el valor será "Allow" .

Probando ataques con Bettercap

Para probar el funcionamiento completo del sistema hemos preparado varios ataques utilizando caplets de Bettercap para tener la visión de cuál es la experiencia. En estos cinco vídeos vamos a poder ver cómo se detectan los ataques  que hemos incluido en esta prueba de concepto. Desde una máquina con Kali Linux vamos a lanzar todos los ataques, y veremos la experiencia en la App 2FWB y en la navegación del navegador de Internet protegido por 2FWB.


Figura 24: Detección de ataque de ARP Spoofing con 2FWB


Figura 25: Detección de ataque de DNS Spoofing


Figura 26: Detección de ataque de Certificado Falso


Figura 27: Detección de ataque a HSTS


Figura 28: Detección de ataque de Cryptojacking

Control Parental con 2FWB

Una vez que tenemos la App 2FWB en el terminal del papá, donde se pueden ver las alertas que se generan en tiempo real con los posibles ataques, parecía bastante fácil implementar un sistema de Control Parental en tiempo real, para que el adulto que se encarga de vigilar la seguridad de la navegación de los menores pudiera bloquear o permitir determinados dominios.


Figura 28: Control Parental con 2FWB

En este caso, como se puede ver, hemos puesto la alerta de otro color - azul - para que no se asuste nadie cuando aparezca y se tenga claro que ha sido el adulto el que ha puesto este control momentáneamente, tal y como se puede ver en el vídeo de la Figura 28.

Como se puede ver, la posibilidad de tener un 2FWB permite tomar muchas decisiones en función de lo que se está recibiendo por el navegador de Internet conectado a la red WiFi o Ethernet, y de lo que se recibe por el Second Channel que utilizar el servicio de 2FWB. Pero aún podíamos darle una vuelta de tuerca más, que os contaré en la última parte de esta serie.

Saludos Malignos!

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

Kubernetes: Cómo gestionar autorización de recursos con RBAC (Parte 2) #docker #kubernetes

$
0
0
Continuamos con nuestro artículo sobre Kubernetes y RBAC justo donde lo dejamos en la primera parte (jugando con los espacios de nombres), así que echa un vistazo al anterior post para repasar y manos a la obra. Ahora vamos a centrarnos en la creación de roles y su asociación a diferentes usuarios y grupos.

Figura 6: Kubernetes: Cómo gestionar autorización de recursos con RBAC (Parte 2)

En este ejemplo, que vamos a usar de base para explicar sus componentes, podemos ver un fichero de creación de un role para tener control total total al espacio de nombres de cybercaronte (luego veremos como se crea):
    kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: cybercaronte-full-control
namespace: cybercaronte
rules:
- apiGroups: [""]
resources: ["*"]
verbs: ["*"]
Como todo objeto en Kubernetes, vemos como en este caso tenemos definidos los atributos kind, apiVersion y metadata. Ojo a este caso, como estamos creando un role, tenemos que especificar el espacio de nombres donde queremos crearlo con el atributo namespace dentro de metadata.

Figura 7: Proceso de arranque de minikube

Lo siguiente es definir las reglas (rules). En este case vemos como tenemos entradas bajo rules:
apiGroups: aquí especificamos la(s) API(s) que queremos autorizar. Si lo dejamos vacío (""), implica que dicha regla (rule), se aplica a las APIs core de Kubernetes. Alguno de los grupos disponibles, además del core, son: extensions, apps, etc. Si quieres ver todas las APIs disponible en tu clúster, puedes ejecutar el siguiente comando:
kubectl api-versions
resources: aquí, si queremos aplicar la regla a todos los dispositivos, podemos poner un asterisco, o bien listar los recursos que deseamos. Por ejempo: pods, secrets, configmaps, deployments, services, etc.
verbs: en Kubernetes el recibe todas las peticiones es el component API Server, que no es ni más ni menos que un servicio Rest. Por lo que toda petición se basa en un recurso y un verbo: GET, POST, PUT, etc. En el caso de Kubernetes, éste define su propia lista de verbos como son: get, list, watch, create, update, patch, delete, bind, etcetera.
Si creamos ese role y se lo asignamos a un usuario, dicho usuario prácticamente tendría control total sobre el espacio de nombres donde dicho role es creado. Un apunte importante es que podemos añadir varias reglas a un role:
    rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "watch"]
- apiGroups: ["batch", "extensions"]
resources: ["jobs"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
En este caso, tenemos dos reglas, la primera indica que podemos leer, listar y observar pods a través del uso de cualquier API de Kubernetes. La segunda indica que podemos obtener, listar, observar, crear, actualizar, parchear y borrar recursos del tipo (Kind) job definidos bajo las APIs batch y extensions.

Ahora sí, vamos a crear los dos roles, uno para el espacio de nombres cybercaronte:
    kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: cybercaronte-full-control
namespace: cybercaronte
rules:
- apiGroups: [""]
resources: ["*"]
verbs: ["*"]
Y otro para el espacio de nombres tuxotron:
    kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: tuxotron-full-control
namespace: tuxotron
rules:
- apiGroups: [""]
resources: ["*"]
verbs: ["*"]
Creamos dos ficheros (cybercaronte-fullcontrol-role.yaml y tuxotron-fullcontrol-role.yaml) con dicho contenido y ejecuta:
  kubectl apply -f cybercaronte-fullcontrol-role.yaml
kubectl apply -f tuxotron-fullcontrol-role.yaml
Para comprobar que los roles se han creado:
  kubectl get role -n cybercaronte
kubectl get role -n tuxotron
Ahora que tenemos los usuarios y los roles creados, tenemos que asignarles los roles a los usuarios. Para ello necesitamos crear los objectos RoleBinding.
Primero vamos a asignar al usuario cybercaronte el role cybercaronte-full-control. Para ello creamos un fichero (cybercaronte-fullcontrol-binding.yaml) con el siguiente contenido
    kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: full-control
namespace: cybercaronte
subjects:
- kind: User
name: cybercaronte
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: cybercaronte-full-control
apiGroup: rbac.authorization.k8s.io
Crea el RoleBinding:
    kubectl apply -f cybercaronte-fullcontrol-binding.yaml
Para probar si funciona, cambiemos de contexto a cybercaronte y a ver si ahora podemos consultar los pods del espacio de nombres cybercaronte:
kubectl config use-context cybercaronte kubectl get pods -n cybercaronte No resources found.
Como podemos ver esta vez no recibimos ningún error. Si intentamos consultar los pods del espacio de nombres tuxotron:
  kubectl get pods -n tuxotron
Error from server (Forbidden): pods is forbidden: User "cybercaronte" cannot list resource "pods" in API group "" in the namespace "tuxotron"
Vemos como recibimos un error porque el usuario cybercaronte no tiene acceso a los pods del espacio de nombres tuxotron.

Figura 8: Rafael Troncoso (tuxotron), Chema Alonso (sujetando el libro Docker:SecDevOps), Elías Grande
y Fran Ramírez (cybercaronte) en la RootedCon 2019. Al fondo, el poster del "Profesor Alonso" de Cels Piñol.
Hagamos lo mismo con el usuario tuxotron. Crea un fichero (tuxotron-fullcontrol-binding.yaml) con el siguiente contenido:
    kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: full-control
namespace: tuxotron
subjects:
- kind: User
name: tuxotron
apiGroup: rbac.authorization.k8s.io
roleRef:
- kind: Role
name: tuxotron-full-control
apiGroup: rbac.authorization.k8s.io
Antes de poder crear este RoleBinding tenemos que cambiar de contexto a minikube primero:
    kubectl config use-context minikube
kubectl apply -f tuxotron-fullcontrol-binding.yaml
Vamos a explicar un poco la estructura de este objeto. Lo primero a recalcar es el nombre (metadata.name), si te fijas bien en los dos RoleBindings que hemos creado usan exactamente el mismo nombre. Esto es posible, porque los RoleBindings pertenecen a un nombre de espacio, y en nuestro ejemplo hemos creado cada RoleBidning en distintos espacios de nombre. Si hubiéramos usado el CLusterRoleBinding, esto no sería posible porque en ese caso habría un conflicto de nombres.

El apartado subjects es donde decimos a quién la vamos a asignar el role. El atributo Kind debe ser User, Group o ServiceAccount. Luego tenemos name, éste corresponde al nombre de usuario, grupo o cuenta de servicio y por último el apiGroup que es rbac.authorization.k8s.io

Luego tenemos el apartado roleRef. Aquí es dónde especificamos el role que queremos asignar. El atributo Kind define el tipo de role: Role o ClusterRole. Name es el nombre del role en sí y finalmente el apiGroup que al igual que el caso anterior es rbac.authorization.k8s.io

Por último, veamos un ejemplo donde daremos acceso al espacio de nombres equipo al grupo developers. Vamos a crear un role a nivel de clúster para dar acceso total sobre pods, deployments, servicios, replicasets y secretos:
    kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: full-control
rules:
- apiGroups: ["extensions", "apps", ""]
resources: ["pods", "deployments", "secrets", "services", "replicasets"]
verbs: ["*"]
Copiamos el contenido a un fichero (developers-role.yaml) y ejecuta el siguiente comando:
    kubectl apply -f developers-role.yaml
Un par de apuntes sobre este fichero. Lo primero es que el tipo (Kind) es ClusterRole y como vemos no tiene especificado el espacio de nombres (namespace). Este es un objeto global del clúster. Ahora creemos otro fichero (developers-binding.yaml) con el siguiente contenido:
    kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: full-control
namespace: equipo
subjects:
- kind: Group
name: developers
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: ClusterRole
name: full-control
apiGroup: rbac.authorization.k8s.io
Como vemos, el contenido de este fichero es similar a los anteriores, con par de diferencias. En el apartado subjects, usamos el tipo Group, porque estamos asignando el role a un grupo y no a un usuario. Y en el apartado roleRef, el tipo es ClusterRole y no Role, ya que el role al que estamos haciendo referencia es del tipo ClusterRole. Para crear dicho RoleBinding:
    kubectl apply -f developers-binding.yaml
Recuerda que cuando creamos los usuarios, ambos los creamos bajo la organización developers `/O=developers`. Por lo tanto, cybercaronte y tuxotron deberían tener acceso a los pods, servicios, secretos, replicasets y deployments del espacio de nombres. Comprobemos que cybercaronte tiene acceso:

kubectl config use-context cybercaronte

Switched to context "cybercaronte".

kubectl get pod -n equipo
No resources found.

kubectl get deployment -n equipo
No resources found.

kubectl get configmap -n equipo
Error from server (Forbidden): configmaps is forbidden: User "cybercaronte" cannot list resource "configmaps" in API group "" in the namespace "equipo"
Como hemos podido comprobar, cuando consultamos los pods y los deployments no recibimos ningún error. “No resources found” es porque no hemos creado nada en el espacio de nombres. Cuando consultamos los configmaps vemos que recibimos un error, ya que ese recurso no tenemos acceso. Si hacemos las mismas pruebas con el usuario tuxotron, los resultados deberían ser el mismo.


Figura 9: Kubernetes: Cómo gestionar autorización de recursos con RBAC [Parte 2]

Kubernetes no sólo permite el control de acceso a un recurso complete, sino que incluso a parte del mismo. Por ejemplo, podrías dar acceso a los logs de los pods, sin dar acceso a los pods en sí. Tienes en el vídeo todo el proceso que hemos realizado en esta parte del artículo.

Esperamos que te hayas animado a llegar al final de este artículo y por lo menos tengas suficiente información para entender como funciona el RBAC en Kubernetes. Os dejamos por aquí también algunas de las referencias que tenemos sobre Docker escritas ya en este blog, para que tengáis toda la información disponible y accesible.

[BlogPost] Docker: SecDevOps: Contenido y descripción del libro
[BlogPost] SecDevOps: Una explicación en 5 minutos (o poco más)
[BlogPost] Cómo montar un entorno de pentesting desde cero en Docker
[BlogPost] SuperLatch Docker: Integrar Latch con Docker y Kubernetes en tus apps
[BlogPost] Docker Distroless Images: Cómo crear imágenes Docker sin SO ni shell
[BlogPost] Dagda Docker Security Suite: Auditoría de seguridad en aplicaciones dockerizadas
[BlogPost] Docker de My WordPress in Paranoid Mode
[BlogPost] Docker de My WordPress in Paranoid Mode (WPM): "The Making of"
[BlogPost] Hacking Kubernetes: Auditoría de seguridad y explotación de vulnerabilidades
[BlogPost] Kubernetes: Cómo gestionar autorización de recursos con RBAC

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.

Rafael Troncoso (@tuxotron) es Senior Software Engineer en SAP Concur, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" y del blog Cyberhades.

WhatsApp mejora la privacidad y evita el desbloqueo de contactos bloqueados (y el trolling)

$
0
0
En estos días WhatsApp habrá mejorado bastante bien la privacidad de los usuarios de la herramienta añadiendo un par de opciones bastante interesantes. Yo mantengo un artículo que actualizaré con estas opciones añadidas recientemente de "Cómo Proteger WhatsApp a prueba de Balas". No es que sean nuevas en el mercado de apps de mensajería, y la verdad es que éramos muchos los que las pedíamos desde hace bastante tiempo, pero al menos es bueno tenerlas ahora disponibles.

Figura 1: WhatsApp mejora la privacidad y evita el desbloqueo de contactos bloqueados (y el trolling)

Alguna de ellas, en concreto la utilizamos nosotros para crear un servicio llamado desbloquéame que hicimos como PoC (nunca publicado), pero que explicaba porque eran tan importantes. Os las cuento en detalle.

Protección de apertura de WhatsApp con Biometría

Una de las opciones que pedían muchas personas era que se pudiera bloquear la apertura en primer plano de la app con opciones biométricas. Ya tiempo atrás WhatsApp añadió la opción de Two-Steps-Verification pero como expliqué no era la mejor opción, ya que se había convertido en una One-Step-Verification si resultaba que la dirección de e-mail que protegía el PIN de WhatsApp como forma de recuperarlo tenía asociado el número de teléfono en el que está WhatsApp.

¿Por qué?

La idea es que el Two-Step-Verification de WhatsApp pide un PIN y si la persona tiene acceso al teléfono, podría pedir la recuperación de la contraseña del e-mail con un SMS que le diera acceso al e-mail para pedir una recuperación del PIN como Two-Step-Verification de WhatsApp para que llegue al correo de e-mail. Es decir, que si un atacante se encuentra con la posibilidad de manipular el terminal podría acceder a WhatsApp incluso con un Two-Step-Verification.

Figura 2: FaceID protection en WhatsApp

Con biometría, esto cambia. En el caso de iPhone se ha añadido TouchID y FaceID para los nuevos modelos y se puede configurar para que cada vez que se abra la app de WhatsApp se pida la verificación biométrica de la persona que quiere leer los mensajes. Y funciona de maravilla. 

Opciones de Protección contra inclusión en Grupos

Probablemente todos los usuarios de WhatsApp han sido integrados alguna vez en un grupo de WhatsApp sin desearlo. Alguna vez ha sido una molestia puntual, otra ha sido un trolleo de gente que utiliza esto para molestar a las personas, y otras veces para conseguir que una persona bloqueada pueda enviarle mensajes al bloqueante, tal y como explicamos en la PoC de Desbloquéame.


Figura 3: PoC de Desbloquéame

La idea es bastante sencilla. Una persona A bloquea a una persona B. Esta persona A le pide a un servicio en Internet que usa un número C que le desbloquee. Este servicio, utilizando un número virtual como los que se consiguen en la red crea un grupo en el que mete a la persona A y la persona B. Le da acceso a la persona B y entonces B puede enviar mensajes a la persona A otra vez, a través del grupo.
Esto es así, porque dos personas, aún estando bloqueadas, pueden comunicarse a través de grupos. En Telegram la persona A podía controlar esto con las opciones de grupo, y esto es lo que ha añadido también WhatsApp.

Figura 5: Opciones de seguridad en Groups
En las opciones de Privacidad -> Grupos se podrá restringir (Aún está en fase de despliegue en todo el mundo) quién te añade a un grupo, con lo que un servicio como nuestro Desbloquéame se podría anular fácilmente eligiendo que solo te puedan añadir a grupos las personas que son contactos tuyos, o directamente nadie.

Portabilidad de Datos

Una opción de las que quería hablar hace tiempo es la opción de exportar los datos que WhatsApp tiene de ti. Es una opción que podéis solicitar y se recibirá un fichero HTML y otro JSON con los datos generales de la cuenta. No demasiada información, y por supuesto no insights. Pero al menos te permite ver parte de tus datos y llevártelos, como la lista de contactos.

Figura 6: Opciones de pedir un reporte de datos a WhatsApp

Y es verdad que si te quieres llevar las conversaciones, siempre puedes exportar un chat como un fichero en texto plano que te puedes llevar enviándote un correo electrónico.

El peligro de la exportación de Chats

Esta opción es justo una de las más peligrosas para la privacidad personal, ya que un descuido de 30 segundos, alguien entra en el chat y se envía toda la conversación a su correo electrónico, teniendo todos los mensajes para la lectura tranquila.

Figura 7: Opciones para exportar en 30 segundos un chat (con vídeos y fotos)

Es por eso, que la opción de añadir una protección de Two-Steps-Verification más la de protección con Biometría (FaceID o ToucID) es fundamental para evitar que te espíen el WhatsApp, así que más vale que las añadas.

Mensajes desde números virtuales y mensajes desde NO contactos

Por desgracia es bastante sencillo abrirse un número de teléfono virtual gratuito en Internet y usarlo para abrir una cuenta de WhatsApp. Esto permite a gente que disponga de anonimato para acosar y molestar a personas. Yo creo que Facebook debería bloquear estos números virtuales para que no pudieran abrir cuentas de WhatsApp, pero si lo quieren permitir, deberían añadir la opción de prohibir que te envíen mensajes personas que no estén en tus contactos. Así evitaríamos el problema de los mensajes que te envía gente que no está en tu lista de contactos.

Figura: Webs que ofrecen virtual numbers en Internet (For Free)

Por defecto WhatsApp no deja enviar mensajes a personas que no tienes en tu lista de contactos, pero sí que deja recibir mensajes desde personas que no están en tu lista de contactos. Eso sí, en Xataka explicaron un truco para enviar mensajes a personas que no tienes como contacto en WhatsApp, así que ya que nos podemos deberían arreglar los dos sentidos de la comunicación (más proteger el mal-uso de cuentas de WhatsApp generadas por números virtuales anónimos).

Saludos Malignos!

6 al 13 de Abril: Cursos, Seminarios y Conferencias de @elevenpaths @luca_d3 & @0xWord

$
0
0
Esta es la última semana antes de que lleguen las merecidas (y tardías este año) vacaciones de Semana Santa, pero aún así tenemos actividades planificadas que te dejo por aquí, como suelo hacer los sábados. Vamos a ello.

Figura 1: 6 al 13 de Abril: Cursos, Seminarios y Conferencias de
ElevenPaths, LUCA & 0xWord

06 de Abril: I Congreso de Cybersecurity [Guayaquil]
Hoy tiene lugar en Guayaquil el I Congreso de Cybersecurity en el que participarán ponentes de reconocido prestigio, entre otros nuestro CSA de ElevenPaths en Chile, Gabriel Bergel, pero el tiempo para que asistas son solo unas horas.
Figura 2: I Congreso de Cybersecurity
09 de Abril: Generación automática de textos mediante Deep Learning [Online]
En este webinar hablaremos sobre el potencial de utilizar la Inteligencia Artificial en tareas tales como la escritura automática de poemas o la predicción de la siguiente palabra que escribirás en tu teléfono. Además, crearemos, entrenaremos y probaremos algunos de estos modelos.
Figura 3: Registro para el Webinar
Carlos Rodriguez, Data Scientist de Aura, mostrará la creación de sistemas inteligentes que nos permitan entender y procesar aquello que, justamente, nos hace humanos – el lenguaje – es hoy más que nunca una realidad gracias al uso de técnicas como el Deep Learning.
09 al 13 de Abril: Crea [CON] Ciencia [Tenerife]
Del 9 al 13 de abril, en el municipio de Los Realejos (Tenerife) se celebra Crea[con]Ciencia 2019. Una semana llena de actividades relacionadas con la ciencia y la tecnología, desde talleres para los más pequeños hasta un hackaton para los mas techies, pasando por conferencias de expertos en diferentes ámbitos. Una de estas conferencias, concretamente el sábado 13 de abril a las 17:00h (CET), llevará la firma de nuestro CSA de ElevenPaths, Deepak Daswani, y tratará, como no, sobre ciberseguridad. Horarios y detalles del evento disponibles en su página oficial.
Figura 4: Crea [CON] Ciencia

11 de Abril: Grupo de Expertos de la Unión Europea [Bruselas]
Tras un proceso de selección abierto, la Comisión nombró a 23 expertos independientes con un alto nivel de experiencia en el campo, que abarca una amplia gama de áreas de interés y sectores. El Grupo de expertos sobre intercambio de datos entre empresas y gobiernos, en el que se identificarán buenas prácticas sobre este intercambio, evaluar los obstáculos legales, económicos y técnicos y dar recomendaciones a la Comisión para desarrollar más esta política.
11 de Abril: Curso de Hacking Ético Experto [Online]
Este día comienza la formación más larga de The Security Sentinel, que con 240 horas de formación prepara a los alumnos para comenzar a trabajar de forma profesional en el mundo del pentesting y el Ethical Hacking. Es una buena opción para hacer a tu ritmo y desde tu casa durante varios meses si estás trabajando ya en algo y lo que deseas es explorar un cambio al mundo de la seguridad informática.
Figura 5: Curso de Hacking Ético nivel Experto Online
Tienes todos los contenidos, los módulos y la metodología en la web del curso. Además, todos los alumnos recibirán gratis el libro de Pentesting con PowerShell que escribió nuestro compañero Pablo González en 0xWord.
Figura 6: Libro de Pentesting con PowerShell en 0xWord

12 y 13 de Abril: #CONPilar2019 [Zaragoza]
En 2016, nace el Congreso de Ciberseguridad, Derecho Tecnológico y Hacking de Zaragoza, más conocido como CONPilar. En esta edición, comparte fin de semana y evento con una nueva edición de los famosos Hack&Beers, que tendrá lugar la jornada del viernes 12 de abril, y el sábado 13 de abril se dedicará al propio CONPilar. Desde ElevenPaths acude nuestra experta Carmen Torrano, Senior Researcher, que participará con una ponencia que lleva como título "Securizando el ecosistema IoT". Toda la información y horarios del evento disponibles aquí.
Figura 7: CONPilar

Y estas son las actividades principales de esta semana. A partir de mañana continuaremos desgranando las charlas que dimos en la RootedCON con el final de la serie de Second Factor Web Browsing (2FWB) y con el principio la charla de IA y Ciberseguridad de nuestros compañeros Pablo González y Enrique Blanco, para terminar con la charla de Hackers vs. Cine y si lio a Palo San Emeterio y Miguel Ángel de Castro, también de su charla de Another Bad E-mail.

Saludos Malignos!

Social Engineering Capture The Flag (SECTF) by @EuskalHack

$
0
0
Desde EuskalHack llevamos ya varios meses trabajando en la organización de la IV Edición de EuskalHack Security Congress en el que colabora desde hace años 0xWord, y al igual que en ediciones anteriores, nuestro principal objetivo sigue siendo ofreceros un congreso basado en la excelencia técnica, y en la cercanía entre ponentes, asistentes y miembros de la organización. Si alguno de vosotros está interesado en participar como ponente, aún estáis a tiempo, el proceso de Call For Papers permanecerá abierto hasta el día 14 de abril.

Figura 1: Social Engineering Capture The Flag (SECTF) by @EuskalHack

Como una de las principales novedades de esta edición, hemos desarrollado un CTF de Ingeniería Social, pero antes de entrar en detalle, me gustaría explicar el contexto que nos ha llevado a incluir esta iniciativa en el congreso de este año.

Ingeniería Social en el mundo del Cibercrimen

A nadie se le escapa el aumento que se está produciendo en el uso de las técnicas de ingeniería social, como parte fundamental de muchos de los ataques que más impacto están teniendo en los últimos años. Probablemente, lo primero que se nos venga a la cabeza sean los ataques de phishing, en cualquiera de sus variantes, con el business e-mail compromise como un claro ejemplo de las consecuencias que pueden tener este tipo de ataques para las empresas.

Y aunque con un componente mucho más técnico, no podemos olvidar el factor psicológico que lleva asociado un ataque de falso ransomware, falso antivirus, falsas infecciones o de falso Contact Center, tanto durante el proceso mediante el cual se pretende influenciar al objetivo para conseguir infectar su equipo, como a la hora de presionarlo para que acabe realizando el pago incluso sin haber sido infectado o sin tener ningún fallo.

Figura 2: Una falsa infección simulada para engañar a las víctimas

En los últimos tiempos hemos visto también como se ha venido utilizando información obtenida en los leaks de credenciales, para dotar de mayor credibilidad a los pretextos utilizados durante algunas campañas de extorsión. Me imagino que muchos de vosotros habréis recibido un correo donde os advierten que habéis sido grabados visitando páginas pornográficas y que, si no realizáis un pago, enviarán el video a todos vuestros conocidos, siendo una Fake sextorsión.

Cada vez más frecuente, pero tal vez menos conocido, tenemos lo que en términos de ingeniería social se conoce como “vishing", que no deja de ser una forma de influenciar a otras personas, en este caso utilizando llamadas telefónicas.

Figura 3: Webs creadas en la web de falsos soportes técnicos de Microsoft

Recientemente ha vuelto a saltar a la actualidad un buen ejemplo de esta práctica, conocido como la estafa del Falso soporte técnico de Microsoft, y que entra dentro de la categoría de estafas de soporte técnico y de la que la propia Microsoft ha tenido que dar aviso a los usuarios.

Si bien, este fraude esta dirigido a personas, principalmente, con un bajo nivel de concienciación en materia de seguridad, este tipo de ataques no son siempre tan evidentes y en muchas ocasiones buscan conseguir información aparentemente irrelevante (no existe la información irrelevante), para realizar lo que podríamos llamar una escalada de confianza.

Ataques de Ingeniería Social Avanzada: Fake News & AI

Este tipo de ataques, son en la mayoría de los casos indetectables, para un objetivo que no ha recibido formación específica, ya que cuando son realizados por un profesional con experiencia, se podría decir que son indistinguibles de la realidad.

En este sentido, me gustaría mencionar las Fake News, que tanto están dando que hablar en los últimos años, y que podrían estar consiguiendo manipular la opinión pública a nivel global. Estas, aunque a una escala mucho mayor, utilizan los mismos principios de ingeniería social que el resto de ataques que he mencionado anteriormente.

En cuanto al futuro, no parece que se vaya a revertir la tendencia. Los algoritmos de Deep learning, por ejemplo, están empezando a generar videos y audios falsos tan realistas, que van a permitir realizar ataques de ingeniería social impensables hace apenas unos años.

Aunque las técnicas de ingeniería social llevan entre nosotros bastantes años, y no se pronostica que vaya a haber un descenso en su incidencia, siguen sin establecerse por parte de muchas empresas e instituciones medidas adecuadas para la mitigación de las mismas. En mi opinión, esto se debe, en gran medida, al desconocimiento que existe sobre muchas de estas técnicas, siendo una de las facetas de los profesionales de la seguridad informática y el Ethical Hacking, que más posibilidades de desarrollo ofrece hoy en día.

Social Engineering Capture The Flag

La mejora de esta situación pasa, como en cualquier otro ámbito, por la concienciación de los usuarios, y el desarrollo de las habilidades de los profesionales. Por este motivo, con la intención de aportar nuestro granito de arena, hemos decidido organizar un CTF de ingeniería social, al estilo del SECTF que se viene celebrado en DefCON durante los últimos 10 años.

Aprovecho la ocasión para agradecer a Chris Hadnagy(@HumanHacker), organizador de ese evento que colaboró también en la creación de BackTrack (ahora el popular Kali Linux que usan todos los pentesters por todo el mundo), por todo el apoyo que me ha ofrecido durante el diseño de nuestro SECTF. La competición constará de dos fases.

La primera con una duración de tres semanas, transcurrirá online y se celebrará de forma previa al congreso. Todo proyecto de ingeniería social debe comenzar por un minucioso proceso de búsqueda y análisis de información, por este motivo durante la primera fase los participantes deberán recopilar toda la información que les sea posible, sobre el objetivo que les haya sido asignado, utilizando exclusivamente fuentes de información púbica u OSINT, y localizar el mayor número de piezas de información no sensible (flags) de la lista que les será proporcionada por la organización.

Esta es una fase de Inteligencia, y sé que Chema Alonso me va a matar si no cito aquí que Martina Matarí de Telefónica y sus compañeros del grupo "Las Matildes", ganaron el "Intel CTF de la DefCON 26", así que a ver si se animan y cuentan más de su experiencia para explicar qué tipo de actividades se hacen en este tipo de iCTFs y en qué se diferencia el uso de OSINT en un CTF clásico, en un SECTF y en un iCTF para que todo el mundo tenga claros los matices.

Figura 4: Equipo de "Las Matildes" ganadores del iCTF de la DefCON 26

Con toda la información recabada durante esta primera fase, los participantes deberán realizar un informe de calidad profesional, donde además deberán aparecer debidamente justificadas todas las flags conseguidas, y que les servirá como base para crear una estrategia que deberán poner en práctica durante la segunda fase.

En esta segunda fase, que se celebrará en directo durante el congreso en una sala acondicionada a tal efecto, los participantes dispondrán de 20 minutos para realizar llamadas telefónicas al objetivo, con la intención de volver a obtener todas las flag proporcionadas inicialmente, pero esta vez puntuarán el doble.

La información obtenida durante la fase OSINT, será de vital importancia para poder realizar las llamadas utilizando unos pretextos suficientemente trabajados, que permitan conseguir las flag de forma limpia, y siendo totalmente respetuosos con los objetivos.

Este es un factor que consideramos de vital importancia, y por eso hemos estado trabajando con diversos actores y profesionales, con el fin de ceñirnos al marco legal. Para ello, hemos desarrollado una normativa que deberán seguir todos los participantes, donde prima el máximo respeto hacia todas las partes implicadas.

Después del congreso, analizaremos toda la información obtenida por los participantes durante ambas fases, y redactaremos un informe detallado de las técnicas y herramientas utilizadas, así como recomendaciones para la mitigación de los ataques detectados. Nuestra intención es publicar este informe para que pueda ser consultado por cualquier persona, profesional o entidad interesada.

Call for Participantes

Así que, si te gustan los retos, y tienes ganas de aprender y compartir el conocimiento, no importa si eres un profesional de la ingeniería social, un pentester que busca mejorar sus habilidades, o este es tu primer contacto con la ingeniería social, apúntate al SECTF de la EuskalHack y ven a disfrutar de un evento hecho para todos los apasionados por la ingeniería social.

Figura 5: Fechas de Interés para el SECTF de la EuskalHack

Procuraremos publicar en Twitter consejos y ejemplos que ayuden a los participantes a orientar mejor sus estrategias, sobre todo de cara a la fase de llamadas, que es en la que es probable tengan menos experiencia.

De momento, como referente en el mundo de la ingeniería social, os recomendaría que visitaseis, si no lo habéis hecho ya, la página https://www.social-engineer.org. En esta web podréis encontrar, entre otras cosas, un framework con toda la información necesaria para iniciarse, y progresar en el mundo de la ingeniería social.

Figura 6: Recursos en Social Engineering ORG

Pero esta no es la única novedad que os traemos este año. En la misma línea de aprender, compartir y pasar un buen rato en compañía de otras personas apasionadas por el hacking, hemos preparado “Gau-Hack”. Se trata de un hackaton que se desarrollará en un espacio desenfadado, pensado para compartir experiencias y conocimientos, donde se trabajará por grupos en una serie de proyectos relacionados con el hacking.

Toda esta información y mucha más la podéis encontrar en http://securitycongress.euskalhack.org. Y si quieres mantenerte al día de todas las novedades puedes seguirnos en nuestra cuenta de Twitter @euskalhack

Autor: Angel Alonso (@1k0ru)
Viewing all 4283 articles
Browse latest View live