martes, julio 23, 2019

SMOLPION Symbiote: Cómo atacar equipos con un troyano físico [Parte 2 de 2]

Tras describir el proyecto de SMOLPION Symbiote en la primera parte de este artículo y ver tanto cómo funciona con Arduino y Raspebrry Pi, vamos con a continuar con el apartado de explicar cómo infiltrarlo dentro de la máquina objetivo.

Figura 11: SMOLPION Symbiote: Cómo atacar equipos con un troyano físico [Parte 2 de 2]

En la parte anterior vimos cómo es posible conectarlo a la placa madre de la computadora de la víctima, pero hay otros métodos más sencillos y al alcance de cualquiera que pase cerca del equipo objetivo.

2.2- Troyanizar o "weaponizar" dispositivos USB

El arte de la "troyanización" de hardawe USB puede resultar extremadamente efectivo en este ataque. Imagina por un momento un simple e inocente ratón, una lámpara, teclado, ventilador o cualquier dispositivo que pueda conectarse al puerto USB de un ordenador, el cual cumpla satisfactoriamente con sus funciones, pero que lleve ocultamente embebido un segundo dispositivo malicioso dentro de sus conexiones.

Figura 12: Utilización de NanoHub para troyanizar dispositivos USB

Para lograr este cometido, se puede utilizar -por ejemplo-, una placa NanoHub que proporciona una conexión USB extra bastante diminuta, para interconectar un dispositivo USB malicioso adicional, de tal manera que resulte imperceptible para la víctima, y cada vez que esta conecte el dispositivo al puerto USB de su ordenador, el hardware malicioso también comenzará a operar.

Figura 13: Libro de Ethical Hacking de Pablo González
(Esta semana con 10% de descuento)

Es por esta misma razón que no debemos confiar indiscriminadamente en cualquier hardware que se conecte vía USB, - y que para un Ethical Hacking, sustituir algunos ratones USB sabiendo el modelo que utiliza la empresa sería más que suficiente - ya que cualquiera podría troyanizarlo, utilizar un poco de ingeniería social y provocarte un agujero de seguridad del tamaño del mundo.

2.3.- Smolpion in the Middle: Con un conector USB Hembra

El dispositivo posee del lado contrario al conector USB macho, los pines necesarios para soldar un conector USB hembra. La ventaja de esto es dar la impresión de que SMOLPION es un adaptador o parte del dispositivo que se conectó detrás de él al conector hembra, puesto que ambos dispositivos seguirían trabajando de forma normal y SMOLPION quedaría por tiempo indefinido adherido al equipo, en medio de la conexión.

Figura 14: SMOLPION entre la conexión del puerto USB y otro dispositivo

Si se emplea esta estrategia en un dispositivo que el usuario siempre mantenga conectado a su equipo como un teclado, ratón o un dongle WiFi, pasará mucho tiempo antes de ser descubierto, o si el equipo es utilizado por el personal administrativo de la empresa, tal vez nunca lo descubran.

3.- PoC: Owneando Windows con un R.A.T.

Después de haber infiltrado SMOLPION Symbiote al equipo víctima utilizando alguno de los métodos anteriores, y haber compilado el código en la placa a la que está conectado el emisor RF, procederemos a dar apertura al monitor serie. A continuación, se mostrará en pantalla el menú con los vectores de ataque disponibles.

Figura 15: Vectores de ataque desplegados a través de monitor serie

Lo único que resta hacer es escribir el nombre del ataque deseado, y al dar a la tecla Enter. Entonces comenzará la ejecución remota de comandos, pulsación de tecla a pulsación de tecla cual si estuviéramos sentados delante del teclado en el equipo objetivo. Los distintos vectores de ataque se describen a continuación:
- Execution: Ejecuta un .exe elegido por el pentester. Tendrá los privilegios de la cuenta de usuario en la máquina.
- BypassUAC: Bypass al Control de cuentas de Usuario de Windows. Si el usuario es administrador se hará automáticamente. Si no, se pueden ir utilizando algunas de las técnicas más comunes. En el futuro se pueden ir añadiendo nuevas técnicas de ByPasss UAC según se vayan parcheando por Microsoft.
- KillDefender: Desactiva Windows Defender. 
- Netcat: Obtención de una Shell inversa con Nc. 
- BackdoorNC: Obtención de una Shell inversa con Nc, persistente con cada reinicio. 
- Screenshot: Envía una captura de pantalla a través de correo electrónico. 
- OpenWeb: Da apertura a un sitio web (Phishing, Tab Hijacking, etcétera). 
- Unlock: Desbloquear el equipo windows con la contraseña del usuario. 
- Lock: Lanza la pulsación de teclas Win + L para bloquear la cuenta de usuario, con la finalidad de no levantar sospechas en el administrador si previo al ataque había dejado bloqueado el ordenador.
Cabe destacar que estos vectores son solo unos cuantos ejemplos, puesto que el pentester puede programar sus propios payloads personalizados de acuerdo a los requerimientos de su tarea. Cualquiera de las técnicas de Hacking Windows puede ser incorporada como payload en estos ataques con troyanos físicos.

Figura 16: Libro de Hacking Windows en 0xWord
(Esta semana con 10% de Descuento)

Para esta Demo utilizaremos el primer vector, así que escribimos la palabra “Execution”, damos a la tecla Enter y comenzará el ataque en el ordenador víctima, como si lo manejáramos sentados delante de él.

Figura 17: Enviando el ataque “Execution” al equipo víctima

El ataque comienza con la ejecución de una consola Powershell, tan poderosa para el pentesting como ella sola, con privilegios elevados para poder ejecutar cualquier comando.

Figura 18: Ejecución de Powershell con privilegios elevados / Bypass UAC

Seguido de la descarga y ejecución del archivo “exec.exe”. Este fichero es el servidor de nuestro R.A.T. desde un host remoto.

Figura 19: Descarga y ejecución del RAT con Powershell

Una vez concluido el proceso anterior, solo bastará con esperar la sesión remota del equipo víctima en el panel de administración del R.A.T. para tener control total sobre ella.

Figura 20: Control de la víctima con un R.A.T. Quasar

De esta manera tan trivial, cualquiera podría tomar el control de tu ordenador en sólo cuestión de segundos, además de tener una puerta trasera física garantizada por si reinicias o formateas tu equipo.

Figura 21: Smolpion Symbiote. Explicación y demo 

Y claro, para que puedas ver el proceso completo, todo lo que hemos visto en este artículo incluida la demo explicada con la toma de control de Windows con un R.A.T. puedes verlo en este vídeo.

¡Saludos Malignos!

Autor: Raphael L. Molina (@raphael_mol)

**************************************************************************************************
- SMOLPION Symbiote: Cómo atacar equipos con un troyano físico (Parte 1 de 2)
- SMOLPION Symbiote: Cómo atacar equipos con un troyano físico (Parte 2 de 2)
**************************************************************************************************

lunes, julio 22, 2019

SMOLPION Symbiote: Cómo atacar equipos con un troyano físico [Parte 1 de 2]

Ahora el bloquear tu equipo al salir de la oficina no te salvará. Ya sea de un inocente ataque David Hasselhof o de la peligrosa infección con un RAT (Remote Administration Tool) pues hasta ahora una buena práctica para evitar ataques sobre tu ordenador personal en tu ausencia era tan simple como presionar WINDOWS + L, sin embargo ¿de qué serviría esto cuando el atacante tiene el control de tu teclado desde cualquier parte del mundo utilizando un troyano basado en hardware?

Figura 1: SMOLPION Symbiote: Cómo atacar equipos con un troyano físico [Parte 1 de 2]

Hace ya casi un año, se presentó formalmente SMOLPION, un dispositivo USB destinado a pentesters que simula un teclado físico para inyectar pulsaciones de teclas a velocidad sobrehumana, su única “limitante” hasta el momento era que el payload cargado sólo podía ser ejecutado una sola vez, además de no poder precargar múltiples payloads y ejecutarlos a placer, remotamente y a una hora deseada.

Bajo esta premisa y con la finalidad de diseñar herramientas más poderosas para el Red Team, nace SMOLPION Symbiote, un dispositivo USB que utiliza radiofrecuencia para que el atacante pueda tomar el control del equipo víctima.


Al ser conectado en el ordenador objetivo, el dispositivo se mantendrá en StandBy a la espera de las ordenes del atacante, la ventaja de esto, es que puede mantenerse conectado por tiempo indefinido a un puerto USB, ya sea como una memoria USB, como un “inocente” dispositivo USB weaponizado (como un pequeño ventilador, una lámpara o en cables como lo hace el USBNinja), como un dispositivo intermediario entre el teclado o el ratón de la computadora y el puerto USB, e incluso ser conectado desde dentro de una computadora portátil o de un ordenador de escritorio.


Esta forma de funcionar se hace con la finalidad de asegurar que siempre se mantenga adherido e indetectable a los ojos de la víctima, esperando las ordenes de quien lo controla, haciendo la perfecta alegoría a un caballo de Troya, al mero estilo de los Symbiotes de los cómics, asegurando el control remoto por parte del atacante, sin importar si la víctima reinicia el equipo, si lo formatea o si instala nuevo software antivirus. A final de cuentas ¿qué ordenador del mundo sospecha de un inocente teclado?

1.- Métodos de Control

En el ordenador víctima no hay más ciencia que conectar el dispositivo a un puerto USB (más adelante se describirán las diferentes maneras de lograr este cometido). Una vez hecho esto, el atacante podrá decantarse por 3 opciones para controlar el ordenador objetivo de acuerdo a sus necesidades.

1.1- Monitor serie

El atacante puede utilizar cualquier placa de Arduino que tenga a la mano para conectar el Emisor RF y mandar órdenes a SMOLPION Symbiote a través del monitor serial del IDE de Arduino.

Figura 4: Emisor RF conectado a Arduino UNO

Al compilar el código necesario en la placa Arduino y dar apertura al monitor serial, se mostrará un menú extremadamente amigable, en el cual solo se deberá escribir la palabra correspondiente al ataque que se desea ejecutar.

Figura 5: Vectores de ataque visualizados con el monitor serial

Cabe mencionar que, en este modo de utilización, la distancia de la que el atacante esté del ordenador víctima es crucial, ya que si no se le coloca una antena al emisor RF este tendrá un alcance limitado de aproximadamente 15 metros. Aunque eso ya es una distancia moderada para pasar desapercibido por la víctima.

Si se desea controlar el equipo víctima desde una distancia más lejana se deberá soldar una antena al emisor RF (que bien puede ser un simple cable coaxial) de este modo aumentará considerablemente la distancia a la que podemos controlar a la víctima, teniendo la posibilidad de aparcarnos fuera de su oficina. Un buen trabajo para los makers hackers que usan Arduino.

Figura 6: Libro "Arduino para Hackers: PoCs & Hacks Just For Fun"
(Esta semana con un 10% de Descuento con el cupón VERANO2019)

Pero si se requiere tener el control desde distancias mayores, es posible utilizar antenas más potentes, que incluso puedan brindar control al pentester desde 8 kilómetros, hacer uso de repetidores amplificadores de señal, de hardware especializado para trabajar con radiofrecuencia como el HackRF One o realizar una creativa combinación de todo lo anterior, pues los métodos de ataque solo están limitados por la propia imaginación.

1.2.- Con un control remoto

Para mayor comodidad, es posible hacer uso de un control remoto con antena plegable, tal como se muestra en las demos más adelante, de esta manera con solo presionar un botón, el pentester podrá ejecutar un ataque determinado en el momento que desee.

Figura 7: Control remoto con antena plegable

1.3.- Monitor Serie + Raspberry Pi + VNC

Si lo que se desea es tener el control del objetivo desde cualquier parte del mundo es posible agregar una Raspberry Pi a la ecuación. Tan solo se debe tener corriendo un sistema operativo estable como Raspbian, instalar el IDE de Arduino y tener operando la Raspberry Pi cerca del objetivo, o relativamente cerca, utilizando una antena con potencia decente.

Se sugiere una Raspberry Pi por su reducido tamaño (Aunque en las imágenes se utiliza el modelo 3, resultaría óptima la utilización del modelo Zero) y facilidad para pasar desapercibida, con miras de ocultarse en lugares inimaginables como en un enchufe, escuchando ordenes 24/7.

