Keelog úgy döntött, hogy korai verziót ad ki hardver keylogger családjából a nyilvánosság számára, beleértve a teljes firmware & szoftver forráskódját, a keylogger hardver elektromos sémáit és dokumentációt. Ez a PS/2 key logger egy 100%-ban működő és tesztelt eszköz, amelyet világszerte százak szereltek össze és használtak. Ennek a hardver key loggernek a működése hasonló a KeyGrabber PS/2-hoz. Biztosítjuk az alkalmazást KeyGrab a rögzített billentyűleütéses adatok visszakereséséhez és elemzéséhez. Azonban vegye figyelembe, hogy ez a DIY hardver keylogger projekt ahogy van kerül nyújtásra, minden hibával, és nincs semmiféle garancia.
Mielőtt elkezdené, menjen végig ezen a listán, hogy ellenőrizze, rendelkezik-e az összes szükséges eszközzel és készséggel a hardware keylogger projekt végrehajtásához:
A hardware keylogger projekthez szükséges alkatrészek a következők:
Végül, a hardver keylogger tokja szükséges. Egy jó ötlet egy PS/2 hosszabbító kábel és egy 4 hüvelykes hőzsugorító cső megvásárlása, amelyet hővel körbetekerhet a kész keylogger körül.
Először programozza a keylogger mikrovezérlő firmware-jét. Indítsa el a programozó szoftvert, válassza ki az AT89C2051-et, és égesse be a flash memóriát a bináris fájl vagy a hex verzió segítségével. A forráskódot is újrafordíthatja az forráskód és egy 8051 fordító használatával. A forrasztás valószínűleg a projekt legnehezebb része, mivel a keylogger hardverét a lehető legkisebbre kell készíteni. Az alábbi keylogger hardveres séma mutatja, hogyan kell kapcsolatot létesíteni az alkatrészek között.
Forraszd össze az alkatrészeket a mikrovezérlőtől és az EEPROM-tól kezdve. A nem használt IC lábak eltávolíthatók. Győződjön meg róla, hogy a nyomógomb elérhető. Amikor a kondenzátort szereli, győződjön meg róla, hogy helyesen van polarizálva.
Készítse el a hardware keyloggert lehetőleg minél kompaktabban, de kerülje a rövidzárlatokat. Ezeket nehéz lesz eltávolítani a készülék befejezése után. A keylogger áramkörének valamennyire hasonlítania kell a fotón látható prototípusra, miután a fő komponensek össze vannak kötve.
Végül forraszd össze a PS/2 csatlakozókat a keyloggerrel. Jó ötlet a PS/2 hosszabbító kábelt két részre vágni, majd mindegyiket külön forrasztani. Győződj meg róla, hogy a kábel egyik részére felhelyezed a hőzsugorító csövet. Csatlakoztasd az összes négy használt PS/2 pin-t (CLK, DATA, VCC és GND) mindkét csatlakozón (a billentyűzeten és a számítógépen).
Mielőtt a hőcsövet a hardver keylogger köré húznád, jó ötlet némi ragasztót vagy gyantát engedni a komponensek közé, hogy az eszköz merevebb legyen. Végül húzd fel a hőcsövet, melegítsd fel, amíg körbeöleli a forrasztott komponenseket, majd vágj ki egy kis lyukat, hogy a gomb elérhető legyen.
A hardver keylogger azonnal elkezdi rögzíteni a billentyűadatokat, amint a billentyűzet és a számítógép közé van dugva. A keylogger teljesen átlátható a számítógép működése szempontjából, és nem észlelhető a szoftver által rögzítési módban. Az összes billentyűzet által küldött adatot 64 kB hardver nem-volatile EEPROM memóriába rögzíti. A rögzítési mód teljesen független a számítógépen telepített operációs rendszertől.
Keresse meg a(z) PS/2 csatlakozót a számítógépen.
Csatlakoztassa le a billentyűzetet.
Csatlakoztassa a hardver keyloggert a billentyűzet helyett.
Csatlakoztassa a billentyűzetet a keyloggerhez. A számítógép bekapcsolásakor az adatok rögzítése megkezdődik.
Amint a hardver keylogger rögzítette a billentyűadatokat, azokat bármely Windows 9X/Me/XP/2000 rendszerű PC-re vissza lehet állítani. A hardver keylogger ezt azzal teszi, hogy szimulálja a billentyűzet leütéseit. A továbbított billentyűadatokat a KeyGrab alkalmazás szerez meg. Amint ezek az adatok átkerültek a számítógépre, feldolgozhatók és elemzésre kerülhetnek. Kövesse az utasításokat az adatletöltés indításához.
Indítsa el a KeyGrab alkalmazást.
Csatlakoztassa a hardver keyloggert a billentyűzethez. Ne csatlakoztassa a billentyűzetet.
Kattintson a KeyGrab cím sávra, hogy az aktív alkalmazássá váljon.
Nyomja meg a gombot a hardver keyloggeren az adatletöltés indításához. Ne változtassa meg az aktív alkalmazást a továbbítás közben. Nyomja meg újra a gombot a továbbítás befejezéséhez. Ezt tegye meg, amikor a kívánt billentyűleütési adatok letöltődtek a számítógépre.
Csatlakoztassa le a hardver keyloggert, és csatlakoztassa vissza a(z) PS/2 billentyűzetét.
Amikor a billentyűleütési adatokat letölti a fő táblázatba KeyGrab, azok automatikusan előfeldolgozódnak annak érdekében, hogy a rögzítés közben naplózott billentyűadatokat jelenítse meg. Az adatok csökkenő sorrendben kerülnek átvitelre, hogy a legutóbb lenyomott billentyűket először mutassa. A régen történt billentyűleütéseket később továbbítják. A táblázatot kézi módon is elemezheti, vagy használhatja a keresési lehetőségek egy részét.
Az egyetlen oszlop, amely érdekes lehet a felhasználó számára, a Kulcs (2) és a Művelet (3). Ezek az oszlopok kódolják, hogy mely billentyűket nyomták le és engedték fel. Görgesse végig az eszközt az ütéselőzmények megtekintéséhez az rögzítés közben. A keylogger-adatok fordított időrendi sorrendben kerülnek átvitelre (a legutóbbi billentyűleütési adatok először).
Az adatok visszanyerésére és elemzésére szolgáló alkalmazás a DIY hardver keyloggerhez Windows 9X/ME/2000/XP-hez:
KeyGrab.zip (0.7MB)
A teljes forráskód az AT89C2051 mikrovezérlőhöz:
Forráskód - diy.asm
A előre lefordított AT89C2051 hardver keylogger firmware is elérhető:
BIN fájl - diy.bin, HEX fájl - diy.hex
Arra ösztönözzük, hogy olvassa el ezt a szakaszt annak érdekében, hogy elkerülje az esetleges problémákat a hardver keylogger használata során.
Ha átvágnád a PS/2 billentyűzet kábelt, valószínűleg 6 vezetéket találnál benne. Ezek közül csak 4 értelmes. Két vezeték a tápellátás: a földelés (GND) és a +5 voltos (VCC) a számítógép tápegységéből. A másik két vezeték aszinkron átviteli vonalak: az adatvonal (DATA) és az órajelet (CLK). Láthatod, hogy ezek a vonalak hogyan felelnek meg a DIN (a) és miniDIN (b) csatlakozó tüskéinek a jobb oldalon látható ábrán. Az átvitel kétirányú, azonban a billentyűzet kiváló. A billentyűzet információt küld azokról a billentyűkről, amelyeket lenyomtak és felengedtek. Az adatblokk csak egy bájtból áll, amelyet egy kezdő bit előz meg, és egy párosító és stop bit követ. A billentyűzet egymás után helyezi a biteket a DATA vonalra, és negatív impulzusokkal órázza azokat a CLK vonalon. Az órajel frekvenciája 10...30 kHz. Ez egy nagyon szép soros protokoll lenne, ha nem lenne a számítógép, amely időnként információt akar küldeni a billentyűzetre. Ilyen esetekben a számítógép alacsonyra húzza a CLK vonalat egy ideig, és várja, hogy a billentyűzet elkezdjen impulzusokat generálni. Amikor ezek az impulzusok elindulnak, a számítógép saját karakterét órázza be a DATA vonalon. A billentyűzet és a gép közötti (a) és a gép és a billentyűzet közötti (b) átvitel állapotdiagramjait láthatod az alábbi ábrán. Ez a protokoll természetesen néhány kivételt tartalmaz, például az átvitel megszakítása, karakter ismétlés stb. Azonban ezek nagyon ritka esetek.
Tehát mi is ténylegesen kerül átvitelre a billentyűzet sorokon keresztül? Indításkor mind a billentyűzet, mind a számítógép inicializálási adatokat küld, jelezve, hogy rendben vannak. Amikor a számítógép normálisan működik, csak a billentyűzet küld adatokat. Ezek az eseményekről szóló adatok, minden olyan eseményről, ami történt. Eseménynek számít, ha egy billentyű lenyomásra vagy felengedésre kerül. Ha egy standard billentyűt lenyomnak, akkor az ún. „scancode”-je kerül elküldésre. Minden billentyűnek pontosan egy scancode-ja van, létrehozva ezzel a scancode-ok térképét. Ha egy billentyű felengedésre kerül, először a speciális 240-es bájt (F0 hexa) kerül elküldésre, majd a billentyű scancode-ja. Tehát egy standard billentyűleütés 3 karakter elküldését eredményezi a vonalon. Ha egy billentyűt egy ideig lenyomva tartanak, annak scancode-ja folyamatosan generálódik a beállított ismétlési késleltetéssel. Amikor végül felengedik, az 240-es (F0 hexa) karakter kerül elküldésre, majd a scancode. Ez még mindig egy szép protokoll lenne, ha nem lennének olyan speciális billentyűk a szabványos PC billentyűzeteken, mint a Home, End, a nyilak, stb. Amikor egy speciális billentyűt lenyomnak, a 224-es (E0 hexa) bájt generálódik, amit a scancode követ. Amikor egy speciális billentyűt felengednek, a 224, 240-es sorozat kerül kibocsátásra (E0, F0), amit a scancode követ. Normál és speciális billentyűk általánosak minden nemzeti billentyűzet elrendezésben a scancodes térképe tekintetében. Hogy még bonyolultabbá tegyük a történetet, két szuper-speciális billentyű is létezik, a Print Screen és a Pause, amelyek egész sorozatot scancode-ot küldenek. Egy billentyűzet interfész számára a legjobb, ha úgy tesz, mintha ezek a billentyűk nem is léteznének.
A mikrovezérlő folyamatosan figyeli a DATA és CLK vonalakat, összegyűjtve az összes adatot. Az adatokat nem volátilis EEPROM memóriába naplózza, ahogy azok végigmennek a vonalon. Ennek köszönhetően a felhasználó később minden billentyűzetes eseményről tájékozódhat. Amikor a felhasználó úgy dönt, hogy a felvétel véget ért, és megnyomja a gombot, a hardver keylogger átkapcsol lejátszási módba. A billentyűzetet le kell csatlakoztatni, különben értelmezi az adatáramot. A keylogger elkezdi szimulálni a billentyűadatokat az belső hardvermemóriából. A KeyGrab alkalmazásnak aktívnak kell lennie, hogy feldolgozza az adatáramot a keylogger hardverről. A normál billentyűket úgy szimulálják, mintha a memóriába lennének írva, a speciális billentyűket pedig kétbájtos hexa kóddal továbbítják.