
Sandbox de análisis de malware basado en Python que se integra con Sysinternals Procmon para recopilar, analizar y reportar automáticamente indicadores de ejecución con escaneo YARA y generación de IOC.
Noriben Sandbox de Análisis de Malware
Información de contacto: @bbaskin en Twitter brian _at_ thebaskins _dot_ com
Noriben es un script basado en Python que funciona en conjunto con Procmon de Sysinternals para recolectar, analizar y reportar automáticamente indicadores de ejecución de malware. En pocas palabras, te permite ejecutar una aplicación, presionar una tecla y obtener un informe de texto simple de las actividades de la muestra.
Noriben te permite no solo ejecutar malware de manera similar a un sandbox, sino también registrar eventos a nivel de sistema mientras ejecutas manualmente el malware de formas particulares para hacerlo funcionar. Por ejemplo, puede escuchar mientras ejecutas una aplicación que requiere opciones de línea de comandos variables o interacción del usuario. O vigilar el sistema mientras avanzas paso a paso en la aplicación dentro de un depurador.
Aunque Noriben fue diseñado para el análisis de malware, también se ha utilizado ampliamente para auditar aplicaciones de software normales. En 2013, el Proyecto Tor lo utilizó para proporcionar una auditoría pública del Tor Browser Bundle
A continuación, un video de depuración de un malware que verifica la VM, de manera que aún se obtengan resultados del sandbox (clics equivocados debido a un puntero del ratón que estaba 5 píxeles desviado :))
Noriben solo requiere Sysinternals procmon.exe (o procmon64.exe) para funcionar. No necesita prefiltrado (aunque ayudaría mucho) ya que contiene numerosos elementos de lista blanca para reducir el ruido no deseado de la actividad del sistema.
Para una explicación más detallada, consulta mi presentación de Black Hat 2015 Arsenal. Y una publicación de blog más detallada: http://ghettoforensics.blogspot.com/2013/04/noriben-your-personal-portable-malware.html
También he incluido un operador frontend muy solicitado, NoribenSandbox.py. Este script te permite automatizar la ejecución de Noriben dentro de una VM invitada y recuperar los informes. Actualmente se ejecuta en OSX (pero se portará) y es responsable de: iniciar una VM predefinida y una instantánea, copiar el malware a la VM, iniciar Noriben y el malware, esperar un período de tiempo predefinido, copiar los resultados al host como un ZIP y tomar una captura de pantalla de la VM. Incluso puedes usar --update para copiar automáticamente el Noriben más reciente desde tu host, de modo que no tengas que crear nuevas instantáneas continuamente cuando realices un cambio en el script.
¿Quieres verlo en acción?
Si tienes una carpeta de archivos de reglas YARA, puedes especificarla con la opción --yara. Cada nuevo archivo creado se escaneará con estas reglas y los resultados se mostrarán en los resultados de salida.
Si tienes una API de VirusTotal, colócala en un archivo llamado "virustotal.api" (o incrústala directamente en el script) para enviar automáticamente los hashes MD5 de los archivos a VT y obtener el número de resultados virales.
Puedes agregar listas de MD5s para ignorar automáticamente (por ejemplo, todos tus archivos de sistema). Usa md5deep y colócalos en un archivo de texto, usa --hash para leerlos. Esto aparecerá bajo cambios, sin embargo.
Puedes automatizar el script para uso en sandbox. Usando -t para automatizar el tiempo de ejecución, y --cmd "ruta\exe" para especificar un archivo de malware, puedes ejecutar malware automáticamente, copiar los resultados y luego revertir para ejecutar una nueva muestra.
La característica --generalize sustituirá automáticamente las rutas absolutas por rutas de entorno de Windows para un mejor desarrollo de IOC. Por ejemplo, C:\Users\malware_user\AppData\Roaming\malware.exe se resolverá automáticamente a %AppData%\malware.exe.
Uso:
--===[ Noriben v1.7.2
--===[ @bbaskin
usage: Noriben.py [-h] [-c CSV] [-p PML] [-f FILTER] [--hash HASH]
[--hashtype {MD5,SHA1,SHA256}] [--headless] [-t TIMEOUT]
[--output OUTPUT] [--yara YARA] [--generalize] [--cmd CMD]
[-d]
optional arguments:
-h, --help show this help message and exit
-c CSV, --csv CSV Re-analyze an existing Noriben CSV file
-p PML, --pml PML Re-analyze an existing Noriben PML file
-f FILTER, --filter FILTER
Specify alternate Procmon Filter PMC
--hash HASH Specify hash whitelist file
--hashtype {MD5,SHA1,SHA256}
Specify hash type
--headless Do not open results on VM after processing
-t TIMEOUT, --timeout TIMEOUT
Number of seconds to collect activity
--output OUTPUT Folder to store output files
--yara YARA Folder containing YARA rules
--generalize Generalize file paths to their environment variables.
Default: True
--cmd CMD Command line to execute (in quotes)
-d, --debug Enable debugging
Brian Baskin <Tu nombre aquí> <¡Redactores de documentación bienvenidos!>
Cowpy por el diseño del logotipo
Derechos de autor 2015 Brian Baskin
Licenciado bajo la Licencia Apache, Versión 2.0 (la "Licencia"); no puedes utilizar este trabajo excepto en cumplimiento con la Licencia. Puedes obtener una copia de la Licencia en el archivo LICENSE, o en:
http://www.apache.org/licenses/LICENSE-2.0
A menos que lo exija la ley aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye "TAL CUAL", SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sean expresas o implícitas. Consulte la Licencia para el idioma específico que rige los permisos y limitaciones bajo la Licencia.