[Viren/Trojaner] The Art of Patching...

Nautilus

fühlt sich hier wohl
The Art of Patching...

The Art of Patching -- Ein neuer Trend?
***************************************

Ich konnte seit längerer Zeit zum ersten Mal wieder einen kurzen Abstecher in die mir noch halbwegs vertraute VX Szene unternehmen. Eigentlich erwartete ich, dass sich die Diskussion dort vor allem um Optix Lite Firewall Bypass und ähnliche auf Tooleaky basierende Konzepte dreht. Letztlich habe ich dann aber etwas viel Interessanteres und wohl auch Bedrohlicheres entdeckt... das "Patchen" ;)

-- Hintergrund --

Bislang hatten selbst erfahrene Remotecontroller (Anwender von Trojanern) erhebliche Schwierigkeiten, den Trojanerserver vor guten AV Scannern (insbesondere McAfee und KAV sind in der Szene "gefürchtet") zu verbergen. Die wenigen noch existenten .exe Packer/Crypter Kombinationen, die sowohl KAV als auch McAfee täuschen, wurden als absolute Geheimtips gehandelt. Inzwischen werden aber zunehmend sog. "gepatchte" Server (entgeltlich oder unentgeltlich) angeboten. Nach meiner Überzeugung wird es nur noch kurze Zeit dauern, bis selbst weniger erfahrene Remotecontroller die Technik des Patchens beherrschen und unerkennbare Trojaner-Mutationen herstellen können. Da die Verbreitung solcher gepatchten Trojaner voraussichtlich nicht nur über die allseits bekannten Trojaner-Websites, sondern zunehmend auch "unter der Hand an Freunde und Bekannte" erfolgen wird, dürften die AV Hersteller Schwierigkeiten bekommen, alle gepatchten Server zeitnah in ihre Signaturdatenbanken aufzunehmen.

-- Was ist Patchen? --

Durch das Patchen wird ein Trojanerserver so verändert, dass ihn der AV Scanner nicht mehr erkennt. Dazu wird zunächst die Signatur ermittelt, die der AV Scanner zur Erkennung benutzt. Anschliessend wird der in der Serverdatei enthaltene Hexcode, der der Signatur zugrunde liegt, geringfügig verändert. Dies geschieht etwa dadurch, dass die im Trojanerserver vorhandenen Assemblerbefehle durch synonyme Anweisungen ersetzt werden. Das Ganze ist wesentlich leichter, als es sich zunächst anhören mag. Besonders unangenehm: Von der Technik des Patchens sollten anders als beim Crypten & Packen nicht nur sog. Filescanner, sondern auch solche AV Scanner betroffen sein, die den laufenden Trojaner im Arbeitsspeicher zu erkennen versuchen (z.B.: Trojanhunter oder TDS-3).

Nachfolgend werde ich das oben Gesagte anhand eines Beispiels verdeutlichen, dabei jedoch nicht so sehr ins Detail gehen, dass eine Anleitung zum Patchen daraus wird. (Deshalb bleiben meine Formulierungen teilweise etwas vage. Zu Testzwecken wurde jedoch ein Optix Lite 0.4n Server erfolgreich gepatcht und gestartet.)

-- Wie läuft das Patchen ab? --

Es gibt bereits einige Tools, die einen Trojanerserver automatisch mit den Signaturen eines Virenscanners vergleichen können und auf diese Weise die benötigten Informationen zum Patchen offenlegen. Wenn man beispielsweise den Trojaner Optix Lite Version 0.4 mit der Kaspersky Signaturdatenbank vergleicht, ergibt sich folgendes Ergebnis:
________________________________________________________________
Wait Please ... Loading *.AVC files ...

backdoor.avc - Found 4936 valid signature(s) from 5397 records
daily.avc - Found 93 valid signature(s) from 156 records
eicar.avc - Found 2 valid signature(s) from 9 records
macro.avc - Found 105 valid signature(s) from 4744 records
malware.avc - Found 1408 valid signature(s) from 1588 records
script.avc - Found 265 valid signature(s) from 1841 records
trojan.avc - Found 5735 valid signature(s) from 6491 records
avp0208.avc - Found 24132 valid signature(s) from 28301 records
up020809.avc - Found 183 valid signature(s) from 255 records

Total valid signatures found: 36859

Checking files...

server.exe infected: Backdoor.Optix.04.d

Signature 1 found:
Offset: 45633 ( D851h)
Length: 7 ( 7h)
Checksum: (444198B8h)

Signature 2 found:
Offset: 51556 ( D604h)
Length: 255 ( FFh)
Checksum: (E1D3CE3Fh)
________________________________________________________________

Sucht man sich nun mit einem Hexeditor die entsprechende Stelle im Trojanerserver heraus, hat man die von KAV verwendeten Signaturen gefunden. Im Beispiel lautet die erste Signatur "6A00E33464F4FF". (Wird dieser String geringfuegig verändert, erkennt KAV den Server nicht mehr. Offenbar müssen bei KAV beide Signaturen 100% mit dem Server übereinstimmen, damit ein Alarm ausgelöst wird.)

Anschliessend wird der Hexcode disassembliert. Es stellt sich heraus, dass die Signatur folgende Befehle enthaelt:

push 00000000
call 0040428A

Es gilt nun diesen Code in beliebiger Weise zu verändern, ohne dabei die Funktion des Servers zu zerstören. Beispielsweise kann man den Call an eine andere Stelle umleiten und anschliessend an das ursprüngliche Ziel des Calls springen. Wie dies genau gemacht wird und welche Tools man dazu benutzen kann, möchte ich aus den o.g. Gründen hier nicht näher erläutern. Es ist aber im Prinzip sehr einfach.

Im Ergebnis funktioniert der gepatchte Server genau wie vorher, wird aber nicht mehr erkannt, da sich die Signatur verändert hat. (Edited: Um die Nachahmung zu erschweren, wurden die o.g. Zahlen ein wenig verfälscht.)

-- Konsequenzen? --

Ich denke, dass Trend des Patchens relativ ernst zu nehmen ist und den Nutzen von AV/Trojanerscannern ernsthaft in Frage stellt. Ich vermute, dass dem Patchen in nicht allzu ferner Zeit die gleiche Bedeutung zukommen wird, wie sie bislang dem Verwenden von .exe Packern und Cryptern zukam.

Das Problem des Packens und Cryptens von Trojanerservern ist dadurch weitgehend gelöst worden, dass gute AV Scanner inzwischen fast alle Packer und Crypter durchleuten können.

Um auch dem Patchen Paroli bieten zu können, müssten die AV Hersteller zunächst das Auslesen ihrer Signaturen erheblich erschweren. Insoweit sind wohl nicht nur Kaspersky erhebliche Versäumnisse vorzuwerfen. Letztlich lässt sich ein Auslesen der Signaturen aber wohl wirksam nicht verhindern (nicht mal mit einer SoftICE Protection). Ohnehin sind inzwischen bereits viele Signaturen bekannt. Es müssten also alle Signaturen neu erstellt werden...

Eine wirkliche Abhilfe gegen das Patchen kann meines Erachtens nur durch eine Abkehr vom signaturbasierten Scannen erfolgen. Die AV Hersteller müssten insoweit versuchen, eine bessere Heuristik zu entwickeln.

Auf Eure Meinung bin ich gespannt.

Gruss

Nautilus
 
Zuletzt bearbeitet:
Das klingt gemein... Aber ich kann mir nicht vorstellen, wie man eine so gute heuristik schreiben könnte. Denn jedes verdächtige file zu disassemblieren und dann eine funktionsanalyse zu machen geht ja schlecht...
 
Danke Nautilus, eine interessante Diskussion, wenn auch bei Trojaner
etwas zu technisch verliebt und im Sprachgebrauch herabsetzend (DAU).

Tatsache scheint allerdings auch zu sein, dass es genügend uninformierte
und leichtsinnige Opfer gibt, so dass der Aufwand mit Re-Assemblieren,
Quellcode verändern und nach Veränderung neu Compilieren gar nicht
notwendig ist, um Reihenweise Leute aufs Kreuz zu legen: Nach wie vor
benutzt nur knapp die Hälfte der Internetnutzer einen aktuell gehaltenen
Virenprüfer.

Es gibt noch ein anderes Aber - auch jede brauchbar eingestellte PFirewall
wird den Internet-Zugangsversuch des -wie auch immer versteckten-
Trojaners bemerken und blockieren anbieten. Und tunnelnde Trojaner
sind nach meiner Kenntnis bisher noch keine Problem 'in the wild'.

Im übrigen sind zwielichtige Aktivitäten noch viel breiter gestreut -
schaut euch mal interessehalber diese Internetseite an:

http://www.the-invincible4ever.de.vu/
 
Ups...

Silversurfer,

ich habe mit der Suchfunktion nach dem Wort DAU gesucht, es aber nicht gefunden. Habe ich es wirklich benutzt oder meinst Du es anders? Bitte sag genauer Bescheid, wo der Schuh drückt. Im Prinzip kann ich den Text ja editieren.

Zu dem Punkt "technisch verliebt" und "Aufwand nicht notwendig": In vielen Fällen hast Du Recht. Ich finde es nur etwas frustrierend, dass man als User - selbst wenn man einen guten AV Scanner einsetzt - keine Chance gegen gepatchte Trojaner hat. Normalerweise hat man für den Scanner ja sogar Geld bezahlt...

Zu der Sache mit den Firewalls: Diese bieten sicherlich einen gewissen Zusatzschutz. Wirklich verlassen kann man sich aber auch auf diese Schutztools nicht. Neben diversen Tools zum Killen und Tunneln von Walls ist es für den User teilweise schwer zu entscheiden, ob das Programm, welches ins Netz will, ein Trojaner ist oder beispielsweise zur soeben installierten Chatsoftware "dazugehört".

Gruss,

Nautilus

P.S.: Den ganzen Server neukompilieren muss man übrigens nicht. Es ist alles leider viel einfacher und kann wirklich binnen fünf Minuten erledigt werden.
P.P.S.: Willst Du den Link wirklich hier posten, Silver? Einige Sachen auf der Seite sind gar nicht sooo harmlos und eignen sich ziemlich gut zum Nachmachen. Insbesondere die Anleitung zum PivX Exploit sowie einige der Downloads...naja. Deine Entscheidung.
 
Zuletzt bearbeitet:
@Nautilus

..ich habe mit der Suchfunktion nach dem Wort DAU gesucht..
Sorry, zu kurz angemärkt --> war auf dem Trojanerboard von Wizard, wobei ich
dort ein gewisses Verständnis habe, weil da die dreimal täglich gleichen Newbee-
Anfragen manchmal nerven, obwohl dort die Suchfunktion leidlich funktioniert.

..frustrierend, dass man als User - selbst wenn man einen guten AV Scanner
einsetzt - keine Chance gegen gepatchte Trojaner hat..

..Einige Sachen auf der Seite sind gar nicht sooo harmlos..

Im Grunde die gleiche Seite der Medaille: Man muss sich schon sehr genau überlegen,
welche Seiten man ansteuert. Und selbst dann ist die Datensicherung zwingend - ich
musste meinen PC im letzten Jahr zweimal aus der Sicherung wieder herstellen,
weil er nach Internet-Nutzung schräg lief. Nach meiner Vermutung waren das
damals irgendwelche Scriptfehler. Selbst Trojanerboard ist nicht ganz harmlos,
Snooby bietet sehr freimütig per PM Kostproben aus seinem Virenbaukasten an.

Und die absolute Sicherheit gibt es sowieso nicht, aber die Masse der Schäden
kommt eben doch aus den üblichen und ziemlich gut beherrschbaren Risiken.
 
Interessante Ausführung, besonders die zahlreichen Antworten im Trojanerboard :)

Ich denke aber auch, die Bedrohung wird nicht beängstigend zunehmen durch Scriptkiddies, die mit den dann vielleicht verfügbaren Bausätzen ein wenig rumspielen....
WENN: Man sich ein bisschen an den gesunden Menschenverstand hält, nicht immer alle gezogenen Files gleich zieht und einen sicheren Browser/ein sicheres Mailproggi benutzt sowie eine FW im Hintergrund am laufen hat....

Trotzdem, sehr informativ.....
 
@Silver

Du schreibst "Sorry, zu kurz angemärkt --> war auf dem Trojanerboard von Wizard, wobei ich dort ein gewisses Verständnis habe, weil da die dreimal täglich gleichen Newbee Anfragen manchmal nerven".

Es ist richtig, dass ich im TB das Wort "DAU" benutzt und gesagt habe: "Im Ergebnis stimme ich Euch auch insoweit zu, dass das Patchen nicht für absolute DAU's machbar ist." Ich hatte nur die Suchfunktion in diesem Board benutzt und deshalb nicht bemerkt, worauf Du, Silver, abgezielt hast.

