
Interceptación remota de video mediante una plataforma de radio definida por software.
Este proyecto es un kit de herramientas de software para espiar remotamente monitores de video mediante un receptor de Radio Definida por Software (SDR). Aprovecha las emanaciones comprometedoras de los cables que transportan señales de video.
El video rasterizado generalmente se transmite una línea de píxeles a la vez, codificada como una corriente variable. Esto genera una onda electromagnética que puede ser captada por un receptor SDR. El software mapea la intensidad de campo recibida de un píxel a un tono de escala de grises en tiempo real. Esto forma una estimación de falso color de la señal de video original.
El kit de herramientas utiliza hardware comercial sin modificar, lo que reduce los costos y aumenta la movilidad en comparación con las soluciones existentes. Permite un posprocesamiento adicional que mejora la relación señal-ruido. El atacante no necesita tener conocimiento previo sobre la pantalla de video objetivo. Todos los parámetros, como la resolución y la frecuencia de actualización, se estiman con la ayuda del software.
El software consiste en una biblioteca escrita en C, una colección de complementos (plugins) para varios front-ends de Radio Definida por Software (SDR) y una Interfaz Gráfica de Usuario (GUI) basada en Java. Es una aplicación multiplataforma, con todas las bibliotecas nativas precompiladas y empaquetadas en un único archivo jar de Java.
Haz doble clic en el archivo JTempestSDR.jar para iniciarlo. Si no se inicia, necesitarás recompilar el proyecto.
Este es el envoltorio Java y la GUI. Compila todos los proyectos y complementos compatibles, incluida la propia GUI de Java. Entra en la carpeta JavaGUI y escribe
make all
Si no encuentra "jni.h", debes ejecutar uno de los siguientes comandos:
make all JAVA_HOME=path_to_jdk_installation
En Windows 8 x64 esto podría verse así
make all JAVA_HOME=C:/PROGRA~2/Java/jdk1.7.0_45
Para forzar la compilación para X64 o X32 (en caso de que tu compilador lo admita), haz lo siguiente
make all JAVA_HOME=C:/PROGRA~2/Java/jdk1.7.0_45 ARCHNAME=X64
En Ubuntu con openjdk podría verse así
make all JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
Nota: Esto también compilará los complementos. ¡Algunos de ellos requieren bibliotecas adicionales! Puedes deshabilitar la compilación de complementos editando el Makefile en JavaSDR.
Necesitas tener MinGW instalado.
En Windows, esto también compilará el complemento SDR de Mirics para el dongle USB SDR FlexiTV™ MSi3101. Primero debes instalar el controlador SDR desde http://www.mirics.com/
Para compilar el complemento, ve a la carpeta del complemento y escribe
make all MIRICS_HOME=path_to_mirics_installation
En Windows 8 x64 esto podría verse así
make all MIRICS_HOME=C:/PROGRA~1/MiricsSDR
Si ejecutas el complemento Mirics, asegúrate de que mir_sdr_api.dll esté en la ruta de la biblioteca (o en el mismo directorio que el ejecutable). Puedes encontrar la dll en C:/Program Files/MiricsSDR/API/x86 o C:/Program Files/MiricsSDR/API/x64 según tu arquitectura.
Si no tienes la intención de usar el dongle Mirics, puedes omitir este paso editando el Makefile en el directorio JavaGUI. Elimina TSDRPlugin_Mirics de la línea 89, cambiándolo de
PLUGINS += TSDRPlugin_Mirics TSDRPlugin_ExtIO
a
PLUGINS += TSDRPlugin_ExtIO
En Linux y OS X, compilar la GUI también compilará el controlador UHD, por lo que necesitarás tener UHD y las bibliotecas boost correspondientes instaladas (UHD las instalará automáticamente). Si no quieres los controladores UHD, puedes omitir su compilación eliminando la línea 91 para Linux y la línea 93 para OS X del Makefile en el directorio JavaGUI. Así es como se ven esas líneas por defecto:
PLUGINS += TSDRPlugin_UHD
Todos los proyectos se pueden compilar tanto con Eclipse como con make.
Entra en la carpeta y escribe
make all
Esto producirá la biblioteca que se puede encontrar en el subdirectorio bin. Los encabezados que necesitas para interactuar con ella se encuentran en src/include.
Ve a un directorio de complementos y escribe
make all
Esto debería funcionar a menos que haya algo específico para el propio complemento. Busca un README en ese caso.
Las distintas carpetas contienen los distintos subproyectos. La carpeta TempestSDR contiene la biblioteca principal en C. El proyecto tiene como objetivo ser multiplataforma con soporte de complementos para front-ends SDR en diferentes carpetas.
El proyecto se compila con Eclipse con el complemento CDT (pero esto no es necesario). Actualmente es compatible con Windows, Linux y OS X. Algunos complementos de front-end podrían no ser multiplataforma. También necesitas tener instalado un Kit de Desarrollo de Java (JDK).
Necesitas tener MinGW instalado y los comandos gcc y make deben estar en tu ruta (PATH). Además, javac y javah también deben estar en tu ruta (PATH).
Se anunciará próximamente.