Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
norimaci — Sandbox leve de análise de malware macOS que monitora a atividade do sistema via OpenBSM ou Monitor.app, gerando relatórios detalhados e linhas do tempo de eventos de arquivos, processos e rede. | Kitploit
Ferramentas/GitHubGitHub/mnrkbys/norimaci
Análise Dinâmica (Sandboxing)Análise ForenseAnálise de Malware
GitHubmnrkbys/norimaci

norimaci

Sandbox leve de análise de malware macOS que monitora a atividade do sistema via OpenBSM ou Monitor.app, gerando relatórios detalhados e linhas do tempo de eventos de arquivos, processos e rede.

Ver Repositório
716há 6 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Norimaci

"Norimaci" é uma sandbox simples e leve para análise de malware no macOS. Esta ferramenta foi inspirada no "Noriben". Norimaci utiliza os recursos do OpenBSM ou do Monitor.app para monitorar a atividade do sistema macOS, em vez do Sysinternals Process Monitor (procmon).

Norimaci consiste em 3 scripts Python.

  • norimaci.py : Script principal
  • openbsmconv.py : Conversor de log de auditoria do OpenBSM
  • monitorappconv.py : Conversor de dados do Monitor.app

OpenBSM é um framework para auditar atividades no macOS. Consulte o site deles para mais detalhes.

Monitor.app é uma ferramenta gratuita desenvolvida pela FireEye. Consulte o site deles para mais detalhes.

Por que "Norimaci"?

Meu ex-colega (@cci_forensics) sugeriu este nome.

"Norimaci" é uma palavra inventada combinando "Noriben" e "Macintosh". É pronunciado "Norimaki" e representa "のり巻き" em japonês. Significa "sushi roll" em inglês.

Noriben é um almoço estilo japonês que consiste em ingredientes mínimos. Os ingredientes do norimaki são semelhantes aos do noriben (alga, arroz e outros de sua preferência).

Então, decidi nomear esta ferramenta "Norimaci".

Requisitos

  • OS X 10.6 ou superior (testado no macOS 10.13 - 10.15)
  • VMware Fusion, Parallels, VirtualBox, etc.
  • Python 3.5 ou superior

Requisito opcional

  • Monitor.app

Observe que o Monitor.app suporta apenas macOS 10.12 - 10.14. Você não precisa instalá-lo se quiser executar malware no macOS 10.15 ou superior. Você deve usar o OpenBSM no lugar dele.

Você precisa instalar as bibliotecas abaixo a partir de seus repositórios fonte ou pip, se usar Norimaci com o Monitor.app.

  • py-applescript
  • PyObjC
  • dnslib

Preparação

Construir máquinas virtuais para executar malware

Você precisa construir uma VM macOS para executar amostras de malware. Além disso, é altamente recomendável construir outra VM para conexões falsas com a Internet. Pois muitos malwares tentam se conectar a seus servidores (por exemplo, servidores C2).

PolarProxy e INetSim são ferramentas muito úteis para fornecer serviços DNS/HTTP/HTTPS falsos. Consulte o blog NETRESEC para construir uma Internet falsa.

Editar /etc/security/audit_control

Se você usar OpenBSM para monitorar atividades do sistema, precisa modificar o arquivo /etc/security/audit_control conforme abaixo. Porque, por padrão, o OpenBSM registra logs de auditoria apenas sobre login e autenticação. Mas o Norimaci precisa de mais tipos de logs de auditoria (criação de arquivo, exclusão de arquivo, execução de processo, rede, etc.).

O computador precisa ser reiniciado após a modificação para aplicar a configuração.

root@kitploit:~
#
# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_control#8 $
#
dir:/var/audit
flags:lo,aa,fc,fd,pc,nt,ex      <- edite aqui assim
minfree:5
naflags:lo,aa,fc,fd,pc,nt,ex    <- edite aqui assim
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

Uso

Uso básico com OpenBSM (uso mais padrão)

  1. Execute norimaci.py com sudo.
  2. Execute uma amostra de malware (Você pode executar qualquer tipo de malware. Por exemplo, DMG, PKG, binário Mach-O, etc.).
  3. Aguarde um pouco (Até que o malware atinja seu objetivo).
  4. Pressione "Ctrl + C" no momento apropriado no terminal onde o Norimaci está sendo executado.
  5. São gerados 2 tipos de relatórios (Norimaci_dd_Mon_yy__hh_mm_ffffff.txt e Norimaci_dd_Mon_yy__hh_mm_ffffff_timeline.csv).
  6. Confirme os relatórios com suas ferramentas favoritas (por exemplo, editores de texto, 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

Uso básico com Monitor.app

Nota: O Monitor.app não pode ser executado no macOS 10.15, mas funciona bem no macOS 10.14 ou anterior.

  1. Execute norimaci.py com sudo.
  2. Digite uma senha após o Norimaci iniciar o Monitor.app (o Monitor.app precisa de uma senha para instalar seu kext).
  3. Execute uma amostra de malware (Você pode executar qualquer tipo de malware. Por exemplo, DMG, PKG, binário Mach-O, etc.).
  4. Aguarde um pouco (Até que o malware atinja seu objetivo).
  5. Pressione "Ctrl + C" no momento apropriado no terminal onde o Norimaci está sendo executado.
  6. São gerados 2 tipos de relatórios (Norimaci_dd_Mon_yy__hh_mm_ffffff.txt e Norimaci_dd_Mon_yy__hh_mm_ffffff_timeline.csv).
  7. Confirme os relatórios com suas ferramentas favoritas (por exemplo, editores de texto, grep, less, etc.).

Ajuda dos 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.

Demonstração

Analisar AppleJeus.A no macOS 10.15 Catalina com Norimaci. Este vídeo de demonstração foi feito para a Japan Security Analyst Conference 2020 (JSAC2020)

Demonstração do Norimaci

Instalação

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

Trabalhos Futuros

  • Escaneamento YARA
  • Escaneamento VirusTotal

Autor

Minoru Kobayashi

Licença

Apache License, Version 2.0

Baixar ferramenta