AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Hook auslösen!

Ein Thema von SleepyMaster · begonnen am 9. Jan 2004 · letzter Beitrag vom 16. Feb 2004
Antwort Antwort
Seite 3 von 3     123   
Assarbad
(Gast)

n/a Beiträge
 
#21

Re: Hook auslösen!

  Alt 15. Feb 2004, 10:55
Zitat von SleepyMaster:
Aber irgendwie wäre es unlogisch, da dass WH ja für Window-Hook steht (oder nicht?).
Eben

Zitat von SleepyMaster:
Das wäre ja nicht das Problem
Oho, da biste aber ziemlich zuversichtlich. Viel Spaß beispielsweise mit der Kernel32.dll o.ä.

Eigentlich willst du doch bloß einen Prozeß im SYSTEM-Kontext ausführen, oder? Warum dann nicht einfach eine normale Methode verwenden? Es gibt immer die Rechte-Hürde, die du ohne Recht oder Exploit nicht überspringen kannst.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#22

Re: Hook auslösen!

  Alt 15. Feb 2004, 11:44
Hooks können nur in Prozesse injeziert werden die über einen Messagequeue verfügen. Nachdem ein globaler Hook installiert wurde, wird er nicht sofort in alle Prozesse installiert. Man kann mit PostMessage(hWnd_Broadcast, wm_Null, 0, 0); nun erzwingen das jeder Messagequeue aktiv werden muß. D.h. man sollte obige PostMessage() nach dem Aufruf SetWindowsHookEx() durchführen damit alle betroffenen Prozesse die Hook-DLL laden und somit aktiv werden. Wird dies nicht gemacht kann es durchaus vorkommen das ein Prozess lange Zeit keienrlei Messages bearbeitet, und somit unsichtbar für den globalen Hook ist.

Allerdings, Hooken auf diesem Wege funktioniert nur mit Prozessen die einen Messagequeue besitzen, und Services.exe hat keinen Messagequeue. Dies stellt nämlich ein Sicherheitsrisiko dar.

Gruß Hagen
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#23

Re: Hook auslösen!

  Alt 15. Feb 2004, 16:47
@Hagen: Korrekt, bis auf die Tatsache, daß zumindest Kindprozesse von services.exe durchaus Messagequeues haben. Ich sage nur Norton oder McAfee AV-Produkte. Das wurde ja bei der Shatter Attack so vom Entdecker bemängelt.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#24

Re: Hook auslösen!

  Alt 15. Feb 2004, 23:01
Kindprozesse eine Prozesses ohne Messagequeue sind nicht abhänig von Services.exe. D.h. es liegt in der Entscheidung des Entwicklers eines Dienstes ob er diesen mit oder ohne GUI codet. Man sollte natürlich Dienste immer ohne GUI entwickeln. Schon seltsam das AV Programme die Sicherheit ins System bringen sollen, solche anerkannt unsicheren Techniken benutzen.

Gruß Hagen
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#25

Re: Hook auslösen!

  Alt 16. Feb 2004, 00:44
Ja ja, das mit den Queues ist mir schon klar. Aber ich glaube mal, daß es hier nicht um die services.exe sondern um die Erlangung des SYSTEM-Kontext geht.
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#26

Re: Hook auslösen!

  Alt 16. Feb 2004, 15:27
Nein! Ich will wie gesagt nur Code in ein Programm ohne Messagequeue injecieren. Muss auch nicht services.exe sein, halt nur ein Programm ohne Messagequeue. Mir geht es nicht um die Systemrechte.

Zitat:
Oho, da biste aber ziemlich zuversichtlich. Viel Spaß beispielsweise mit der Kernel32.dll o.ä.
siehe Anhang
(Ich weiß zwar die ganzen Parameter nicht, aber soweit ich weiß darf man nur nichts am Stack verändern [oder man kopiert ihn bevor man damit arbeitet+ hinterher wieder zurückkopieren], damit die übergebenen Werte auch dann richtig an die original DLL weitergegeben werden)

P.S.:Hat jemand villeicht ein bisschen Beispiel Code für API-Hooking???
Angehängte Dateien
Dateityp: txt kernel32.dll.txt (17,8 KB, 30x aufgerufen)
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#27

Re: Hook auslösen!

  Alt 16. Feb 2004, 18:00
Soso ... und das schreibst du dann für jede einzelne Windows-Version. Wußte garnicht, daß Delphi sowas wie Naked beherrscht. Und selbst da müßtest du noch ne eigene Jumptable bauen. Abgesehen von der WFP die dir dann ins Vorhaben spuckt.

Such mal nach Bei Google suchenDetours
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#28

Re: Hook auslösen!

  Alt 16. Feb 2004, 19:06
Wenn man die DLL in Assembler schreibt, söllte man das Problem normal doch nicht haben oder???

Was ist WFP???

Zu DETOURS: Hab nur C++-Quellcodes gefunden, kann aber leider kein C/C++
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#29

Re: Hook auslösen!

  Alt 16. Feb 2004, 20:01
Zitat von SleepyMaster:
Wenn man die DLL in Assembler schreibt, söllte man das Problem normal doch nicht haben oder???
Wenn man eine Jumptable zur echten kernel32.dll hinbekommt, die früh genug geladen wird.

Zitat von SleepyMaster:
Was ist WFP???
Windows File Protection

Zitat von SleepyMaster:
Zu DETOURS: Hab nur C++-Quellcodes gefunden, kann aber leider kein C/C++
Not my job. Es gibt auch Delphi-Beispiele zum Thema ... -> Google
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 10:49 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