Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
keysweeper — KeySweeper is a stealthy Arduino-based device, camouflaged as a functioning USB wall charger, that wirelessly and passively sniffs, decrypts, logs and reports back (over GSM) all keystrokes from any Microsoft wireless keyboard in the vicinity. | Kitploit
Strumenti/GitHubGitHub/samyk/keysweeper
Embedded Systems SecurityPacket Sniffing & AnalysisData ExfiltrationInformation GatheringWireless SecurityHardware HackingRed Teaming
GitHubsamyk/keysweeper

keysweeper

KeySweeper is a stealthy Arduino-based device, camouflaged as a functioning USB wall charger, that wirelessly and passively sniffs, decrypts, logs and reports back (over GSM) all keystrokes from any Microsoft wireless keyboard in the vicinity.

Vedi Repository
1.1k2469 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

KEYSWEEPER // SIGINT // SAMY.PL // REL A TUTTI // HACKING APPLICATO

KeySweeper

KeySweeper è un dispositivo stealth basato su Arduino, mimetizzato come un caricabatterie da muro USB funzionante, che intercetta, decripta, registra e trasmette (via GSM) in modalità wireless e passiva tutte le pressioni dei tasti di qualsiasi tastiera wireless Microsoft nelle vicinanze.

Tutte le pressioni dei tasti vengono registrate online e localmente. Gli avvisi SMS vengono inviati in presenza di parole trigger, nomi utente o URL, esponendo le password. Se scollegato, KeySweeper continua a funzionare grazie alla batteria interna e si ricarica automaticamente quando viene nuovamente alimentato. Uno strumento web consente il monitoraggio live delle pressioni dei tasti.

Dimostrazione live e dettagli completi disponibili nel video: KeySweeper


KeySweeper

Strumento di monitoraggio live KeySweeper

Punto di contatto: @SamyKamkar // [email protected] // http://samy.pl

Rilasciato: 12 gennaio 2015

Codice sorgente / schema: https://github.com/samyk/keysweeper

Costo unitario: $10 - 80 a seconda della configurazione

Stato: Operativo, open source, open hardware, declassificato.


(U) Capacità

Interni di KeySweeper

KeySweeper è un dispositivo stealth basato su Arduino, mimetizzato come un caricabatterie da muro USB funzionante, che intercetta, decripta, registra e trasmette in modalità wireless e passiva tutte le pressioni dei tasti di qualsiasi tastiera wireless Microsoft (che usa un protocollo RF proprietario a 2.4GHz) nella zona.

Le pressioni dei tasti vengono inviate all'operatore di KeySweeper via Internet tramite un chip GSM opzionale, oppure possono essere memorizzate su un chip flash e consegnate in modalità wireless quando un secondo dispositivo KeySweeper entra nel raggio d'azione wireless del KeySweeper bersaglio. Uno strumento web consente il monitoraggio live delle pressioni dei tasti.

KeySweeper ha la capacità di inviare avvisi SMS quando vengono digitate determinate combinazioni di tasti, ad es. "www.bank.com". Se KeySweeper viene scollegato dalla corrente AC, sembra spegnersi, ma continua a operare in modo occulto utilizzando una batteria interna che viene ricaricata automaticamente quando viene ricollegato alla corrente AC.

KeySweeper estende il lavoro di Travis Goodspeed sul progetto goodfet.nrf e quello di Thorsten Schröder e Max Moser del progetto KeyKeriki v2.0.

SMS da KeySweeper


(U) Hardware

Tastiera wireless Microsoft 800

Microcontrollore Arduino / Teensy

$3 - 30: È possibile utilizzare un microcontrollore Arduino o Teensy. Nella mia realizzazione uso un Arduino Pro Mini da 3.3V grazie al suo profilo molto sottile.

Chip RF nRF24L01+ 2.4GHz

