Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
box-js — Un outil pour étudier les malwares JavaScript. | Kitploit
Outils/GitHubGitHub/capacitorset/box-js
Gestion des Indicateurs de Compromission (IOC)Analyse Dynamique (Sandboxing)Analyse ForensiqueAnalyse de Malware
GitHubcapacitorset/box-js

box-js

Un outil pour étudier les malwares JavaScript.

Voir le dépôt
6728821il y a 3 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

box.js

npm Build Status paypal

Un utilitaire pour analyser du JavaScript malveillant.

Installation

Installez simplement box-js depuis npm :

npm install box-js --global

box-js est également disponible :

  • en tant que module Cuckoo (voir le répertoire integrations et Nwinternights/Cuckoo_Boxjs);
  • en tant que Dockerfile (voir integrations/README.md);
  • en tant que paquet dans des distributions pour professionnels de la sécurité (REMnux, BlackArch);
  • dans le cadre d'applications open source (Intel Owl);
  • dans le cadre de services commerciaux tiers (any.run).

Utilisation

Supposons que vous ayez un échantillon nommé sample.js : pour l'analyser, exécutez simplement

box-js sample.js

Il y a de fortes chances que vous souhaitiez également télécharger les éventuelles charges utiles ; utilisez le drapeau --download pour activer le téléchargement. Sinon, le moteur simulera une erreur 404, de sorte que le script sera amené à croire que le site de distribution est indisponible et contactera d'éventuels sites de repli.

Box.js émule un environnement Windows JScript, affiche un résumé de l'émulation dans la console et crée un dossier nommé sample.js.results (s'il existe déjà, il créera sample.js.1.results et ainsi de suite). Ce dossier contiendra :

  • analysis.log, un journal de l'analyse tel qu'affiché à l'écran ;
  • une série de fichiers identifiés par des UUID ;
  • snippets.json, une liste d'extraits de code exécutés par l'échantillon (JavaScript, commandes shell, etc.) ;
  • urls.json, une liste des URL contactées ;
  • active_urls.json, une liste des URL qui semblent distribuer des logiciels malveillants actifs ;
  • resources.json, les flux ADODB (c'est-à-dire les fichiers que le script a écrits sur le disque) avec les types de fichiers et les hachages ;
  • IOC.json, une liste des comportements identifiés comme IOC (Indicateurs de Compromission). Ceux-ci incluent les accès au registre, les fichiers écrits, les requêtes HTTP, etc.

Vous pouvez les analyser vous-même, ou les soumettre automatiquement à Malwr, VirusTotal ou un bac à sable Cuckoo : pour plus d'informations, exécutez box-export --help.

Pour un isolement supplémentaire, il est recommandé d'exécuter l'analyse dans un conteneur Docker temporaire. Consultez integrations/README.md pour plus d'informations.

Si vous souhaitez automatiser l'analyse, vous pouvez utiliser les codes de retour – documentés dans integrations/README.md – pour distinguer les différents types d'erreurs.

L'analyse échoue en raison de l'absence de l'objet 'document' ou d'autres objets/fonctions

Le dépôt git box-js inclut un fichier boilerplate.js. Ce fichier définit des versions simulées d'objets navigateur courants tels que document. Essayez de relancer votre analyse avec l'option --prepended-code=DIR/boilerplate.js, où DIR est le répertoire du dépôt box-js cloné, ou avec --prepended-code=default. L'option --prepended-code indique à box-js de préfixer le JavaScript du fichier donné à l'échantillon analysé.

Notez que vous pouvez copier boilerplate.js et ajouter vos propres classes simulées, objets, etc. selon vos besoins. Utilisez l'option en ligne de commande --prepended-code=show-default pour afficher le chemin complet du fichier boilerplate.js par défaut de box-js.

Utilisation par lots

Bien que box.js soit généralement utilisé sur des fichiers uniques, il peut également exécuter des analyses par lots. Vous pouvez simplement passer une liste de fichiers ou de dossiers à analyser :

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

Par défaut, box.js traite les échantillons en parallèle, en exécutant une analyse par cœur. Vous pouvez utiliser un réglage différent en spécifiant une valeur pour --threads : en particulier, 0 supprimera la limite, ce qui fera que box-js générera autant de threads d'analyse que possible, résultant en une analyse très rapide mais pouvant surcharger le système (notez que les analyses sont généralement liées au CPU, pas à la RAM).

Vous pouvez utiliser --loglevel=warn pour masquer les messages liés à l'analyse et n'afficher que les informations de progression.

Une fois l'analyse terminée, vous pouvez extraire les URL actives comme ceci :

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

Drapeaux

Télécharger l’outil