Schrift
[thread]9189[/thread]

Keylogger: Wie erstelle ich einen Keylogger in Perl

Leser: 3


<< |< 1 2 >| >> 16 Einträge, 2 Seiten
Jedi
 2007-07-14 11:15
#78462 #78462
User since
2007-06-03
15 Artikel
BenutzerIn
[default_avatar]
Hey, ich wollte nur wissen ob ihr wisst (nettes Wortspiel ^^) wie man einen Keylogger in Perl erstellt? Ich habe im Netz nichts brauchbares deutsches dazu gefunden.
Ich denke, es ist möglich mit dem <stdin> und dem in Dateien schreiben. Aber wie macht mans genau?
RPerl
 2007-07-14 11:54
#78463 #78463
User since
2006-11-26
384 Artikel
BenutzerIn

user image
Hallo,

mein Vorschlag waere, dass Du einfach <STDIN> in eine Datei schreibst, die irgendwo gut versteckt gespeichert wird und mit base64 verschluesselt ist. (Siehe dafuer: CPAN:Crypt-Simple)

Du koenntest /bin/bash umbennenen nach /bin/fakebash und mit dem Perl script einfach /bin/fakebash -c <commandhere> aufrufen und <commandhere> entsprechend bearbeiten bzw. speichern etc.

Allerdings wuerde ich das in C erledigen. Geht besser.

Danke und Gruß,

rPerl

p.s: Wieso wollen so viele Leute hier Keylogger schreiben?\n\n

<!--EDIT|RPerl|1184399713-->
Ronnie
 2007-07-14 11:56
#78464 #78464
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
@RPerl: keine Ahnung warum, aber das sind Fragestellungen die man nicht wirklich beantworten muss.
RPerl
 2007-07-14 12:00
#78465 #78465
User since
2006-11-26
384 Artikel
BenutzerIn

user image
Wieso sollte man nicht?
Uebrigens verstehe ich das sowieso nicht. Man kann auch einfach less /root/.bash_history machen und weiß was man getippt hat.

// EDIT

@Jedi: Es gibt noch eine Moeglichkeit. Es gibt ein Modul im Kernel namens evbug. (modprobe evbug, insmod evbug)
Das erzeugt in dmesg:

Code: (dl )
1
2
3
4
5
6
7
[4298922.635000] evbug.c: Event. Dev: isa0060/serio0/input0, Type: 0, Code: 0, Value: 0
[4298923.302000] evbug.c: Event. Dev: isa0060/serio0/input0, Type: 4, Code: 4, Value: 200
[4298923.302000] evbug.c: Event. Dev: isa0060/serio0/input0, Type: 1, Code: 103, Value: 1
[4298923.302000] evbug.c: Event. Dev: isa0060/serio0/input0, Type: 0, Code: 0, Value: 0
[4298923.380000] evbug.c: Event. Dev: isa0060/serio0/input0, Type: 4, Code: 4, Value: 200
[4298923.380000] evbug.c: Event. Dev: isa0060/serio0/input0, Type: 1, Code: 103, Value: 0
[4298923.380000] evbug.c: Event. Dev: isa0060/serio0/input0, Type: 0, Code: 0, Value: 0


Nun wuerde ein Script reichen was das einliest und umwandelt in lesbare Tastendrucke... vielleicht auch brauchbar.\n\n

<!--EDIT|RPerl|1184401580-->
Jedi
 2007-07-14 15:55
#78466 #78466
User since
2007-06-03
15 Artikel
BenutzerIn
[default_avatar]
is das dann auch so, dass in der konsole eingegeben wird?
ich mein mim stdin isses ja so, dass man da was in die konsole eingibt?

und habt ihr einen kompletten einfachen keylogger in perl mit source für mich?
sid burn
 2007-07-14 17:39
#78467 #78467
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Quote
Wieso sollte man nicht?
Uebrigens verstehe ich das sowieso nicht. Man kann auch einfach less /root/.bash_history machen und weiß was man getippt hat.