$1: Uso un chip RF nRF24L01+ da $1 che comunica tramite GFSK su 2.4GHz. Ulteriori dettagli sono disponibili più sotto; questi chip possono essere acquistati per appena $1 su eBay. Questi chip possono comunicare solo tramite protocolli proprietari e non sono progettati per lo sniffing, ma vedremo più sotto che possono essere usati in modi ingegnosi per intercettare in modalità promiscua.

Caricatore AC USB

$6: Uso un caricatore AC USB economico (raddrizzatore) che converte la corrente AC in 5V DC; quello che ho linkato ha per caso una vite che lo rende facile da aprire (ne ho distrutti diversi nel tentativo di aprirli). Se si usa la versione GSM di KeySweeper, uso in realtà due caricatori USB: i componenti interni di un caricatore piccolo (simile a quello di un iPhone) e l'involucro esterno di un caricatore USB più grande.

Chip flash seriale SPI

OPZIONALE ($2): Un chip flash seriale SPI opzionale può essere utilizzato per memorizzare le pressioni dei tasti. Se si usa la scheda FONA GSM qui sotto, non è necessario, poiché le pressioni dei tasti possono essere memorizzate online in tempo reale; se invece desideri un'opzione più economica, puoi memorizzare le pressioni su questo chip all'interno di KeySweeper e recuperarle in seguito avvicinandoti entro il raggio wireless 2.4GHz del dispositivo con un secondo dispositivo che le recupererà da esso.

La maggior parte dei microcontrollori ha memoria o EEPROM molto limitate su cui memorizzare dati; da qui il vantaggio di avere un chip flash su cui salvare queste pressioni dei tasti.

Adafruit FONA

OPZIONALE ($45): Adafruit ha creato una scheda chiamata FONA che consente di usare una scheda SIM 2G per inviare/ricevere SMS, telefonate e usare Internet direttamente dal dispositivo.

Usando questa scheda, non è necessario alcun chip flash poiché le pressioni dei tasti vengono immediatamente inviate a un server backend per una corretta raccolta dati. Inoltre, se sulle tastiere bersaglio vengono digitate parole chiave specifiche, può essere inviato un SMS a un numero indicato per avvisare l'operatore dell'accaduto.

Scheda SIM

OPZIONALE ($3, solo se si usa la FONA): La FONA richiede una scheda mini-SIM (non micro-SIM). Io uso una scheda SIM prepagata T-Mobile. Suggerisco di usare T-Mobile poiché supporta il 2G, mentre la maggior parte degli altri operatori ha deprecato o sta deprecando la propria rete 2G, e la FONA supporta solo il 2G per Internet. Assicurati di procurarti la dimensione giusta di scheda SIM -- maggiori dettagli sui requisiti SIM della FONA qui.

Batteria agli ioni di litio 3.7V (LiOn o LiPo)

OPZIONALE ($5 e oltre, solo se si usa la FONA): La FONA offre la ricarica integrata della batteria LiPo/LiOn e, finché KeySweeper è collegato alla corrente AC, la batteria viene mantenuta carica, ma è comunque richiesta. Inoltre, KeySweeper continua a funzionare in modo occulto a batteria quando viene scollegato dalla corrente AC e inizia a ricaricarsi quando viene ricollegato alla corrente AC.

KeySweeper scollegato


(U) Software

KeySweeper

Il codice sorgente di KeySweeper può essere ottenuto integralmente dal mio github: https://github.com/samyk/keysweeper

KeySweeper è composto da più parti. Il codice principale è installato sul microcontrollore, mentre un backend basato sul web che usa jQuery e PHP registra tutte le pressioni dei tasti e fornisce un'interfaccia web per il monitoraggio live delle tastiere bersaglio.

KeySweeper richiede anche i seguenti file dalla libreria RF24 di maniacbug:

  • RF24.h
  • nRF24L01.h
  • RF24_config.h

Basta copiare i file nella directory keysweeper_mcu_src. Devi anche cambiare l'istruzione #include nel file RF24.h da #include <RF24_config.h> a #include "RF24_config.h".

Libreria Adafruit FONA

Dovresti usare la mia versione della libreria Adafruit FONA poiché includo un'opzione aggiuntiva che consente alla FONA di farci sapere quando arriva un nuovo messaggio di testo. Nella libreria originale devi interrogare costantemente il modulo per capire se ci sono più messaggi di testo del previsto; con la mia versione, invece, puoi abilitare l'opzione fona.setSMSInterrupt(1) che porta il pin RI (Ring Interrupt) a livello basso per un momento quando arrivano nuovi SMS.

jQuery Terminal

Ho creato uno strumento backend che consente di monitorare le tastiere in tempo reale tramite una pagina web. Il plugin jQuery Terminal lo rende più accattivante.

jQuery UI Virtual Keyboard

jQuery UI Virtual Keyboard contribuisce a rendere accattivante lo strumento di interfaccia spia live di KeySweeper, mostrando i tasti della tastiera virtuale che vengono premuti quando l'utente preme realmente i tasti.

Strumento di monitoraggio live KeySweeper


(U) Determinare il protocollo wireless della tastiera

Quando entriamo in possesso di una tastiera wireless Microsoft, possiamo girarla per ispezionare l'FCC ID. Sulla mia tastiera, l'FCC ID (obbligatorio per tutti i dispositivi che usano radiofrequenze negli Stati Uniti) è C3K1455, che possiamo facilmente cercare sul sito della FCC.

http://samy.pl/keysweeper/fcc.jpg

Immediatamente scopriamo che la tastiera comunica su 2403 - 2480MHz secondo il rapporto FCC.

Ora che so che si tratta di un dispositivo a 2.4GHz, presumo che operi con un protocollo 2.4GHz comune come wi-fi, bluetooth, zigbee o altri, oppure con un protocollo proprietario. Poiché il dispositivo è dotato di un proprio dongle USB (con il proprio FCC ID, C3K1461), è molto probabile che si tratti di un segnale 2.4GHz proprietario.

Poiché è probabilmente un segnale 2.4GHz proprietario, dobbiamo ora usare un qualche metodo di sniffing a 2.4GHz. Gli sniffer Wi-Fi non aiutano perché non si tratta di 802.11 (come quello usato in SkyJack), e nemmeno l'RTL-SDR da solo aiuta, poiché si ferma intorno ai 2.2GHz a meno di usare anche un down converter RF (abbiamo usato RTL-SDR in Digital Ding Dong Ditch), quindi vorrei subito usare HackRF, una software defined radio potente ed economica, ma per quanto sia estremamente potente per il suo prezzo, potremmo cavarcela con hardware ancora più economico.

Sulla base dell'esperienza precedente, la mia ipotesi è che la tastiera usi qualcosa come un Nordic nRF24L01+, un TI CC2500, o un Cypress CYRF6936, ma non lo sapremo con certezza senza un'ispezione più approfondita.

http://samy.pl/keysweeper/int1.jpg

Dopo aver rimosso le viti dalla tastiera e averla aperta, vediamo un unico chip responsabile di tutto. È etichettato NRF 24LE1H, che somiglia molto a nRF24L01 (n=Nordic Semiconductor, RF=Radio Frequency, 24=2.4GHz)! Con una ricerca troviamo rapidamente il chip nRF24LE1 e vediamo che in effetti integra il chip RF nRF24L01+ con una CPU (System-on-Chip/SoC); una rapida ricerca su eBay mostra che l'nRF24L01+ può esserci spedito per meno di $1.

root@kitploit:~
The nRF24LE1 integrates an nRF24L01+ 2.4GHz RF transceiver core, enhanced 16MHz 8-bit 8051 compatible CPU, 1kB + 256B RAM, 16kB embedded Flash, and a wide range of system peripherals

http://samy.pl/keysweeper/int2.jpg

Osservando il datasheet dell'nRF24L01+, vediamo che si tratta di un chip RF a 2.4GHz che opera a 250kbps/1Mbps/2Mbps, usa GFSK (la modulazione a spostamento di frequenza gaussiana è una modulazione di frequenza digitale/FM) e purtroppo non dispone di alcuna modalità promiscua o diretta legittima per lo sniffing...o forse sì?

