File System Filter o. Mini Filter



  • Hi zusammen,

    ich möchte alle Dateizugriffe (erstellen/löschen/öffnen) auf der Festplatte protokollieren.

    Erst dachte ich, das ich das am Besten mit einem Hook über CreateFileW mache.
    Aber dann wurde mir empfohlen ich solle doch einen Treiber programmieren.

    Bin dabei auf folgendes Beispiel gestoßen:
    http://code.msdn.microsoft.com/windowshardware/Minispy-File-System-97844844#content

    Nur Ich bekomme es leider nicht gestartet

    fltmc load minispy

    Fehler beim Laden: 0x80070005
    Zugriff verweigert

    Was mache ich falsch? Mein user hat admin rechte.

    Ich weiß auch gar nicht warum ich den Treiber installieren muss.
    Ich möchte eher sowas wie Filemonitor haben, wo ich einfach eine Anwendung starte und fertig ist.

    Auch finde ich in das ganze Thema mit dem Filter kein richtigen Einstieg.
    Es gibt kein schönes Tutorial wo mir alles genau erklärt wird.



  • Nash26 schrieb:

    Was mache ich falsch? Mein user hat admin rechte.

    Reicht nicht, du musst die Eingabeaufforderung "Als Administrator ausführen...".

    Nash26 schrieb:

    Ich weiß auch gar nicht warum ich den Treiber installieren muss.

    Musst du auch nicht wissen, ist halt einfach so.

    Nash26 schrieb:

    Ich möchte eher sowas wie Filemonitor haben, wo ich einfach eine Anwendung starte und fertig ist.

    Eher, hihi.
    Nur weil du meinst dass FileMonitor/ProcessMonitor keinen Treiber verwenden. Tun sie aber. Du siehst davon bloss nix, das ist alles.

    Nash26 schrieb:

    Auch finde ich in das ganze Thema mit dem Filter kein richtigen Einstieg.
    Es gibt kein schönes Tutorial wo mir alles genau erklärt wird.

    Das Sample von MS ist doch eh schon fast perfekt. ...?
    Viel was einfacheres wirst du kaum finden. Ist halt ein reichlich spezielles Thema und sicher nicht für Anfänger.



  • Ok, ich glaube jetzt konnte ich eine cmd shell mit admin rechten starten.

    nun bekomme ich folgende Ausgaben:

    minispy.exe

    Connecting to filter's port...
    Could not connect to filter: 0x80070002
    Das System kann die angegebene Datei nicht finden.

    fltmc load minispy

    Fehler beim Laden: 0x800704fb
    Der Treiber konnte nicht geladen werden.

    minispy.sys liegt in

    C:\Windows\System32\drivers

    Die Installation hat also wohl geklappt.
    Oder muss ich minispy.inf als admin installiert, im ctx menu bekomme ich keine Auswahl von als Admin installieren.

    Wieso brauche ich für dieses Filter zeugs überhaupt admin rechte?
    Processexplorer funktioniert auch ohne admin rechte, wenn das jetzt alles nur mit admin rechte geht ist das der Falsche weg.



  • Ich hab Win64 8.1

    Jetzt habe ich die 64 Bit Version installiert und gestartet, nun bekomme ich folgende Meldungen:

    net start minispy

    Systemfehler 577 aufgetreten.

    Die digitale Signatur dieser Datei kann nicht überprüft werden. Möglicherweise w
    urde durch eine kürzlich durchgeführte Hardware- oder Softwareänderung eine fals
    ch signierte oder beschädigte Datei oder eine Datei, bei der es sich um böswilli
    ge Software aus einer unbekannten Quelle handelt, installiert.

    fltmc load minispy

    Fehler beim Laden: 0x80070241

    Fehlerursache konnte nicht übersetzt werden. Meldungscode: 0x80070241, Ursache:
    7a

    Hat irgendjemand ein Beispiel für Win64, was ich einfach so kompilieren und starten kann und es funktioniert?



  • Google mal nach windows 8 testsigning mode.

    Nash26 schrieb:

    Hat irgendjemand ein Beispiel für Win64, was ich einfach so kompilieren und starten kann und es funktioniert?

    Nein. Kann es nicht geben. 64 Bit = treiber muss signiert sein oder testsigning aktiviert. Und da du nen Treiber brauchst...

    Und sein Zertifikat wird dir wohl keiner geben...



  • ok, das bedeutet also wenn ich:

    Bcdedit.exe -set TESTSIGNING ON
    

    aufrufe, kann ich meinen Treiber installieren?
    Oder musst ich den noch so signieren das es ein Test ist?

    Wie kann ich meinen fertigen eigenen Treiber signieren?

    Wenn ich 2) geschafft habe, brauch ich dann zur Installation immer noch admin rechte?



  • Ad 1 - Im testsigning Mode kannst du Treiber installieren die mit einem selbst signierten Zertifikat signiert sind. D.h. du musst dir kein Code-Signing Zertifikat kaufen, sondern kannst selbst eines erstellen. Wie man das macht lässt sich leicht ergoogeln. Darüber ob man auch ganz unsignierte Treiber installieren kann bin ich mir nicht sicher - glaube mich zu erinnern dass es nicht geht.

    Ad 2 - Google sagt es dir, gibt genug Anleitungen. Ich verwende in meinen Build-Scripts die Tools Inf2Cat und SignTool.

    Ad 3 - Ja, zum Treiber Installieren braucht man immer Admin-Rechte, ganz egal ob und wie sie signiert sind oder nicht. Das war auch auf Windows XP 32 Bit schon so.
    Mit einem Treiber hast du im Prinzip vollen Zugriff auf das gesamte System, vorbei an sämtlichen Kapselungs- oder Sicherheitsmechanismen die so vorhanden sind (File-Berechtigungen, Prozesse, Sessions, ...). Irgendwie klar dass man das einem normalen User-Account nicht erlaubt, oder?



  • Danke für Deine Antwort.

    Was hältst du dann davon? Unsignierte Treiber zu installieren?
    http://code-bude.net/2012/11/17/windows-8-unsignierte-treiber-installieren/

    Ok, jetzt aber die Entscheidene Frage. Wie machen das die Tools von Sysinternals?
    Soweit ich das sehe, brauch man zum starten derer Tools keine admin rechte.
    Wenn ich jetzt mein Tool nur mit Admin rechte installieren kann, ist das eine enorme Hürde.

    Was denkst du, soll ich zum loggen der File Zugriffe doch einen anderen Ansatz?



  • Nash26 schrieb:

    Was hältst du dann davon? Unsignierte Treiber zu installieren?
    http://code-bude.net/2012/11/17/windows-8-unsignierte-treiber-installieren/

    Vermutlich nur ein weitere Weg den Testsigning Mode zu aktivieren. Und ... was soll ich davon halten? Verstehe die Frage nicht.

    Nash26 schrieb:

    Ok, jetzt aber die Entscheidene Frage. Wie machen das die Tools von Sysinternals?
    Soweit ich das sehe, brauch man zum starten derer Tools keine admin rechte.
    Wenn ich jetzt mein Tool nur mit Admin rechte installieren kann, ist das eine enorme Hürde.

    Also es würde mich SEHR SEHR wundern wenn Sysinternals Tools ala ProcessMonitor ohne Admin-Rechte verwendbar wären. Hier in der Arbeit haben wir UAC deaktiviert, deshalb kann ich das jetzt nicht (bzw. nur mit viel zu viel Aufwand) probieren.

    Was denkst du, soll ich zum loggen der File Zugriffe doch einen anderen Ansatz?

    Was willst du denn überhaupt machen?
    Und antworte jetzt bitte nicht "File Zugriffe loggen". WIESO/wozu willst du File Zugriffe loggen?



  • Mit der Anleitung kann ich unsignierte Treiber installieren, d.h. ich hoffe dann auch Treiber die nicht mal eine Test Signierung haben. Dann kann ich mir den Schritt ebenfalls sparen.

    Du bist noch auf Arbeit? Die arbeitest nicht in Europa nehme ich an...

    Warum interessiert dich das wieso?
    Ich möchte ein Programm schreiben, mit dem ich herausfinden kann, was für Dateien ich im laufe des Tages erzeugt habe. Das Programm soll außerdem herausfinden, welche Dateien besonders oft geöffnet worden sind.

    Also Process Monitor kann ich so starten, hab es jetzt nicht extra als Admin gestartet.



  • Nash26 schrieb:

    Warum interessiert dich das wieso?

    Weil es je nachdem was du machen willst sein kann dass...
    * Das ganze Vorhaden unvernünftig ist
    * Es total egal ist wenn das Installieren und/oder Starten Admin-Rechte braucht
    * Es eventuell andere Möglichkeiten gibt wie man das lösen kann
    ...

    Nash26 schrieb:

    Ich möchte ein Programm schreiben, mit dem ich herausfinden kann, was für Dateien ich im laufe des Tages erzeugt habe.

    Dazu kannst du z.B. das NTFS Change Journal ("USN journal") verwenden. Kein Treiber nötig.

    Nash26 schrieb:

    Das Programm soll außerdem herausfinden, welche Dateien besonders oft geöffnet worden sind.

    Wozu?

    Nash26 schrieb:

    Also Process Monitor kann ich so starten, hab es jetzt nicht extra als Admin gestartet.

    *wunder*



  • Mit File monitor hattest du recht, geht nur mit Admin rechten zu starten.

    Also irgendwie hab ich den Filter jetzt zum starten gebracht.
    Ein Zertifikat wird wohl beim bauen mit erzeugt das habe ich dann installiert.
    Funktioniert aber alles nur im test signing modus.

    Jetzt muss ich das Programm nur noch verstehen...

    Wie meinst du aber kann ich mit dem NTFs Journal, genau das gleiche hin bekommen?
    Hast du ein sample code? Ein Link?

    PS: Hast du meine PN bekommen?



  • Nash26 schrieb:

    Wie meinst du aber kann ich mit dem NTFs Journal, genau das gleiche hin bekommen?

    Nur den Teil welche Files neu erzeugt oder modifiziert wurden.
    Den Teil wie oft auf welche Files zugegriffen wurde bekommst du mit dem Change Journal nicht hin.

    Hast du ein sample code? Ein Link?

    Soll ich dir nen lmgtfy Link posten?
    Würde dir das was helfen?

    Nash26 schrieb:

    PS: Hast du meine PN bekommen?

    Ja, aber ich geb' keinen Privatunterricht. Und wenn ich auf einen per "PN" (sind keine PN, sind Emails) unterbreiteten Vorschlag nicht eingehen möchte, dann schreib' ich auch nicht zurück. Weil der andere Forenteilnehmer dadurch meine Email Adresse hätte, und mir das eher weniger zusagt. Bitte nicht persönlich nehmen, ist ne grundsätzliche Sache, hat nix mit meiner Einschätzung deiner Person zu tun.



  • Schade das das Forum keine PN Nachrichten zulässt.
    Aber um das ganze jetzt erst mal abzuschließen.
    Die Lösung für Win 8.1 x64 ist:

    test modus aktivieren http://msdn.microsoft.com/en-us/library/windows/hardware/ff553484%28v=vs.85%29.aspx
    Logo muss in der Rechten ecke sichtbar sein
    2)
    das Zertifikat minispy.cer installieren



  • Nash26 schrieb:

    Schade das das Forum keine PN Nachrichten zulässt.

    Du hast hustbaer eine PN doch schicken können und er hat sich entschlossen nicht zu antworten? Aja: Bei uns heißen diese PNs Email.



  • Ja, aber auf eine PN hätte ich ziemlich sicher geantwortet. Zwar auch nur mit "sorry, nö", aber immerhin geantwortet.


Anmelden zum Antworten