Keelog halka açık alana, tam firmware ve yazılım kaynak kodları, keylogger donanım elektrik şemaları ve belgelere dahil olarak hardware keylogger ailesinin erken bir sürümünü yayınlamaya karar verdi. Bu PS/2 tuş kaydedici, dünya çapında yüzlerce kişi tarafından monte edilmiş ve kullanılmış, %100 işlevsel ve test edilmiş bir cihazdır. Bu donanım key logger'ın işleyişi KeyGrabber PS/2 ile benzerdir. Kaydedilen tuş vuruşu verilerinin alınması ve analizi için KeyGrab uygulamasını sağlıyoruz. Ancak, lütfen bu DIY donanım keylogger projesinin tüm hatalarıyla ve herhangi bir garanti olmaksızın sunulduğunu unutmayın.
Başlamadan önce, bu listeden aşağı inerek, bu hardware keylogger projesini tamamlamak için gereken tüm araçlara ve becerilere sahip olup olmadığınızı kontrol edin:
Donanım keylogger projesi için aşağıdaki bileşenler gereklidir:
Son olarak, donanım keylogger için bir kasa gereklidir. İyi bir fikir, bir PS/2 uzatma kablosu ve hazır yapılmış keylogger etrafına termal olarak sarılabilen 4 inçlik bir ısıtılabilir tüp satın almaktır.
Önce keylogger mikrodenetleyici yazılımını programlayın. Programcı yazılımınızı başlatın, AT89C2051'i seçin ve flaşı ikili dosya veya hex sürümü ile yazın. Ayrıca kaynağı kaynak kodu ve bir 8051 derleyici kullanarak yeniden derleyebilirsiniz. Lehimleme muhtemelen projenin en zor kısmıdır, çünkü keylogger donanımı mümkün olduğunca küçük olmalıdır. Aşağıdaki keylogger donanım şemaları, bileşenler arasında nasıl bağlantılar yapılması gerektiğini göstermektedir.
Bileşenleri birleştirerek mikrodenetleyici ve EEPROM'dan başlayarak lehimleyin. Kullanılmayan IC pinleri çıkarılabilir. Basma düğmesinin erişilebilir olduğundan emin olun. Kondansatörü monte ederken doğru şekilde polarize edildiğinden emin olun.
Donanım keylogger'ı mümkün olduğunca kompakt hale getirin, ancak kısa devrelerden kaçının. Cihaz tamamlandıktan sonra bunları çıkarmak zor olacaktır. Ana bileşenler bağlandıktan sonra keylogger devresi fotoğrafta gösterilen prototipe biraz benzemelidir.
Son olarak, PS/2 konektörleri keyloggere lehimleyin. İyi bir fikir, PS/2 uzatma kablosunu iki parçaya kesmek ve her parçayı ayrı ayrı lehimlemektir. Isı daraltma tüpünü kablonun bir parçasına takmayı unutmayın. Hem klavyede hem de bilgisayarda kullanılan dört PS/2 pini (CLK, DATA, VCC ve GND) her iki konektörde de bağlayın.
Donanım keylogger etrafına termal tüp çekmeden önce, bileşenler arasına biraz yapıştırıcı veya reçine bırakmak iyi bir fikir olabilir, böylece cihaz daha sert hale gelir. Son olarak termal tüpü çekin, lehimlenmiş bileşenlerin etrafına sarılana kadar ısıtın ve düğmeye erişilebilir olması için küçük bir delik açın.
Donanım keylogger, klavye ve bilgisayar arasına takıldığında tuş verilerini kaydetmeye başlar. Keylogger, bilgisayar işlemi için tamamen şeffaftır ve kayıt modundaki yazılım tarafından algılanamaz. Klavye tarafından gönderilen tüm tuş verileri, 64 kB donanım kararlı EEPROM belleğe kaydedilir. Kayıt modu, bilgisayara yüklenmiş işletim sisteminden tamamen bağımsızdır.
Bilgisayarda PS/2 bağlayıcısını bulun.
Klavyeyi çıkarın.
Donanım keylogger'ı klavyenin yerine bağlayın.
Klavyeyi keyloggere bağlayın. Bilgisayar açıldığında veri kaydı başlayacaktır.
Donanım keylogger bir kez tuş verilerini kaydettikten sonra, Windows 9X/Me/XP/2000 çalıştıran herhangi bir PC'ye geri alınabilir. Donanım keylogger bunu klavye tuşlarını simüle ederek yapar. Aktarılan tuş verileri KeyGrab uygulaması tarafından edinilir. Bu veriler bilgisayara iletildikten sonra işlenebilir ve analiz edilebilir. Veri indirme işlemini başlatmak için talimatları izleyin.
KeyGrab uygulamasını çalıştırın.
Klavye yerine donanım keylogger'ı bağlayın. Klavyeyi bağlamayın.
Etkin uygulama yapmak için KeyGrab başlık çubuğuna tıklayın.
Veri indirmeyi başlatmak için donanım keylogger üzerindeki düğmeye basın. Aktif uygulamayı iletişim sırasında değiştirmeyin. İletimi bitirmek için düğmeye tekrar basın. İstenen tuş vuruşu verileri PC'ye indirildiğinde bunu yapın.
Donanım keylogger'ı çıkarın ve PS/2 klavyenizi tekrar takın.
Ana tabloya KeyGrab anahtar tablosuna klavye vuruşu verileri indirildiğinde, kayıt sırasında kaydedilen anahtar verilerini göstermek üzere otomatik olarak ön işlemden geçirilir. Veriler azalan sırayla iletilir, en son basılan tuşları önce göstermek için. Uzun zaman önce gerçekleşen tuş vuruşları daha sonra iletilir. Tabloyu manuel olarak analiz edebilir veya bazı arama seçeneklerini kullanabilirsiniz.
Kullanıcı için ilginç olan tek sütun Anahtar (2) ve Eylem (3)dir. Bu sütunlar hangi tuşların basıldığını ve serbest bırakıldığını kodlar. Kayıt sırasında tuş vuruşu geçmişini görmek için çubuğu kaydırın. Keylogger verileri ters kronolojik sırayla iletilir (en son tuş vuruşu verileri önce).
Windows 9X/ME/2000/XP için DIY donanım keylogger veri alımı ve analiz uygulaması:
KeyGrab.zip (0.7MB)
AT89C2051 mikrodenetleyici için tam kaynak kodu:
Kaynak kodu - diy.asm
Ön derlenmiş AT89C2051 donanım keylogger yazılımı da mevcuttur:
BIN dosyası - diy.bin, HEX dosyası - diy.hex
Donanım keylogger kullanırken oluşabilecek sorunlardan kaçınmak için bu bölümü okumanızı öneririz.
Bir PS/2 klavye kablosunu keserseniz, muhtemelen içinde 6 tel bulursunuz. Bunların sadece 4 tanesi anlamlıdır. Bu iki güç hattıdır: bilgisayar güç kaynağından toprak (GND) ve +5 volt (VCC). Diğer iki tel ise asenkron iletim hatlarıdır: veri hattı (DATA) ve saat hattı (CLK). Bu hatların DIN (a) ve miniDIN (b) konektör pinleriyle nasıl ilişkili olduğunu sağdaki şekilde görebilirsiniz. İletim çift yönlüdür, ancak klavye üstündür. Klavye basılan ve bırakılan tuşlar hakkında bilgi gönderir. Veri paketi sadece bir bayttan oluşur, başlangıç biti ile başlar ve çiftlik ve durdurma biti ile biter. Klavye ardışık bitleri DATA hattına koyar ve onları CLK hattında negatif darbelerle saatler. Saat frekansı 10...30 kHz'dir. Bu, bilgisayarın klavyeye bilgi göndermek istemediği çok güzel bir seri protokol olurdu. Bu durumlarda, bilgisayar CLK hattını bir süre düşük çeker ve klavyenin darbe üretmeye başlamasını bekler. Bu darbeler başladığında, kendi karakterini DATA hattına saatler. Klavyeden ana bilgisayara (a) ve ana bilgisayardan klavyeye (b) iletimin durum diyagramlarını aşağıdaki şekilde görebilirsiniz. Bu protokolün elbette kesinti, karakter tekrarı vb. gibi birkaç istisnası vardır. Ancak, bunlar çok nadir durumlardır.
Klavye hatları aracılığıyla aslında ne aktarılır? Başlatıldığında, hem klavye hem de bilgisayar başlatma verileri gönderir, kendilerinin iyi olduğunu bildirir. Bilgisayar normal şekilde çalışırken, sadece klavye veri gönderir. Bu, gerçekleşen her olay hakkında veridir. Bir olay, bir tuşun basılıp bırakılması olarak kabul edilir. Bir standart tuşa basıldığında, sözde 'tarama kodu' gönderilir. Her tuşun tam olarak bir tarama kodu vardır, tarama kodlarının bir haritasını oluşturur. Bir tuş bırakıldığında, önce özel 240 (F0 onaltılık) baytı gönderilir, ardından tuşun tarama kodu gönderilir. Bu nedenle, bir standart tuş vuruşuyla hat boyunca 3 karakter gönderilir. Bir tuş bir süre basılı tutulursa, tarama kodu sürekli olarak belirlenen tekrarlama gecikmesiyle oluşturulur. Sonunda bırakıldığında, 240 (F0 onaltılık) karakteri gönderilir, ardından tarama kodu gönderilir. Bu, standart PC klavyesinde bulunan Home, End, oklar gibi bazı özel tuşlar olmasaydı hala güzel bir protokol olurdu. Bir özel tuşa basıldığında, 224 (E0 onaltılık) baytı oluşturulur, ardından tarama kodu gelir. Bir özel tuş bırakıldığında, 224, 240 (E0, F0) sırası tetiklenir, ardından tarama kodu gelir. Normal ve özel tuşlar, tarama kodu haritası ile ilgili tüm ulusal klavye düzenleri için ortaktır. Hikayeyi biraz daha karmaşık hale getirmek için, Print Screen ve Pause gibi iki süper-özel tuş bulunmaktadır, bu tuşlar bir dizi tarama kodunun iletilmesine neden olur. Bir klavye arayüzü için, bu tuşların var olmadığını varsaymak en iyisidir.
Mikrodenetleyici, sürekli olarak DATA ve CLK hatlarını izleyerek tüm verileri toplar. Veriler, hattın boyunca ilerlerken kalıcı olmayan EEPROM belleğe kaydedilir. Bu sayede kullanıcı daha sonra klavyedeki her olay hakkında bilgi edinebilir. Kullanıcı kaydın bittiğine karar verir ve düğmeye basar basmaz, donanım keylogger oynatma moduna geçer. Klavyenin bağlantısı kesilmelidir, aksi takdirde veri akışını yorumlar. Keylogger, dahili donanım belleğinden tuş verilerini simüle etmeye başlar. KeyGrab uygulamasının, keylogger donanımından gelen veri akışını işlemek için etkin olması gerekir. Normal tuşlar belleğe yazılmış gibi simüle edilirken, özel tuşlar iki baytlık onaltılık kod kullanılarak iletilir.