Figura 8: Ocultando una Raspberry Pi en un enchufe cercano al objetivo

Cumpliendo con estas condiciones, lo único que resta es acceder a la Raspberry Pi por medio de un ordenador o un Smartphone a través de VNC, dar apertura al IDE de Arduino y enviar ordenes a través del monitor serial para concretar un ataque exitoso.

2.- Métodos de infiltración

Infiltrar SMOLPION Symbiote en un ordenador víctima es tan trivial como conectar el dispositivo a un puerto USB, como si este fuera una unidad de almacenamiento, sin embargo, esto puede lograrse de maneras variadas e ingeniosas en un Ethical Hacking con la finalidad de levantar las menores sospechas en el administrador del equipo y garantizar que se mantenga adherido a él indefinidamente. A continuación, se listan algunas.

2.1.- Conexión interna a la placa madre (Motherboard)

Es posible conectar el dispositivo directamente a la placa madre del ordenador  si se cuenta con algo de tiempo extra con el equipo objetivo (entre 5 y 10 minutos), tan solo es necesario desmontar la caja de la CPU para tener acceso al conector IDC, conectar SMOLPION y volver a montar la caja, de este modo el dispositivo se mantendrá en StandBy, imperceptible a la espera de órdenes.

Figura 9: Conectores IDC para USB en la placa madre y adaptador hembra

Si por el contrario el objetivo es un computador portátil o una tableta, simplemente hay que quitar temporalmente unos cuantos tornillos cercanos a los puertos USB y conectar el dispositivo directamente (o con un adaptador si las dimensiones del equipo lo permiten) a los pines verticales del conector USB u optar por hacer uso de una placa NanoHub -de la que se hablará más adelante-.

Figura 10: Área de conexión en una computadora portátil

Ahora ya sabes por qué hay que precintar los equipos y poner una pintura de sellado en los tornillos que salte si alguien intenta manipular tu equipo. En la segunda parte completamos los métodos de infiltración y vemos cómo funciona el proceso en real.

Autor: Raphael L. Molina (@raphael_mol)

**************************************************************************************************
- SMOLPION Symbiote: Cómo atacar equipos con un troyano físico (Parte 1 de 2)
- SMOLPION Symbiote: Cómo atacar equipos con un troyano físico (Parte 2 de 2)
**************************************************************************************************

domingo, julio 21, 2019

Dos eventos en "Santiago", un concierto por la cara y vacaciones

Esta es la última semana que voy a estar escribiendo en el blog. Luego pararé durante el mes de Agosto - salvó algún post esporádico que me dé por escribir si estoy motivado y con tiempo - al igual que los eventos y actividades se reducirán.  Así que este es el último post con actividades que os dejo con un par de eventos y un concierto, y lo completamos con un seminario online.

Figura 1: Dos eventos en "Santiago", un concierto por la cara y vacaciones

El primero que os dejo dará comienzo mañana día 22 de Julio, así que vas justo si quieres asistir. Será en Santiago de Compostela - Galicia - y es la 1ª Conferencia sobre Transferencia entre Matemáticas e Industria [CTMI 2019], que tiene como objetivo la promoción y difusión de las herramientas matemáticas y sus aplicaciones industriales, la promoción de nuevas líneas de investigación orientadas a las necesidades de la industria y de la sociedad en general. 

Figura 2: I Conferencia de Matemáticas e Industria en Galicia

Nuestro compañero Antonio Pita, Head of LUCA Consulting & Analytics, participará como ponente compartiendo sus experiencias para mostrar en qué medida la colaboración con la industria ha permitido abrir nuevas líneas de investigación.

Después, nos movemos a otro Santiago, pero en este caso de Chile, donde tendrá lugar el Security Innovation Day 2019. Una jornada de ElevenPaths en la que participarán nuestros compañeros Deepak Daswani y Gabriel Bergel dos de nuestros CSAs (Chief Security Ambassadors) junto con el equipo de Operaciones de CiberSeguridad en Telefónica Chile. Puedes apuntarte y ver la agenda completa en la web del evento.

Figura 3: Web del Security Innovation Day 2019 en Santiago de Chile

Security Innovation Day es nuestro evento del año sobre innovación en ciberseguridad orientado a profesionales de la seguridad de la información. Una jornada anual en la que presentamos, de la mano de nuestros partners y expertos, las últimas novedades de nuestras tecnologías. Un evento estrella en el sector con referencia a nivel internacional que este año celebra su cuarta edición en Chile.

Además, como es domingo, os dejo también el último CodeTalk For Developers, dedicado a un tema del que ya habíamos hablado: A la creación de SuperLatch: Integrando Latch con Docker y Kubernetes, com ya os explicamos en este artículo.


Figura 4: SuperLatch: Latch en Docker y Kubernetes

Y nada más por nuestra parte por ahora. Eso sí, el sábado 27 de Julio tocan gratis, gratis, gratis en Villanueva de la Cañada mis amigos Despistaos, así que puedes hacerte un plan genial esa noche para cenar, disfrutar de un concierto genial de estos chicos y luego tomarte algo por uno de los pueblos más bonitos de Madrid.


Figura 5: Vuelve a verme de Despistaos (Despistaos en Instagram)

Os dejo aquí el vídeo de la canción de Vuelve a verme del último disco. Una preciosidad. Y esto es todo, que como veis no es mucho. Ahora disfrutad el domingo como se debe, que es delito no descansar, tomar el solecito o reírse un poco.

Saludos Malignos!

sábado, julio 20, 2019

Dos años sin ti. Dos años contigo. #ChesterBennington #linkinpark

Yo me enteré unos días después. No presté mucha atención a la noticia cuando salió. Solo una estrella del rock más que había perdido los papeles y se había suicidado. El 20 de Julio. Hace dos años. Pero … ¿por qué? No lo sabía. Tampoco me parecía tan importante. Y de repente todo cambió cuando empecé a escuchar su música en detalle, y descubrí One More Light.

Figura 1: Dos años sin ti. Dos años contigo. #ChesterBennington

Si escuchas el disco sin conocer el final de la historia puede no decirte mucho algunas de sus letras. Sin embargo, sabiendo el penoso fin, capturó mucho más mi atención. Y la historia me cambió. Me revolvió por dentro. Me sacó lo que tenía dentro y lo expulsó para afuera. Me limpió con un shock.

Figura 2: Lista de canciones de One More Light en Spotify

Ver que alguien de mi edad – menos de un año más joven que yo – decidió dejar familia y vida atrás, un triste día como hoy, hace ya dos años me impactó de verdad. Ver el vídeo de solo 36 horas antes feliz jugando con su hijo, y su familia me dejaba la mente llena de preguntas.


Figura 3: Solo 36 horas antes...

¿Cómo era posible que una persona con familia, que parecía feliz, que tenía éxito, dinero, y admiración por todo el mundo, decidiera quitarse la vida? La respuesta estaba en sus letras. En sus canciones. En lo que llevaba por dentro y no se veía. Y me cambió.


Figura 4: Iridescent... ¿te sientes frío y perdido en la desesperación?

Escuché sus canciones y me apoyé en ellas. Me vi a mí mismo desde fuera a través del cristal de sus canciones. Con Iridescent, HeavyOne more lightNobody can save me, What I've done, Talking to myself, Sharp Edges…o este Crawling de la última gira en directo que te araña el corazón. Todas tenían un significado distinto ahora que se había ido para siempre. Uno que estaba oculto ante todos y nadie había podido ver antes.

Figura 5: Crawling en la gira de One more light

Esa caja de conocimiento y mensajes ocultos que se destaparon con su fuga de este mundo, me regaló guía. Me regaló un mapa. En el cielo. Un camino a seguir mirando las estrellas para encontrar un destino en el que volver a reencontrarme. Revelador. Inspirador. Una bofetada de realidad en la cara.


Figura 6: ¿A quién le importa si una luz más se apaga? A mí me importa

He contado muchas veces esta historia a mis amigos. Lo que significó este hecho para mí. Una situación trágica que me sacó de mi laberinto y me devolvió a la vida bajo la luz. Y por eso, a pesar de que se fue un día como hoy hace dos años, Chester Bennington siempre se quedará conmigo. Vaya este post con un cariñoso recuerdo para él. Os dejo el dibujo que le hice en el año que se fue....