Klarstellen möchte ich allerdings, dass meine sprachliche Verfehlung, die ich hiermit einräume, NICHT etwa den hilfesuchenden Newbies auf dem TB gegolten hat, sondern den sog. "Scriptkiddies", die das Patchen gerne nachvollziehen würden.

In diesem Forum habe ich mich um einen sprachlich korrekteren Ausdruck bemüht. Ich hätte auch im TB von "unerfahrenen Remotecontrollern" sprechen sollen. Allerdings bezweifle ich, dass sich jetzt viele von Ihnen bei mir beschweren werden :))

Nautilus
 
Zuletzt bearbeitet:
Nun scheint es endgültig so weit zu sein..

JoJo (Ratboard-Moderator) schreibt:

************
Thema: "neuer" undetect Kit für TheefLE 1.11

Hallo,

ich habe mir überlegt statt eines patch creators zum erstellen eines Patchs zu benutzen, mal selber einen patch zu programmieren. Nun programmiert wurde in C und ne GUI gibet nich..keine Angst ihr könnt es ganz normal starten. Nur dürft ihr keine schönen Bildschen erwarten.
Na ja vielleicht irgendwann mal. Ich hoffe mal, dass ich mir mal den Visual C gedönds genauer anschauen kann. Zunächst benutze ich einen Code eines patch templates von [xxxeditiertxxx]. Jedoch dann fand ich einen besseren code in einem anderen Trojanerboard. Auch Jason meinte dies wäre der bessere Code

Nun ja ich werde den "neuen" theefle patch hier zum download anbieten, damit ihr den testen könnt. (archiv passwort ist: [xxxeditiertxxx])

Man kann in einem Menu drei Optionen auswählen, für welche AV Systeme man den Server unerkannt machen will.
[1] KAV, McAfee, NAV
[2] KAV, The Cleaner
[3] AntiVir, KAV, McAfee, NAV, PestPatrol, The Cleaner,
TDS-3, Trojanhunter, ...

Ich muß noch das template in den source mitsamt einigen Kommentaren tippen, dann kann ich ihn veröffentlichen.

@Jason: Ich habe mir ne andere Möglichkeit überlegt, so dass ich deinen Code vorerst nicht eingebaut habe..denn bei meiner ersten Idee einen großen Bereich der .rsrc mit Nullen zu überschreiben bzw. zu löschen würde dies zu negativ für das äußere Erscheinungsbild der Datei sein.




__________________
MfG
JoJo"


Mein Tip: Exotischen On-Demand Zweitscanner wie Vexira Antivirus verwenden. Hilft aber auch nicht 100%.

Gruss Nautilus
 
Special Offer: Undetected Trojans For Sale

"Evil[xxx] Software has recently decided to offer undetectable servers for a high price. This offer may not last forever. The details are as follows:

Full Trojans: US$300
Others: US$200

All you do is contact us and we will contact the various programmer(s) of the product(s) you want undetected copies of. IF they decide to take you up on your offer for no less than US$300 or US$200 then they will re-code their product slightly in a few specific areas so as to make it undetected to all the top virus scanners (we test with Norton, Mcafee, Kaspersky and F-Secure). However, in testing on these with the highest settings of detection enabled, it ensures that all other virusc scanners should not pick up the product.

If you get a product that has been made undetected and you discover a particular virus scanner that your product is detected on at any time, then you can just let us know and we will quickly make it undetectable to your specific virus scanner if this happens (which is not likely). Once you receive your product it will also be as different as we can make it to any other buyers' product, so, you really do buy a "unique" copy. On the otherhand, if you foolishly give away your undetected product and a virus scanner picks it up through your foolishness then we will NOT re-compile the product to make it undetected again for you. Once again this should not be a problem if you keep distribution low and pack your servers even though they will be undetected whilst unpacked!

The actual server you buy will be functionally no different than the public versions in most cases, although, if there were a few obvious bugs to fix there may have been a few minor corrections! Other than this though, the undetectable products are sold AS-IS functionally wise, the quality of which can be tested by downloading the free copies of the products in the Products section. Paying for the products does not entitle you to bug the programmers for help and get free "lessons" on how to use them. The files are simply handed over and that is it...dept paid!

The main rule for these deals will be MONEY FIRST and then product will be sent in email on receipt of funds! The transfer of funds is currently wire transfer from bank-bank but this may change so please email for more details on that.

WARNING: These deals are not on offer so that people can abuse them and use the products to cause any kind of harm to anyone. This is ensured somewhat by the high price demanded for the products. We WILL ask you as to the purpose of why you want the servers and we reserve the right to reject you if you are going to use the products for anything other than educational, protective or reasons generally involving the application of harm to anyone!

IF YOU ARE INTERESTED, please email the following crew member and your emails will be forwarded, if neccessary, also, make sure to check back to this page for up-to-date contact information because the email address will change from time to time:

th3 s13az3"

Vorschlag: Exotischen Zweitscanner verwenden...die können nicht für jedes AV Programm einen Patch schreiben. Dumm nur, wenn der Trojaner dann zusätzlich noch gepackt oder gecrypted ist (und der Zweitscanner keine Unpacking Engine hat).

Gruss Nautilus
 
Nautilus schlägt vor:
1. Exotischen Zweitscanner verwenden...die können nicht für jedes AV Programm
einen Patch schreiben.
2. Dumm nur, wenn der Trojaner dann zusätzlich noch gepackt oder gecrypted ist
(und der Zweitscanner keine Unpacking Engine hat).

Zu 1. Mein Zweitscanner ist http://www.F-Prot.com/index2.html -
F-Prot aus Island hat mir seit 1992 lange Jahre Sicherheit in Kooperation mit
Thunderbyte-Antivirus gegeben. Die Qualität ist nach wie vor sehr hoch,
nur das Interface ist für die KlickiBunti-Demoralisierten gewöhnungsbedürftig.

Die Windows-Version enthält auch einen Wächter "RealTime Protector".
Die Linux-Version enthält leider nur den "OnDemand Scanner", dafür ist
das Risiko aber nur 10:60000 (es gibt nur 10! nachgewiesene Linux-Viren).

Zu 2. Steigt sukzessive auf Linux um, die Perspektiven der S.A.U.-Company
(SpyAndUnsecure) und der drumherum entstandene Sumpf sind sowieso
ungesund: Bei Internetnutzung als Normal-User dürfte es unmöglich sein,
einen neuen Server zu installieren - vielleicht kann uns ein LX-Fachmann
Genaueres dazu berichten.

PS: Für Privatanwender kostenlos und bei meinen Tests schneller als Kaspersky,
vielleicht auch nicht alle Decrypter dabei.
 
F-Prot

F-Prot ist ein guter Virenscanner. Da er aber so gut wie keine Packer bzw. Crypter durchleuchten kann, würde ich ihn als Trojan-Scanner (auch als Zweitscanner) nicht empfehlen. Zuletzt getestet mit 3.1x for Win.

Gruss Nautilus

P.S.: Zu Linux ist meine Meinung übrigens, dass dieses OS auch nicht wesentlich besser bzw. bugfreier/sicherer ist als MS Windows. Es ist nur nicht so verbreitet und wird deshalb NOCH nicht so stark angegriffen. Das ändert sich aber gerade.
 
Linux ist ...auch nicht wesentlich besser bzw. bugfreier/sicherer ist als MS Windows.
Es wird NUR NOCH nicht so stark angegriffen. Das ändert sich aber gerade.

1. Die geplanten Palladium-Schweinereien wird es unter LX gewiss NICHT geben.

2. Dem Anwender ist es doch wurscht, ob die nur 5-10 Prozent so hohe Gefährdung
von Linux durch weniger Bugs oder durch geringere Anzahl von XP-Schädigungswütige
entsteht, es ist derzeit halt um ein Mehrfaches sicherer. Facit ist zZ leider, dass
M$-Privatanwender in drastisch steigender Zahl PC-Defekte oder materielle
Einbußen zu verzeichnen haben.

3. In den CERT-Foren kann man nachlesen, dass es durchaus eine Reihe noch nicht
(voll) behobener Bugs gibt - die beziehen sich aber meistenteils auf Serverfunktionen.
Und die Suse AG ist ein Musterbeispiel, die nach den einschlägigen Webseiten sehr
schnell mit Korrekturen reagiert. Da bei Linux die Security Teil des Kernels ist und
nicht nachträglich hinzugepatcht werden muss, haben wir auch nicht das Schema
"drei alte Fehler raus, zwei neue herein." Aber das Thema merke ich mir mal vor,
in einem Jahr können wir ja mal Bilanz ziehen.

Grüße LX-Ben
 
Oben