• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Come Costruire un Hardware Keylogger

BioHazard

Utente Medio
Autore del topic
13 Luglio 2008
133
0
Miglior risposta
0
Salve,
In questa guida spiegherò come crearsi un keylogger hardware da soli.

Fonte sabbatino.forum
Attrezzi e Componenti:
* esperienza fondamentale in elettronica (principalmente hardware)
* Saldatore per microcircuiti
* Programmatore dei microcontrollori (che servono la famiglia Atmel AT89CXX51)

* microcontrollore Atmel AT89C2051 (oppure AT89C1051, AT89C4051)
* memoria EEPROM di tipo AT24C512 (oppure compatibile)
* quarzo 12 MHz
* 2x condensatore 33p
* condensatore 10 uF
* resistore 10 k
* Pulsante non tanto grande

Le cose da sapere:

Le cose da sapere
Invitiamo a leggere le osservazioni di sotto, i quali possono aiutare ad evitare parecchi problemi connessi con utilizzo di hardware keylogger.
Responsabilità legale

1. Ogni paese ha l'altra legge riguardante la registrazione dei dati dalla tastiera. L'ignoranza della legge non autorizza all'inosservanza. Preghiamo di leggere Contratto dell'Utente.
2. La ditta KeeLog non assume nessuna responsabilità per i danni ne perdita della salute e dei beni a causa dell'utilizzo di questo hardware keylogger.
3. Hardware Keylogger Open Source non dovrebbe essere utilizzato per illegale intercettazione dei dati altrui, in specie delle password, dei dati bancari, della corrispondenza secreta, ecc. In maggioranza dei paesi questo è violazione della legge.

Acquisizione dei dati

1. Hardware Keylogger ha 64 kB della memoria non effimera di tipo EEPROM. Riempimento di questa memoria provoca la nuova registrazione cominciando dalla prima localizzazione della memoria. I dati più vecchi verranno persi.
2. I primi 128 byte della memoria sono riservati per i dati della configurazione, in specie l'indicatore contenente l'indirizzo dell'ultima iscrizione nella memoria. Quest'indicatore è attualizzato circa ogni 10 secondi.
3. Non lascia il hardware keylogger a collegato in modo di intercettazione quando non è necessario. Questo causa inutile riempimento della memoria per cui i vecchi dati, poco importanti, spesso possono essere sovrascritti.

Trasmissione dei dati

1. Per lo scarico dei dati da hardware keylogger è indispensabile il computer di classe PC con velocità di almeno 100 MHz con installato sistema operativo Windows 9X/Me/XP/2000.
2. Per lo scarico dei dati da hardware keylogger è usata la tecnica della simulazione di tastiera. Per questo la tastiera reale deve essere sconnessa durante la trasmissione.
3. Durante lo scarico dei dati, deve esse attiva l'applicazione KeyGrab. Nel caso contrario il sistema Windows o l'altra applicazione vorranno interpretare i segnali che arrivano dalla tastiera.
4. I dati archivizzati in modo di intercettazione vanno letti in ordine opposto all'ordine cronologico. Questo ha lo scopo di visualizzare i dati più recenti all'inizio del processo di trasmissione. Per ripristinare i dati più vecchi è indispensabile aspettare fino alla fine di tutto processo della trasmissione. Tutto il processo dello scarico dei dati puo durare fino a 20 minuti.
5. Scarico dei dati deve essere concluso attraverso nuova spinta del pulsante. Si deve farlo quando i dati cominceranno ad essere duplicati.

Funzionamento della tastiera PS/2

1. Funzionamento della tastiera di tipo PS/2 è più complicato di quello che può sembrare all'inizio. Si può vederlo analizzando i dati non elaborati archivizzati da hardware keylogger. Ad ogni spinta del tasto, la tastiera genera un carattere, così detto "scancode". Quando il tasto viene liberato, questo carattere è generato nuovamente, ma preceduto da carattere 240 (hex F0). Esistono anche i tasti ampliati per i quali è usato il carattere 224 (hex E0). Più informazioni su questo tema sono disponibili nella sezione Protocollo della tastiera PS/2.
2. Hardware Keylogger Open Source ha 64 kB della memoria, ciò non vuol dire che può memorizzare 64 mila delle spinte dei tasti. Una sequenza della pressione e della liberazione del tasto occupa 3 byte per il tasto standard e 5 byte per il tasto ampliato. Registrazione è stata ottimalizzata nelle versioni commerciali.

Protocollo della tastiera PS/2