Saludos Malignos!

viernes, julio 19, 2019

iBombShell: Evolución desde la primera a la versión v03.b

Desde el equipo de Ideas Locas seguimos trabajando en iBombShell, nuestra herramienta de post-explotación para los proyectos de Ethical Hacking. En esta ocasión os venimos a anunciar la liberación de la versión 0.3b. Las novedades que trae, se pueden ver en un post publicado hace unas semanas aquí.

Figura 1: iBombShell: Evolución desde la primera a la versión v03.b

No vamos a contar de nuevo las novedades, si no que veremos la evolución de iBombShell desde sus comienzos, hasta el día de hoy. Y para terminar, probaremos los dos últimos módulos agregados, que se destinan al Bypass de UAC  para hacer Hacking Windows del que se hablo recientemente en este blog:

Hacking Windows: Bypass UAC en Windows 10 a través de Windows Store
Hacking Windows 10: Bypass de UAC con DLL Hijacking vía SystemPropertiesAdvanced.exe

Empecemos con los warriors, y es que al inicio la única posibilidad que teníamos era listarlos, y solo proporcionaba el nombre tal y como se ve en la imagen siguiente.

Figura 2: Warriors en la primera versión de iBombShell

En la actualidad es posible renombrar, matar y listar mayor información acerca de los warriors como se ve en la Figura 3, permitiendo saber si tenemos un warrior con privilegios (si aparece un símbolo * al lado del nombre del warrior). Además la conexión inicial se producía con un GET y ha pasado a ser una petición POST enviando los datos en el cuerpo.

Figura 3: Manejo de los warriors en la actualidad

La funcionalidad de autocompletar era bastante limitada, solo nos permitía rellenar con el tabulador las opciones principales y módulos, ahora podemos tabular incluso opciones y warriors, lo que facilitará el uso al usuario.


Figura 2: Libros de Python para Pentesters y  Hacking con Python en 0xWord
(Consíguelos estos días con un 10% de descuento con el cupón VERANO2019)

Como sabéis, iBombShell está escrito en Python - ya podéis saberos de memoria los contenidos de Python para Pentesters y Hacking con Python para hacer este tipo de herramientas - y a la hora de cargar los módulos, siempre nos mostraba el .py, y en algunas ocasiones nos mostraba la ruta completa del módulo en el prompt  como se ve en la imagen siguiente.

Figura 5: Módulos terminados en .py

Aunque esto no añade funcionalidad y solo se trata de algo visual, la forma actual se puede apreciar en la Figura 6, donde se ve como cargamos un par de módulos.

Figura 6: Los módulos en la actualidad (sin .py)

Como es lógico, dentro de iBombShell ha crecido el número de módulos disponibles, con cierta restructuración de carpetas, como es el caso de los casos y exploits de Bypass UAC, que partió con “bypassuac” y ahora se ha dividido en tres carpetas y cuenta con UAC, AMSI y Windows Defender para ir añadiendo los bypasses de estas tres tipos de tecnología. (Me pregunto para cuando los bypass de Gatekeeper en MacOS)

Figura 7: Estructura de los exploits de Bypass en UAC, AMSI y Windows Defender

Muchos de los cambios han sido internos, y no tan visuales como los comentados hasta ahora. El código se ha ido refactorizando, eliminando así duplicidades de código. Además, ahora cuenta con funcionalidades que no existían al inicio, como la ejecución de comandos en el sistema que se puede ver en la imagen siguiente.

Figura 8: Ejecución de comandos de sistema

PoC – Nuevos módulos para saltarnos UAC

Para ir terminando, vamos a poner en acción los dos nuevos módulos comentados al inicio del artículo y que nos permiten hacer Bypass de UAC con las dos nuevas técnicas añadidas, empezamos usando la tienda de Windows:

Figura 9: PoC Bypass UAC en Windows 10 usando Windows Store e iBombShell

Y el último vídeo a través de systempropertiesadvanced.exe:

Figura 10: PoC ByPass UAC en Windows 10 usando SystemPropertiesAdvanced.exe e iBombShell

