Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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
norimaci — Sandbox légère d'analyse de logiciels malveillants pour macOS qui surveille l'activité système via OpenBSM ou Monitor.app, générant des rapports détaillés et des chronologies des événements de fichiers, de processus et de réseau. | Kitploit
Outils/GitHubGitHub/mnrkbys/norimaci
Analyse Dynamique (Sandboxing)Analyse ForensiqueAnalyse de Malware
GitHubmnrkbys/norimaci

norimaci

Sandbox légère d'analyse de logiciels malveillants pour macOS qui surveille l'activité système via OpenBSM ou Monitor.app, générant des rapports détaillés et des chronologies des événements de fichiers, de processus et de réseau.

Voir le dépôt
7163il y a 6 ansVé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

Norimaci

« Norimaci » est un bac à sable simple et léger pour l'analyse de logiciels malveillants sous macOS. Cet outil s'inspire de « Noriben ». Norimaci utilise les fonctionnalités d'OpenBSM ou de Monitor.app pour surveiller l'activité du système macOS, à la place de Sysinternals Process Monitor (procmon).

Norimaci se compose de 3 scripts Python.

  • norimaci.py : Script principal
  • openbsmconv.py : Convertisseur de journaux d'audit OpenBSM
  • monitorappconv.py : Convertisseur de données Monitor.app

OpenBSM est un framework d'audit des activités sous macOS. Veuillez consulter leur site web pour plus de détails.

Monitor.app est un outil gratuit développé par FireEye. Veuillez consulter leur site web pour plus de détails.

Pourquoi « Norimaci » ?

Mon ancien collègue (@cci_forensics) a suggéré ce nom.

« Norimaci » est un mot-valise combinant « Noriben » et « Macintosh ». Il se prononce « Norimaki » et représente « のり巻き » en japonais. En anglais, cela signifie « sushi roll » (rouleau de sushi).

Le noriben est une boîte-repas de style japonais composée d'ingrédients minimaux. Les ingrédients du norimaki sont similaires à ceux du noriben (algue, riz et autres ingrédients selon vos préférences).

J'ai donc décidé de nommer cet outil « Norimaci ».

Prérequis

  • OS X 10.6 ou version ultérieure (testé sur macOS 10.13 – 10.15)
  • VMware Fusion, Parallels, VirtualBox, etc.
  • Python 3.5 ou version ultérieure

Prérequis optionnel

  • Monitor.app

Note : Monitor.app ne prend en charge que macOS 10.12 – 10.14. Vous n'avez pas besoin de l'installer si vous souhaitez exécuter des logiciels malveillants sur macOS 10.15 ou version ultérieure. Vous devez utiliser OpenBSM à la place.

Si vous utilisez Norimaci avec Monitor.app, vous devez installer les bibliothèques suivantes depuis leurs dépôts sources ou via pip.

  • py-applescript
  • PyObjC
  • dnslib

Préparation

Créer des machines virtuelles pour exécuter les logiciels malveillants

Vous devez créer une VM macOS pour exécuter les échantillons de logiciels malveillants. De plus, il est fortement recommandé de créer une autre VM pour les connexions Internet factices. En effet, de nombreux logiciels malveillants tentent de se connecter à leurs serveurs (par exemple, les serveurs C2).

PolarProxy et INetSim sont des outils très utiles pour fournir des services DNS et HTTP/HTTPS factices. Veuillez consulter le blog NETRESEC pour configurer un Internet factice.

Modifier /etc/security/audit_control

Si vous utilisez OpenBSM pour surveiller les activités du système, vous devez modifier le fichier /etc/security/audit_control comme ci-dessous. En effet, par défaut, OpenBSM n'enregistre que les journaux d'audit relatifs à la connexion et à l'authentification. Mais Norimaci a besoin de davantage de types de journaux d'audit (création de fichier, suppression de fichier, exécution de processus, mise en réseau, etc.).

L'ordinateur doit être redémarré après la modification pour appliquer le paramètre.

root@kitploit:~
#
# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_control#8 $
#
dir:/var/audit
flags:lo,aa,fc,fd,pc,nt,ex      <- modifier ici comme ceci
minfree:5
naflags:lo,aa,fc,fd,pc,nt,ex    <- modifier ici comme ceci
policy:cnt,argv
filesz:2M
expire-after:10M
superuser-set-sflags-mask:has_authenticated,has_console_access
superuser-clear-sflags-mask:has_authenticated,has_console_access
member-set-sflags-mask:
member-clear-sflags-mask:has_authenticated

Utilisation

Utilisation de base avec OpenBSM (utilisation standard la plus courante)

  1. Exécutez norimaci.py avec sudo.
  2. Exécutez un échantillon de logiciel malveillant (vous pouvez exécuter tout type de malware : DMG, PKG, binaire Mach-O, etc.).
  3. Attendez un moment (jusqu'à ce que le malware atteigne son objectif).
  4. Appuyez sur « Ctrl + C » au moment approprié dans le terminal où Norimaci s'exécute.
  5. Deux types de rapports sont générés (Norimaci_jj_Mon_aa__hh_mm_ffffff.txt et Norimaci_jj_Mon_aa__hh_mm_ffffff_timeline.csv).
  6. Consultez les rapports avec vos outils préférés (éditeurs de texte, grep, less, etc.).
root@kitploit:~
$ sudo python3 ./norimaci.py -m openbsm -o ./out/
Password:

--===[ Norimaci v0.1.0
--===[ Minoru Kobayashi [@unkn0wnbit]
[*] Launching OpenBSM agent...
[*] When runtime is complete, press CTRL+C to stop logging.
^C
[*] Termination of OpenBSM agent commencing... please wait
[*] Converting OpenBSM data ...
[*] Loading converted macOS activity data ...
[*] Saving report to: /Users/macforensics/tools/norimaci/out/Norimaci_14_Jan_20__15_55_093219.txt
[*] Saving timeline to: /Users/macforensics/tools/norimaci/out/Norimaci_14_Jan_20__15_55_093219_timeline.csv

Utilisation de base avec Monitor.app

Note : Monitor.app ne peut pas s'exécuter sur macOS 10.15, mais il fonctionne correctement sur macOS 10.14 ou version antérieure.

  1. Exécutez norimaci.py avec sudo.
  2. Saisissez un mot de passe après le lancement de Monitor.app par Norimaci (Monitor.app nécessite un mot de passe pour installer son kext).
  3. Exécutez un échantillon de logiciel malveillant (vous pouvez exécuter tout type de malware : DMG, PKG, binaire Mach-O, etc.).
  4. Attendez un moment (jusqu'à ce que le malware atteigne son objectif).
  5. Appuyez sur « Ctrl + C » au moment approprié dans le terminal où Norimaci s'exécute.
  6. Deux types de rapports sont générés (Norimaci_jj_Mon_aa__hh_mm_ffffff.txt et Norimaci_jj_Mon_aa__hh_mm_ffffff_timeline.csv).
  7. Consultez les rapports avec vos outils préférés (éditeurs de texte, grep, less, etc.).

Aide des scripts

  • norimaci.py
root@kitploit:~
$ python3 ./norimaci.py -h

--===[ Norimaci v0.1.0
--===[ Minoru Kobayashi [@unkn0wnbit]
usage: norimaci.py [-h] [-m MONITOR] [-j JSON] [-bl OPENBSM_LOG] [-p PROCLIST]
                   [-ml MONITORAPP_LOG] [-o OUTPUT] [--force] [--debug]

Light weight sandbox which works with OpenBSM or Fireeye's Monitor.app

optional arguments:
  -h, --help            show this help message and exit
  -m MONITOR, --monitor MONITOR
                        Specify a program to monitor macOS activity. You can
                        choose 'openbsm' or 'monitorapp'.
  -j JSON, --json JSON  Path to a JSON file which is converted by
                        'openbsmconv.py' or 'monitorappconv.py'.
  -bl OPENBSM_LOG, --openbsm-log OPENBSM_LOG
                        Path to an OpenBSM log file.
  -p PROCLIST, --proclist PROCLIST
                        Path to a process list file to process OpenBSM log
                        file. A file which has ".proclist" extnsion would be
                        used, if this option is not specified.
  -ml MONITORAPP_LOG, --monitorapp-log MONITORAPP_LOG
                        Path to a Monitor.app data file.
  -o OUTPUT, --output OUTPUT
                        Path to an output directory.
  --force               Enable to overwrite output files.
  --debug               Enable debug mode.
  • openbsmconv.py
root@kitploit:~
$ python3 ./openbsmconv.py -h
usage: openbsmconv.py [-h] [-f FILE] [-p PROCLIST] [-o OUT] [-c] [-rp]
                      [--with-failure] [--with-failure-socket] [--force]
                      [--debug]

Converts OpenBSM log file to JSON format.

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  Path to a bsm log file
  -p PROCLIST, --proclist PROCLIST
                        Path to a process list file
  -o OUT, --out OUT     Path to an output file
  -c, --console         Output JSON data to stdout.
  -rp, --use-running-proclist
                        Use current running process list instead of a existing
                        process list file. And, the process list is saved to a
                        file which places in the same directory of '--file' or
                        to a file which specified '--proclist'.
  --with-failure        Output records which has a failure status too.
  --with-failure-socket
                        Output records which has a failure status too (related
                        socket() syscall only).
  --force               Enable to overwrite an existing output file.
  --debug               Enable debug mode.
  • monitorappconv.py
root@kitploit:~
$ python3 ./monitorappconv.py -h
usage: monitorappconv.py [-h] [-f FILE] [-o OUT] [-c] [--force] [--debug]

Parses data of Fireeye Monitor.app and converts it to JSON format. Please note
that strings in JSON data are saved as UTF-8.

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  Path to a saved data of Monitor.app.
  -o OUT, --out OUT     Path to an output file.
  -c, --console         Output JSON data to stdout.
  --force               Enable to overwrite an output file.
  --debug               Enable debug mode.

Démonstration

Analyse d'AppleJeus.A sur macOS 10.15 Catalina avec Norimaci. Cette vidéo de démonstration a été réalisée pour la Japan Security Analyst Conference 2020 (JSAC2020).

Norimaci demo

Installation

root@kitploit:~
git clone https://github.com/mnrkbys/norimaci.git

Travaux futurs

  • Analyse YARA
  • Analyse VirusTotal

Auteur

Minoru Kobayashi

License

Apache License, Version 2.0

Télécharger l’outil