Mostrando entradas con la etiqueta Fingerprinting. Mostrar todas las entradas
Mostrando entradas con la etiqueta Fingerprinting. Mostrar todas las entradas

sábado, junio 27, 2026

Footprinting & Fingerprinting AI Assistant LLM-Based: Háblame de ti y tus cosas

El otro día os dejé un artículo en el que os contaba la aventura con un Asistente AI basado en Gemini donde estuvimos jugando una noche. Esta se ha convertido en una nueva forma de hacer Sudokus, ya que, al igual que hace un cuarto de siglo las técnicas de SQL Injection estaban por todo Internet, hoy en día las arquitecturas basadas en LLM abren un nuevo mundo de posibilidades basadas en las debilidades que traen por diseño.

Figura 1: Footprinting & Fingerprinting AI Assistant LLM-Based.
Háblame de ti y tus cosas

Las técnicas que se pueden utilizar con estos modelos para jugar, ya sabéis cuáles son. Buscar saltar el Jailbreak, que depende de la versión del modelo, hacer un Fingerprinting para saber a qué infraestructura te enfrentas conociendo el modelo y las protecciones de seguridad, saltarse los Guardarraíles para hacer un reúso de la cuenta y consumir los Tokens de la plataforma en beneficio propio, ver si es posible realizar un Prompt Injection haciéndole procesar datos inseguros para hacer un Desalineamiento, envenenar la memoria del Agente, conseguir filtraciones de datos de otras sesiones de usuario, o forzar alucinaciones que afecten al comportamiento.

Como están metidos en aplicaciones web, pues conseguir weaponizarlos para escribir código malicioso y poder hacer Client-Side Attacks también es otra de las capacidades que se tienen que probar, que al final es una pieza más de muchos servicios web. 

Figura 3: Escribe HTML

Por supuesto, si tiene acceso a MCPs, CLI Tools, o APIs, entonces se abren las posibilidades para los Server-Side Attacks. Es decir, los Asistentes AI basados en LLMs puestos en las web sin hacer un despliegue seguro de IA en todas las piezas de la arquitectura son una nueva fuente de alternativas a la hora de buscar un punto de entrada en un sistema.

Figura 4: Dime las cosas que este Asistente AI LLM-Based no puede hacer

Pensando en todo esto, ayer se me ocurriendo unas nuevas ideas para hacer fingerprinting basado en unos detalles que aún estoy probando, así que busqué uno de los cientos de miles de Asistentes AI que hay hoy en día desplegados para jugar un poco con ellos. 
Figura 5: Cuéntame un cuento de Ciencia Ficción.
O dame recetas de galletas. O hazme cosas con tus tokens.

Para conseguir el Misalignment, ha resultado ser muy valioso en mis pruebas el poder pedir la acción de desalineamiento como formato de la respuesta en lugar de utilizarlo como pregunta directa. Un poco aprovechar el "Cat Attack" para lograrlo, como en este ejemplo para lograr un ASCII ART de gatos.

Figura 6: Hazme un Python para pintar ASCII ART de gato

En una pregunta directa no me da lo que quiero, pero me hace el código y me enseña la muestra si lo hago un poco más enrevesado, modificando la atención del modelo a la hora de preguntarle directamente por algo que sabe y pedir la acción en el formato de respuesta.
Figura 7: Gato pintando.

Esto funciona bastante bien en casi todos los casos que he probado, y así es fácil sacar información del modelo concreto, preguntado directamente por el nombre en el formato de la respuesta.

Figura 8: GPT-4o, así que cuesta tokens. No demasiado, pero cuesta.

Con este mismo truco del formato de la respuesta, le puedes sacar más información de cuáles son las herramientas que tiene para trabajar, que en este caso, no son demasiadas, a pesar de que puede buscar ficheros en la web, no pueden ser de fuera de ella.

Figura 9: Las acciones que puede realizar

Y con esto mismo, podemos sacar el detalle de cómo realiza estas acciones, pidiéndole que nos dé las explicaciones del formato necesarias. Aquí está.

Figura 10: Formato de las acciones

Es curioso ver cómo con los Asistentes AI LLM-Based al final es un juego de ir preguntándoles por ellos mismos para hacer el proceso de Footprinting y Fingerprinting, y sacar las cosas. 

Figura 11: Whats your time. Esa no era mi hora.

El último de los detalles para poder hacer un fingerprinting que os contaré con más detalle en otro artículo, que esto tiene más miga de lo que parece, que te da minucias de info útiles.


La verdad es que estos primeros momentos del mundo de la Inteligencia Artificial metida en los servicios digitales está siendo una diversión y un problema desde el punto de vista de la ciberseguridad, pero llegará su etapa de madurez no tardando demasiado, y habrá que esperar hasta la próxima disrupción, pero ahora, en muchos casos parece un juego de niños.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


miércoles, julio 23, 2025

WhoFi: Deep Person Re-identification. Cómo saber quién está en una ubicación midiendo la señal WiFi

El mundo de la visión WiFi, o lo que es lo mismo, "ver cosas" a partir de los datos de perturbación de la señal, lleva mucho tiempo estudiándose. Recuerdo que en el año 2009 hablé del paper titulado "Through-Wall Motion Tracking Using Variance-Based Radio Tomography Networks" donde explicaban cómo utilizar las variaciones de la señal WiFi para detectar movimiento de objetos detrás de muros.
A partir de ese momento, hace ya más de quince años, se han hecho muchas investigaciones sobre cómo utilizar las perturbaciones en la señal de un canal - lo que se llama "Chanel State Information" (CSI) y que viene a ser la información que podemos mediar de un canal (por ejemplo la potencia de señal en una malla de campo ) - para poder detectar objetos, formas y movimientos.
Tras ese trabajo, en el año 2014, con estas técnicas se era ya capaz de mucho más, como explicaron en un nuev paper titulado "Multi-Person Motion Tracking via RF Body Reflections", donde además de ver a través de los muros ya se era son capaz de llegar a detectar un número exacto de personas en movimiento o detectar el movimiento del pecho de una persona en concreto para poder conocer hasta el ritmo cardiaco, solo con medir el CSI de la red WiFi.
La idea que se utiliza se basa en crear un dispositivo con múltiples antenas, de un tamaño muy manejable cercano al de una moneda, para poder triangular todas las señales reflejadas por un cuerpo, detectando en tiempo real el ritmo de la respiración e infiriendo el ritmo cardiaco.

Por supuesto, desde aquel año 2009 hasta hoy, la evolución de las técnicas de Machine Learning, con los avances en algoritmos de Deep Learning, ha hecho que con los nuevos algoritmos de Inteligencia Artificial, puedes hacer extracción mucho más fina de los datos CSI de una red WiFi, y de eso trata el trabajo de WhoFi, de ser capaz de re-identificar a una persona que entra en un espacio por medio de las perturbaciones en la señal WiFi, o lo que es lo mismo, de los datos del CSI que se generan. 
La idea no es nueva, y se basa en trabajos y datasets disponibles de trabajos anteriores, como "SenseFi: A library and benchmark on deep-learning-empowered WiFi human sensing" y el sistema de autenticación "CAUTION: A Robust WiFi-Based Human Authentication System via Few-Shot Open-Set Recognition"  que utiliza unas pocas capturas de CSI para hacer una huella de una persona usando Deep Learning. En el caso de WhoFi, lo que se busca es, aprovechando los avances en algorítmica de IA, conseguir un ratio de acierto mucho mayor en la re-identificación de personas previamente hechas "onboarding".

Primeramente se le hace un onboarding en el sistema, construyendo para cada persona un vector normalizado a partir de un Encoder de IA que que procesa los datos CSI del canal WiFi, con el objetivo de generar una huella digital de esa persona.
El Enconder, lo han construido con varios modelos diferentes, para probar cuál de ellos daba mejores ratios, y los que han probado han sido los que mejores resultados dan en secuencias de datos temporales, como son los LSTM, los Bi-LSTM y nuestros queridos Transformers, que también se pueden usar para visión.
Los resultados quedan muy a las claras en las siguientes tablas, donde todos los datasets utilizados - incluidos datos CSI generados con técnicas de Data Augmentation para tener un mayor número de personas onboarding - dejan a las claras que con con los Transformers se consiguen ratios de re-identificación altísimos y con una gran precision.
Esto es algo muy relevante, porque utilizar los datos CSI de la WiFi como forma de autenticación continua puede cambiar los sistemas de alarma en el hogar, detectando si son las personas que deben ser las que están en casa o no, por ejemplo, para tener una alarma silenciosa, pero también se podrían usar para vigilar espacios, movimientos de personas, etcétera.

Figura 2: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

Al final, tenemos un canal de datos, y con el avance de las técnicas de Inteligencia Artificial, los casos de uso que pueden aparecer son cada vez mayores, al ser capaces de detectar aún más insights de información de los datos disponibles. Datos + Algoritmos = Programas, y hoy en día, Datos + IA = Conocimiento.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


