
Skript-Analysewerkzeug basierend auf Frida.re
frida-wshook ist ein Analyse- und Instrumentierungswerkzeug, das frida.re verwendet, um häufige Funktionen zu hooken, die oft von bösartigen Skriptdateien verwendet werden, die mit WScript/CScript ausgeführt werden.
Das Werkzeug fängt Windows-API-Funktionen ab und implementiert keine Funktionsstubs oder -proxys innerhalb der Zielskriptsprache. Dadurch kann es die Analyse verschiedener Skripttypen unterstützen, wie zum Beispiel:
Standardmäßig werden Skriptdateien mit cscript.exe ausgeführt und geben Folgendes aus:
Warnung!!! Stellen Sie sicher, dass Sie bösartige Skripte auf einem dedizierten Analysesystem ausführen. Ideal ist eine VM mit Snapshots, damit Sie zurücksetzen können, wenn ein Skript außer Kontrolle gerät und Sie das System zurücksetzen müssen.
Obwohl gängige Methoden gehookt wurden, bietet Windows zahlreiche APIs, die es Entwicklern ermöglichen, mit einem Netzwerk, Dateisystem zu interagieren und Befehle auszuführen. Daher ist es durchaus möglich, auf Skripte zu stoßen, die ungewöhnliche APIs für diese Funktionen nutzen.
pip install frida
frida-wshook wurde unter Windows 10 und Windows 7 getestet und sollte in jeder Windows 7+-Umgebung funktionieren. Auf x64-Systemen wird CScript aus dem Verzeichnis C:\Windows\SysWow64 geladen.
Es könnte unter WindowsXP funktionieren, aber ich vermute, dass CScript dort die Legacy-API-Aufrufe verwendet und die Instrumentierung umgehen würde.
Das Skript unterstützt eine Reihe optionaler Befehlszeilenargumente, mit denen Sie steuern können, welche APIs der Skript-Host aufrufen kann.
usage: frida-wshook.py [-h] [--debug] [--disable_dns] [--disable_com_init]
[--enable_shell] [--disable_net]
script
frida-wshook.py your friendly WSH Hooker
positional arguments:
script Path to target .js/.vbs file
optional arguments:
-h, --help show this help message and exit
--debug Output debug info
--disable_dns Disable DNS Requests
--disable_com_init Disable COM Object Id Lookup
--enable_shell Enable Shell Commands
--disable_net Disable Network Requests
Analysieren Sie ein Skript mit den Standardparametern:
python wshook.py bad.js
Aktivieren Sie die ausführliche Fehlerbehebung:
python wshook.py --debug bad.js
Aktivieren Sie Shell-Befehle (Ausführung):
python frida-wshook.py --enable_shell bad.vbs
Deaktivieren Sie WSASend:
python frida-wshook.py --disable_net bad.vbs
Überprüfen Sie, welche ProgIds das Skript verwendet:
python frida-wshook.py --disable_com_init bad.vbs
Fragen, Kommentare oder Anregungen? Sie finden uns auf Twitter: @seanmw oder @herrcore