Virenscanner umgehen – Confuser

Immer wieder berichte ich darüber das AV-Suiten nichts gegen Malware ausrichten können. Hier mal wieder eine neue Art, die zeigt das AV-Scanner immer einen Schritt hinter her hängen und wie leicht es ist ein Virenscanner in die Irre zu schicken. Schon in Virenscanner die Wahrheit bin ich schon etwas auf die Unzuverlässigkeit von Virenscannern eingegangen, nun möchte ich das ganze Spezifizieren.

1. Confuser – I´m Confused?

Wie das Wort „confuse“ (verwirren) sagt, geht es hier um eine Technik namens „obfuscaten“ (verdunkeln, verwirren) in der Fachsprache.  Dieses „obfuscaten“ bezeichnet eine Technik, die es erschwert Menschen den Quelltext zu lesen. Leider haben nun nicht nur Menschen schwierigkeiten die Datei zu lesen, sondern auch Anti-Viren Programme. Die Sachlage sollte nun klar auf der Hand liegen. Eine .exe die „obfuscated“ wurde, kann sich an AV-Scannern vorbei schummeln. Obfuscation ist eine komplizierte angelegenheit, wird aber durch Tools stark vereinfacht. Kurz gesagt:

  • Äquivalente Formeln und konstante Transformation
    d.h. = eine Zahl (10) wird dort so angezeigt 15 – 5
  • Umordnung von Anweisungen
    Die Reihenfolge der Code Teile wird geändert, ohne den Programmablauf zu ändern
  • Variablensubstitution
    Benennt Variablen kompliziert um. Beispiel: „Ausgabe“ wird zu „ag28Zaskl“
  • Aufruf von Subroutinen
    Jede einzelene Anweisung kann durch eine Subroutine ersetzt werden.
  • Einfügen von Leercode
    In diesem Fall wird überflüssiger Code eingefügt, der nichts auslösst
  • Verschlüsselung
    Ist für die Tarnung von Bytes oder Strings – Verschlüsselt klar-Text-Passwörter im Quelltext
  • Anti Debugs
    Sobald versucht wird die Datei zu „Debuggen“ wird es blockiert
  • Spalten von Variablen
    Umstrukturierung von Arrays

2. Kommen wir endlich zur Praxis

Zum Einsatz kommt meine selbstgeschriebene Backdoor in VisualBasic, für Testzwecke. Ein geeignetes Programm um .NET Dateien zu Obfuscaten heißt „Confuser“. Es ist Freeware und lässt sich auf der Entwicklerseite herunterladen.

Vor dem Obfuscaten sieht der Code in ILSpy (Decompiler) so aus:Unbenannt

…und nach dem die Datei „Confused“ wurde:Unbenannt

Es ist also nur unschwer zu erkennen, das so die Datei nicht mehr ohne großen Aufwand lesbar ist. Warum ohne großen Aufwand? Weil sich .net Dateien nie zu 100% Obfuscaten lassen, sie bleiben immer ein Stück lesbar. Wenn Obfuscaten interessiert, der kann sich auf Easysurfers Blog umschauen.

3. Das Finale – Virenscanner auf dem Prüfstand

Kommen wir nun zum spannendsten Teil. Zum Test sei gesagt, es ist interessant das der beliebte Kostenpflichtige Scanner Kasperksy nichts erkennt, dabei aber dabei die kostenlose Software Avira. Desweiteren sollte ihnen noch ein zweites merkmal auffallen, meine Backdoor wird nicht einmal ohne „Obfuscation“ von allen AV-Scannern erkannt.

Backdoor normal >>
Backdoor mit Confuser erstellt >>

4. Weitere Informationen

Das war mein erster zusammengefasster Teil, von insgesamt 4, wie Virenscanner umgangen werden können. Es soll kein How-To sein, sondern den Internet-Benutzern die Augen öffnen, das Virenscannern nicht all die Schadware abwehren können.

Deshalb lautet das Schlusswort zum Sonntag:

„Sicherheit wird niemals durch Plug&Play erreicht.“

Hinterlasse einen Kommentar