Konferenz DEFCON 17. Lachen Sie über Ihre Viren! Teil 2

Ursprünglicher Autor: Michael Lai, Matthew Richard
  • Übersetzung
Konferenz DEFCON 17. Lachen Sie über Ihre Viren! Teil 1

Dann können Sie es in IDA laden und sehen, dass alles in der Tabelle der importierten Adressen gut aussieht, und wir können den Querverweisen folgen, um einen Zeiger auf die gewünschte Datei zu setzen. So kommen wir genau zum Ort des abhängigen Verschlüsselungscodes.



So fanden wir mit wenigen Speicherabbildbefehlen den Ort, an dem Coreflood versteckt war. Wir haben den PE-Header auch ohne den Chip zerlegt, extrahiert und eingefügt und in weniger als 20 Sekunden eine vollständig wiederhergestellte Adresstabelle erhalten.

Die nächste Geschichte heißt "Schatz, es tut mir leid, dass ich dich wieder gestört habe - ich habe das Internet gestochen!" Diese Geschichte besagt, dass der defekte IP-Generator Conficker.B nur einen Teil des Internets scannt. Hier gehen wir zurück zur Rand-Funktion. Ein wichtiger Teil dieser Funktion ist der jüngste Befehl, den ich mit einem grünen Pfeil markiert habe - er führt einen Endwert in EAX mit einem Wert von 7FFF aus. Wenn Sie mit den Montageprinzipien nicht vertraut sind und nicht wissen, was diese Anweisung kann, finden Sie hier eine kleine Demo dazu.



Wir verschieben den maximalen Wert, den EAX enthalten kann, in diese Registry und führen die letzte Anweisung aus. Sie können sehen, dass die obere Hälfte des Wertes "abgeschnitten" wird und dann 7FFF abgezogen wird, was im Dezimalsystem in die Zahl 32767 konvertiert wird. Offenbar haben die Autoren nicht erkannt, dass diese Einschränkung, die Windows startet, nicht die ganze Zahl auf die Ganzzahl zurückgibt . Es "schneidet" es ab, so dass der Wert 7FFF nicht überschreitet, so dass ein Byte von 7F niemals größer als dieser Wert von 7F sein wird, d. H. Es wird niemals gleich 80 oder etwas Ähnlichem sein.

Weiter im linken Teil der Folie, den ich "Vicious Method" nannte, sehen Sie den Code Conficker.B. Hier wird ein Rand-Aufruf gezeigt, der das erste Oktett einer IP-Adresse initiiert, die nach der Rückkehr von Rand gescannt werden soll. Der Systemaufruf next rand initiiert das dritte und vierte Oktett der IP-Adresse. Aufgrund dessen werden jedoch zwei dieser Oktette niemals größer als 7F sein. Daher kann der größte Teil des Internets nicht gescannt werden, da Conficker.B diesen Algorithmus verwendet.

Im rechten Teil der Folie befindet sich ein Teil des Quellcodes, der die Arbeit des Assemblers zeigt. Es ist schwierig, auf dem Bildschirm zu lesen, aber dieses Beispiel ist öffentlich verfügbar und Sie können es online lesen, wenn Sie interessiert sind.



Am unteren Rand der nächsten Folie mit dem Titel "Simulieren der perversen Methode" befindet sich ein Link zu diesem Werkzeug. Sie sehen auch, dass die IP-Adresse von PRNG generiert, aber nicht gescannt wird.



Ich möchte mich ganz herzlich bei Brandon Enright bedanken, der die Grafik auf der nächsten Folie erstellt hat. Diese Grafik wird als "Hilbert-Kurve" bezeichnet und ich vergrößere das Bild jetzt, damit Sie besser auf dem Bildschirm sehen können. Die blaue Farbe in der Grafik zeigt den Bereich der IP-Adressen an, die von Conficker.B nicht mit diesem schädlichen Algorithmus gescannt werden können. Dunkelrot zeigt an, was gescannt werden kann. Sie sehen, dass die meisten Teile des Diagramms nicht dunkelrot, sondern violett sind, und Sie werden nicht erkennen, warum dies geschieht, bis Sie das entsprechende Rechteck vergrößern.



