Detección de micrófonos ocultos con Salamandra

Poco a poco vamos a ir paladeando y digiriendo todas las charlas de la Chaos Communication Congress que tuvo lugar recientemente en Leipzig (34C3) y empezamos con la presentación de Veronica Valeros y Sebastián García: Spy vs. Spy: A modern study of microphone bugs operation and detection.

Inspirados en el artista y activista chino Ai Weiwei que descubrió micrófonos ocultos en su casa tras regresar de un viaje de más de dos meses por Alemania y el Reino Unido, enfocaron su investigación principalmente en dispositivos transmisores de radio FM y crearon una herramienta llamada Salamandra capaz de detectar micrófonos espía.
Con sólo un dispositivo SDR (Software Define Radio) como éste (sólo 8€), esta herramienta escrita en python es capaz de encontrar micrófonos basándose en la fuerza de la señal enviada por el micrófono y la cantidad de ruido y frecuencias superpuestas. En función del ruido generado, puede calcular qué tan cerca o lejos está del micrófono.

Instalación

Salamandra necesita tener instalado previamente el software rtl_power:

- MacOS: sudo port install rtl-sdr
- Linux (basados en Debian): apt-get install rtl-sdr
- Windows: Ver http://www.rtl-sdr.com/getting-the-rtl-sdr-to-work-on-windows-10/

Si rtl_power se ha instalado correctamente, deberíamos ser capaces de ejecutar este comando en la consola:

rtl_test

y al menos debe aparecer un dispositivo detectado.

Uso

Uso básico para detectar micrófonos

./salamandra.py

Este comando usará un umbral predeterminado de 10.8, una frecuencia mínima de 100Mhz, una frecuencia máxima de 400Mhz y sonido. Se pueden cambiar los valores predeterminados con parámetros.

Modo de localización para encontrar micrófonos ocultos

Ejecutar Salamandra con un umbral de 0, comenzando en la frecuencia 100MHz y terminando en la frecuencia 200MHz. La búsqueda se activa con (-s). Y hacer sonidos (-S)

./salamandra.py -t 0 -a 100 -b 200 -s -S

Modo de localización desde un archivo rtl_power almacenado

./salamandra.py -t 0 -a-111 -b 113 -s -f stored.csv

Para crear realmente el archivo con rtl_power, de 111MHz a 114MHz, con un paso de 4000Khz, una ganancia de 25, una integración de 1s y una captura de 5min, puede hacer:

rtl_power -f 111M: 114M: 4000Khz -g 25 -i 1 -e 300 stored.csv

Consejos

- Cuanto más amplio sea el rango de frecuencias seleccionadas, más largo será el análisis.
- Cuanto más amplio sea el rango, más probabilidades habrá de encontrar micrófonos.
- Una vez que se conozca la frecuencia "problemática", puede restringirla con parámetros.

Vídeo:


Github:

https://github.com/eldraco/Salamandra

Comentarios

  1. ¿Alguien me confirma que da falsos positivos? ¿O debería empezar a preocuparme?

    ResponderEliminar
    Respuestas
    1. jajaj ostia ya lo has probado entonces?

      Eliminar
    2. Ya lo habia probado antes, pero al leer el post vi que hubo actualizaciones en Diciembre 2017, así que lo actualicé y lo probe en la RPi3.
      Empiezo a andar algo acojonado.
      Captura -> https://preview.ibb.co/czen4w/salamandra.png

      Eliminar
    3. Sintonizar y escuchar me reveló que son emisoras comerciales. Las emisoras de FM empiezan por los 87,5 MHz hasta los 108 MHz más o menos.
      Pensaba que sería algún armónico de un hub usb de 7 puertos que tengo a tope, o quizá de la PiTFT, que usa los GPIO para funcionar y quizá irradiaba algo que diera falsos positivos. A veces la realidad supera a la ficción, pero esta vez la realidad es cutre.

      Eliminar
  2. Los equipos profesionales de detección de micrófonos cuestan varias decenas de miles de euros (o como poco SDR de miles de euros en plan más casero), y las personas que los operan son profesionales con una formación muy específica. Intentar buscar un micro oculto de mediana calidad (entre 100 kHz y por ejemplo 4 Ghz) con la resolución en hz, velocidad y selectividad de un sdr chino de 8 euros es como intentar correr F1 con un seat 127. Es gracioso, poco más. Casi más eficiente es rastrearlo con un scanner de VHF/UHF y si es de FM con una radio normal casera.

    ResponderEliminar
    Respuestas
    1. si, esto simplemente acerca al usuario de calle a la posibilidad de jugar con estas cosas.. al menos es divertido

      Eliminar

Publicar un comentario