AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Fernzugriff auf eigenes Programm unterbinden
Thema durchsuchen
Ansicht
Themen-Optionen

Fernzugriff auf eigenes Programm unterbinden

Ein Thema von H4ndy · begonnen am 30. Jun 2008 · letzter Beitrag vom 10. Jul 2008
Antwort Antwort
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#1

Fernzugriff auf eigenes Programm unterbinden

  Alt 30. Jun 2008, 13:56
Hallo,

nach langer Abstinenz habe ich mal wieder eine Frage.

Und zwar dreht es sich dabei um das Problem der Fernzugriffs, welchen ich unterbinden bzw. verhindern möchte.

Bestes Beispiel dafür sind z.B. die aktuellen Versionen von Kaspersky Anti-Virus (v7 & v8).
Diese erkennen scheinbar fast alle Remote Control-Programme und man kann mit diesen einfach nicht auf die GUI des Programms zugreifen (z.B. mit UltraVNC). Das einzige was noch klappt ist das Öffnen des Programms durch einen Doppelklick auf das Tray-Icon.

Die Fähigkeit wird als "Selbstschutz" in den Optionen benannt und lässt sich nur durch komplettes Deaktivieren dieser Option verhindern, oder in dem man den VNC-Server in die Ausnahmeliste des Scanners steckt.

Hat jemand irgendeine Idee, wie das bewerkstelligt worden könnte?
Ich habs probiert mit nem Maus-Hook, aber da kann ich nicht zwischen echter Eingabe und Ferneingabe unterscheiden. Im Netz findet sich auch absolut nichts, außer Hinweise im Kaspersky-Forum, wie man den Zugriff wieder erlaubt.

Es geht dabei nicht um die direkte Remotedesktopverbindung, da man sich dazu ja richtig am PC einloggt, und das selbst Kaspersky nicht mitbekommt. Aber Schutz vor den gebräuchlichsten Programmen wie RemoteAdmin oder VNC eben würde reichen.
Manuel
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#2

Re: Fernzugriff auf eigenes Programm unterbinden

  Alt 30. Jun 2008, 14:49
Hast du mal Teamviewer.de ausprobiert? Geht das?
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#3

Re: Fernzugriff auf eigenes Programm unterbinden

  Alt 30. Jun 2008, 15:17
Zitat von Dezipaitor:
Hast du mal Teamviewer.de ausprobiert? Geht das?
TeamViewer wird genauso wie *VNC leider zuverlässig geblockt (läuft ja AFAIK auch mit einem veränderten VNC-Protokoll).

Edit: PCVisit 4 funktioniert ebenfalls nicht.
Manuel
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#4

Re: Fernzugriff auf eigenes Programm unterbinden

  Alt 30. Jun 2008, 16:16
Dann vermute ich mal, dass es ein Tastaturhook oder Treiber ist. Damit kann man wirklich unterscheiden, ob die Eingabe durch Hardware oder Software kommt.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Fernzugriff auf eigenes Programm unterbinden

  Alt 30. Jun 2008, 17:23
Du könntest mal einen Screenshot machen und gucken ob die GUI da sichtbar ist, wenn ja funktioniert Lan.FS
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#6

Re: Fernzugriff auf eigenes Programm unterbinden

  Alt 7. Jul 2008, 10:39
Hallo,

Sorry für die späte Antwort, ich war aber letzte Woche in der Berufsschule und hab Donnerstag Prüfung...

Zum Theme LAN.FS - das bring ich nicht richtig zum Laufen in der VM, da es anscheinend nicht mit der IP-Struktur klar kommt.
Dateitransfer und Chat klappt, aber wenn ich auf Administration klicke, dann passiert ewig nix und wenn dann doch das Fenster auf geht bleibt alles leer (Remote Desktop, TaskManager, etc.).

Ob Screenshots gehen kann ich nicht testen, da keins der Programme den Tastendruck richtig durchleitet, sondern auf dem Host den Screenshot erstellt statt auf dem Remote-PC. Aber das dürfte eh nix an der Situation ändern, da ich ja Kaspersky AntiVirus sehen kann, nur eben nix anklicken.

Werde mich dann wohl mal über Treiber-Hooks belesen, was da möglich ist.
Manuel
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#7

Re: Fernzugriff auf eigenes Programm unterbinden

  Alt 10. Jul 2008, 10:36
So, nachdem ich nochmal einen halben Tag lang intensiv gesucht habe, konnte ich endliche eine Lösung finden!

Es gibt noch zwei Hook-Arten, die ich bisher übersehen oder schlicht nicht gefunden habe:
WH_KEYBOARD_LL sowie WH_MOUSE_LL

Diese beiden Low Level Hooks bieten in ihrem Flags einen Parameter an, welcher verrät, ob der Input "real" (Treiberebene) oder "Injected" (API-Ebene) ist.
Einzige Möglichkeit diesen Hook auszutricksen ist der Einsatz eines "Fake"-HID-Treibers, welcher den Input generiert oder man benutzt den Microsoft Remote Desktop. Den muss man sepperat über GetSystemMetrics abfragen.

Hier die entsprechenden MSDN-Seiten:Hier ein kleiner Code-Abriss (ich hab die THook-Klasse von Jens Borrisholt benutzt):

Delphi-Quellcode:
  { Structure used by WH_KEYBOARD_LL }
  KBDLLHOOKSTRUCT = record
    vkCode: DWORD;
    scanCode: DWORD;
    flags: DWORD;
    time: DWORD;
    dwExtraInfo: DWORD;
  end;
  PKBDLLHOOKSTRUCT = ^KBDLLHOOKSTRUCT;

  { Structure used by WH_MOUSE_LL }
  POINT = record
    x,y: longint;
  end;

  MSLLHOOKSTRUCT = record
    pt: POINT;
    mouseData: DWORD;
    flags: DWORD;
    time: DWORD;
    dwExtraInfo: DWORD;
  end;
  PMSLLHOOKSTRUCT = ^MSLLHOOKSTRUCT;

const
  LLMHF_INJECTED = 1;

{...}

procedure TfrmLLHookMain.KeyboardHookPreExecute(Hook: THook;
  var Hookmsg: THookMsg);
var
  pKeyHookStruct: PKBDLLHOOKSTRUCT;
  KeyHookStruct: KBDLLHOOKSTRUCT;
begin
  pKeyHookStruct := PKBDLLHOOKSTRUCT(Hookmsg.LParam);
  KeyHookStruct := pKeyHookStruct^;

  if KeyHookStruct.flags = LLKHF_INJECTED then
  begin
    lblKeyInjected.Caption := 'Keyboard: Is Injected Input';
    lblKeyInjected.Font.Color := clRed;
  end
  else
  begin
    lblKeyInjected.Caption := 'Keyboard: Is Real Input';
    lblKeyInjected.Font.Color := clGreen;
  end;
end;

procedure TfrmLLHookMain.MouseHookPreExecute(Hook: THook; var Hookmsg: THookMsg);
var
  pMouseHookStruct: PMSLLHOOKSTRUCT;
  MouseHookStruct: MSLLHOOKSTRUCT;
begin
  pMouseHookStruct := PMSLLHOOKSTRUCT(Hookmsg.LParam);
  MouseHookStruct := pMouseHookStruct^;

  if MouseHookStruct.flags = LLMHF_INJECTED then
  begin
    lblMouseInjected.Caption := 'Mouse: Is Injected Input';
    lblMouseInjected.Font.Color := clRed;
  end
  else
  begin
    lblMouseInjected.Caption := 'Mouse: Is Real Input';
    lblMouseInjected.Font.Color := clGreen;
  end;
end;
Vielen Dank an alle Helfer.
Die DP hat sich mal wieder bewährt ^^
Manuel
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:55 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