
🎤⌨️ Intercettazione acustica della tastiera
Questa è una raccolta di strumenti da riga di comando e GUI per la cattura e l'analisi di dati audio.
Lo strumento più interessante si chiama keytap - può indovinare i tasti premuti sulla tastiera analizzando solo l'audio catturato dal microfono del computer.
Guarda questo post del blog per maggiori dettagli:
Keytap: descrizione e alcuni pensieri casuali
Video: breve demo di Keytap in azione
Lo strumento keytap2 è un altro strumento interessante per il recupero del testo dall'audio. Non richiede dati di addestramento - utilizza invece informazioni statistiche sulle frequenze delle lettere e degli n-grammi nella lingua inglese.
Una descrizione più dettagliata dello strumento è disponibile qui: Keytap2 discussion
Video: breve demo di Keytap2 in azione
CTF: riesci a indovinare il testo che viene digitato?
Questa versione introduce significativi miglioramenti algoritmici e migliori statistiche sugli n-grammi rispetto a keytap2. L'attacco ora è completamente automatizzato e non richiede alcun intervento manuale durante il processo di recupero del testo.
Video: breve demo dell'uso di Keytap3
Video: un altro esempio dell'uso di Keytap3
Verifica se la tua tastiera è vulnerabile a Keytap:
"Funziona incredibilmente bene.
Spero tu realizzi cosa hai creato (e reso disponibile a ogni persona nel mondo)." -- ffpip
"L'ho appena provato e funziona incredibilmente bene. Quasi mi fa venir voglia di smettere di usare una tastiera meccanica." -- Karawebnetwork
"Questo attacco e il Van Eck phreaking sono i motivi per cui Edward Snowden, mentre digitava password e altre informazioni sensibili, si copriva con una coperta lui e il suo laptop." -- aarchi
"Questo è ciò che gli utenti di tastiere meccaniche meritano" -- super guy
"cazzo.." -- Lluis Franco
Dipendenze:
SDL2 - utilizzato per catturare l'audio e aprire finestre GUI libsdl
[Ubuntu]
$ sudo apt install libsdl2-dev
[Mac OS con brew]
$ brew install sdl2
[MSYS2]
$ pacman -S git cmake make mingw-w64-x86_64-dlfcn mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL2
FFTW3 (opzionale) - alcuni strumenti ausiliari eseguono trasformate di Fourier fftw
Linux, FreeBSD, Mac OS, Windows (MSYS2 + MinGW)
git clone https://github.com/ggerganov/kbd-audio
cd kbd-audio
git submodule update --init
mkdir build && cd build
cmake ..
make
Breve riepilogo degli strumenti disponibili. Se lo stato dello strumento non è stabile, aspettati problemi e risultati non ottimali.
record-full
Registra l'audio in un file binario grezzo su disco
./record-full output.kbd [-cN]
play-full
Riproduce una registrazione catturata con lo strumento record-full
./play-full input.kbd [-pN]
record
Registra l'audio solo durante la digitazione. Utile per raccogliere dati di addestramento per keytap
./record output.kbd [-cN] [-CN]
play
Riproduce una registrazione creata con lo strumento record
./play input.kbd [-pN]
keytap
Rileva i tasti premuti tramite la cattura audio dal microfono in tempo reale. Utilizza dati di addestramento catturati con lo strumento record.
./keytap input0.kbd [input1.kbd] [input2.kbd] ... [-cN] [-CN] [-pF] [-tF]
keytap-gui
Rileva i tasti premuti tramite la cattura audio dal microfono in tempo reale. Utilizza dati di addestramento catturati con lo strumento record. Versione GUI.
./keytap-gui input0.kbd [input1.kbd] [input2.kbd] ... [-cN] [-CN]
Demo online: https://keytap.ggerganov.com
keytap2-gui record.kbd n-gram-dir [-pN] [-cN] [-CN]
Qualsiasi feedback sulle prestazioni degli strumenti è molto apprezzato. Lascia un commento qui.
| Nome | Tipo | Stato |
|---|
| record | testo | stabile |
| record-full | testo | stabile |
| play | testo | stabile |
| play-full | testo | stabile |
| view-gui | gui | stabile |
| view-full-gui | gui | stabile |
| key-detector | testo | stabile |
| keytap | testo | stabile |
| keytap-gui | gui | stabile |
| keytap2-gui | gui | stabile |
| keytap3 | testo | stabile |
| keytap3-gui | gui | stabile |
| - | extra | - |
| guess-qp | testo | esperimento |
| guess-qp2 | testo | esperimento |
| keytap3-multi | testo | esperimento |
| scale | testo | esperimento |
| subreak | testo | esperimento |
| key-average-gui | gui | esperimento |
| keytap2 | testo | esperimento |
Rileva i tasti premuti tramite la cattura audio dal microfono. Utilizza informazioni statistiche (frequenze di n-grammi) sulla lingua. Non sono richiesti dati di addestramento. Il file di input 'record.kbd' deve essere generato tramite lo strumento record-full e contiene i dati audio da analizzare. La cartella 'n-gram-dir' deve contenere file di probabilità di n-grammi per la lingua corrispondente.
./keytap2-gui record.kbd ../data
Demo online: https://keytap2.ggerganov.com
keytap3
Recupero completamente automatizzato di testo sconosciuto da registrazioni audio.
./keytap3 input.kbd ../data [-cN] [-CN] [-pF] [-tF] [-FN] [-fN]
Demo online: https://keytap3.ggerganov.com
keytap3-gui
Versione GUI dello strumento keytap3.
./keytap3-gui input.kbd ../data [-cN] [-CN] [-pF] [-tF] [-FN] [-fN]
Demo online: https://keytap3-gui.ggerganov.com
view-full-gui
Visualizza le forme d'onda registrate con lo strumento record-full. Può anche riprodurre i dati audio.
./view-full-gui input.kbd [-pN]