http://samy.pl/keysweeper/Amfm3-en-de.gif


(U) Intercettazione di segnali 2.4GHz proprietari

Anche se normalmente tirerei fuori qualcosa come un HackRF o un RTL-SDR con down converter digitale (per portare i 2.4GHz nel range dell'RTL-SDR), sarebbe davvero bello poter intercettare con hardware più economico, dato che in definitiva voglio racchiudere tutto in un dispositivo che possa essere lasciato sul campo.

Dopo una ricerca di base, è emersa una pagina straordinaria di Travis Goodspeed, in cui non solo intercetta una tastiera simile (Microsoft Comfort Desktop 5000), ma dimostra anche come trasformare l'nRF24L01+ in uno sniffer 2.4GHz usando il suo dispositivo GoodFET e un computer host con l'applicazione Python goodfet.nrf.

GoodFET e nRF24L01+

Travis ha scoperto che intercettare con il dispositivo è tradizionalmente difficile perché non devi solo specificare il canale (frequenza) su cui ascoltare, ma anche un indirizzo MAC su cui mettersi in ascolto. Il chip nRF consegna solo i pacchetti inviati a quello specifico indirizzo MAC. Inoltre, il chip nRF non ti comunica l'indirizzo MAC poiché lo hai già specificato (si presume che sia in una delle pipe RX_ADDR_P[0-5], come indicato nel datasheet).

Tuttavia, specificando la lunghezza del MAC, Travis ha scoperto che esiste un'opzione considerata "illegale" nel datasheet (SETUP_AW, 0x03 set to 00), che in realtà imposta il MAC a 2 byte! Inoltre, impostando il MAC su dati che si troverebbero tipicamente nel preambolo (0x00AA o 0x0055, in binario 0000000010101010 o 0000000001010101), possiamo ingannare il dispositivo facendogli consegnare il pacchetto in anticipo, fornendoci un indirizzo MAC completo nella porzione dati! Leggi il suo ottimo articolo per tutti i dettagli.

Dongle USB Microsoft


(U) Aumentare velocità e portabilità

Ora, anche se per lo sniffing durante i test possiamo usare un GoodFET, un computer e un nRF24L01+, in definitiva vogliamo che tutto questo sia su un dispositivo economico ed embedded. Possiamo prendere parte del grande lavoro di Travis in Python e portarlo in C embedded, così da poterlo caricare su un microcontrollore invece di richiedere computer+GoodFET.

Inoltre, implementiamo alcuni miglioramenti. Goodfet.nrf fornisce un metodo per scansionare i dispositivi eseguendo quanto segue:

  • inizia dalla frequenza 2400MHz
  • imposta il datarate a 1Mbps e il MAC a 0x00AA, ascolta per 10 secondi
  • imposta il datarate a 2Mbps e il MAC a 0x00AA, ascolta per 10 secondi
  • imposta il datarate a 1Mbps e il MAC a 0x0055, ascolta per 10 secondi
  • imposta il datarate a 2Mbps e il MAC a 0x0055, ascolta per 10 secondi
  • incrementa la frequenza e ricomincia da capo; una volta raggiunti i 2528MHz, torna a 2400 (128 frequenze)
  • quando viene rilevata una potenziale tastiera, richiediamo almeno quattro pacchetti per raggiungere una soglia ed essere certi che sia un pacchetto legittimo, poiché si ottengono molti falsi positivi

Ciò significa che per scansionare l'intera gamma di frequenze servono circa 85 minuti e che devono essere premute almeno diverse combinazioni di tasti mentre si intercetta all'interno del corretto periodo di 10 secondi. Dopo aver esaminato la ricerca e la tastiera di Travis, la ricerca e la tastiera KeyKeriki, e la mia tastiera, possiamo implementare alcuni miglioramenti:

  • se ricordi dall'FCC, per queste tastiere usiamo solo 2403 - 2480MHz, riducendo le nostre 128 possibili frequenze a 78 (circa il 40% in meno di scansione)
  • tutte le tastiere usano 2Mbps, dimezzando la ricerca
  • dopo aver ispezionato altre tastiere, ho scoperto che tutte le tastiere Microsoft iniziano con 0xCD come MAC, il che ci dice che il nostro preambolo sarà sempre 0xAA (10101010) perché al preambolo di 0xAA segue sempre un bit 1 (0xCD è 11001101) per mantenere l'alternanza dei bit, dimezzando la ricerca
  • poiché conosciamo il primo byte del nostro MAC (0xCD) e conosciamo anche alcuni pacchetti da cercare, rileviamo semplicemente solo quei pacchetti, il che significa che ci basta vedere un singolo pacchetto per essere sicuri che si tratti davvero di una tastiera
  • riduciamo la scansione per frequenza a 500ms, facendo sì che la nostra scansione completi un giro completo in meno di 40 secondi

(U) Decrittazione delle pressioni dei tasti

Thorsten Schröder e Max Moser hanno presentato un grande dispositivo, il KeyKeriki, in grado di intercettare le tastiere Microsoft e hanno completamente reverse-engineerizzato il processo di decrittazione, producendo un dispositivo per farlo. Travis però fa notare che il loro dispositivo richiede due radio e un microcontrollore di fascia alta per catturare e analizzare i pacchetti alla velocità di 2Mbps a cui comunicano le tastiere. Anche il progetto di Travis è ottimo, ma richiede un computer host e sarà troppo ingombrante per la nostra implementazione occulta. In questo scenario miglioriamo questi progetti richiedendo solo una radio e un microcontrollore economici, entrambi a basso consumo e molto piccoli, senza bisogno di computer o radio elaborate.

Thorsten e Max hanno scoperto che le pressioni dei tasti sono semplicemente cifrate (sottoposte a XOR) con l'indirizzo MAC in modalità ECB, che siamo in grado di intercettare dopo aver usato il metodo di Travis per abusare dell'nRF24L01+ sia per sniffare che per rivelare gli indirizzi MAC. Questa "cifratura" equivale a prendere un mazzo di carte, tagliarlo una volta e definirlo mescolato.

Dopo ulteriori indagini, ho scoperto che, poiché ora sappiamo che tutte le tastiere Microsoft iniziano con 0xCD come indirizzo MAC, la pressione effettiva del tasto (in arancione qui sotto) risulta allineata con il primo byte dell'indirizzo MAC (0xCD). Ciò significa che anche se non conosciamo l'indirizzo MAC, possiamo decrittare la pressione del tasto, poiché l'allineamento non cambierà mai e 0xCD è sempre il primo byte del MAC.

Un'ulteriore scoperta è che, poiché la lunghezza della porzione cifrata del pacchetto è di 11 byte, il MAC è di 5 byte e il CRC è ottenuto da ogni byte sottoposto a XOR con un altro (prima della cifratura), accade qualcosa di interessante. Poiché il MAC viene sottoposto a XOR due volte, possiamo calcolare il checksum anche senza conoscere l'indirizzo MAC. Questo perché l'indirizzo MAC è presente per intero due volte, e fare XOR di un numero con se stesso (o fare XOR del MAC con il MAC) si annulla. L'11° byte è di nuovo il primo byte del MAC, che sappiamo essere sempre 0xCD. Questo ci consente di eseguire altri attacchi, come alterare la pressione del tasto e il CRC, ancora una volta senza conoscere l'indirizzo MAC. Presenterò questo e altre divertenti dimostrazioni in un progetto futuro.

Una pagina della presentazione del KeyKeriki dimostra il processo di decrittazione:

http://samy.pl/keysweeper/decrypt.png

  • Tipo di dispositivo 0x0A = tastiera, 0x08 = mouse
  • Tipo di pacchetto 0x78 = pressione del tasto, 0x38 = inattivo (tasto tenuto premuto)
  • Tipo di modello 0x06 = tastiera? Questo è lo stesso codice HID di una tastiera
  • Codice HID 0x05 = lettera 'b' (descritto nella sezione 7 qui)

Il nostro metodo di decrittazione, implementato nel codice sorgente di KeySweeper:``` // decrypt those keyboard packets! void decrypt(uint8_t* pkt) { // our encryption key is the 5-byte MAC address and // starts 4 bytes in (4-byte header is unencrypted) for (int i = 4; i < 15; i++) pkt[i] ^= mac >> (((i - 4) % 5) * 8) & 0xFF; }

root@kitploit:~
# (U) Costruire / Usurpare un Caricabatterie USB

**AVVERTENZA: I dispositivi che si collegano alla rete elettrica AC utilizzano alimentazione ad alta tensione, e il dispositivo che stiamo creando, che si collega alla AC, non è sicuro, né soddisfa i tipici standard di sicurezza elettrica. Questo è un dispositivo pericoloso e, se usato o costruito in modo improprio, può uccidere, causare incendi o altri gravi danni. Non costruire un dispositivo alimentato a AC se non sai quello che stai facendo. Se desideri continuare a costruire questo dispositivo ma senza alimentazione AC, usa semplicemente una batteria o alimenta il dispositivo direttamente via USB per seguire la guida in sicurezza.**

KeySweeper utilizza hardware estremamente compatto e a bassissimo consumo per rimanere il più possibile nascosto. KeySweeper può essere alimentato da una batteria o da una tensione DC di circa 3-20V. Poiché desideriamo mantenere KeySweeper sempre alimentato, lo installiamo di nascosto all'interno di un innocente caricabatterie USB da parete che ci aspettiamo sia sempre collegato alla presa.

Nel caso in cui il caricabatterie USB venga scollegato, KeySweeper continua silenziosamente il suo funzionamento utilizzando la sua batteria interna (opzionale). Nel momento in cui KeySweeper viene ricollegato, torna a utilizzare l'alimentazione AC e contemporaneamente ricarica la batteria.

Se stai semplicemente costruendo KeySweeper **senza** la scheda GSM, puoi inserire tutto in un tipico caricabatterie USB da parete AC. Ti suggerisco di cercarne uno che abbia una vite che lo tiene assemblato, poiché la maggior parte degli altri è sigillata e richiede la distruzione di una parte del dispositivo per poterlo aprire.
[![http://samy.pl/keysweeper/usbopen.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/usbopen.jpg)

Se decidi di usare la scheda GSM, ho scoperto che non entra in questo tipo di caricabatterie USB insieme al resto dell'elettronica. Tuttavia, ho scoperto che aprendo un caricabatterie USB più piccolo (simile ai caricabatterie USB per iPhone), troviamo un raddrizzatore (AC->DC) e un convertitore step-down (alta tensione->5V) molto più piccoli che permettono a **tutta** la nostra elettronica di entrare nel caricabatterie USB più grande. 

[![http://samy.pl/keysweeper/usbcharger1.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/usbcharger1.jpg)
[![http://samy.pl/keysweeper/usbcharger2.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/usbcharger2.jpg)

La mia amica Dana mi ha prestato il suo saldatore per bambole. Non capisco bene a cosa le serva, ma è un saldatore con una lametta agganciabile. È ottimo per tagliare la plastica e, presumo, le bambole. Mi ha ripreso il saldatore appena le ho spiegato cosa avrebbe fatto il dispositivo. A quanto pare non approva, anche se non sono sicuro del perché. Sono certo che lo scoprirò dopo aver sniffato altre sequenze di tasti dalla sua tastiera.

[![http://samy.pl/keysweeper/usbcharger3.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/usbcharger3.jpg)
[![http://samy.pl/keysweeper/usbchargeropen.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/usbchargeropen.jpg)

**AVVERTENZA: Ancora una volta, poiché abbiamo a che fare con l'alimentazione AC, questo è molto pericoloso. Non aprire/ricablare un dispositivo alimentato a AC se non sai quello che stai facendo.** Puoi comunque costruire KeySweeper semplicemente alimentando tutto da un caricabatterie USB, da una porta USB o da una batteria senza modificare un dispositivo basato su AC.

È anche importante collegare il nostro Arduino tramite la porta RAW all'alimentazione USB da 5V con la polarità corretta (negativo su GND, positivo su RAW). In questo caso, sto usando un Arduino Pro Mini da 3.3V. La porta RAW accetta tensione non regolata tra 3.35-12V e utilizza un regolatore di tensione integrato per portarla a 3.3V. Nota che il nostro chip nRF24L01+ richiede 1.9-3.6V, quindi fornirgli 5V è **troppo!** Inoltre, se stai usando un chip SPI come il [SST25VF016B](http://ww1.microchip.com/downloads/en/DeviceDoc/S71271_04.pdf), richiede 2.7-3.6V, quindi anche in questo caso usare 5V è **troppo!** Assicurati di usare i 3.3V regolati dall'Arduino (dal pin VCC su un Arduino da 3.3V, o dal pin 3V3 su un Arduino da 5V.) 

[![http://samy.pl/keysweeper/multimeter.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/multimeter.jpg)

*nota: la scheda USB raffigurata accanto al multimetro è quella originale, prima che decidessi di sostituirla con una più piccola per farci entrare anche la scheda GSM*


Dopo aver recuperato tutto il nostro hardware, possiamo vedere che entra tutto con spazio nel nostro caricabatterie (prima del cablaggio):

[![http://samy.pl/keysweeper/testingsize.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/testingsize.jpg)

Per divertimento, ho collegato il LED del caricabatterie al pin 6 dell'Arduino e, anche se il LED sembra comportarsi allo stesso modo, in realtà gli faccio emettere un lampeggio quando intercetta sequenze di tasti. Questo probabilmente farà saltare la tua copertura, ma è davvero divertente da guardare. Mi assicuro anche che il LED si spenga quando viene meno l'alimentazione AC, anche se il resto del dispositivo continua a funzionare con la batteria interna.

Vogliamo anche assicurarci di lasciare il resto del caricabatterie USB funzionante, così che altri dispositivi possano continuare a ricevere alimentazione dal caricabatterie USB.

![http://samy.pl/keysweeper/testusb.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)

-----

# (U) KeySweeper Secondario Opzionale
Se desideri rinunciare alla scheda GSM per contenere i costi, puoi creare un dispositivo KeySweeper secondario che contiene semplicemente un Arduino e un nRF24L01+. Durante la compilazione di quello secondario, decommenta `#define BACKTRACER 1`.

Il funzionamento è questo: se il KeySweeper secondario (BACKTRACER) si trova mai nel raggio di comunicazione wireless (usando il nRF24L01+ a 2.4GHz) del primo, rileva automaticamente l'esistenza del primo e il dispositivo KeySweeper iniziale scaricherà i suoi log sul BACKTRACER. L'autorilevamento è integrato in entrambi i KeySweeper così possono trovarsi rapidamente a vicenda, grazie alla capacità del nRF24L01+ di avere più pipe RX.

Se colleghi il BACKTRACER a un computer, i keylog verranno scaricati sulla porta seriale, e puoi inviare un comando 'E' sulla porta seriale per cancellare il contenuto del chip di memoria SPI Flash del KeySweeper originale, ora che ne hai ottenuto il contenuto. Puoi allontanarti lasciando che il KeySweeper originale continui a intercettare le sequenze di tasti.

-----

# (U) Schema Elettrico

Fai clic per la versione ingrandita (schema basato su FONA), oppure [fai clic qui](http://samy.pl/keysweeper/keysweeper.fzz) per il file Fritzing.

[![Schematic with GSM board](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/keysweeper2_schem.png)


-----

# (U) Contatti

**Punto di contatto:** [@SamyKamkar](https://twitter.com/samykamkar)

Puoi vedere altri miei progetti su <http://samy.pl> o contattarmi a <[email protected]>.


------
Scarica lo strumento