
Intercettazione video remota tramite una piattaforma radio definita dal software
Questo progetto è un kit di strumenti software per intercettare da remoto i monitor video utilizzando un ricevitore Software Defined Radio (SDR). Sfrutta le emissioni compromettenti dei cavi che trasportano segnali video.
Il video raster viene solitamente trasmesso una riga di pixel alla volta, codificato come una corrente variabile. Questo genera un'onda elettromagnetica che può essere captata da un ricevitore SDR. Il software mappa in tempo reale l'intensità di campo ricevuta di un pixel in una sfumatura di grigio. Questo forma una stima a falsi colori del segnale video originale.
Il toolkit utilizza hardware commerciale non modificato, il che riduce i costi e aumenta la mobilità rispetto alle soluzioni esistenti. Consente un'ulteriore post-elaborazione che migliora il rapporto segnale/rumore. L'attaccante non ha bisogno di avere conoscenze preliminari sul display video target. Tutti i parametri come risoluzione e frequenza di aggiornamento sono stimati con l'aiuto del software.
Il software è composto da una libreria scritta in C, una raccolta di plug-in per vari front-end Software Defined Radio (SDR) e un'interfaccia grafica (GUI) basata su Java. È un'applicazione multipiattaforma, con tutte le librerie native precompilate e impacchettate in un unico file jar Java.
Fare doppio clic sul file JTempestSDR.jar per avviarlo. Se non si avvia, sarà necessario ricompilare il progetto.
Questo è il wrapper Java e la GUI. Compila tutti i progetti e i plugin supportati, inclusa la GUI Java stessa. Entra nella cartella JavaGUI e digita
make all
Se non riesce a trovare "jni.h", dovresti eseguire uno dei seguenti comandi:
make all JAVA_HOME=path_to_jdk_installation
Su Windows 8 x64 potrebbe essere simile a
make all JAVA_HOME=C:/PROGRA~2/Java/jdk1.7.0_45
Per forzare la compilazione per X64 o X32 (nel caso il tuo compilatore lo supporti), fai quanto segue
make all JAVA_HOME=C:/PROGRA~2/Java/jdk1.7.0_45 ARCHNAME=X64
Su Ubuntu con openjdk potrebbe essere simile a
make all JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
Su Mac OSX il comando potrebbe essere simile a
make all JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
Nota: questo compilerà anche i plugin. Alcuni di essi richiedono librerie aggiuntive! Puoi disabilitare la compilazione dei plugin modificando il Makefile in JavaSDR.
Devi avere MinGW installato.
Su Windows, questo compilerà anche il plugin SDRplay RSP. Devi prima installare il driver SDR da http://www.sdrplay.com/
Esempio di come compilare per Windows x64
export PATH=$PATH:"/cygdrive/C/Program Files/Java/jdk<put_your_version_here>/bin"
make all JAVA_HOME=C:/PROGRA~1/Java/jdk<put_your_version_here> CC=x86_64-w64-mingw32-gcc ARCHNAME=X64
E sostituisci <put_your_version_here> con la tua versione del JDK.
Se utilizzi il plugin SDRplay, assicurati che mir_sdr_api.dll e sdrplay_api.dll siano nel percorso di libreria (o nella stessa directory dell'eseguibile). Puoi trovare la dll in C:/Program Files/SDRplay/API/x86 o C:/Program Files/SDRplay/API/x64 a seconda della tua architettura.
Se non intendi usare il dongle RSP, puoi saltare questo passaggio modificando il Makefile nella directory JavaGUI. Rimuovi TSDRPlugin_SDRPlay dalla riga 89, cambiandolo da
PLUGINS += TSDRPlugin_SDRPlay TSDRPlugin_ExtIO
a
PLUGINS += TSDRPlugin_ExtIO
Su Linux e OS X, compilando la GUI verrà compilato anche il driver UHD, quindi dovrai avere UHD e le corrispondenti librerie boost installate (UHD le installerà automaticamente). Se non vuoi i driver UHD, puoi saltare la loro compilazione rimuovendo la riga 91 per Linux e la riga 93 per OS X dal Makefile nella directory JavaGUI.
Tutti i progetti possono essere compilati sia con Eclipse che con make.
Entra nella cartella e digita
make all
Questo produrrà la libreria che si può trovare nella sottocartella bin. Le intestazioni necessarie per interfacciarsi con essa si trovano in src/include.
Entra nella directory di un plugin e digita
make all
Questo dovrebbe funzionare a meno che non ci sia qualcosa di specifico per il plugin stesso. In tal caso, cerca un README.
Le diverse cartelle contengono i diversi sottoprogetti. La cartella TempestSDR contiene la principale libreria C. Il progetto mira a essere multipiattaforma con supporto plugin per front-end SDR in diverse cartelle.
Il progetto viene compilato con Eclipse con il plugin CDT (ma non è richiesto). Attualmente supporta Windows, Linux e OS X. Alcuni plugin frontend potrebbero non essere multipiattaforma. È inoltre necessario avere installato un Java Development Kit (JDK).
Devi avere MinGW installato e i comandi gcc e make devono essere nel tuo PATH. Anche javac e javah devono essere nel PATH.
libuhd-dev