Bugs, sugerencias, colaboraciones, todo es bienvenido, tenéis el enlace al repositorio en la parte de referencias ¡Larga vida a iBombShell! Por si quieres ampliar información y conocer más sobre iBombShell, aquí tienes todos los recursos publicados hasta la fecha sobre la herramienta, con toda la información que tenemos disponible.

- [GitHub] iBombShell
- [White Paper] iBombShell: Dynamic Remote Shell
- [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] iBombShel: Últimas novedades de un proyecto creciendo
- [Blog Post] iBombShell: Evolución desde la primera a la versión v03.b

¡Hasta Pronto!

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

jueves, julio 18, 2019

CrossLinked: Extracción y enumeración de nombres de empleados con técnicas de Web Scraping sobre LinkedIn

Una etapa fundamental en cualquier autditoría de seguridad es la recolección de información sobre el objetivo o sobre cualquier cosa interesante que esté relacionada con el objetivo final. Cuanta más información se tenga, la probabilidad de éxito en el Ethical Hacking será mayor, sobre todo en procesos de ataque de fuerza bruta basados en diccionario, ingeniería social, pruebas de autenticación de usuarios en servicios, etcétera.

Figura 1: CrossLinked: Extracción y enumeración de nombres de
empleados con técnicas de Web Scraping sobre LinkedIn

Una herramienta interesante durante el proceso de recolección de información es CrossLinked que está escriba en Python, ya que simplifica los procesos de búsqueda de LinkedIn para recopilar nombres de empleados válidos de una organización que cuenten con perfil en la red social Linkedin donde anuncien en qué organización trabajan o han trabajado.

Figura 2: CrossLinked en GitHub

CrossLinked utiliza técnicas OSINT apoyándose en motores de búsqueda como Google y Bing  donde hace un poco de Hacking con Buscadores. Encontrará nombres de empleados válidos y ayudará a formatear la salida de los datos, por ejemplo, de acuerdo con la convención de nomenclatura en las cuentas de correo electrónico que esté utilizando dicha organización.

Figura 4: Libro de Hacking con Buscadores: Google, Bing & Shodan + Robtex [3ª Edición]
[Lo puedes adquirir en 0xWord estos días con el cupón 10% descuento]

Los nombres de usuario o las cuentas de correo electrónico generadas por la herramienta se almacenaran por defecto en el archivo 'names.txt' en el directorio actual de trabajo para que puedas llevártelo a cualquier otro script.

Instalación de Crosslinked

La instalación de la herramienta es sencilla, basta obtener una copia desde su repositorio de GitHub ejecutando el comando “git clone https://github.com/m8r0wn/crosslinked” desde nuestro Kali Linux.

Figura 5: Instalación de CrossLinked desde Kali Linux

El siguiente paso es instalar las dependencias de los paquetes necesarios para el funcionamiento de la herramienta ejecutando del comando “pip install -r requirements.txt”.

Figura 6: Instalación de las dependencias necesarias para CrossLinked

Tras estos sencillos pasos ya  podemos comenzar a trabajar con nuestra herramienta y hacer las pruebas de sus funcionalidades.

Funcionalidad de CrossLinked

Para consultar las opciones de la herramienta ésta dispone del parámetro “-h” con lo que obtendremos la lista de parámetros que podemos utilizar en cada ejecución para sacar el máximo de sus capacidades.

Figura 7: Parámetros de funcionamiento de CrossLinked