Selbst in diesem vergrößerten Rechteck, in jedem Block / 16, sehen Sie viele blaue Fragmente, die eine dunkelrote Farbe in Lila verwandeln. Dies sind die Teile von Adressen, die Conficker.B nicht scannen kann.



Dies ist sehr interessant, da viele Leute glauben, dass Conficker.B „großartige Köpfe“ geschaffen hat. Vielleicht ist es das, aber diese Köpfe waren sich der Einschränkungen, die rand () in Windows hat, nicht bewusst.

Matthew Richard: Gehen wir zurück zu den Jungs, die ihre Viren, wie gesagt, nicht allzu gut handhaben, also bei Cyberkriminalität dem Sprichwort „Mann ist ein Wolf“ ähnlich, also werden diese Jungs in ihren Kreisen nicht respektiert.

Lassen Sie uns über das Hacker-Toolkit Neosploit sprechen, das alle "erwischt" hat. Wir können sagen, dass das Motto der Entwickler lautete: "Vielen Dank für das Geld, jetzt ist es Zeit zu laufen." Neosploit besteht aus einer Reihe von Tools zum Organisieren von Webangriffen, sodass die Cybercrime-Jungs es kaufen und mit den Jungs auf dem Server abstimmen, den Server hacken, Codes herunterladen und so weiter.



Die Ersteller von Neosploit haben eine gute Investition getätigt, indem sie ihr Instrument verkauft haben, es jedoch nicht zulassen, dass sie ihre einzelnen Teile ändern, modifizieren oder verwenden. Die dritte Version dieses Toolkits wurde im April 2008 veröffentlicht. Die meisten einzigartigen Exploits sind in C geschrieben. Es handelt sich also nicht um PHP oder um eine lahmere Webanwendung. Kunden erhielten eine Binärdistribution mit einer Reihe von CGI-Exploits.

Neosploit verfügt über Funktionen, die verhindern, dass Clients Exploits teilen oder abschneiden. Dazu wurden alle Exploits im Binärformat dargestellt und mit XOR verschlüsselt. Die Macher haben es so gemacht, dass niemand seine eigenen Exploits auf Neosploit-Basis schneiden, kleben und erstellen konnte. Es gibt 40-50-60 verschiedene Arten von Internet-Angriffen, basierend auf gestohlenen und kopierten Codes, die in ihre eigenen Exploits eingefügt wurden. Die Neosploit-Jungs erwiesen sich als etwas intelligenter, indem sie ihre Exploits von innen verschlüsseln. In dem Screenshot können Sie sehen, dass sie eine Datei mit dem Schlüssel neosploit.key haben. Es handelt sich also um eine vollständig lizenzierte Software.



Ich habe keinen Zweifel, dass sie eine Menge wirklich guter Kunden hatten, mit denen sie viel Geld verdienten. Ihre berühmtesten Kunden waren Torpig. Ich glaube, Sie haben von dem Mebroot-Rootkit gehört, mit dem sie das System zu einem Botnet-Netzwerk verfälschten. Die Schöpfer von Neosploit hatten jedoch viele andere Kunden. Im Mai 2008 veröffentlichten sie eine neue Erweiterung - die 3. Version ihres Toolkits. Kunden wurden gebeten, eine Vorauszahlung eines Exploit-Pakets mit allen nachfolgenden Updates für 1.000 US-Dollar zu leisten. Später erzähle ich Ihnen mehr darüber, denn jetzt werden wir feststellen, dass sie sich wirklich Sorgen um die Piraten machen und versuchen, ihr Produkt so gut wie möglich vor ihnen zu schützen. Es hat also auf jeden Fall viel Spaß gemacht.



Selbst die Medien schrieben, dass diese Exploits überall sind. Wir werden also versuchen, den Code zu zerlegen und zu zeigen, wie Neosploit funktioniert.

Der erste Spaß, den sie machten, nachdem sie diese Exploits von April bis Juli kräftig abgewickelt hatten, stellte ihre Unterstützung ab dem 20. Juli 2008 ein. In der Erklärung, die sie gerade auf ihrer Website veröffentlicht hatten, hieß es: „Leider Weitere Produktunterstützung ist nicht möglich. Wir entschuldigen uns für die Unannehmlichkeiten, aber das Geschäft ist ein Geschäft, und die Zeit, die für das Projekt aufgewendet wird, ist nicht gerechtfertigt. Wir haben versucht, die Anforderungen unserer Kunden bis in die letzten Monate zu erfüllen, aber irgendwann musste der Support aufhören. Wir sind seit anderthalb Jahren bei Ihnen und hoffen, dass dies nicht die schlechteste Zeit für Ihr Unternehmen war. Jetzt werden wir nicht in Ihrer Nähe sein, wünschen aber trotzdem, dass Ihr Unternehmen für lange Zeit floriert. “ Im Allgemeinen haben wir Ihr Geld erhalten, Sie haben ein Abonnement bezahlt, also bleiben Sie gesund!

Sie scherzten jedoch nur, und im August 2008 kehrten sie erneut zurück und veröffentlichten eine komplett neue Version 3.1, die sie ihren wichtigsten Kunden zur Verfügung stellten. Dies bedeutet, dass alle anderen Kunden ein Update erhalten, nachdem sie dafür bezahlt haben. Dieses Update enthält mehrere neue Exploits für Adobe PDF, Shockwave Flash und Quicktime für Firefox.

Dann entschieden sie sich dafür, wieder ernst zu sein, und gaben bekannt, dass sie die Veröffentlichung von Updates tatsächlich einstellen würden, sodass jeder, der die Vorauszahlung für ein Abonnement geleistet hatte, vermasselt wurde.

Kommen wir zu Neosploit, diesem ziemlich coolen, webbasierten Angriffs-Kit. Da seine Entwickler gegen Piraten und den Diebstahl von Exploits gekämpft haben, die kopiert und in die Kits eines anderen eingefügt werden konnten, nahmen sie jeden Exploit in eine CGI-Datei und codierten ihn so, dass es sehr schwierig war, ihn herauszubekommen. In C geschriebene binäre Exploit-Dateien unterschieden sich geringfügig von PHP-Skripts.



Im Neosploit-Blog wurde der Satz Dancho Danchev veröffentlicht, der besagt, dass "jeder einen neuen Exploit erstellen kann". Dies ist jedoch ziemlich schwierig. Ich entschied mich herauszufinden, wie schwierig es ist, und fing an, einen der Exploits zu demontieren.

Jeder Exploit wurde mit einem 3-Byte-XOR-Schlüssel in verschlüsselter Form gespeichert. Für jede eingehende Anforderung wurde der Exploit entschlüsselt und dem Benutzer für die Arbeit zur Verfügung gestellt, und dieser Zyklus wurde ständig wiederholt.



Selbst wenn Sie durch den Speicher gehen und den Speicherauszug entfernen können, ist es immer noch recht schwierig, und Sie erhalten alle Exploits. Dennoch werden diese Puffer jedes Mal gelöscht.

Wenn Sie diese Exploits kopieren und in das Programm einfügen können, das Sie benötigen, können Sie die Antwort finden. Es verwendet ein sehr leistungsfähiges Entschlüsselungswerkzeug - IDA-Scripting. Damit können Sie einen Speicherauszug eines bestimmten Speicherbereichs kommentieren oder entfernen, Exploits aktualisieren, es kann nützlich sein, um mit bösartiger Software zu arbeiten, die Linien verwendet, die durch xor, base64 usw. kompliziert sind. Ich habe ein IDE-Skript geschrieben, mit dem ich versuchte, den erfassten Speicherauszug eines verschlüsselten Exploits zu disassemblieren.



Es durchläuft alle verschlüsselten Objekte, sucht nach allen Aufrufen der Entschlüsselungsfunktionen, erfasst die verschlüsselten Objekte, entschlüsselt sie mit XOR und erstellt dann einen Speicherauszug. Dies ist eine Möglichkeit, aber ich denke, Sie könnten Ihr eigenes Skript schreiben, eine Anwendung, die dasselbe tut. Wenn Sie wissen, wie Sie neue Exploits zu Neosploit hinzufügen, können Sie etwas in dieser Richtung tun, und wenn Sie den Speicherauszug entfernen, werden Sie den gesamten Klartext kennen, Sie können die Instrumentierung „herausreißen“ und sie erneut verkaufen. Neue Leute, die Exploits entwickeln, haben einfach aufgegeben, weil jemand gutes Geld verdient hat, ohne sich um seine Kunden zu sorgen.

Wenn jemand von Notorius BIG von dem großen Hip-Hop-Philosophen Biggy Smalls gehört hat, kennt er sein Lied namens Ten Crack Gebote, "The Ten Commandments of Crack", das große Weisheit enthält. Wenn Sie ein Drogendealer sind, beachten Sie die 4 Gebote: "Sitzen Sie niemals auf Ihrer eigenen Dummheit, die Sie fordern." Wahrscheinlich hat der Typ, den ich Peeper angerufen habe und der seinen eigenen Schadcode verbreitet hat, diesen Song nie gehört, weil ich mein Produkt an mir selbst getestet habe.

Sein Angriff war wie folgt. Er verschickte E-Mails, die als verschiedene Regierungsbehörden getarnt waren und die Menschen mit Namen ansprechen: "Sehr geehrte Damen und Herren, jemand hat eine Beschwerde bei der Federal Trade Commission über Ihr Unternehmen eingereicht. Klicken Sie hier, um das Dokument herunterzuladen, das die Essenz enthält." .



Dann folgte der Benutzer dem Link und versuchte, dieses Dokument herunterzuladen. Es war wirklich ein Word-Dokument im Format .doc. Es gab jedoch eine sehr knifflige Funktion. Sie hatten die Möglichkeit, die ausführbaren Dateien einfach aus dem Word-Dokument zu ziehen und umzubenennen. Wenn Sie jedoch versuchen, die Datei herunterzuladen, wird die folgende Meldung angezeigt: „Microsoft Word hat ein Problem festgestellt und das Dokument konnte nicht geladen werden. Bitte doppelklicken Sie auf das Dokumentsymbol, um fortzufahren. " Tolle Idee!



Natürlich haben die Leute angeklickt, sie haben 6 Mal geklickt, um diese infizierte Nachricht zu erhalten, so dass dieser Typ viele Opfer hatte. Ich mochte diese Nachricht: "Sie haben versucht, mich zu täuschen, bla bla bla."

Das nächste, was wir bei der Suche nach diesem Typen gefunden haben, sind die offenen Verzeichnisse des Drop-Verzeichnisses, in denen er die empfangenen Informationen ablegte.



Er hat möglicherweise keine eigenen Tools für die Verwaltung dieser Programme oder er dachte, dass offene Verzeichnisse eine gute Sache sind, aber offene Verzeichnisse sind schlecht, wenn Sie viele Informationen speichern, die von verschiedenen Personen erhalten werden. Jeder Server, den er für seine Landing-Site eingerichtet hätte, hatte ein offenes Verzeichnis, und Sie könnten einfach dort hineingehen und die Listen aller seiner Opfer und jedes einzelnen einzeln anzeigen.

In gewissem Sinne war er ein guter Entwickler, weil er Qualitätscode schrieb. Sein Nachteil war jedoch, dass er, indem er seinen Code an den aktuellen Server richtete, seine echte IP-Adresse verwendete und dass Sie solche Dinge nicht lange brauchen würden.



In der Tat hatte er ein Standard-DSL-Modem, das aus der Ukraine kommunizierte. Er testete seinen gesamten Code und seine Malware, was eine gute Funktion hat, die "Watch me" oder "watch it" heißt. Dieser Kerl war damit beschäftigt, Bankdaten zu stehlen, aber manchmal wollte er einfach nur seine Opfer beobachten, um zu sehen, was sie taten. Daher nannten wir ihn Peeper oder „Observer“. Er war mit der einfachen Funktionalität seiner Software nicht zufrieden, er begann sich selbst zu überwachen. Es sieht ziemlich seltsam aus, als ob Sie VNC-Fernzugriffsfenster auf Ihrem eigenen Computer geöffnet und diese eingeschleift hätten, um immer kleinere Bilder zu erhalten. Tatsächlich tat er dies viele Male auf vielen Landungsservern. Tatsächlich war es sehr, sehr seltsam. Wenn man durch diese "Landing" -Server schaut, könnte man sagen: "Oh,



"Mein Licht, Spiegel, sag mir, wer ist der freundlichste der Welt"?

Am meisten hat mir gefallen, was er für sich getan hat. Er verwendete diese "Follow-Me" -Funktion während der Code-Entwicklung. Tatsächlich hat er den Code geschrieben, sich selbst beobachtet und alles an den Befehls- und Steuerungsserver zurückgeschickt. So gab er dem Beamten die Gelegenheit, die Hintertür zu durchbrechen, sein Gesicht auf den Boden zu legen und seinen Computer zu konfiszieren. Kurz gesagt, nichts hilft, Sie loszuwerden, wie das mit Ihrer IP-Adresse verknüpfte Bild des Quellbaums.



Die letzte Malware, die wir uns ansehen, wird sicherlich Leute interessieren, die mit Internet Explorer 7 vertraut sind. Aber keine Sorge, Microsoft sagt, dass alles unter Kontrolle ist, vertrauen Sie ihnen!



Microsoft hatte also ein großes Problem mit Internet Explorer 6, da es sehr einfach war, gespeicherte Kennwörter aus diesem Browser zu stehlen. Normalerweise gehen Sie zur Website, Sie werden gefragt, ob Sie das Passwort speichern möchten, ein spezielles Formular wird aufgerufen, Sie antworten mit "Ja" und werden in der Registrierung gespeichert. Das Problem mit dem IE 6 war, dass wenn Sie sich als Benutzer anmelden, Sie nur einen CryptUnprotectData () - Systemaufruf ausführen müssen, um diese Kennwörter zu entschlüsseln, die wirklich nicht geschützt sind.

Daher kann Malware, die mit der Autorität des Benutzers ausgeführt wird, diese Kennwörter frei lesen und an den Angreifer senden. Deshalb haben sie im IE 7 einen großartigen „Patch“ installiert - die Passwörter wurden mit einem 128-Bit-Schlüssel verschlüsselt. Wirklich keine hackbare Lösung!
Wenn Sie genauer hinschauen, können Sie den Hash sehen, der auf der Site verfügbar ist. Ich erkläre das etwas später, in der sich eine binäre Datei befindet, die den Benutzernamen und das Passwort enthält. Ich möchte einen anderen großen Philosophen, John Travolta, aus dem Swordfish-Film zitieren. Meine Lieblingspassage ist, wenn er dort sitzt und erklärt: "Diese Chiffre ist so gut, dass selbst ich sie nicht hacken kann." Ich glaube, er meinte 512-Bit-Verschlüsselung, und er, der beste Kryptograf der Welt, weshalb er eingestellt wurde, sagt, dass er selbst das nicht tun kann.

Das hat Microsoft also getan. Sie verschlüsseln das Kennwort, für das sie einen 128-Bit-Schlüssel basierend auf dem MD5-Hash der Site generieren, für die sie dieses Kennwort speichern. Dies scheint ziemlich vernünftig zu sein, wenn Sie also auf www.bank.com/login.sp gehenSie nehmen diese Zeichenfolge, machen alle Buchstaben in Kleinbuchstaben, konvertieren sie in große Zeichen und verwenden den MD5-Algorithmus. Diese Zeichenfolge wird in einen Schlüssel umgewandelt, der zum Verschlüsseln des Kennworts in der Registrierung für den Benutzernamen verwendet wird.

Wenn Sie dann diese Website besuchen, für die ein Kennwort gespeichert ist, machen sie das Gegenteil: IE normalisiert die URL, codiert die Zeichenfolge neu und sucht in der Registrierung nach, ob für Sie Werte gespeichert sind. Im Detail geschieht dies wie folgt:

  • Lesen Sie den Register-Hash für jede URL in index.dat.
  • URL wird in Kleinbuchstaben umgewandelt.
  • GET-Parameter werden reduziert;
  • Die URL wird in große Zeichen umgewandelt.
  • Wenn der Hashwert des URL-Werts einem Wert im Register entspricht, werden die Daten mit dieser URL entschlüsselt.

Dies scheint ziemlich vernünftig zu sein, aber wenn Sie darüber nachdenken, gibt es hier ein kleines Problem. Tatsächlich gibt es hier zu wenig Entropie, und ein Hacker kann damit problemlos umgehen. Dies ist nicht viel komplizierter als das Verschlüsseln von Kennwörtern im IE 6. Das

Hacken ist ziemlich einfach. Um das Kennwort zu speichern, muss der Benutzer die Site besuchen. Diese kann leicht in index.dat oder im Registrierungsschlüssel „TypedURLS“ gefunden werden. Wenn wir nur die Vereinigten Staaten betrachten, gibt es ungefähr 15.000 Standorte von Banken und Kreditgenossenschaften, und Sie können sie leicht finden. Sie kennen die Websites, für die Sie nach Kennwörtern suchen möchten, und jede dieser Websites verfügt über Anmeldeseiten. Daher können Sie ganz einfach eine ganze Sammlung von Schlüsseln sammeln. Wie Sie sehen, ist der Schutz hier eindeutig unzureichend.

Wenn Sie ein Bösewicht sind, kennen Sie wahrscheinlich viele Websites, die Kennwörter benötigen: Facebook, MySpace oder Twitter oder andere, die über eine Anmeldeseite verfügen, sodass Sie solche Websites einfach herausfinden können. Sie können den Alexa-Dienst verwenden, der eine Liste der beliebtesten Websites enthält und Statistiken über deren Anwesenheit sammelt. Die Schlüssel sind wirklich leicht zu entschlüsseln. Sie können so etwas wie einen Rainbow Table-Regenbogentisch erstellen, der auf diesen üblichen Quellen basiert, und dann haben Sie alle Schlüssel zum Entschlüsseln von Passwörtern.

Für die bösen Jungs ist es ziemlich einfach, daher lautet die Moral der IE 7-Story: Sie ist nicht so gut, wie die Entwickler versuchen zu überzeugen.

Kannst du in dieser Situation helfen? Ehrlich gesagt, nein. Niemand hat diese Frage richtig behandelt. Michael und ich schauten uns eine ganze Reihe von Anwendungen an, darunter Mozilla Firefox, und sahen, dass fast jeder versuchte, ein Passwort-Abfrage-Tool für sie zu schreiben. In der Tat gibt es kaum etwas, das Sie schützen kann, wenn Sie Kennwörter für Websites speichern. Sie kennen wahrscheinlich das Tool "Remember my password". Fast alle Passwörter können auf die eine oder andere Weise extrahiert werden. Verglichen mit anderen Browsern bieten Firefox und IE 7 einen stärkeren Schutz, da Sie zunächst das Kennwort eingeben müssen. Aber selbst wenn Sie das Kennwort nur eingegeben haben, ohne es zu speichern, kann der Kerl es möglicherweise schon stehlen.

Vermeiden Sie Hacking, speichern Sie keine wichtigen Kennwörter. Wenn Sie eine Website mit einem Anmeldeformular starten, dürfen Benutzer ihre Daten nicht speichern.

Zum Schluss betrachten wir einen Trojaner namens Laqma. Dies ist ein typischer Trojaner, der vertrauliche Daten und andere Informationen, die er nimmt, aus Cookies stiehlt. Es lädt seine Cookies auf eine seltsame Art und Weise, wodurch es nicht zu einer Datenbereinigung kommt, der Benutzer wird infiziert, der Trojaner stiehlt die Werte seiner Cookies und sendet sie an Befehl und Kontrolle.



Dieser Trojaner wird mit einer Datei geladen, die einen beliebigen Namen haben kann. Wenn Sie einen Trojaner mit Ihrem eigenen Code emulieren, können Sie einen beliebigen Namen angeben, z. B. eine andere PHP-Datei. So können Sie einfach Ihr eigenes PHP-Skript auf die Website des Bad Guys hochladen, um diese Sicherheitsanfälligkeit auszunutzen - die Möglichkeit, beliebige Dateien herunterzuladen.

Und jetzt gebe ich Michael das Wort für die letzte Demo.

Michael Lai:Es tut mir leid, dass das nicht lustig ist, aber es ist sehenswert, weil es cool ist. Jetzt werde ich versuchen, diese Demo in einem praktischen Präsentationsformat zu präsentieren. Die Präsentation basiert auf dem von uns installierten Laqma-Rootkit. Stellen Sie sich vor, Sie untersuchen Vorfälle oder Reverse Engineering-Malware und stoßen auf einen mit Laqma infizierten Computer oder auf ein Rootkit, das Haken in die System Service Manager-Tabelle wirft. Zunächst versuchen Sie herauszufinden, welche Funktionen von SSDT abhängig sind, und Sie können dann versuchen, ein funktionierendes Kernel-Modul wiederherzustellen, wenn Sie es mit IDA oder ähnlichem testen.
Daher ist es großartig, dass ich ein Plugin für das Befehlszeilentool Volatility geschrieben habe, das all diese Aufgaben automatisiert. Ich habe bereits den Speicher eines mit Laqma infizierten Computers ausgelagert. Ich verwende einfach das SSDT-Plugin, das von Brendon Dolan Gavit entwickelt wurde. Dies ist ein fantastisches Plugin. Standardmäßig werden einfach alle Datensätze des SSDT, des Moduls und der Adresse gedruckt, auf die die SSDT-Funktion zeigt, und dies für alle vier SSDTs.



Alle diese Einträge müssen innerhalb des TOS-Kernels gesetzlich festgelegt sein. Für die zweite Tabelle müssen sie in win32k angegeben werden. Für die dritte und vierte Tabelle ist diese Position zufällig, da sie nicht standardmäßig festgelegt ist. Daher werde ich das Brandon Dolan Gavit SSDT-Skript verwenden und einfach einen Filter in der Befehlszeile installieren, sodass ich alles ignorieren werde, was im TOS-Kernel und in win32k angegeben ist.

Das Ergebnis sind vier Funktionen, die am unteren Rand des Bildschirms angezeigt werden und die den Namen des Moduls, den Domänennamen drv, .sys und die Schlüsselwerte der ausgeblendeten Registrierungseinträge für ausgeblendete Prozesse und Informationen zu Systemabfragen anzeigen. Wie gesagt, das ist die erste Stufe. Als Nächstes müssen Sie herausfinden, welche SSDT-Funktionen angeschlossen sind. Der nächste Schritt besteht darin, den Modulspeicherauszug zu entfernen und nach Registrierungsschlüsseln und darin versteckten Dateien zu suchen.



Dieser Vorgang ist mit dem SSDT-Plugin etwas automatisiert. Sie können sehen, wie BSOD auf dem Bildschirm blitzte, es funktionierte das IDA-Befehlszeilenprogramm. Als Ergebnis der automatischen Verarbeitung wird eine IDB erstellt, dies ist etwas mehr Automatisierung, wodurch IDB-Funktionen entsprechend den "Hooked" -Funktionen von SSDT gekennzeichnet werden.

Mit einem kleinen Schritt haben wir also gelernt, welche SSDT-Funktionen mit dem Speicherauszug verknüpft sind, dem das IDB-Modul gehört, und konnten sie aufrufen, um genau zu wissen, wo in der IDB zu suchen ist, wenn ich mit dem Reverse Engineering beginne.
Ich hoffe du hattest Spaß!


Danke, dass Sie bei uns bleiben. Magst du unsere Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder Freunden empfehlen, 30% Rabatt für Habr-Benutzer auf ein einzigartiges Analogon der Einstiegsserver, die wir für Sie erfunden haben: Die ganze Wahrheit über VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbps $ 20 oder wie kann ich den Server freigeben? (Optionen sind für RAID1 und RAID10 verfügbar, bis zu 24 Kerne und bis zu 40 GB DDR4).

VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s bis Dezember kostenlos, wenn Sie für einen Zeitraum von sechs Monaten bezahlen, können Sie hier bestellen .

Dell R730xd 2 mal billiger? Nur wir haben 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV ab 249 $in den Niederlanden und in den USA! Lesen Sie mehr darüber, wie Sie ein Infrastrukturgebäude bauen. Klasse C mit Servern Dell R730xd E5-2650 v4 im Wert von 9000 Euro für einen Cent?

Jetzt auch beliebt: