Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
box-js — Una herramienta para estudiar malware en JavaScript. | Kitploit
Herramientas/GitHubGitHub/capacitorset/box-js
Gestión de Indicadores de Compromiso (IOC)Análisis Dinámico (Sandboxing)Análisis ForenseAnálisis de Malware
GitHubcapacitorset/box-js

box-js

Una herramienta para estudiar malware en JavaScript.

Ver Repositorio
6728821hace 3 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

box.js

npm Build Status paypal

Una utilidad para analizar JavaScript malicioso.

Instalación

Simplemente instala box-js desde npm:

npm install box-js --global

box-js también está disponible:

  • como módulo de Cuckoo (consulta el directorio integrations y Nwinternights/Cuckoo_Boxjs);
  • como Dockerfile (consulta integrations/README.md);
  • como paquete en distribuciones para profesionales de seguridad (REMnux, BlackArch);
  • como parte de aplicaciones de código abierto (Intel Owl);
  • como parte de servicios comerciales de terceros (any.run).

Uso

Supongamos que tienes una muestra llamada sample.js: para analizarla, simplemente ejecuta

box-js sample.js

Probablemente también querrás descargar cualquier payload; usa la bandera --download para habilitar la descarga. De lo contrario, el motor simulará un error 404, de modo que el script será engañado para pensar que el sitio de distribución está caído y contactar con cualquier sitio de respaldo.

Box.js emulará un entorno Windows JScript, imprimirá un resumen de la emulación en la consola y creará una carpeta llamada sample.js.results (si ya existe, creará sample.js.1.results y así sucesivamente). Esta carpeta contendrá:

  • analysis.log, un registro del análisis tal como se imprimió en pantalla;
  • una serie de archivos identificados por UUIDs;
  • snippets.json, una lista de fragmentos de código ejecutados por la muestra (JavaScript, comandos de shell, etc.);
  • urls.json, una lista de URLs contactadas;
  • active_urls.json, una lista de URLs que parecen soltar malware activo;
  • resources.json, los flujos ADODB (es decir, los archivos que el script escribió en el disco) con tipos de archivo y hashes;
  • IOC.json, una lista de comportamientos identificados como IOCs (Indicadores de Compromiso). Estos incluyen accesos al registro, archivos escritos, solicitudes HTTP, etc.

Puedes analizarlos por tu cuenta, o puedes enviarlos automáticamente a Malwr, VirusTotal o una sandbox de Cuckoo: para más información, ejecuta box-export --help.

Para un mayor aislamiento, se recomienda ejecutar el análisis en un contenedor Docker temporal. Consulta integrations/README.md para más información.

Si deseas automatizar el análisis, puedes usar los códigos de retorno - documentados en integrations/README.md - para distinguir entre diferentes tipos de errores.

El análisis falla debido a la falta del objeto 'document' u otros objetos/funciones

El repositorio de box-js desde git incluye un archivo boilerplate.js. Este archivo define algunas versiones simuladas de objetos comunes del navegador como document. Intenta volver a ejecutar tu análisis con la opción --prepended-code=DIR/boilerplate.js, donde DIR es el directorio del repositorio clonado de box-js o con --prepended-code=default. La opción --prepended-code le indica a box-js que anteponga el JavaScript del archivo dado a la muestra que se está analizando.

Ten en cuenta que puedes copiar boilerplate.js y agregar tus propias clases, objetos, etc. simulados según sea necesario. Usa la opción de línea de comandos --prepended-code=show-default para imprimir la ruta completa al archivo boilerplate.js predeterminado de box-js.

Uso por lotes

Aunque box.js se usa típicamente en archivos individuales, también puede ejecutar análisis por lotes. Simplemente puedes pasar una lista de archivos o carpetas a analizar:

box-js sample1.js sample2.js /var/data/mySamples ...

Por defecto, box.js procesará las muestras en paralelo, ejecutando un análisis por núcleo. Puedes usar una configuración diferente especificando un valor para --threads: en particular, 0 eliminará el límite, haciendo que box-js genere tantos hilos de análisis como sea posible y resultando en un análisis muy rápido pero posiblemente sobrecargando el sistema (nota que los análisis suelen estar limitados por la CPU, no por la RAM).

Puedes usar --loglevel=warn para silenciar los mensajes relacionados con el análisis y solo mostrar información de progreso.

Después de que el análisis termine, puedes extraer las URLs activas de esta manera:

cat ./*.results/active_urls.json | sort | uniq

Banderas

Descargar herramienta