Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Keylogger bei Passworteingabe austricksen (https://www.delphipraxis.net/92106-keylogger-bei-passworteingabe-austricksen.html)

ALTF4 14. Mai 2007 15:58


Keylogger bei Passworteingabe austricksen
 
Momentan bin ich an einem Tool, das man erst nach Passworteingabe aufrufen kann. Dazu möchte ich unterbinden, das ein Keylogger die Passworteingabe abfangen kann (wie z.B. bei PGP Disk).

Wie kann ich die Tasteneingaben direkt an meine Form senden, ohne das ein Keylogger was davon mitbekommt?

wfoertsch 14. Mai 2007 16:02

Re: Keylogger bei Passworteingabe austricksen
 
Zitat:

Zitat von ALTF4
Momentan bin ich an einem Tool, das man erst nach Passworteingabe aufrufen kann. Dazu möchte ich unterbinden, das ein Keylogger die Passworteingabe abfangen kann (wie z.B. bei PGP Disk).

Wie kann ich die Tasteneingaben direkt an meine Form senden, ohne das ein Keylogger was davon mitbekommt?

Zeichne ein Tastenfeld und verdrehe einfach die Zahlen

762
438
159
0


und lasse deinen Benutzer die Tasten nur via Maus eingeben ....

SirThornberry 14. Mai 2007 16:12

Re: Keylogger bei Passworteingabe austricksen
 
eine weitere Möglichkeit: Simuliere zwischen den Nutzereingaben einige Tasteneingaben, somit sind im Keylogger mehr Tasten aufgeführt als wirklich drin sind. Also in etwa so:
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
var
  lCurText : String;
  lSelStart: Integer;
begin
  lSelStart := Edit.SelStart;
  lCurText  := Edit.Text;
  //zufällige Tastatureingaben simulieren
  Edit.Text := lCurText;
  Edit.SelStart := lSelStart;
end;
So kannst du wenigstens denen, die das geloggte auslesen, das ganze erschweren.

ALTF4 14. Mai 2007 17:21

Re: Keylogger bei Passworteingabe austricksen
 
Danke erstmal.

Die erste Version ist mir für den Benutzer zu aufwändig: da dauert die Eingabe eines sicheren Passworts ja richtig lange und würde nix gegen eine Software mit Bildschirmaufnahme nutzen.

Version zwei - mit dem auffüllen - ist schon besser, wenn auch nicht optimal.

Aber wie machen das Tools wie PGP Disk rein technisch? Ein Keylogger nimmt da nix auf. Ich habe das mit mehreren Keylogger getestet. Genauso würde ich das auch gerne realisieren.

SirThornberry 14. Mai 2007 18:17

Re: Keylogger bei Passworteingabe austricksen
 
ich kenn die Programme nicht. Hast du selbst schonmal versucht ob du per Hook an die Eingabe ran kommst von PGP-Disk? Vielleicht machen die es ja selbst mit einem Hook der die eigene Eingabe abfängt und nicht weiterleitet und dann per Quelltext umsetzt.

ALTF4 15. Mai 2007 00:38

Re: Keylogger bei Passworteingabe austricksen
 
Ich hab das nun auch mit einem eigenen Hook versucht, aber auch keine Daten von deren Form erhalten. Vermutlich machen die das wirklich mit einem eigenen Hook auf ne clevere Art. Bis ich dahinter komme, wir erstmal dein Vorschlag umgesetzt :thumb:

alzaimar 17. Mai 2007 07:54

Re: Keylogger bei Passworteingabe austricksen
 
Apropos Hooks: Wenn mein Hook einfach nicht den nächsten Hook (CallNextHook) aufruft, dann kann doch auch nichts passieren, oder? Und wenn ich dann noch dafür sorgen könnte, das mein Hook der erste in der Liste ist (also immer zuerst aufgerufen wird), dann sollte das funktionieren.

Im OnEnter den Hook setzen und im OnExit wieder entfernen...

the-networker 17. Mai 2007 09:12

Re: Keylogger bei Passworteingabe austricksen
 
Verwende statt der direkten Tasteneingabe Buttons.
Im OnClick arbeite mit keybd_event.
Der 4. Parameter wird im Normalfall nie genutzt z.B.keybd_event(VKey, ScanCode, Flags,0);
Er wird als dwExtraInfo bezeichnet und hat die Größe DWORD;
In einem KeyboardHook innerhalb Deiner Software kannst Du dann dwExtraInfo auswerten.

zb. Sende mit Keybd_event ein 'a' schreibe in dwExtraInfo etwas anderes.
Die meisten Keylogger werten das dwExtraInfo nicht aus.

gruß
uwe

Dezipaitor 17. Mai 2007 11:10

Re: Keylogger bei Passworteingabe austricksen
 
Ich bin nicht 100% sicher,
aber man könnte einen eigenen Desktop mit Createdesktop erstellen. Dort gibt es das Flag DF_ALLOWOTHERACCOUNTHOOK
und das Zugriffsflag DESKTOP_HOOKCONTROL. Wenn diese fehlen, sollte ein Hook nicht möglich sein.
Habs leider nie ausprobiert.

Zudem wird ein Keylogger als Treiber, sich nicht austricksen lassen. Da hat man nur die möglichkeit, biometrische Sensorenhardware zu verwenden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz