Durante el desafiante proceso de análisis de malware en el Laboratorio de ESET Latinoamérica, empleamos diferentes metodologías y técnicas para extraer datos e información de actividad maliciosa. La vemos en archivos, como por ejemplo capturas de paquetes (.pcap). Por lo tanto, en esta ocasión les mostraremos cómo identificar y extraer los archivos capturados en el tráfico de red con Jsunpack-n.
¿Qué es Jsupack-n?
Es una herramienta de línea de comandos desarrollada por Blake Hartstein, que tiene como objetivo analizar archivos HTML, JS, PCAP Y PDF entre otras funciones que describiremos a continuación:
- Posee una versión modificada de SpiderMonkey para decodificar y ejecutar código JavaScript.
- La capacidad de escuchar de forma activa en una interfaz de red y realizar un escaneo tanto en la entrada como en la salida de tráfico o guardar la información en archivos de captura de paquetes.
- Decodificadores para archivos locales como PDF, HTML, JavaScript o una URL para descargar y decodificar algún archivo especifico.
- Diferentes modos de salida para archivos de captura de paquetes, como por ejemplo extraer todos los archivos transferidos a través del protocolo HTTP y guardarlos en archivos independientes, como también crear gráficos de las relaciones entre URL.
- Módulos para extraer código JavaScript de archivos HTML, PDF y SWF.
Analizando un pcap con Jsunpack-n
Para comenzar con la práctica, utilizaremos un entorno virtual con un sistema operativo Linux en donde instalaremos Jsunpack-n, al que podemos descargar directamente del repositorio de GitHub, en donde se encuentra toda la documentación de la herramienta. Para poder instalar correctamente Jsunpack-n existen determinados requerimientos; por ello, es necesario contar con los siguientes paquetes: libpcap-dev, pkg-config, python-dev, libgtk2.0-dev y libnet1-dev.
Desde una consola nos dirigimos al directorio en donde descargamos Jsunpack-n. Dentro de la carpeta, buscamos el archivo “INSTALL”, el cual contiene las dependencias e instrucciones de instalación, como se indica en la siguiente imagen:
Para lograr nuestro cometido existen dos formas de utilizar la herramienta: analizar el tráfico en tiempo real o utilizando archivos pcap. En este ejemplo usaremos una captura de tráfico extraído de un equipo comprometido.
Luego de la instalación, ingresamos al directorio donde se encuentra la herramienta y ejecutamos el siguiente comando:
“python jsunpackn.py -h”
Donde “-h” es el parámetro que nos muestra cómo usar Jsunpack-n y sus referencias.
A continuación explicaremos que parámetros usaremos en esta ocasión:
- s: Extrae todos los archivos (no solo los ejecutables)
- v: Muestra todas las URL
- J: Desactiva la decodificación de JavaScript para mejorar el rendimiento
Con estos conocimientos procedemos a realizar el análisis sobre el archivo pcap mediante el siguiente comando:
“python jsunpackn.py /path/to/file/sample.pcap -s -J -v”
Como podemos ver en la próxima captura, Jsunpack-n identificó y extrajo varios archivos, a los que se les nombra como “stream_” seguido del SHA1 de cada muestra; además, indica la URL correspondiente a cada archivo:
Para acceder a los datos recolectados por esta poderosa aplicación, debemos buscar en la misma carpeta en donde se encuentra Jsunpack-n el directorio “tmp”. Allí dentro, observaremos un archivo llamado “decode.log” en donde se guarda el resultado del comando ejecutado; a su vez, se creó la carpeta “files”, en donde están situados los archivos encontrados en el pcap.
Accediendo a “files” y utilizando el comando “file *”, observaremos en pantalla el tipo de archivo que obtuvimos luego de la práctica, como se puede apreciar en la siguiente imagen:
Observando detalladamente los archivos, se destacan entre ellos dos ejecutables (.exe). Estas muestras son códigos maliciosos, detectados por los productos de ESET bajo las firmas de Win32/Filecoder.CryptoWall.B y Win32/PSW.Fareit.A, a las que señalamos y etiquetamos en la próxima captura:
Conclusión
La práctica realizada es una de las tantas formas de automatizar procedimientos que nos ayudan a ganar tiempo. Por ejemplo, en caso de emprender o estar haciendo un tracking en un entorno virtualizado podríamos automatizar la extracción de todos los archivos que estén siendo capturados por la interfaz de red y procesar la información de tal manera que podamos manipularla de la forma que deseemos.
Jsunpack-n y sus diferentes aplicaciones pueden ser una buena y efectiva opción al momento de realizar una auditoría de tráfico o análisis de seguridad para identificar actividad maliciosa o conocer qué sucede en la red de nuestros sistemas informáticos.