[Elettronica] Come Costruire un Hardware Keylogger

Stato
Discussione chiusa ad ulteriori risposte.

R4z0r_Cr4sH

Utente Electrum
10 Giugno 2007
501
11
6
148
Salve a tutti,questa guida spiegherà come crearsi un keylogger hardware da soli.

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 keyloggera 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.

pckb02.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.

pckb01.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 mapa 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 oppure versione hex. Nel caso dei dubbi anche si può nuovamente compilare il codice nella versione sorgente 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.

diy_sch.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.

diy09.jpg


Successivamente possiamo collegare il nostro dispositivo tra la tastiera e il pc:
inst03a_m.jpg
inst03d_m.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. 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
inst03c_m.jpg

3)Attivare il programma keyGrab
4)Premere il tasto sul nostro dispositivo
inst03e_m.jpg

5)attendere che la trasmissione dei dati termini
6)ricollegare la tastiera
inst03a_m.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.

win1.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).

Fonte:www.keelog.com
 
  • Mi piace
Reazioni: Titanium
RE: Come Costruire un Hardware Keylogger

dove la trovi tutta sta roba non so...pero grazie 1000!!!!!!
lo faro sicuramente :)
 
RE: Come Costruire un Hardware Keylogger

il mio problema per fare questo keylogger è:
* Saldatore per microcircuiti
* Programmatore dei microcontrollori (che servono la famiglia Atmel AT89CXX51)

con elettronica io me la cavo anchè perchè la faccio a scuola (teorica e pratica su condensatori,resistori,diodi,alimentatori ecc) ma il programmatore dei microcontrollori non so deve andarlo a trovare per farmi mettere il firmware....boh vedremo!BlackCode per usb non so ora vedo se ce qualcosa....

Edit:BlackCode per costruirselo da solo il keylogger non so ma da comprare vedi qui e puoi trovare informazioni più dettagliate sull'utilizzo qui
 
RE: Come Costruire un Hardware Keylogger

Se vuoi io mi sto programmando un scheda di programmazione proprio per i controllori ATMEL (nel mio specifico l'ATMEGA16) se ti serve appena l'ho finito (considera che mi ci vorrà ancora 1 mesetto...) posto il disegno del circuito e vedi tu se riesci a fartelo.. il problema è che dovresti stampartelo come circuito hai la possibilità di stamparlo?
 
RE: Come Costruire un Hardware Keylogger

Ok allora te la posterò... ti avverto che la scheda lavora tramite porta parallela e non seriale (putroppo windows riprogramma tutti i dati mandati alla seriale e questo generava 1 po' d casini...) x cui ti serve la porta parallela... dopo mi cerco il datasheet del tuo controllore e vedo se la scheda può andar bene così com'è se sì ci metto 1 switch e due zoccoli così si può scegliere se programmare l'uno o l'altro tipo di controllori.. Altra cosa.. per programmarlo ti serve il programma AVR studio...
 
RE: Come Costruire un Hardware Keylogger

be per il saldatore e per il programmatore dell'atmel non è un problema (un mio amico ce l'ha)...
poi bl4ster (crazychemicalcompany sul forum) è molto bravo di elettronica e hardware.
credo che il problema maggiore sia la grandezza.
pero la cosa piu lollosa sarebbe prendere una tastiera e mettere il circuito interno...piazzarla a scuola per una giornata e sai pass che tiro su???

EDIT:azz l'atmel non è un ATmega16...mi tocca fare anche il programmatore... :(
 
RE: Come Costruire un Hardware Keylogger

volere è potere e poi vediamo....il primo ke ci riesce da una mano a tutti gli altri!per me e AK3R c vorrà molto ancora (intendo almeno 1 mese ancora)!
 
mi manca il saldatore.... sapete dove si puo acquistare? negozio di informatica? falegnameria? lol
 
dio non ha il saldatore????
compra quello da elettronica che ha la punta abbastanza fina, lo trovi nei negozi di articoli per elettronica.
 
ah kk.... spero che nn costi tnt perche sto mettendo tutti i miei soldi per comprarmi un altro portatile
 
Naaaa costerà 15€ un saldatore da elettronica ;) Razor per quanto riguarda me il progetto va avanti ma è molto rallentato a causa dell'idiota del mio prof di elettronica >.> e perchè sto molto sul progetto di maturità...
 
ti capisco...vabbè l'importante e ke non si è fermato va!
 
quando finisco di costruire il mio attuale progetto ci proverò anche se non credo di riuscirci sicuramente finirò col stuffarmi e lo riporterò al suo stato iniziale con l'aiuto del mio mini altoforno :fattbe: (non è un vero è proprio altoforno ma siccome raggiunge un massimo di quasi 700 gradi C° mi piace chiamarlo così)
 
Atmos ha detto:
...del mio mini altoforno :fattbe: (non è un vero è proprio altoforno ma siccome raggiunge un massimo di quasi 700 gradi C° mi piace chiamarlo così)

non ci credo nemmeno se mi posti i video
 
grantizzio ha detto:
Atmos ha detto:
...del mio mini altoforno :fattbe: (non è un vero è proprio altoforno ma siccome raggiunge un massimo di quasi 700 gradi C° mi piace chiamarlo così)

non ci credo nemmeno se mi posti i video

e fai bene :asd:
arriva a 340 C°
 
Stato
Discussione chiusa ad ulteriori risposte.