Segnale della magistrala PS/2 Tagliando il cavo della tastiera PS/2 normalmente si trovassimo dentro 6 fili. Solo 4 di queste linee sono importanti.


comecostruireunhardwareop1.gif


Due di loro sono alimentatori: massa (GND) e +5 Vol (VCC) generate dall'alimentatore di computer. Due rimanenti servono per la trasmissione asincronica dei dati: linea dati (DATA) e linea orologio (CLK). Sul disegno a destra è visualizzato come queste linee si cambiano ai pin della spina DIN (a) e mini DIN (b). La trasmissione è bidirezionale, ma il ruolo superiore gioca la tastiera. Manda l'informazione sulle pressioni e liberazioni dei tasti. Tabella dati contiene solo un byte, preceduto da un byte dello start e finalizzato con byte di parità e byte dello stop. La tastiera emette i seguenti byte dei dati DATA e li tratta con un versante negativo sulla linea orologio CLK. Frequenza di tatto è 10...30 kHz. Ci sarebbe molto semplice ed elegante protocollo se non ci fosse il fatto che il computer ha bisogno, volta per volta, di mandare l'informazione alla tastiera. In questo caso scarica la linea orologio CLK fino allo zero, fino a quando la tastiera comincia a tattare. Quando partono gli impulsi, il controllore del computer comincia ad inserire i dati sulla linea DATA. Andamenti della trasmissione sono illustrati sul grafico di sotto: (a) dalla tastiera di computer, (b) dal computer alla tastiera. Questo protocollo ovviamente possiede alcuni eccezioni e complicanze, come per esempio interruzione della trasmissione, ripetizione del carattere, ecc. Però questi sono i casi molto rari.

comecostruireunhardwarewm8.gif


Dati sulla magistrala
Allora quali dati sono realmente trasmessi attraverso il cavo della tastiera? All'avviamento così tastiera come il computer mandano i dati di inizializzazione, informando sul suo statuto. Durante il lavoro ordinario del computer, solo la tastiera manda i dati. Questi dati riguardano ogni evento accaduto sulla tastiera. Evento preso in considerazione è la pressione del tasto e la sua liberazione. Nel caso della pressione del tasto è mandato il suo così detto "scancode". Ogni tasto possiede precisamente uno scancode, ciò forma la mappa degli scancode. Nel caso della liberazione del tasto, prima viene mandato il byte speciale 240 (hex F0), e dopo scancode del dato tasto. Allora iscrizione standard del carattere dalla tastiera causa che verranno mandati 3 byte. Se il tasto rimane premuto a più lungo, il suo scancode sarà ripetuto con attualmente impostata frequenza di ripetizione. Quando verrà liberato , il byte 240 sarà mandato e infine scancode.
Questo sarebbe semplice e piacevole protocollo se non ci fosse la presenza di certi tasti speciali, come Home, End, frecce, ecc. Quando il tasto speciale viene presso, sarà mandato il byte 224 (hex E0), ed in seguito il suo scancode. Quando il tasto speciale viene liberato, è mandata una sequenza 224, 240 (hex E0, F0), ed in seguito il scancode del tasto. I tasti standard e speciali sono comuni per tutte le disposizioni delle tastiere nazionali, conforme alla mappa degli scandode. Per compilare ancora di più tutta la storia, esistono due tasti "super-speciali", Print Screen e Pause, la pressione dei quali causa la trasmissione di tutta sfilata dei caratteri. Per la persona che programma la comunicazione della tastiera è meglio far finta di non esistenza di questi tasti.

Registrazione dei dati

Microcontrollore controlla le linee DATA e CLK per tutto il tempo, intercettando tutti dati. I dati sono registrati direttamente nella memoria interna non effimera, senza nessun analisi. Grazie a questo, l'utente può dopo venire a sapere su tutti gli eventi accaduti sulla tastiera.
Quando l'utente decide che l'intercettazione è finalizzata e preme il pulsante, hardware keylogger torna al modo download. La tastiera dovrebbe essere previamente sconnessa, nel caso contrario comincerà ad interpretare il flusso dei dati. Keylogger a questo momento comincia la trasmissione dei dati dalla memoria interna attraverso la simulazione della tastiera. Applicazione KeyGrab dovrebbe essere l'applicazione attiva nel sistema, per interpretare il flusso dei dati da hardware keylogger. I tasti standard sono trasmessi direttamente con aiuto di scancode, invece i tasti ampliati con aiuto del codice a 2 byte.

Montaggio e Avviamento:

Il montaggio si deve cominciare dalla programmazione del firmware di microcontrollore. Avvia applicazione del programmatore, scegli microcontrollore AT89C2051, e carica il programma usando il codice nella versione binare (
Perfavore, Entra oppure Registrati per vedere i Link!
) oppure versione hex (
Perfavore, Entra oppure Registrati per vedere i Link!
) . Nel caso dei dubbi anche si può nuovamente compilare il codice nella versione sorgente (
Perfavore, Entra oppure Registrati per vedere i Link!
) usando il compilatore adatto per la famiglia 8051.
Saldatura è probabilmente la più complessa ed impegnativa tappa di montaggio, perché hardware keylogger dovrebbe essere eseguito rispettando più piccole possibilità dimensionali. Lo schema elettrico di sotto del Hardware Keylogger Open Source illustra come dovrebbero andare i collegamenti tra i sottogruppi.


comecostruireunhardwarefq3.gif


Salda gli elementi cominciando da microcontrollore e memoria EEPROM. Pin non usate possono essere tolte. Assicurati affinché rimane l'accesso al pulsante. Durante il montaggio dei condensatori assicurati della loro corretta polarizzazione. Il dispositivo deve essere più piccolo possibile, senza degli intervalli tra gli elementi. Bisogna però evitare i cortocircuiti, affinché poi saranno molto difficili da togliere. Dopo saldatura degli elementi principali il hardware keylogger dovrebbe assimilare il prototipo illustrato sulla foto.

comecostruireunhardwareqp5.jpg


Successivamente possiamo collegare il nostro dispositivo tra la tastiera e il pc:
comecostruireunhardwarepx0.jpg


comecostruireunhardwarend8.jpg


Quando i dati della tastiera verranno memorizzati in modo di intercettazione, possono essere letti su qualsiasi computer di classe PC con il sistema operativo Windows 9X/Me/XP/2000. Hardware Keylogger fa questo attraverso la simulazione di mandamento dei dati attraverso la tastiera. I dati trasmessi vengono presi dall'applicazione KeyGrab(
Perfavore, Entra oppure Registrati per vedere i Link!
) . Dopo lo scarico di tutti dati da computer, possono essere elaborati ed analizzati. Istruzioni che seguono, illustrano il metodo di iniziazione del modo di intercettazione dei dati da keylogger. I passi successivi da seguire sono:

1)avviare il programma KeyGrab

2)Collegare il nostro dispositivo al PC

comecostruireunhardwarevk7.jpg


3)Attivare il programma KeyGrab
4)Premere il tasto sul nostro dispositivo


comecostruireunhardwarecp4.jpg



5)attendere che la trasmissione dei dati termini
6)ricollegare la tastiera


comecostruireunhardwarepx0.jpg


Analizziamo i dati:

Durante lo scarico dei dati alla tabella principale di applicazione KeyGrab, sono automaticamente elaborati in modo di far vedere i tasti premuti durante il modo di intercettazione. I dati vengono trasmessi in ordine opposto all'ordine cronologico per far vedere all'inizio i dati appena intercettati. I dati scaricati possono essere analizzati manualmente oppure si può approfittare alcune opzioni di ricerca incorporate.


comecostruireunhardwarett5.gif


1 La posizione in memoria è occupata dal dato intercettato (formato hex).
2 Il tasto intercettato
3 Evento accaduto - pressione oppure liberazione del tasto.
4 scancode del tasto sulla magistrala PS/2 (formato hex).
5 L'ultima posizione registrata nella memoria (formato hex).
6 Dimensione della memoria non effimera EEPROM (kilobyte).

L'informazione più interessante per l'utente è la colonna con il tasto (2) e avvenimento (3). In queste colonne è codificata l'informazione sugli caratteri iscritti. Spostando la barra di navigazione è possibile recuperare la storia del testo scritto in modo di intercettazione. I dati da keylogger sono trasmessi in ordine opposto all'ordine cronologico (i dati più nuovi all'inizio).


C'è Da Studiare x°D
Ciao A TuTTi :emoji_smiley:

Fonte: sabbatino
 
Ultima modifica da un moderatore:
bella guida ...

sapevo dell'esistenza di questi hardware ma non sapevo come farne uno ...
 
:S Mette la roba di altri -.- Cmq komplimenti per il vero creatore di questa guida ^^
 
Bravo, hai fatto bene a postare questo materiale.
Però ci vuole una buona conoscenza... siuramente non riuscirei a finire il lavoro.
Non so dove potrei arrivare.. xD