
Инструмент для анализа скриптов на основе Frida.re
frida-wshook — это инструмент анализа и инструментирования, который использует frida.re для перехвата общих функций, часто используемых вредоносными скриптовыми файлами, запускаемыми с помощью WScript/CScript.
Инструмент перехватывает функции Windows API и не реализует заглушки или прокси внутри целевого языка сценариев. Это позволяет ему поддерживать анализ нескольких различных типов скриптов, таких как:
По умолчанию скриптовые файлы запускаются с помощью cscript.exe и выводят:
Внимание!!! Убедитесь, что вы запускаете вредоносные скрипты только на выделенной системе для анализа. В идеале — на виртуальной машине со снимками, чтобы можно было откатить изменения, если скрипт выйдет из-под контроля и потребуется сбросить систему.
Хотя общие методы были перехвачены, Windows предоставляет множество API, которые позволяют разработчикам взаимодействовать с сетью, файловой системой и выполнять команды. Поэтому вполне возможно встретить скрипты, использующие нестандартные API для этих функций.
pip install frida
frida-wshook был протестирован на Windows 10 и Windows 7 и должен работать в любой среде Windows 7+. В 64-разрядных системах CScript загружается из каталога C:\Windows\SysWow64.
Он может работать на Windows XP, но я подозреваю, что CScript может использовать устаревшие вызовы API и обходить инструментирование.
Скрипт поддерживает ряд необязательных аргументов командной строки, позволяющих контролировать, какие API может вызывать хост сценариев.
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
Проанализировать скрипт с параметрами по умолчанию:
python wshook.py bad.js
Включить подробную отладку:
python wshook.py --debug bad.js
Включить команды оболочки (execute):
python frida-wshook.py --enable_shell bad.vbs
Отключить WSASend:
python frida-wshook.py --disable_net bad.vbs
Проверить, какие ProgIds использует скрипт:
python frida-wshook.py --disable_com_init bad.vbs
Любые вопросы, комментарии или предложения вы можете найти нас в Twitter: @seanmw или @herrcore