
Generiert pseudo-maliziöse Dateien aus YARA-Regeln, um AV/EDR-Erkennung auszulösen, und ermöglicht so Malware-Forschung, Regel-QA sowie Netzwerksensor-Drucktests ohne echte Malware-Beispiele.
Arya ist ein einzigartiges Tool, das pseudo-schädliche Dateien erzeugt, die YARA-Regeln auslösen sollen. Man kann es sich wie einen umgekehrten YARA vorstellen, da es genau das Gegenteil tut – es erstellt Dateien, die Ihren Regeln entsprechen.
Weitere Informationen über Arya und seine Funktionsweise finden Sie in unserem Blog.

YARA-Regeln sind ein unverzichtbares Werkzeug für Sicherheitsforscher, das ihnen hilft, Malware-Beispiele zu identifizieren und zu klassifizieren. Sie tun dies, indem sie Muster und Zeichenfolgen im Malware-Code beschreiben, die einem Analysten helfen können, bekannte oder neue Bedrohungen zu erkennen. YARA-Regeln sind auch häufig in kommerziellen Erkennungstools integriert oder werden intern verwendet, um fehlverhaltende Binärdateien im Unternehmensnetzwerk zu erkennen.
Aber was ist, wenn wir die bösartige Datei nicht haben, für die wir Regeln schreiben? Was ist, wenn wir die „Malware“-Datei basierend auf YARA als Eingabe erstellen möchten? Deshalb haben wir Arya entwickelt. Arya kann verwendet werden, um maßgeschneiderte, pseudo-malware Dateien zu generieren, die Antiviren- (AV) und Endpoint Detection and Response (EDR)-Tools auslösen, genau wie die gute alte EICAR-Testdatei. Unser Tool hat eine Reihe von Anwendungsfällen, darunter Malware-Forschung, QA-Tests von YARA-Regeln und Belastungstests eines Netzwerks mit Codebeispielen, die aus YARA-Regeln erstellt wurden.

Arya ist ein Tool der ersten Art; es erzeugt pseudo-schädliche Dateien, die YARA-Regeln auslösen sollen. Das Tool liest die angegebenen YARA-Dateien (.yar-Endung), analysiert ihre Syntax mit Avasts yaramod-Paket – der in dieser Forschung verwendeten YARA-Parsing-Engine – und erstellt eine pseudo-„Malware“-Datei. Dabei werden die gewünschten Bytes aus den YARA-Regeln sorgfältig platziert, um die Eingaberegeln auszulösen.
Das Ziel des Tools ist es, eine maßgeschneiderte pseudo-schädliche Datei zu erzeugen, die von Erkennungssensoren wie AV oder EDR als die Malware-Datei identifiziert wird, die eine eingegebene YARA-Regel erkennen soll. Um dieses Ziel zu erreichen, fügen wir nicht nur die notwendigen Signaturen, Zeichenfolgen und Bytes aus den eingegebenen YARA-Regeln hinzu, sondern auch einige „Akzente" wie echte PE-Header, Erhöhung der Entropie der Ausgabedatei, Hinzufügen von x86-Bytecode und Funktions-Prologue/Epilogue-Assembly-Code. All dies hilft beim AV/EDR-Auslöseprozess und umgeht einige Heuristikprüfungen, die sie möglicherweise haben.

YARA-Dateien (.yar-Erweiterungen) sind Textdateien, die eine oder mehrere YARA-Regeln enthalten. In diesem Projekt haben wir yaramod verwendet, um YARA-Regeln in eine Liste von Regeln umzuwandeln, die durch Python-Objekte dargestellt werden, die dann verwendet werden können, um auf die internen Inhalte einer Regel zuzugreifen, wie Zeichenfolgen, Typen, Bedingungen und mehr. Yaramod parst YARA-Regeln in AST (Abstract Syntax Tree).
Die Traversierung des abstrakten Syntaxbaums erfolgt durch eine Kombination der Entwurfsmuster Observer und Visitor. Für jeden Knoten, den der Code durchläuft, wird bestimmt, welche Bytes und Zeichenfolgen platziert werden müssen und wo, um die Bedingung im Unterbaum auszulösen, den er durchläuft. Als Ergebnis erzeugt dieser Baum eine Zuordnung von Zeichenfolgen und möglichen Offsets, in die sie eingefügt werden können; er kann auch einige von ihnen in der Datei reservieren, die dann an den Platzierungsmechanismus zur weiteren Verarbeitung übergeben werden.
Forscher können Arya verwenden, um pseudo-schädliche Dateien unter Verwendung von YARA-Regeln als Bausteine zu erzeugen. Diese Dateien können verwendet werden, um Dateien zu erstellen, die als bestimmte Malware identifiziert werden. Wenn Sie beispielsweise kein Zeus-Malware-Beispiel haben, aber überprüfen möchten, wie Ihr AV darauf reagiert? Kein Problem, laden Sie die Zeus-YARA-Regeln in Arya und generieren Sie Ihre eigene „Zeus"-ähnliche Pseudo-Malware, die AV/EDR-Tools als Zeus identifizieren werden.
Arya kann auch als Teil von Incident-Response-Trainings verwendet werden—ähnlich wie Purple-Teaming—bei dem pseudo-schädliche Dateien über das Netzwerk gesendet werden können, um Sensoren und Detektoren im Netzwerk einem Belastungstest zu unterziehen.
Unterstützt
Geplant für die nächsten Updates
sudo apt update
sudo apt install yara cmake
git clone https://github.com/claroty/arya
cd arya
pip3 install -r requirements.txt
Führen Sie Arya mit den folgenden Argumenten aus:
-i [INPUT_DIRECTORY] OR [INPUT_FILE]-o [OUTPUT_FILE_NAME]--header - Fügt die ersten 2048 Bytes von Conficker am Anfang der Datei hinzu.-r - Führt rekursiv auf alle Dateien unter [INPUT_DIRECTORY] aus.-m [MALWARE_FILE] - Verwenden Sie die Datei [INPUT_DIRECTORY] als Basis für die Ausgabe.python3 src/arya.py -i example_rules/ -o MalwareAryaDefault.exe