Keelog har bestemt seg for å lansere en tidlig versjon av sin hardware keylogger-familie til offentlig domene, inkludert full firmware- og programvarekildekode, keylogger maskinvare elektriske skjemaer og dokumentasjon. Denne PS/2 key loggeren er en 100% operativ og testet enhet, montert og brukt av hundrevis av mennesker over hele verden. Driften av denne hardware key loggeren er lik KeyGrabber PS/2. Vi tilbyr applikasjonen KeyGrab for henting og analyse av registrerte tastetrykkdata. Vær imidlertid oppmerksom på at dette DIY hardware keylogger-prosjektet leveres som det er, med alle feil, og uten noen form for garanti.
Før du starter, gå gjennom denne listen for å sjekke om du har alle verktøyene og ferdighetene som trengs for å fullføre dette hardware keylogger-prosjektet:
Følgende komponenter er nødvendige for maskinvare keylogger-prosjektet:
Til slutt er et etui for maskinvare-keyloggeren nødvendig. En god idé er å kjøpe en PS/2 forlengelseskabel og et 4-tommers stykke varmeskrumpende slange, som kan varmes opp og pakkes rundt den ferdige keyloggeren.
Programmer først mikrokontrollerfirmwaren for keyloggeren. Start programmeringsprogramvaren din, velg AT89C2051, og brenn flashminnet med den binære filen eller den hex-versjonen. Du kan også rekompilere kilden ved å bruke den kildekoden og en 8051-kompilator. Å lodde er sannsynligvis den mest utfordrende delen av prosjektet, da maskinvaren til keyloggeren bør være så liten som mulig. Nedenfor viser skjemaene for keylogger-maskinvaren hvordan tilkoblinger skal gjøres mellom komponentene.
Lodd komponentene sammen, startende fra mikrokontrolleren og EEPROM-en. Ubrukte IC-pinner kan fjernes. Sørg for at trykknappen er tilgjengelig. Når du monterer kondensatoren, sørg for at den er riktig polarisert.
Gjør hardware keyloggeren så kompakt som mulig, men unngå kortslutninger. De vil være vanskelige å fjerne etter at enheten er ferdig. Keyloggerkretsen bør se noenlunde ut som prototypen vist på bildet, etter at de viktigste komponentene er koblet sammen.
Lodd til slutt PS/2-kontaktene til keyloggeren. En god idé er å klippe PS/2-forlengelseskabelen i to deler og lodde hver del separat. Sørg for å sette varmeskjæret på en del av kabelen. Koble alle fire brukte PS/2-pinner (CLK, DATA, VCC og GND) på begge kontaktene (ved tastaturet og ved datamaskinen).
Før du trekker den termiske røret rundt maskinvare keyloggeren, er det en god idé å la litt lim eller harpiks komme mellom komponentene, for å gjøre enheten mer stiv. Trekk til slutt den termiske røret på, varm den til den omslutter de loddete komponentene, og klipp ut et lite hull slik at knappen er tilgjengelig.
Hardware keylogger begynner å registrere tastedata så snart den er plugget mellom tastaturet og datamaskinen. Keyloggeren er helt gjennomsiktig for datamaskinens operasjon og kan ikke oppdages av programvare i opptaksmodus. Alle tastedata sendt av tastaturet vil bli registrert til 64 kB hardware ikke-flyktig EEPROM-minne. Opptaksmodus er helt uavhengig av operativsystemet installert på datamaskinen.
Finn PS/2-kontakten på datamaskinen.
Koble fra tastaturet.
Koble til hardware keylogger i stedet for tastaturet.
Koble tastaturet til keyloggeren. Ved oppstart av datamaskinen vil data begynne å bli registrert.
Når hardware keylogger har registrert tastedata, kan det hentes til hvilken som helst PC som kjører Windows 9X/Me/XP/2000. Hardware keylogger gjør dette ved å simulere tastetrykk. De overførte tastedataene hentes av applikasjonen KeyGrab. Når disse dataene er overført til datamaskinen, kan de behandles og analyseres. Følg instruksjonene for å starte nedlasting av data.
Kjør KeyGrab-applikasjonen.
Koble til hardware keylogger i stedet for tastaturet. Ikke koble til tastaturet.
Klikk på tittellinjen KeyGrab for å gjøre den til den aktive applikasjonen.
Trykk på knappen på maskinvare keylogger for å starte nedlasting av data. Ikke endre aktiv applikasjon under overføringen. Trykk på knappen igjen for å avslutte overføringen. Gjør dette når ønskede tastetrykkdata er lastet ned til PCen.
Koble fra maskinvare-keyloggeren og koble tilbake ditt PS/2-tastatur.
Når du laster ned tastetrykksdata til hovedtabellen KeyGrab, blir den automatisk forbehandlet for å vise tastedata som ble logget under opptak. Data sendes i synkende rekkefølge for å vise nylig trykte taster først. Tastetrykk som skjedde for lenge siden, sendes senere. Du kan analysere tabellen manuelt eller bruke noen av søkealternativene.
Den eneste kolonnen som er av interesse for brukeren er Nøkkel (2) og Handling (3). Disse kolonnene koder hvilke taster som er trykket og sluppet. Scroll i feltet for å se tastetrykkhistorikken under opptak. Keylogger-data overføres i omvendt kronologisk rekkefølge (nyeste tastetrykkdata først).
Applikasjonen for henting og analyse av data fra DIY-maskinvare keylogger for Windows 9X/ME/2000/XP:
KeyGrab.zip (0.7MB)
Hele kildekoden for AT89C2051-mikrokontrolleren:
Kildekode - diy.asm
Den forhåndskompilerte AT89C2051 maskinvare keylogger-firmwareen er også tilgjengelig:
BIN-fil - diy.bin, HEX-fil - diy.hex
Vi oppfordrer deg til å lese denne delen for å unngå problemer som kan oppstå ved bruk av maskinvare keylogger.
Dersom du skulle klippe over en PS/2 tastaturkabel, ville du sannsynligvis finne 6 ledninger inni. Kun 4 av disse er meningsfulle. To av disse er strømlinjer: jord (GND) og +5 volt (VCC) fra datamaskinens strømforsyning. De andre to ledningene er asynkrone overføringslinjer: data linjen (DATA) og klokkelinjen (CLK). Du kan se hvordan disse linjene samsvarer med DIN (a) og miniDIN (b) kontaktpinner på figuren til høyre. Overføringen er toveis, men tastaturet er overlegent. Tastaturet sender informasjon om taster som er trykket ned og sluppet. Dataen består av kun én byte, foranledet av en startbit, og etterfulgt av en paritets- og stoppbit. Tastaturet legger påfølgende biter på DATA linjen, og klokker dem med negative impulser på CLK linjen. Klokkefrekvensen er 10...30 kHz. Dette ville vært en veldig fin serieprotokoll hvis det ikke var for datamaskinen, som av og til ønsker å sende informasjon til tastaturet. I slike tilfeller trekker PCen CLK linjen lav i en periode og venter på at tastaturet skal begynne å generere impulser. Når disse impulsene starter, klokker den sin egen karakter inn på DATA linjen. Du kan se tilstandsdiagrammer for tastatur til vert (a) og vert til tastatur (b) overføring på figuren under. Denne protokollen har selvfølgelig noen unntak, som avbrytelse av en overføring, tegngjentakelse osv. Disse tilfellene er imidlertid svært sjeldne.
Så hva blir faktisk overført gjennom tastaturlinjene? Ved oppstart sender både tastaturet og datamaskinen initialiseringsdata, som informerer om at de er OK. Når datamaskinen kjører normalt, sender bare tastaturet data. Dette er data om hvert eneste hendelse som har funnet sted. En hendelse anses som en tast som blir trykket ned eller sluppet. Hvis en standardtast blir trykket ned, sendes dens såkalte "scancode". Hver tast har nøyaktig én scancode, og dette danner et kart over scancodes. Hvis en tast slippes, sendes først den spesielle byte 240 (F0 hex), etterfulgt av tastens scancode. Så en standardtastetrykk forårsaker at 3 tegn sendes gjennom linjen. Hvis en tast holdes nede en stund, vil dens scancode genereres kontinuerlig med den angitte repetisjonsforsinkelsen. Når den til slutt slippes, vil tegnet 240 (F0 hex) bli sendt, etterfulgt av scancoden. Dette ville fortsatt vært et fint protokoll hvis det ikke var for noen spesielle taster som finnes på standard PC-tastaturet, som Hjem, Slutt, pilene, osv. Når en spesiell tast trykkes, genereres byte 224 (E0 heksadesimal), etterfulgt av skannkoden. Når en spesiell tast slippes, utløses sekvensen 224, 240 (E0, F0), etterfulgt av skannkoden. Normale og spesielle taster er felles for alle nasjonale tastaturlayouter med hensyn til kartet over skannkoder. For å gjøre historien litt mer komplisert, finnes det to super-spesielle taster, Skriv ut Skjerm og Pause, som forårsaker en hel sekvens av skannkoder som skal sendes. For en tastaturgrensesnitt er det best å late som om disse tastene ikke eksisterer.
Mikrokontrolleren overvåker DATA- og CLK-linjene hele tiden, og samler inn all data. Data logges til ikke-flyktig EEPROM-minne mens den går langs linjen. På grunn av dette kan brukeren senere finne ut om hver hendelse på tastaturet. Når brukeren bestemmer at opptaket er over og trykker på knappen, bytter maskinvarenøkkelloggeren til avspillingsmodus. Tastaturet bør være frakoblet, ellers vil det tolke datastrømmen. Keyloggeren begynner å simulere tastedata fra intern maskinvareminne. Applikasjonen KeyGrab må være aktiv for å behandle datastrømmen fra keylogger-maskinvaren. Normale taster simuleres som om de var skrevet i minnet, og spesielle taster sendes ved hjelp av en tobyte heksadesimal kode.