
Ferramenta de análise de scripts baseada em Frida.re
frida-wshook é uma ferramenta de análise e instrumentação que usa frida.re para interceptar funções comuns frequentemente usadas por arquivos de script maliciosos que são executados usando WScript/CScript.
A ferramenta intercepta funções da API do Windows e não implementa stubs de função ou proxies dentro da linguagem de script alvo. Isso permite que ela suporte a análise de alguns tipos diferentes de script, como:
Por padrão, os arquivos de script são executados usando cscript.exe e exibirão:
Aviso!!! Certifique-se de executar quaisquer scripts maliciosos em um sistema de análise dedicado. Idealmente, uma VM com snapshots para que você possa reverter se um script escapar do controle e você precisar reiniciar o sistema.
Embora métodos comuns tenham sido interceptados, o Windows fornece inúmeras APIs que permitem aos desenvolvedores interagir com uma rede, sistema de arquivos e executar comandos. Portanto, é totalmente possível encontrar scripts utilizando APIs incomuns para essas funções.
pip install frida
frida-wshook foi testado no Windows 10 e Windows 7 e deve funcionar em qualquer ambiente Windows 7+. Em sistemas x64, o CScript é carregado do diretório C:\Windows\SysWow64.
Pode funcionar no WindowsXP, mas suspeito que o CScript pode usar chamadas de API legadas e contornaria a instrumentação.
O script suporta vários argumentos opcionais de linha de comando que permitem controlar quais APIs o host de script pode chamar.
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
Analisar um script com os parâmetros padrão:
python wshook.py bad.js
Habilitar depuração verbosa:
python wshook.py --debug bad.js
Habilitar comandos shell (execução):
python frida-wshook.py --enable_shell bad.vbs
Desabilitar WSASend:
python frida-wshook.py --disable_net bad.vbs
Verificar quais ProgIds o script usa:
python frida-wshook.py --disable_com_init bad.vbs
Quaisquer perguntas, comentários ou solicitações, você pode nos encontrar no twitter: @seanmw ou @herrcore