API-Trick verhindert Löschen von Registry-Eintrag

Dieses Thema im Forum "Sicherheit" wurde erstellt von franzkat, 14. März 2005.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. franzkat

    franzkat CD-R 80

    Registriert seit:
    16. Juni 2002
    Beiträge:
    9.246
    Durch diesen Thread

    http://www.administrator.de/index.php?content=0996f333f082882eb46316007b789f84

    bin ich auf ein Phänomen aufmerksam geworden, welches ich bemerkenswert finde. Es gibt eine Methode, einen Registry-Eintrag so zu manipulieren, dass der jeweilige Wert nicht zugänglich ist und der Zweig auch nicht gelöscht werden kann. Bei dem oben angesprochenen Beitrag wird berichtet, dass die Trial-Version von O&O Defrag damit arbeitet. Bei sysinternals.com findet man eine genauere Beschreibung des technischen Hintergrunds für dieses Phänomen und ein Testprogramm, welches das Phänomen simuliert.

    http://www.sysinternals.com/ntw2k/info/tips.shtml#registryhidden

    Ich halte es für sehr naheliegend, dass in Kürze auch Malware mit diesem Trick arbeitet, was zu nicht unerheblichen Problemen führen könnte.Ich habe versucht den von Sysinternals erzeugten Eintrag über einen Hex-Editor zu entfernen (nach vorheriger Speicherung der geänderten software-Datei): Bin dabei aber nicht erfolgreich gewesen, weil die Datenbankstruktur der Registry in der Hex-Ansicht komplizierter ist als gedacht. Also mit Löschen der Bytefolge xyz ist nix; man müßte auch bestimmte Steuerdaten für die Registry-Datenbank neu setzen.Wer hat mit so etwas Erfahrung ? Wer hat eine Idee, wie man dem Phänomen beikommen kann? Ein Native-API-Reg-Editor ist mir nicht bekannt.
     
  2. franzkat

    franzkat CD-R 80

    Registriert seit:
    16. Juni 2002
    Beiträge:
    9.246
    zu Pluto :

    Das heißt, das dürfte nicht helfen.

    Nachtrag : Hab's getestet : Pluto kann den Zweig erwartungsgemäß nicht öffnen.
     
  3. franzkat

    franzkat CD-R 80

    Registriert seit:
    16. Juni 2002
    Beiträge:
    9.246
    Erklär mal genauer, was du gemacht hast ! Was bedeutet vorher, nachher und allerdings ? Was liegen für Aktionen dazwischen? (Ich habe auch Resplendend Registrar eingesetzt; allerdings kann ich damit auch keine Löschaktion machen bzw. den versteckten Wert sehen) Ich hab's jetzt mit nem Hex-Editor auch hingekriegt. Man muss allerdings darauf achten, dass man die Datei 'software' wieder mit der Anzahl der gelöschten Bytes mit 00 Byte am Ende auffüllt, damit man wieder auf die gleiche Größe kommt.
     
  4. franzkat

    franzkat CD-R 80

    Registriert seit:
    16. Juni 2002
    Beiträge:
    9.246
    So kann man das Problem lösen, indem man die Registry mit dem Hex-Editor editiert :

    - man lädt die Datei software aus %windir%\system32\config (kann man nicht direkt machen; ich habe mit einer ERUNT-Kopie gearbeitet; das geht am bequemsten)
    in einen Hexeditor

    - man sucht den Textstring Internals und markiert dann den Auschnitt wie im Screenshot :

    http://mitglied.lycos.de/franzkat/touch1.jpg

    - anschließend auf Entf drücken.
    - man fügt exakt an dieser Stelle wieder statt der gelöschten 272 Byte die gleiche Anzahl 0 Byte ein.

    http://mitglied.lycos.de/franzkat/touch2.jpg

    Anschließend im Hex-Editor speichern und wieder zurück in den config-Ordner.

    Der Native-API-Spuk ist verschwunden.
     
  5. franzkat

    franzkat CD-R 80

    Registriert seit:
    16. Juni 2002
    Beiträge:
    9.246
    Folgendes Tool zeigt einem an, ob man überhaupt welche von diesen sog. Embedded Nulls in der Registry hat :

    http://www.sysinternals.com/ntw2k/freeware/rootkitreveal.shtml

    Lol. Habe dadurch festgestellt, dass der O&O Defrag-Eintrag bei mir auch vorhanden ist.Werde ich mich heute Mittag mal drum kümmern und auch Brummelchens TuneUp-Utilities-Vorschlag testen.
     
  6. franzkat

    franzkat CD-R 80

    Registriert seit:
    16. Juni 2002
    Beiträge:
    9.246
    RegAnalyzer ist nicht schlecht und zeigt tatsächlich die versteckten Werte an. Allerdings taucht der O&O Defrag-Schlüssel nicht unter :

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\System auf, sondern es wird als erster Schlüssel unter

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ ein ???-Unterschlüssel angezeigt. Löschen geht aber-wie MM oben schon schreibt-nicht mit RegAnalyzer.

    Der O&O-Defrag-Eintrag ist in der Hex-Ansicht noch wesentlich komplizierter als der Sysinternals-Simulationseintrag.Da hat man per Hex-Editor praktisch kaum noch eine Chance, ohne die Registry zu beschädigen, wenn man die Offsets nicht genau kennt. Es gibt aber einen anderen Weg, den Eintrag korrekt zu löschen :

    Das altbekannte Petter-Nordahl-Tool Offline NT Password & Registry Editor ist eben nicht nur zum Passwortsetzen gut, sondern auch zum Registry-Editieren.Das ist zwar auf der Kommandozeile etwas gewöhnungsbedürftig, aber man hat vollen Zugriff auf den besagten O&O-Null-Key; und da eben unter Linux nicht die Windows API benutzt wird, kann man dann auch den Eintrag löschen.
     
  7. franzkat

    franzkat CD-R 80

    Registriert seit:
    16. Juni 2002
    Beiträge:
    9.246
    Habe ich auch gedacht. Ist aber ein Irrtum. Das Tool tut so, als wenn der Eintrag gelöscht würde. Er bleibt aber in Wahrheit vorhanden.

    Ich habe jetzt noch mal bei dem O&O-Eintrag folgendes getestet :Wenn man die beiden Bytes hinter 'System' in einem Hex-Editor mit X und 0 überschreibt, dann wird der Name des Eintrags in SystemX umbenannt und der Namensstring entsprechend der Win API-Konvention korrekt terminiert. Der Eintrag erscheint dann unter regedit ganz normal. Der Wert kann eingesehen und der ganze Eintrag problemlos gelöscht werden.
     
  8. franzkat

    franzkat CD-R 80

    Registriert seit:
    16. Juni 2002
    Beiträge:
    9.246
    Ich hatte eine ursprüngliche Trial freigeschaltet; deshalb stellt sich das Problem so nicht für mich.

    Müßte man auch noch mal unter VMware testen, ob das geht.
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen