Keelog on päättänyt julkaista varhaisen version laiteavainlokeroperheestään julkiseen käyttöön, mukaan lukien täydellinen ohjelmisto- ja laitelähdekoodi, avainlokerolaitteiston sähkökaaviot ja dokumentaatio. Tämä PS/2 avainlokerointilaite on 100 % toimiva ja testattu laite, jota on koottu ja käytetty satojen ihmisten toimesta ympäri maailmaa. Tämän laiteavainlokeron toiminta on samankaltainen kuin KeyGrabber PS/2. Tarjoamme sovelluksen KeyGrab tallennettujen näppäinpainallustietojen noutamiseen ja analysointiin. Huomioithan kuitenkin, että tämä tee-se-itse laiteavainlokeroprojekti toimitetaan sellaisenaan, kaikkine virheineen, eikä siinä ole mitään takuuta.
Ennen kuin aloitat, käy läpi tämä lista varmistaaksesi, että sinulla on kaikki tarvittavat työkalut ja taidot tämän hardware keylogger -projektin suorittamiseen:
Seuraavat komponentit tarvitaan hardware keylogger -projektiin:
Lopuksi laitteiston näppäinlokero vaatii kotelon. Hyvä idea on ostaa PS/2-jatkojohto ja 4 tuuman palan kutistettavaa putkea, joka voidaan lämpöisesti kietoa valmiin näppäinlokeron ympärille.
Ohjelmoi ensin keylogger-mikro-ohjaimen ohjelmisto. Käynnistä ohjelmoijasovellus, valitse AT89C2051 ja polta flash-muistiin binäärinen tiedosto tai heksaversio. Voit myös kääntää lähdekoodin uudelleen käyttäen lähdekoodia ja 8051-kääntäjää. Juottaminen on todennäköisesti projektin vaikein osa, koska keylogger-laitteiston tulisi olla mahdollisimman pieni. Alla olevat keylogger-laitteiston kaaviot näyttävät, miten komponenttien väliset yhteydet tulisi tehdä.
Juota komponentit yhteen aloittaen mikro-ohjaimesta ja EEPROM:sta. Käyttämättömät IC-pinnit voidaan poistaa. Varmista, että painike on saavutettavissa. Kun asennat kondensaattorin, varmista, että se on oikein polarisoitu.
Tee hardware keyloggerista mahdollisimman kompakti, mutta vältä oikosulkuja. Niitä on vaikea poistaa laitteen valmistumisen jälkeen. Keylogger-piirin tulisi näyttää jossain määrin prototyypiltä, joka on esitetty kuvassa, kun tärkeimmät komponentit on liitetty.
Lopuksi juota PS/2-liittimet keyloggeriin. Hyvä idea on leikata PS/2-jatkojohto kahteen osaan ja juottaa kumpikin osa erikseen. Varmista, että laitat lämpösupistusputken yhden kaapelin osan päälle. Yhdistä kaikki neljä käytettyä PS/2-nastaa (CLK, DATA, VCC ja GND) molempiin liittimiin (näppäimistössä ja tietokoneessa).
Ennen kuin vedät lämpöputken laitteiston keyloggerin ympärille, on hyvä idea antaa liiman tai hartsin mennä komponenttien väliin, jotta laite olisi jäykempi. Vedä lopuksi lämpöputki päälle, lämmitä se kunnes se kietoutuu juotettujen komponenttien ympärille, ja leikkaa pieni reikä, jotta painike on saavutettavissa.
Laitteisto keylogger alkaa tallentaa näppäintietoja heti, kun se on kytketty näppäimistön ja tietokoneen väliin. Keylogger on täysin läpinäkyvä tietokoneen toiminnalle eikä sitä voi havaita ohjelmistossa tallennustilassa. Kaikki näppäimistön lähettämät näppäintiedot tallennetaan 64 kB laitteiston epämuistuttavaan EEPROM-muistiin. Tallennustila on täysin riippumaton tietokoneelle asennetusta käyttöjärjestelmästä.
Etsi PS/2-liitin tietokoneesta.
Irrota näppäimistö.
Liitä hardware keylogger näppäimistön tilalle.
Yhdistä näppäimistö keyloggeriin. Tietojen tallennus alkaa tietokoneen käynnistyessä.
Kun hardware keylogger on tallentanut näppäintietoja, ne voidaan noutaa mille tahansa Windows 9X/Me/XP/2000 -käyttöjärjestelmää käyttävälle tietokoneelle. Hardware keylogger tekee tämän simuloimalla näppäimistön painalluksia. Lähetetyt näppäintiedot noudetaan KeyGrab-sovelluksella. Kun nämä tiedot on lähetetty tietokoneelle, ne voidaan käsitellä ja analysoida. Noudata ohjeita datan lataamiseksi.
Suorita KeyGrab-sovellus.
Liitä hardware keylogger näppäimistön sijaan. Älä liitä näppäimistöä.
Napsauta KeyGrab -otsikkoriviä tehdäksesi siitä aktiivisen sovelluksen.
Paina laitteen keylogger-painiketta aloittaaksesi tietojen lataamisen. Älä vaihda aktiivista sovellusta siirron aikana. Paina painiketta uudelleen lopettaaksesi siirron. Tee tämä, kun halutut näppäilytiedot on ladattu tietokoneelle.
Irrota laitteistopohjainen näppäinlukija ja kytke PS/2-näppäimistö takaisin.
Kun lataat näppäilytiedot päätaulukkoon KeyGrab, ne käsitellään automaattisesti näyttämään näppäintiedot, jotka on kirjattu tallennuksen aikana. Data siirretään laskevaan järjestykseen, jotta viimeksi painetut näppäimet näytetään ensin. Kauan sitten tapahtuneet näppäilyt siirretään myöhemmin. Voit analysoida taulukkoa manuaalisesti tai käyttää joitain hakuvaihtoehtoja.
Ainoa sarakke, joka kiinnostaa käyttäjää, on Avain (2) ja Toiminto (3). Nämä sarakkeet koodaavat, mitkä näppäimet on painettu ja vapautettu. Selaa palkkia nähdäksesi näppäinhistorian tallennuksen aikana. Keylogger-tiedot välitetään käänteisessä kronologisessa järjestyksessä (viimeisimmät näppäintiedot ensin).
DIY-laitteiston näppäinlokero datan haku- ja analysointisovellus Windows 9X/ME/2000/XP:lle:
KeyGrab.zip (0.7MB)
Koko lähdekoodi AT89C2051-mikro-ohjaimelle:
Lähdekoodi - diy.asm
Valmiiksi käännetyt AT89C2051 laitteiston keylogger-firmwaret ovat myös saatavilla:
BIN-tiedosto - diy.bin, HEX-tiedosto - diy.hex
Suosittelemme lukemaan tämän osion välttääksesi ongelmia, jotka saattavat ilmetä laitteiston keyloggerin käytössä.
Jos leikkaisit PS/2-näppäimistön kaapelin poikki, löytäisit todennäköisesti 6 johtoa sisältä. Näistä vain 4 on merkityksellisiä. Kaksi näistä on virtajohtoja: maadoitus (GND) ja +5 volttia (VCC) tietokoneen virtalähteestä. Muut kaksi johtoa ovat asynkronisia siirtolinjoja: datajohto (DATA) ja kellojohto (CLK). Voit nähdä, miten nämä linjat vastaavat DIN (a) ja miniDIN (b) -liittimen nastoja oikealla olevassa kuvassa. Siirto on kaksisuuntainen, mutta näppäimistö on etusijalla. Näppäimistö lähettää tietoa painetuista ja vapautetuista näppäimistä. Tietopaketti koostuu vain yhdestä tavusta, jota edeltää aloitusbitti ja seuraa pariteetti- ja lopetusbitti. Näppäimistö asettaa peräkkäiset bitit DATA-linjalle ja kelloo niitä negatiivisilla impulsseilla CLK-linjalle. Kellotaajuus on 10...30 kHz. Tämä olisi erittäin hyvä sarjaprotokolla, ellei tietokone haluaisi ajoittain lähettää tietoa näppäimistölle. Tällaisissa tapauksissa tietokone vetää CLK-linjan alas jonkin aikaa ja odottaa näppäimistön alkavan generoida impulsseja. Kun nämä impulssit alkavat, se kelloo oman merkkinsä DATA-linjalle. Voit nähdä näppäimistön ja isäntä (a) sekä isäntä ja näppäimistö (b) -siirron tilakaaviot alla olevassa kuvassa. Tällä protokollalla on tietysti muutamia poikkeuksia, kuten siirron keskeyttäminen, merkin toisto jne. Nämä tapaukset ovat kuitenkin hyvin harvinaisia.
Mitä näppäimistön rivien läpi oikeastaan välitetään? Käynnistyksen yhteydessä sekä näppäimistö että tietokone lähettävät alustustietoja, ilmoittaen olevansa kunnossa. Kun tietokone toimii normaalisti, vain näppäimistö lähettää tietoa. Tämä tieto koskee jokaista tapahtumaa, joka on tapahtunut. Tapahtumana pidetään näppäimen painamista tai vapauttamista. Jos painetaan tavallinen näppäin, sen niin kutsuttu "skannauskoodi" lähetetään. Jokaisella näppäimellä on tarkalleen yksi skannauskoodi, luoden skannauskoodien kartan. Jos näppäintä vapautetaan, ensin lähetetään erityinen tavu 240 (F0 heksadesimaalissa), jonka jälkeen näppäimen skannauskoodi lähetetään. Joten tavallinen näppäinpainallus aiheuttaa 3 merkin lähettämisen linjan läpi. Jos näppäintä pidetään painettuna jonkin aikaa, sen skannauskoodi generoidaan jatkuvasti asetetulla toiston viiveellä. Kun se lopulta vapautetaan, 240 (F0 heksadesimaalissa) merkki lähetetään, minkä jälkeen skannauskoodi seuraa. Tämä olisi edelleen hieno protokolla, ellei standardin PC-näppäimistössä olisi joitakin erikoisnäppäimiä, kuten Home, End, nuolet jne. Kun erikoisnäppäintä painetaan, syntyy tavu 224 (E0 heksadesimaalina), jonka jälkeen tulee näppäinkoodi. Kun erikoisnäppäin vapautetaan, laukaistaan sekvenssi 224, 240 (E0, F0), jonka jälkeen tulee näppäinkoodi. Normaalit ja erikoisnäppäimet ovat yleisiä kaikissa kansallisissa näppäimistöasetteluissa suhteessa näppäinkoodien karttaan. Tarinan hieman monimutkaistamiseksi on olemassa kaksi erityisen erikoisnäppäintä, Print Screen ja Pause, jotka aiheuttavat koko joukon näppäinkoodien lähettämisen. Näppäimistön liitäjän kannalta on parasta olettaa, että nämä näppäimet eivät ole olemassa.
Mikro-ohjain valvoo jatkuvasti DATA- ja CLK-linjoja, keräten kaiken datan. Data kirjataan ei-volaatiliseen EEPROM-muistiin matkallaan linjaa pitkin. Tämän ansiosta käyttäjä voi myöhemmin selvittää jokaisesta näppäimistön tapahtumasta. Kun käyttäjä päättää, että tallennus on ohi ja painaa painiketta, laitteiston näppäinlokero vaihtaa toistotilaan. Näppäimistö on irrotettava, muuten se tulkitsee tietovirran. Näppäinlokero alkaa simuloida näppäintietoja sisäisestä laitteiston muistista. KeyGrab-sovelluksen on oltava aktiivinen käsitelläkseen näppäinlokero-laitteiston tietovirtaa. Normaalit näppäimet simuloidaan kuin ne olisi kirjoitettu muistiin, ja erikoisnäppäimet lähetetään kaksitavuisella heksakoodilla.