
Herramienta de análisis de scripts basada en Frida.re
frida-wshook es una herramienta de análisis e instrumentación que utiliza frida.re para hookear funciones comunes a menudo utilizadas por archivos de script maliciosos que se ejecutan mediante WScript/CScript.
La herramienta intercepta funciones de la API de Windows y no implementa stubs o proxies de funciones dentro del lenguaje de scripting objetivo. Esto permite soportar el análisis de algunos tipos de script diferentes, como:
Por defecto, los archivos de script se ejecutan con cscript.exe y mostrarán:
¡Advertencia!!! Asegúrate de ejecutar cualquier script malicioso en un sistema de análisis dedicado. Idealmente, una máquina virtual con instantáneas para poder revertir si un script se escapa de control y necesitas restablecer el sistema.
Aunque se han hookeado métodos comunes, Windows proporciona numerosas API que permiten a los desarrolladores interactuar con la red, el sistema de archivos y ejecutar comandos. Por lo tanto, es totalmente posible encontrar scripts que utilicen API poco comunes para estas funciones.
pip install frida
frida-wshook ha sido probado en Windows 10 y Windows 7 y debería funcionar en cualquier entorno Windows 7+. En sistemas x64, CScript se carga desde el directorio C:\Windows\SysWow64.
Puede que funcione en WindowsXP, pero sospecho que CScript podría usar llamadas a la API heredadas y eludir la instrumentación.
El script admite varios argumentos opcionales de línea de comandos que permiten controlar qué API puede llamar el host de scripting.
usage: frida-wshook.py [-h] [--debug] [--disable_dns] [--disable_com_init]
[--enable_shell] [--disable_net]
script
frida-wshook.py tu amigable WSH Hooker
positional arguments:
script Ruta al archivo .js/.vbs objetivo
optional arguments:
-h, --help mostrar este mensaje de ayuda y salir
--debug Mostrar información de depuración
--disable_dns Deshabilitar solicitudes DNS
--disable_com_init Deshabilitar búsqueda de ID de objeto COM
--enable_shell Habilitar comandos de shell
--disable_net Deshabilitar solicitudes de red
Analizar un script con los parámetros predeterminados:
python wshook.py bad.js
Habilitar depuración detallada:
python wshook.py --debug bad.js
Habilitar comandos de shell (ejecución):
python frida-wshook.py --enable_shell bad.vbs
Deshabilitar WSASend:
python frida-wshook.py --disable_net bad.vbs
Verificar qué ProgIds utiliza el script:
python frida-wshook.py --disable_com_init bad.vbs
Cualquier pregunta, comentario o solicitud, puedes encontrarnos en Twitter: @seanmw o @herrcore