Las opciones de las que la herramienta dispone son las siguientes:
-h, --help: muestra información sobre los argumentos que acepta la herramienta, cuáles son obligatorios y cuáles son opcionales. 
-t TIMEOUT: Limitado temporal antes de fallar utilizado en el proceso de búsqueda multihilo (Default: 25). Si al cabo de ese tiempo no obtiene respuesta la herramienta finaliza la búsqueda. 
-j JITTER: parámetro utilizado para introducer información espuria en caso de ser detectados durante el proceso de scraping (Default: 0
-o OUTFILE: Cambiar el nombre del fichero de salida con la información encontrada (Default: names.txt).
-f NFORMAT: Formato de nombres. Pro ejemplo: 'domain\{f}{last}', '{first}.{last}@domain.com'. 
-s, --safe:    Solo analiza los nombres que aparezcan en el título de la web (reduce los falsos positivos pero se deja datos sin obtener)
-v: Modo "Verbose" que muestra nombres y títulos recuperados después de la enumeración.
Búsqueda del patrón en la formación de los nombres de usuario

Una manera sencilla de conocer el posible patrón en la formación de los nombres de usuario de los servicios utilizados por una organización es estudiar la estructura de los nombres de cada uno de los usuarios en sus cuentas de correo electrónico. El uso de la herramienta hunter.io es una buena opción, ya que permite encontrar direcciones de correo electrónico de una organización utilizando técnicas OSINT y determinar el patrón de generación de los usuarios de las cuentas de correo electrónico encontradas.

Figura 8: Cuentas de correo electrónico de una organización, 
junto con el posible patrón de generación.

Para este ejemplo, proporcionando un nombre de dominio público Hunter.io encuentra un total de 55 direcciones de correo electrónico y determina que el posible patrón de formación de los usuarios de las cuenta de correo electrónico descubiertas es “{f}{last}@aytoXXX.es”.

Generación de nombres de usuarios utilizando la información pública de Linkedin

Conociendo el parámetro de generación de los usuarios del correo electrónico, “{f}{last}@aytoXXX.es”, lo siguiente es utilizar la herramienta CrossLinked de la forma:
 “python3 crosslinked.py -f '{first}.{last}@aytoXXX.es' Ayuntamiento de XXX”
Figura 9: Uso de la herramienta CrossLinked en busca de información en Linkedin.

La herramienta por defecto genera el fichero “namex.txt” con los correos formados gracias a la información pública descubierta en Linkedin y siguiendo el patrón de generación indicado.

Figura 10: Posibles cuentas de correo electrónico generadas por CrossLinked.

Se observa cómo CrossLinked utiliza los motores de búsqueda de Google y Bing utilizando el dorksite:linkedin.com/in+"Ayuntamiento de XXX”:

https://www.google.com/search?q=site:linkedin.com/in+"Ayuntamiento de XXX"&num=100&start=0
https://www.google.com/search?q=site:linkedin.com/in+"Ayuntamiento de XXX"&num=100&start=117
…

https://www.bing.com/search?q=site:linkedin.com/in+" Ayuntamiento de XXX "&first=0
[*] 10 : https://www.bing.com/search?q=site:linkedin.com/in+" Ayuntamiento de XXX "&first=29
…

Utilizando directamente el dork anterior en Google, para hacer el Hacking con Buscadores manualmente, se obtienen los siguientes resultados:

Figura 11: Resultado de las búsquedas utilizando el dorking de CrossLinked.

Si en lugar de necesitar cuentas de correo electrónico en el proceso de Ethical Hacking lo que se necesitan son los nombres de usuario, para por ejemplo, hacer pruebas sobre el servicio SSH que usan sus usuarios, una forma de generar estos nombres con CrossLinked es la siguiente:
“python3 crosslinked.py -f '{first}.{last}' Ayuntamiento de XXX”
Únicamente especificando el patrón de generación '{first}.{last}' la herramienta es capaz de aplicar técnicas OSINT sobre los perfiles en Linkedin que tienen los miembros de la organización y formar nombres de usuarios en base al patrón indicado.

Figura 12: Posibles nombres de usuarios para poder realizar ataques de fuerza bruta en diversos servicios.

A partir de este punto dentro de un Ethical Hacking, ya tendremos en nuestra mano información más que interesante para utilizar en aquellos servicios que lo permitan. No os olvidéis de probar todos estos nombres de usuario sin contraseña, probar únicamente el mismo login con ese mismo password o, nunca olvidar la propiedad de suprayectividad intrínseca al uso de contraseñas en prácticamente la totalidad de todos los servicios.

Autor: Amador Aparicio (@amadapa), escritor de libro "Hacking Web Technologies" y CSE en ElevenPaths

Entrada destacada

Cupón descuento en @0xWord: Unos libros "dibujados" y vacaciones

Como todos los años, 0xWord va a cerrar durante unas semanas en el mes de Agosto, así que desde hoy mismo hasta el día 25 de Julio a las 2...

Entradas populares