Dann tipp mal "mysql -u root -p" in der Konsole ein. Dann wirst du nach einem Passwort gefragt. Dies tippst du ein.

Und jetzt die Preisfrage. Wo wird man das Passwort sehen?

A) Das steht dann ebenfalls in der /root/.bash_history drin.
b) Nur über einen Keylogger.


Ansonsten geht das nicht einfach mit "stdin". Du musst einen ganzes Terminal Programm nachprogrammieren...\n\n

<!--EDIT|sid burn|1184420427-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
murphy
 2007-07-14 18:22
#78468 #78468
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
[quote=sid burn,14.07.2007, 15:39][...]
Ansonsten geht das nicht einfach mit "stdin". Du musst einen ganzes Terminal Programm nachprogrammieren...[/quote]
Um alle Eingaben an Kindprozesse in einem Terminal abzufangen, reicht es unter unixoiden Systemen ein Pseudoterminal anzulegen, dessen Ein- und Ausgabe auf das eigene kontrollierende (Pseudo-)Terminal durchzuschleifen und die Eingaben des Benutzers mitzuloggen. Ein eigener Terminalemulator ist hier nicht erforderlich.

Unter X11 oder unter Win32-Systemen ist es komplizierter, die Tastatureingaben mitzuloggen. Hier kann man unter Umständen mit Keyboardhookfunktionen arbeiten, die aber in jedem Kindprozess gesetzt werden müssen, was bei unkooperativen Kindprozessen das Verwenden einer Debugger-API erfordert.

Will man systemweit alle Eingaben mitschneiden, muss man entweder direkt am Kernel ansetzen oder in alle Prozesse Code injizieren. Beides ist mit entsprechenden Rechten stets möglich, aber in purem Perl kaum zu bewerkstelligen.

@Jedi: Ich halte es für verwerflich, zu einem solchen Thema kompletten Beispielcode zu posten. Im Internet kursieren genügend Programme, die einen solchen Zweck erfüllen. Und wenn Du die Frage gestellt hast, weil Dich der Sicherheitsaspekt oder die Technik interessiert, so hast Du genug Informationen bekommen, um alles weitere mit besserem Lerneffekt selbst herausfinden zu können. Detailfragen beantworte ich auch gerne mit Codebeispielen, wenn aber weniger akademische Motive hinter Deiner Frage stecken, so sehe ich eigentlich keinen Grund Dir dabei weiterzuhelfen...
When C++ is your hammer, every problem looks like your thumb.
Jedi
 2007-07-14 19:28
#78469 #78469
User since
2007-06-03
15 Artikel
BenutzerIn
[default_avatar]
Es geht mir eigentlich nur ums lernen von Perl, und wie so ein Keylogger geht is auch interessant. Da könnte man ja beides kombinieren.
murphy
 2007-07-14 20:17
#78470 #78470
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Interessant ist es durchaus, allerdings sehr systemnah, wenn man es halbwegs vernünftig anfängt. Selbst wenn Du das Programm in Perl implementierst, wirst Du Dich wahrscheinlich mehr mit der C-API-Dokumentation Deines Betriebssystemes herumschlagen müssen, als mit Perl. Aber was man für ein gutes Einstiegsprojekt in Perl hält, ist ja Geschmackssache :-)

Auf welchem Betriebssystem arbeitest Du denn? edit: Falls Du Win32 benutzt, dürfte dieser Thread interessant für Dich sein.\n\n

<!--EDIT|murphy|1184431139-->
When C++ is your hammer, every problem looks like your thumb.
RPerl
 2007-07-14 21:48
#78471 #78471
User since
2006-11-26
384 Artikel
BenutzerIn

user image
Quote
Dann tipp mal "mysql -u root -p" in der Konsole ein. Dann wirst du nach einem Passwort gefragt. Dies tippst du ein.
wahnsinn, dass wusste ich ja noch garnicht - krasser Typ. OMG!
Der richtige Admin weiß sein PW i.d.R.

*link in den Raum werf*
http://sourceforge.net/projects/lkl/
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2007-07-14 11:15.