![]() |
WinVerifyTrust Hook Probleme
Hoi,
ich habe hier folgendes Gefunden: ![]() funktionuckelt auch soweit. Nur habe ich jetzt schon etwas länger versucht die Wintrust funktion von windows zu hooken per madCodeHook (funzt auch) und dabei sind mir ungreimtheiten aufgefallen die ich mir leider nicht erklären kann. Ziel: sigverif.exe soll ALLE Dateien als Signiert anerkennen und bei "Signiert von" muss etwas von Microsoft stehen :) 1. Hook Versuch: Bei CryptCATAdminCalcHashFromFileHandle einfach das Filehandle von einer anderen Datei wie z.B. NT5.CAT (%windir%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}) übergeben. Funktioniert nicht! Er Berechnet zwar den richtigen Hash aber sigverif.exe scheint da noch irgendwie anders abgesichert zu sein :( 2. Hook Versuch:
Delphi-Quellcode:
3. Hook Versuch:
function WinVerifyTrustCallback(hwnd: THandle; pgActionID: PGUID; pWintrustData: PWINTRUST_DATA): Longint;
begin //So erkennt er alle Dateien als Signiert an! // - Allerdings verschwindet so das 'Signiert von' pWintrustData^.dwStateAction := WTD_STATEACTION_CLOSE; //Signatur Prüfung Result := WinVerifyTrustNext(hwnd, pgActionID, pWintrustData);} end; Bei WinVerifyTrustCallback einen eigenen kompletten Signaturcheck zu machen für z.B. NT5.CAT. Also die im Artiekel erwähnte funktion "CheckFileTrust" aufrufen (abgeändert wegen ReturnCode) aber dabei ist mir durch Debuggen aufgefallen dass die funktion "CryptCATAdminEnumCatalogFromHash" IMMER 0 wiedergibt! Also er findet niemals einen Sicherheitskatalog bei der Funktion auch wenn definitiv einer Existiert. Ich hoffe sehr dass mir da jemand weiterhelfen kann :/ Warum ich das will? z.B. Einfache Art um Windows Dateischutz zu "Deaktivieren" ohne irgendwelche Dateien Patchen zu müssen damit das allgemein gültig ist für jedes Windows-Betriebssystem |
Re: WinVerifyTrust Hook Probleme
Zitat:
1. SetSfcFileException erlaubt es Dir eine Minute lang eine beliebige Datei beliebig zu modifizieren. Danach wird eine Änderung nur erkannt, wenn ein Scan angeordnet wird. Wenn Dir das zu wenig ist, hindert Dich niemand daran Timer gesteuert die API alle 30 Sekunden neu aufzurufen um so auch einem manuellen Scan zu entgehen. 2. WFP benutzt Directory Notifications. Nichts hindert Dich daran Notification Handles zu schließen. 3. SfcTerminateWatcherThread im Kontext von WinLogon ausgeführt schaltet die WFP komplett ab bis zum Reboot. Über AppInit_DLLs, Logon Notification DLLs und ähnliche Spielereien kannst Du dafür sorgen, daß beim Start direkt ein SfcTerminateWatcherThread ausgeführt wird, die WFP also permanent deaktiviert ist. 4. SFC_OS.DLL patchen. Ich weiß, das willst Du nicht. Ist aber immer noch deutlich geringer ins System eingegriffen als madCodeHook. Letztlich lassen sich alle Versionen von sfc_os.dll patchen indem man nach 83F89D75078BC6 sucht und durch 83F89D75079090 ersetzt. Danach die Registry Settings setzen wie überall dokumentiert. 5. Die Dateiliste (SFCFILES.DLL) patchen. Einfach nach dem Filename suchen, das erste Byte des Dateinamens durch ein 0 Byte ersetzen (= End of String) und danach mit den entsprechenden Image Helper Funktionen die PE Checksumme neu berechnen lassen. Die eleganteste Methode ist letztlich der Patch von SFCFILES.DLL, da man ohne das irgendetwas aktiv im Hintergrund laufen müsste, alle Dateien die man ändern möchte permanent von der Überwachung aus nimmt, auch wenn die eigene Anwendung nicht läuft. Der Code Umfang wäre wahrscheinlich weniger als ein Zehntel von dem was madCodeHook allein auf die Waage bringt. |
Re: WinVerifyTrust Hook Probleme
es war nur ein beispiel mit dem SFC!
Ich brauch das auch noch für z.B. MS Hotfixes um eigene erstellte Setup .Inf Dateien zu erlauben, da ich selber Hotfixes erstelle (ich kombiniere die von MS damit ich nich alle einzelnd installieren muss). Da müsste ich sonst immer die update.exe oder in vista irgend eine dll cracken oder so. Aber da wäre das mit dem Hook am elegantesten und "einfachsten" Das mit dem SFC wäre halt ein guter Nebeneffekt! nur hab ich da halt die oben beschriebenen Probleme und weiss nich wie ich die lösen soll. |
Re: WinVerifyTrust Hook Probleme
keine irgendwie ne idee?
|
Re: WinVerifyTrust Hook Probleme
Zitat:
|
Re: WinVerifyTrust Hook Probleme
Auch wenn die Lösung nur privat ist, weiß ich nicht, ob man sie hier öffentlich diskutieren sollte,
|
Re: WinVerifyTrust Hook Probleme
Naja für Maleware bringt das Verfahren sicherlich nichts. Diese muss ja zuerst einmal gestartet werden, um die Zertifikate zu manipulieren. Das heißt das Zertifikat der Maleware würde noch ungefälscht erscheinen ..
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz