
Eine der häufigsten Arten von Angriffen ist die Erzeugung eines schädlichen Prozesses im Baum unter scheinbar harmlosen Prozessen. Verdacht kann der Pfad zur ausführbaren Datei erregen: Oft nutzt Malware die Ordner AppData oder Temp, was für legitime Programme untypisch ist. Der Fairness halber sollte erwähnt werden, dass einige automatisierte Aktualisierungsprogramme im AppData-Ordner ausgeführt werden. Daher reicht eine Überprüfung des Ausführungsortes allein nicht aus, um zu behaupten, dass ein Programm schädlich ist.
Ein weiterer Faktor für die Legitimität ist die digitale Signatur: Viele originale Programme sind vom Anbieter signiert. Das Fehlen einer Signatur kann als Methode zur Identifizierung verdächtiger Autostart-Elemente verwendet werden. Aber auch hier gibt es Malware, die ein gestohlenes Zertifikat verwendet, um sich selbst zu signieren.
Man kann auch die Werte der kryptographischen Hashes MD5 oder SHA256 überprüfen, die mit zuvor entdeckten Malware-Programmen übereinstimmen können. Statische Analysen können durchgeführt werden, indem die Signaturen im Programm (mithilfe von Yara-Regeln oder Antivirenprodukten) betrachtet werden. Darüber hinaus gibt es auch dynamische Analysen (Ausführen des Programms in einer sicheren Umgebung und Verfolgen seines Verhaltens) und Reverse Engineering.
Es kann viele Anzeichen für einen schädlichen Prozess geben. In diesem Artikel erklären wir, wie Sie die Auditing entsprechender Ereignisse in Windows aktivieren, und analysieren die Anzeichen, auf die sich die integrierte Regel stützt, zur Identifizierung verdächtiger Prozesse. InTrust ist eine zum Sammeln, Analysieren und Speichern unstrukturierter Daten, die bereits Hunderte vordefinierte Reaktionen auf verschiedene Angriffstypen enthält.
Wenn ein Programm gestartet wird, wird es in den Arbeitsspeicher des Computers geladen. Die ausführbare Datei enthält Computeranweisungen und unterstützende Bibliotheken (z. B. *.dll). Wenn der Prozess einmal gestartet ist, kann er zusätzliche Threads erstellen. Threads ermöglichen es dem Prozess, verschiedene Anweisungsset gleichzeitig auszuführen. Es gibt viele Möglichkeiten, wie schädlicher Code in den Speicher eindringen und ausgeführt werden kann. Lassen Sie uns einige dieser Methoden betrachten.
Der einfachste Weg, einen schädlichen Prozess zu starten, besteht darin, den Benutzer dazu zu bringen, ihn direkt auszuführen (z. B. aus einem E-Mail-Anhang). Anschließend kann er mit dem Schlüssel RunOnce bei jedem Systemstart ausgeführt werden. Dazu gehört auch Malware, die „fileless“ ist und PowerShell-Skripte in den Registrierungsschlüsseln speichert, die auf Grundlage eines Triggers ausgeführt werden. In diesem Fall ist das PowerShell-Skript der schädliche Code.
Das Problem mit dem direkten Start von schadhafter Software ist, dass es ein bekannter Ansatz ist, der leicht erkannt werden kann. Einige Malware-Programme verwenden raffiniertere Techniken, indem sie einen anderen Prozess nutzen, um im Speicher zu starten. Folglich kann der Prozess einen anderen Prozess erzeugen, indem er eine bestimmte Computeranweisung ausführt und eine ausführbare Datei (.exe) angibt.
Eine Datei kann entweder durch einen vollständigen Pfad (z. B. C:Windowssystem32cmd.exe) oder durch einen unvollständigen Pfad (z. B. cmd.exe) angegeben werden. Wenn der Ausgangsprozess unsicher ist, kann er illegitime Programme ausführen. Ein Angriff könnte so aussehen: Der Prozess startet cmd.exe, ohne den vollständigen Pfad anzugeben, und der Angreifer platziert seine eigene cmd.exe an einem Ort, sodass der Prozess ihn vor der legitimen Version ausführt. Nach dem Start der schädlichen Software kann diese wiederum eine legitime Anwendung (z. B. C:Windowssystem32cmd.exe) starten, um sicherzustellen, dass das ursprüngliche Programm weiterhin ordnungsgemäß funktioniert.
Eine Variante des vorherigen Angriffs ist die DLL-Injektion in einen legitimen Prozess. Wenn ein Prozess gestartet wird, sucht er nach Bibliotheken, die seine Funktionalität erweitern. Bei der DLL-Injektion erstellt der Angreifer eine schadhafte Bibliothek mit demselben Namen und API wie die legitime. Das Programm lädt die schadhafte Bibliothek, die wiederum die legitime lädt und, wenn nötig, diese zur Durchführung von Operationen aufruft. Die schadhafte Bibliothek fungiert als Proxy für die gute Bibliothek.
Eine weitere Möglichkeit, schädlichen Code in den Speicher einzufügen, besteht darin, ihn in einen bereits gestarteten, unsicheren Prozess einzufügen. Prozesse erhalten Eingabedaten aus verschiedenen Quellen – sie lesen aus dem Netzwerk oder von Dateien. Normalerweise führen sie eine Überprüfung durch, um die Legitimität der Eingabedaten sicherzustellen. Aber einige Prozesse haben nicht den nötigen Schutz beim Ausführen von Anweisungen. Bei einem solchen Angriff gibt es keine Bibliothek auf der Festplatte oder eine ausführbare Datei mit schädlichem Code. Alles wird im Speicher zusammen mit dem exploitierten Prozess gespeichert.
Jetzt schauen wir uns die Methode an, um das Sammeln solcher Ereignisse in Windows zu aktivieren und die Regel in InTrust, die einen Schutz vor solchen Bedrohungen implementiert. Zunächst aktivieren wir es über die InTrust-Verwaltungskonsole.

Die Regel nutzt die Funktionen zur Verfolgung von Prozessen im Windows-Betriebssystem. Leider ist die Aktivierung des Sammelns solcher Ereignisse alles andere als offensichtlich. Es müssen 3 verschiedene Gruppenrichtlinieneinstellungen geändert werden:
Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Audit Policy > Audit process tracking

Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > Audit Policies > Detailed Tracking > Audit process creation

Computer Configuration > Policies > Administrative Templates > System > Audit Process Creation > Include command line in process creation events

Nach der Aktivierung ermöglichen die InTrust-Regeln die Erkennung zuvor unbekannter Bedrohungen, die verdächtiges Verhalten zeigen. Zum Beispiel kann man erkennen die Malware Dridex. Dank des HP Bromium-Projekts weiß man, wie eine solche Bedrohung aussieht.

In seiner Handlungssequenz verwendet Dridex schtasks.exe, um einen geplanten Task zu erstellen. Die Verwendung genau dieses Dienstprogramms über die Eingabeaufforderung gilt als äußerst verdächtiges Verhalten, ähnlich sieht die Ausführung von svchost.exe mit Parametern aus, die auf Benutzerordner hinweisen, oder mit Parametern, die wie die Befehle „net view“ oder „whoami“ aussehen. Hier ist ein Ausschnitt der entsprechenden :
detection:
selection1:
CommandLine: '*svchost.exe C:Users\*Desktop\*'
selection2:
ParentImage: '*svchost.exe*'
CommandLine:
- '*whoami.exe /all'
- '*net.exe view'
condition: 1 of themIn InTrust ist jegliches verdächtige Verhalten in einer Regel zusammengefasst, da die meisten dieser Aktionen nicht spezifisch für eine bestimmte Bedrohung sind, sondern eher im Gesamtzusammenhang verdächtig erscheinen und in 99 % der Fälle für nicht ganz edle Zwecke verwendet werden. Eine solche Liste von Aktionen umfasst, ist aber nicht beschränkt auf:
- Prozesse, die an ungewöhnlichen Orten ausgeführt werden, wie z. B. in benutzerdefinierten temporären Ordnern.
- Ein gut bekannter Systemprozess mit verdächtiger Vererbung – einige Bedrohungen könnten versuchen, den Namen von Systemprozessen zu verwenden, um unentdeckt zu bleiben.
- Verdächtige Ausführungen administrativer Werkzeuge wie cmd oder PsExec, wenn sie lokale Systemanmeldeinformationen oder verdächtige Vererbung nutzen.
- Verdächtige Schattenkopieoperationen – ein typisches Verhalten von Ransomware vor der Verschlüsselung des Systems, die Backups löschen:
– Über vssadmin.exe;
– Über WMI. - Registrierungsdumps ganzer Registry-Gruppen.
- Horizontale Bewegung von schädlichem Code bei der Remote-Ausführung von Prozessen mit Befehlen wie at.exe.
- Verdächtige lokale Gruppenoperationen und Domainoperationen mit net.exe.
- Verdächtige Firewall-Operationen mit netsh.exe.
- Verdächtige Manipulationen von ACL.
- Verwendung von BITS zur Datenexfiltration.
- Verdächtige Manipulationen mit WMI.
- Verdächtige Skriptbefehle.
- Versuche, sichere Systemdateien zu dumpen.
Die kombinierte Regel funktioniert sehr gut zur Erkennung von Bedrohungen wie RUYK, LockerGoga und anderen Ransomware, Malware und Cybercrime-Toolkit. Die Regel wurde vom Anbieter in Produktionsumgebungen geprüft, um falsch positive Ergebnisse zu minimieren. Dank des SIGMA-Projekts erzeugen die meisten dieser Indikatoren eine minimale Anzahl von Rauschereignissen.
Da dies in InTrust eine Überwachungsregel ist, können Sie ein Reaktionsszenario als Reaktion auf die Bedrohung ausführen. Sie können eines der integrierten Szenarios verwenden oder Ihr eigenes erstellen, und InTrust wird es automatisch verteilen.