sábado, marzo 23, 2024

PrintListener: Cómo clonarte las huellas digitales por el sonido de deslizar un control en la pantalla del móvil

Reconozco que cuando lei el título de este trabajo lo primero que hice fue mirar a ver si era el 1 de Abril - día de los inocentes en Estados Unidos -, luego me fijé que los investigadores eran de China y me hizo leérmelo con más detalle. Y sí, lo que hace este trabajo es justo lo que dice el título, clonarte la huella dactilar a partir del sonido que hace tu huella en el micrófono del terminal móvil cuando deslizas un control por la pantalla del smartphone.


Es cierto que el "touch" depende del agarre y deslizamiento de nuestra huella digital y por la pantalla, y nuestras huellas digitales son parte fundamental de nuestro agarre. Por eso cuando se nos mojan las manos, las huellas de los dedos de nuestras manos se encogen, y nos permiten tener más agarre en superficies mojadas. Así que algo había, y por eso me lo leí y os lo traigo por aquí.
El trabajo se llama "PrintListener: Uncovering the Vulnerability of Fingerprint Authentication via the Finger Friction Sound", y básicamente plantea un escenario de ataque en el que una aplicación maliciosa puede "forzarte" a desplazar controles por la pantalla, al mismo tiempo que graba el sonido que genera esa fricción en el micrófono del terminal.

Con este sonido, se procede después a analizar la onda de audio generada, con diferentes modelos para lograr, primero descubrir el tipo de huella dactilar que se tiene, y después algún patrón de minucias basadas en los datos de entrenamiento.
Lo ideal es que el atacante controle la app móvil y pueda forzar el deslizado que desee, ya sea un desplazamiento lateral hay un lado o hacia el otro, un giro o un scroll horizontal o vertical. Si esto es así, se controla el tipo de audio que se desea captura para conseguir la información deseada.
Al final, cuando se hace presión en la pantalla para hacer "Touch", las zonas de agarre se ven en el mapa topográfico de la Figura 5, donde la presión mayor es más "roja", y por tanto es totalmente diferente si la huella tiene el giro hacia la izquierda, hacia la derecha, o si tiene una espiral en la huella. Así que su sonido de fricción será diferente. 
Esto permite clasificar, a partir del sonido, si la huella es de tipo Left Loop, Whorl o Right Loop, algo en lo que el éxito es bastante alto en las pruebas experimentales que se muestran en el artículo de la publicación. Incluso cuando se prueba con huellas de dedos difuminadas (donde la huella dactilar del dedo está muy "lijada"), tal y como se ve en la imagen anterior.

El proceso de reconstrucción de la huella dactilar

Ahora que ya tenemos claro que se puede clasificar la huella dactilar a partir del sonido, el proceso que plantean en el trabajo se basa en tres fases con diferentes experimentos. Primero, se puede forzar un gesto de desplazamiento diferente, se graba el audio y se preprocesa la señal de audio para que sea útil en los algoritmos de clasificación.
Segundo, se clasifican las huellas para saber si es Left Loop, Right Loop o Whorl, usando dos modelos - en amplitud y en profundidad - usando redes neuronales convolucionales  (CNN) para generar las huellas patrón.
Una vez que se sabe qué tipo de huella y se tiene una imagen previa sobre la que trabajar, se trata de generar la huella concreta que puede ser a partir de un procesado detallado del audio sabiendo ya qué tipo de huella es, para ello lo más difícil es generar bien el centro del Loop o del Whorl, y luego definir las minucias por zonas.
En la primera fase, con tener un DataSet entrenado de datos que mezclen tipos de huellas, tipos de gestos y tipos de sonidos capturados, entrenar los clasificadores no parece "tan" complejo, pero lo que sorprende es que tras la fase de generar la huella final, los resultados, con diferentes gestos, diferentes tipos de huellas, y diferentes algoritmos, consiguen resultados válidos.
Según describen en el artículo logran saltarse probando hasta cinco veces por huella generada, el 27.9% de las pruebas de verificación de huella en sistemas de autenticación biométrica con huellas dactilares parciales, y el 9.3% en aquellos que piden la huella completa.  Y no deja de ser sorprendente que sea así. 

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, febrero 14, 2022

Storm Breaker: ¿Qué me puede pasar con sólo hacer clic en un enlace?

Hace unos meses, Chema Alonso fue entrevistado por Antonio Fernandes en su canal de Youtube sobre "Cultura de la Ciberseguridad". En el minuto 47:30 de la entrevista, Lord Draugr, un Youtuber que centra su contenido en investigaciones de todo tipo, hace un cameo para preguntarle a Chema sobre los peligros que puede correr alguien por el simple hecho de hacer clic en un enlace.

Figura 1: Storm Breaker: ¿Qué me puede pasar con sólo hacer clic en un enlace?

Si quieres, puedes ver la entrevista completa, que está publicada en Youtube, así que si te animas a pasar un rato con Chema y Antonio, aquí la tienes, que hablan de muchas cosas interesantes.


Figura 2: Entrevista a Chema Alonso en Cultura de Ciberseguridad

Sobre esta pregunta que os comentaba, yo siempre estoy dándole vueltas a ver qué me puedo automatizar o qué puedo crear para mis andanzas en los programas de Bug Bounty, que ya sabéis que al final Chema Alonso me lío para hacer incluso un libro de esto en 0xWord titulado "Bug Bounty: De profesión Cazarecompensas", y recientemente me ha venido a la cabeza al descubrir una utilidad desarrollada para obtener información sensible de cualquier equipo que se conecte a una determinada URL.
Esta herramienta llama la atención por la facilidad de uso y la poca interacción que hace falta por parte de la víctima, ya que no requiere ningún tipo de instalación en el teléfono o en el ordenador personal de la víctima, solo que haga clic en un enlace. O que visite una URL en la que estén incluidas las funciones de esta utilidad, llamada "Storm-Breaker".

Storm-Breaker

Los fans de Marvel recordaréis este nombre por el arma que utiliza Thor en "Avengers: Endgame" y en "Avengers: Infinity War", y es que en ella se inspiraron los creadores de esta herramienta. Esta utilidad permite obtener de la víctima información muy sensible como su ubicación, capturas de la cámara, grabaciones del micrófono… sin necesidad de instalar nada en el dispositivo.


Storm-Breaker se puede encontrar gratuitamente en su directorio de GitHub, y su instalación es rápida y sencilla a través de los siguientes comandos:

$ git clone https://github.com/ultrasecurity/Storm-Breaker
$ cd Storm-Breaker
$ sudo bash linux-installer.sh
$ python3 -m pip install -r requirments.txt
$ sudo python3 Storm-Breaker.py

Tras ejecutar el programa, este generará una URL dinámica con Ngrok (*.ngrok.io) que apuntará al localhost del atacante y que una vez haya sido ejecutada generará un template con una web diseñada específicamente para cada tipo de información que el atacante desee obtener de la víctima, como por ejemplo:

- Localización de la víctima (URL de Google Maps con sus coordenadas) 
- Contraseña del Sistema Operativo (Windows 10) 
- Capturas de pantalla de la webcam o de la cámara del teléfono en tiempo real.
- Grabaciones en tiempo real del micrófono del dispositivo.

La víctima accederá a una web desde la que se le pide simplemente que haga clic en el enlace para continuar, y será entonces cuando el atacante reciba la información en su máquina.

Reflexiones

Como veis, no es necesario instalar un APK en un teléfono o un ejecutable en un ordenador para infectar un dispositivo y obtener información de él. Tampoco es necesario dominar Metasploit o Kali Linux - aunque si lo dominas, es un extra, cómo no, que Storm-Breaker funciona en Kali Linux - para utilizar herramientas como esta, que pueden ser igualmente peligrosas-


Los cibercriminales cuentan con una amplia gama de herramientas y que cada vez es más democrática en el mal sentido, ya que está dando acceso a un mayor número de atacantes de los que protegerse. Ante este panorama, merece la pena estar siempre atentos ante cualquier señal de sospecha y evolucionar igual de rápido que lo hacen las técnicas de phishing que cada día son más avanzadas y peligrosas.

Un saludo,

Autor: Pablo García Pérez

Contactar con Pablo García

lunes, octubre 14, 2019

(más) Técnicas de escaneo y evasión con Nmap usando el tiempo

La semana pasada hablé de técnicas de escaneo y evasión con Nmap. Hoy hablo de más técnicas de escaneo, como si fuera una segunda parte del artículo, y puede que vengan más en un futuro. El arte del fingerprinting, en muchas ocasiones es eso, un arte. Nos permite saber cosas sobre las máquinas cuando vamos a ciegas.

Figura 1: (más) Técnicas de escaneo y evasión con Nmap usando el tiempo

No sabemos si la máquina es Windows, un GNU/Linux, un macOS, no sabemos si tiene un puerto abierto o cerrado, si tiene un servicio u otro, si tiene una mecanismo de protección o no lo tiene. Ni siquiera tenemos por qué saber si estamos en la misma red que la máquina o las máquinas de las que queremos saber. Por eso, cuando hacemos un Ethical Hacking, cuanto más sepamos de la fortificación de Windows, de la fortificación de GNU/Linux y de la seguridad de MacOS, mejor entenderemos los resultados que obtenemos.

Fgiura 2: Libros de "Máxima Seguridad en Windows 4ª Edición"
"Hardening de servidores GNU/Linux 3ª Edición"
& "macOS Hacking" de 0xWord

Ligamos Nmap al fingerprinting en muchas ocasiones, pero no es la única herramienta, aunque sin duda es una herramienta con experiencia, con años de desarrollo y con extensibilidad a través de su motor NSE. La semana pasada la utilizamos para dar juego a ping sweep y todas las variantes de bypasses y evasiones que podemos imaginar en un entorno en el que queremos saber si la máquina está o no está.

Figura 3: Libro de técnicas de Ethical Hacking en 0xWord

Hoy vamos a jugar con los templates de tiempo y la forma de bypassear ciertas protecciones gracias al timing.

Nmap Timing: Jugando con el tiempo

La plantilla de tiempo en nmap viene dada por el parámetro –T. Cuando ponemos –T0 es la plantilla de tiempo más lenta, con diferencia, mientras que –T5 es la más rápida. Por defecto, ¿Qué utiliza nmap si no indicamos nada? Por defecto se utiliza la plantilla –T3. A continuación, os dejo un listado de los tipos de plantillas, sus nombres y las posibilidades de éstas:
• Insane –T5: Esta plantilla envía paquetes lo más rápido posible. Solo espera 0,3 segundos para obtener una respuesta ante el envío de un paquete. La diferencia de tiempo entre los dos paquetes enviados es de hasta 5 milisegundos. Escaneo muy rápido, pero el cual genera mucho ruido. La precisión aquí también es rebajada. Este escaneo puede ser utilizado en una red rápida, en un entorno local muy rápido.
• Aggresive –T4: Esta plantilla espera solo 1,25 segundos para obtener una respuesta. La diferencia entre el envío de paquetes es de 10 milisegundos.
• Normal –T3: Esta plantilla es la de por defecto.
• Polite –T2: Esta plantilla se utiliza para enviar paquetes rápidamente. La diferencia entre el envío de paquetes es de 0,4 segundos.
• Sneaky –T1: Esta plantilla se utiliza para enviar paquetes rápidamente pero más lento que un Normal o Polite Scan. La diferencia entre el envío de paquetes es de 15 segundos. 
• Paranoid –T0: Esta plantilla tiene una diferencia entre envío de paquetes de 5 minutos. Genera muy poco ruido, pero estamos metiendo una diferencia entre paquetes muy grande.
En la imagen se puede ver la ejecución de –T2, -T1 y –T0. Se pueden apreciar las diferencias en tiempo de cada escaneo.

Figura 4: Pruebas con -T2, -T1 y -T0

Empezamos a bloquear: Bloqueando –T5

En nuestra máquina GNU/Linux Ubuntu con iptables añadimos estas reglas:
iptables -I INPUT -p tcp -m state --state NEW -m recent --set 
iptables -I INPUT -p tcp -m state --state NEW -m recent --update --seconds 1 --hitcount 1 -j DROP
Como podemos ver en la siguiente imagen, la primera petición se responde, pero las siguientes no tienen margen, como indica la regla, por lo que como no ha pasado el tiempo de un segundo entre peticiones se filtra el paquete.

Figura 5: Resultado con un -T5. Se detectan los servicios.

Como la regla tiene 1 segundo entre peticiones, el bypass es realmente sencillo. Se puede hacer un bypass con el propio –T5 a través de los reintentos. Cada reintento consume tiempo por lo que si aplicamos reintentos podemos superar esos segundos de bypass. Con la opción –max-retries [número de reintentos].

Figura 6: Se salta igualmente

En este caso, también podíamos utilizar las otras plantillas de la –T4 a la –T0. Esto es debido al poco tiempo indicando en el parámetro –seconds de iptables.

Bloqueando –T4, -T3 (modo por defecto) y –T2

Ahora vamos a aplicar nuevas reglas para bloquear estas plantillas de tiempo. Si quisiéramos bloquear –T1 ampliaríamos en más segundos. Como se puede ver el juego es sencillo.
iptables -I INPUT -p tcp -m state --state NEW -m recent --set 
iptables -I INPUT -p tcp -m state --state NEW -m recent --update --seconds 3 --hitcount 1 -j DROP
En la imagen se puede ver cómo se bloquea o filtran las peticiones con –T4, mientras que si se utilizada un –T1 y se tardan 60 segundos para escanear 3 puertos, se obtiene respuesta del estado de los puertos.

Figura 7: Se tarda 60 segundos para escanear tres puertos

Si en las reglas anteriores metemos como valor 100 al parámetro –seconds, iptables hará DROP sobre los paquetes de la plantilla –T1, lo que dificultaría mucho el proceso de scanning. Este bypass, a estas alturas del artículo ya se puede hacer uno a la idea de que será usando la plantilla –T0.

Saludos,

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.
Para consultas puedes usar el Buzón Público para contactar con Pablo González

lunes, septiembre 09, 2019

Cómo descubrir los dispositivos 'Inteligentes' de Xiaomi que ya se te han colado en tu casa

Hoy en día muchos hogares cuentan con dispositivos Xiaomi destinados a la domótica y mi casa no es una excepción. La pregunta que me hacía es ¿cuántos dispositivos de Xiaomi tengo en casa?. Estos pueden ser bombillas, centralitas de alarma o cámaras IP. Por ello en este artículo de hoy os voy a enseñar cómo se pueden descubrir los dispositivos de este fabricante a través del protocolo MDNS o directamente con el uso de sockets.

Figura 1: Cómo descubrir los dispositivos 'Inteligentes' de Xiaomi
que ya se te han colado en tu casa

La primera opción es muy rápida si dispones de un sistema operativo GNU/Linux y haces uso de Avahi. Este post va a ser bastante rápido y directo, para llegar lo antes posible al objetivo marcado en el título, así que solo se va a dividir en dos pequeñas secciones que traten justo esos temas. Vamos a ello.

Descubriendo dispositivos Xiaomis con MDNS

Para hacer la búsqueda de dispositivos usando MDNS aprovechándonos de Avahi, podemos utiliar el siguiente comando:
avahi-browser _miio._udp
Y cuando se ejecute, podremos ver por la pantalla todos los dispositivos que se van encontrando:

Figura 2: Dispositivos descubiertos

Para finalizar la búsqueda basta con presionar CTRL^C. ¿Pero esto lo podemos hacer con algún script en Python? La respuesta es sí, que nuestro querido Python está hecho para los pentesters, así que lo podemos hacer uso de la librería zeroconf, el script básico se puede ver a continuación:

Figura 3: Usando zerconf con un script en Python

El script son solo dieciséis líneas y ya lo tenemos montado. El código lo puedes adaptar fácilmente a que se termine con un una señal SIGINT en vez de un Time-Out. Y el resultado ya nos muestra más información que con el ejemplo de Avahi:

Figura 4: Lanzando nuestro script en Python

Con la búsqueda de dispositivos Xiaomi mostrada aquí no he conseguido que descubra el 100% de los dispositivos, de 8 tipos probados en total han salido 7. El producto que se resiste es la lámpara de escritorio. Cuando hablamos de descubrimientos, normalmente existen varias opciones, y ésta no es la excepción. Vamos con la segunda parte.

Descubriendo dispositivos Xiaomis con sockets

Este método utiliza la librería socket de Python, y el descubrimiento no es nada del otro mundo. Lo único que hemos hecho es el script se puede ver a continuación donde recorremos el esquema de direcciones IP por los puertos de los dispositivos Xiaomi para luego usar alguna información de fingerprinting - basada en banner-grabbing u otra similar - que nos permita detectarlos.

Figura 5: Script para detectar dispositivos

Para desarrollar el código se ha tenido en cuenta python-miio. No llega a ser el doble de líneas, pero de esta forma solo obtenemos la dirección IP. Ya es un comienzo para luego ir obteniendo más datos con otras herramientas de fingerprinting, o como no, haciendo uso de Python. Y el resultado es el siguiente:

Figura 6: Dispositivos descubiertos con el escaneo de sockets

Los tres dispositivos que estaban conectados a la hora de hacer la prueba son descubiertos, al igual que en la anterior opción. Y como habéis visto, podéis haceros sabiendo Python cualquier script que necesites para tus tareas de investigación. Rápido y sencillo. Nos vemos en la próxima entrada.

Figura 7: Python para Pentesters & Hacking con Python

¡Hasta pronto!

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

Entrada destacada

Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord

Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...

Entradas populares