Wir haben uns mit Debugging als Methode zur Aufdeckung von Ausweichmanövern beschäftigt, mit denen Malware der Erkennung entgeht. Dies war Teil von TryHackMe Dynamische Malware-Analyse Serie.

Notizen zur Computerforensik abrufen

Die Analyse von Malware ist wie ein Katz-und-Maus-Spiel. Malware-Analysten entwickeln ständig neue Techniken zur Analyse von Malware, während Malware-Autoren neue Techniken entwickeln, um der Erkennung zu entgehen. In dieser Aufgabe werden einige Techniken untersucht, die unsere Bemühungen zur Analyse von Malware mithilfe statischer oder grundlegender dynamischer Analysen behindern.

Methoden zur Vermeidung von Malware Statische Analyse:

  • Ändern des Hashes: Wir haben bereits erfahren, dass jede Datei einen einzigartigen Hash hat. Malware-Autoren nutzen diese Funktionalität aus, indem sie ihre Malware leicht verändern. Auf diese Weise ändert sich der Hash der Malware und umgeht den hashbasierten Erkennungsmechanismus. Hashes können sich ändern, selbst wenn ein Bit der Malware geändert wird (es sei denn, es handelt sich um kontextgesteuerte stückweise Hashes oder Fuzzy-Hashes). Das Hinzufügen eines NOP -Anweisung oder eine andere derartige Änderung kann die auf Hashes basierenden Erkennungstechniken außer Kraft setzen.
  • Besiegen EIN V Unterschriften: Antivirensignaturen und andere signaturbasierte Erkennungsmethoden basieren häufig auf statischen Mustern, die in Malware gefunden werden. Malware-Autoren ändern diese Muster, um Signaturen zu umgehen. Diese Technik geht häufig mit einer allgemeinen Verschleierung des Malware-Codes einher.
  • Verschleierung von Zeichenfolgen: Einige Malware-Autoren verschleiern die Zeichenfolgen in Malware, indem sie diese zur Laufzeit dekodieren. Wenn wir die Malware nach Zeichenfolgen durchsuchen, finden wir möglicherweise nichts Nützliches. Wenn die Malware jedoch ausgeführt wird, dekodiert sie diese Zeichenfolgen während der Ausführung. Malware-Autoren könnten wichtige Zeichenfolgen wie URLs verschleiern, C2 Domänen usw., um zu vermeiden, dass die Infrastruktur aufgrund der Suche nach einer einzelnen Zeichenfolge überlastet wird.
  • Laden von DLLs zur Laufzeit: Da wir Malware-Importe bei der Analyse identifizieren können SPORT Header: Malware-Autoren verwenden häufig die LoadLibrary oder LoadLibraryEx der Windows-Bibliotheken, um zur Laufzeit eine DLL zu laden. Bei der statischen Analyse dieser Malware sehen wir bei der Analyse ihrer Header möglicherweise nicht alle Funktionen, mit denen sie verknüpft ist.
  • Verpackung und Verschleierung: Das Verpacken ist bei Malware-Autoren sehr beliebt. Das Verpacken von Malware ist wie das Verpacken eines Geschenks. Wenn wir uns ein verpacktes Geschenk ansehen, können wir nicht sagen, was darin sein könnte, es sei denn, wir packen die Verpackung aus und nehmen das Geschenk heraus. In ähnlicher Weise packen Packer die Malware in eine Verpackung, indem sie Code schreiben, der die Malware zur Laufzeit dekodiert. Wenn wir also eine statische Analyse durchführen, können wir möglicherweise nicht sehen, was sich im Packer befindet. Wenn wir jedoch die Malware ausführen, entpackt sie den Code, lädt den eigentlichen Schadcode in den Speicher und führt ihn dann aus.

Malware-Umgehungsmethoden von Basic Dynamische Analyse:

  • Identifizierung von VMs: Allerdings könnten einige dieser Techniken heutzutage nach hinten losgehen, da ein Großteil der Unternehmensinfrastruktur auf VMs, eine der beliebtesten Methoden von Malware-Autoren ist es, herauszufinden, ob die Malware in einer VM ausgeführt wird. Dazu sucht Malware häufig nach Registrierungsschlüsseln oder Gerätetreibern, die mit gängiger Virtualisierungssoftware wie VMWare und Virtualbox verknüpft sind. Ebenso können minimale Ressourcen, wie eine einzelne CPU und begrenzter RAM, darauf hinweisen, dass die Malware in einer VM ausgeführt wird. In diesem Szenario nimmt die Malware einen anderen, nicht bösartigen Ausführungspfad, um den Analysten zu täuschen.
  • Timing-Angriffe: Malware versucht häufig, automatisierte Analysesysteme zu überlisten. Wenn Malware beispielsweise ausgeführt wird, versucht sie, mithilfe der Windows Sleep-Bibliothek einen Tag lang zu schlafen. Nach einigen Minuten wird das automatisierte Analysesystem heruntergefahren, da keine Spuren bösartiger Aktivitäten gefunden werden. Neuere Malware-Analysesysteme können diese Angriffe erkennen und versuchen, sie abzuschwächen, indem sie die Schlafzeit der Malware verkürzen. Malware kann diese Abschwächungen jedoch erkennen, indem sie gezielte Zeitprüfungen durchführt, um festzustellen, ob die Zeit manipuliert wird. Dies kann erreicht werden, indem die Ausführungszeit notiert und mit der aktuellen Zeit nach der Ausführung des Sleep-Aufrufs verglichen wird.
  • Spuren der Benutzeraktivität: Malware versucht zu erkennen, ob es Spuren von Benutzeraktivitäten auf dem Computer gibt. Wenn keine oder nur sehr wenige Spuren gefunden werden, entscheidet die Malware, dass sie in einem kontrollierten System ausgeführt wird, und wählt einen anderen, harmlosen Ausführungspfad. Spuren von Benutzeraktivitäten können sein: keine Maus- oder Tastaturbewegungen, kein Browserverlauf, keine kürzlich geöffneten Dateien, geringe Systemverfügbarkeit usw.
  • Bezeichnung der Analyse-Tools: Malware kann den Windows Betriebssystem für eine Liste laufender Prozesse mithilfe von Process32First, Process32Next oder ähnlichen Funktionen. Wenn in der Liste der laufenden Prozesse beliebte Überwachungstools identifiziert werden, kann Malware einen harmlosen Ausführungspfad wählen. Wenn beispielsweise ProcMon oder ProcExp ausgeführt werden, kann Malware dies erkennen und zu harmlosen Aktivitäten wechseln. Eine andere Möglichkeit, Analysetools zu identifizieren, besteht darin, sich die Namen verschiedener in einem System geöffneter Fenster anzusehen. Wenn die Malware Ollydbg oder ProcMon in den geöffneten Fenstern findet, kann sie zu einem anderen Ausführungspfad wechseln.

Raumantworten

Malware prüft manchmal die Zeit vor und nach der Ausführung bestimmter Anweisungen, um herauszufinden, ob sie analysiert wird. Welche Art von Analysetechnik wird bei diesem Angriff umgangen?

Welche beliebte Technik wird von Malware-Autoren verwendet, um Malware-Code vor der statischen Analyse zu verschleiern und ihn zur Laufzeit zu entschlüsseln?

Können wir den vorkompilierten Code einer kompilierten Binärdatei zu Debugzwecken wiederherstellen? Schreiben Sie Y für Ja oder N für Nein

Welcher Debuggertyp wird zum Debuggen kompilierter Binärdateien verwendet?

Welcher der besprochenen Debugger arbeitet auf der niedrigsten Ebene?

In welchem Reiter wird die Disassemblierungsansicht in x32dbg angezeigt?

Wenn ein Prozess eine Datei oder einen Prozess öffnet, wo können wir Informationen zu der geöffneten Datei oder dem geöffneten Prozess sehen?

Die angeschlossene VM hat ein Crackme im Verzeichnis Desktop > crackme-arebel. In diesem Crackme gibt es einen TLS-Rückruf mit einem bedingten Sprung. Wird dieser bedingte Sprung ausgeführt? Schreiben Sie Y für Ja oder N für Nein

Was ist der Wert des Zero-Flags im oben genannten bedingten Sprung?

Welche API Der Aufruf im genannten Beispiel wird zum Aufzählen laufender Prozesse verwendet?

Von welchem Windows DLL wird die API SuspendThread aufgerufen?

Wie nennt man es, wenn der Assemblercode einer Binärdatei dauerhaft geändert wird, um den gewünschten Ausführungspfad zu erhalten?

Video-Komplettlösung

Über den Autor

Ich erstelle Notizen zur Cybersicherheit, Notizen zum digitalen Marketing und Online-Kurse. Ich biete auch Beratung zum digitalen Marketing an, einschließlich, aber nicht beschränkt auf SEO, Google- und Meta-Anzeigen und CRM-Verwaltung.

Artikel anzeigen