Ein Antivirenprogramm darf sich nicht so leicht von einem Trojaner austricksen lassen. Vista lässt einige ausgebuffte Methoden mit aktiviertem Bitlocker gar nicht erst zu.
Warum jedoch kompliziert denken, wenn der einfachste und älteste Trick der Welt funktioniert?
Ich probiere es an einen Laptop mit TPM-BIOS aus. Vista ist mit allen Patches installiert. Bitlocker hat die Platte verschlüsselt und verweigert das Booten, wenn nur der kleinste Parameter in meiner Bootkonfiguration verändert wird. Dann hilft nur noch ein Sicherheits-USB-Stick und ein unendlich langer Unlock-Code.
Zunächst einige Tests:
- Anti-Virus-Prozesse killen: Fehlanzeige.
- Dienste herunterfahren: nicht möglich.
- Registry-Keys löschen: wird trotz Admin-Rechten verweigert.
- Antivirendateien löschen: Vista spielt nicht mit.
Der älteste Trick der Welt ist das Umbenennen des Antiviren-Verzeichnisses. Schon findet Vista beim nächsten Booten keine Anti-Virus-Software mehr. Doch per Kommandozeile lässt sich Vista nicht an der Nase herumführen.
Ich erinnere mich an eine Funktion aus Windows NT 3.1. Damals gab es noch nicht so schöne, bunte Windows-Updates. Um eine Datei, die von Windows benutzt wurde, zu löschen oder umzubenennen, musste Windows angewiesen werden, dies unmittelbar nach dem nächsten Reboot zu erledigen.
Ein Blick ins MSDN gibt Auskunft. Der Parameter MOVEFILE_DELAY_UNTIL_REBOOT ist immer noch möglich. Vista und Windows 2008 werden als unterstützte Betriebssysteme explizit genannt.
Ich schreibe einen Zehnzeiler in C++ und benenne damit das Verzeichnis McAfee in McAfee-ausgetrickst um.
Die Umbenennung muss Windows laut Beschreibung direkt nach dem Laden von Kernel und Filesystem durchführen, also vor dem Laden der Antivirensoftware.
Ich boote neu. Mein Rechner ist viel schneller. Antivirensoftware ist nicht aktiv. Das Sicherheitscenter schlägt keinen Alarm. Der Rest ist Pflichtprogramm. Schnell noch eine Taskbar-Ikone programmiert, die genauso aussieht wie mein Antivirenprogramm. Bewege ich die Maus darüber, so erscheint die Meldung: „Rechner geschützt, keine Bedrohung gefunden“.
Das wird dem Programmierer eines Trojaners sicherlich auch einfallen. Odysseus hatte es da mit seinem Hardware-Trojaner 1.0 deutlich schwerer. Troja ist nicht Vista. Die Bewohner der Stadt hatten sich nicht die Mühe der Befestigung gemacht, um Odysseus, wenn er nur freundlich anklopft, sofort zum König zu erheben.
Neueste Kommentare
4 Kommentare zu Wie Trojaner die Antivirensoftware austricksen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
tja ..
wenn man nen ordentlichen trojaner bauen will, macht man das halt auch noch ..
Selbst wenn das Umbenennen geht, muss man beim StartUp auch noch in der Lage sein, das Fake-TrayIcon Programm starten zu können. Und dann wird sich Windows dennoch erst mal beschweren, dass der Sicherheitszustand nicht i.O. ist, weil man in diesem „Fake“-Programm erst mal die Schnittstelle zum Windows-Security-Center bedienen müsste.
Hallo Brauser,
ich habe ein einfaches Command-Line-Tool geschrieben. In der .manifest Datei (größer als das Programm selber) habe ich ‚<requestedExecutionLevel level=“highestAvailable“ uiAccess=“false“/>‘ eingetragen.
Das hat gereicht um das Verzeichnis umbenennen zu dürfen. Der Witz ist ja, dass das Verzeichnis nicht sofort umbenannt wird, sondern beim nächsten Reboot vom SYSTEM-Account, bevor irgendeine UAC oder sonst ein Schutz aktiv ist. Ich vermute mal, dass nicht einmal die LSA überhaupt schon gestartet ist.
Per Windows-Messages geht mit UAC natürlich nichts mehr. Wenn die UAC aufpoppt, ist man im „Secure Desktop“. Window-Name finden und WM_COMMAND schicken ist nicht.
Mit freundlichen Grüßen
Christoph H. Hochstätter
Dass ein OS fremde AntiVir-Software nicht kennen und besonders schützen muss finde ich normal. Würde das OS nur unnötig aufblasen und wiederum andere Möglichkeiten öffnen.
Was mich interessieren würde: Wie wurde das C++-Tool denn ausgeführt? Kein UAC-Prompt?
Habe mal andere Methode (Window-Messages) zwecks Automatisierung mal getestet und da ging ohne UAC/Run as Admin nix – Messages zwecks Manipulation eines anderen Apps wurden stillschweigend ignoriert.