Darüber hinaus können Sie alle mit dem Ereignis verbundenen Telemetriedaten überprüfen: PowerShell-Skripte, Prozesse, die Ausführung, Änderungen an geplanten Aufgaben, administrative WMI-Aktivitäten und diese für Postmortems bei Sicherheitsvorfällen nutzen.

In InTrust gibt es Hunderte von anderen Regeln, einige davon:
- Erkennung eines PowerShell-Versionenrückgangs – wenn jemand absichtlich eine ältere Version von PowerShell verwendet, da in dieser älteren Version keine Möglichkeit zur Überwachung des Geschehens bestand.
- Erkennung von Anmeldungen mit hohen Berechtigungen – wenn Konten, die Mitglieder einer bestimmten privilegierten Gruppe sind (z.B. Domain-Administratoren), versehentlich oder aufgrund von Sicherheitsvorfällen interaktiv auf Arbeitsstationen anmelden.
InTrust ermöglicht die Anwendung bewährter Sicherheitspraktiken in Form vordefinierter Erkennungs- und Reaktionsregeln. Wenn Sie der Meinung sind, dass etwas anders funktionieren sollte, können Sie eine Kopie der Regel erstellen und nach Bedarf anpassen. Anträge für Pilotprojekte oder für den Erhalt von Verteilungen mit zeitlich begrenzten Lizenzen können über auf unserer Website.
Abonnieren Sie unseren , wo wir kurze Notizen und interessante Links veröffentlichen.
Lesen Sie auch unsere anderen Artikel zum Thema Informationssicherheit:
(beliebter Artikel)
Quelle: habr.com
