Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
norimaci — Легковесная песочница для анализа вредоносного ПО на macOS, которая отслеживает системную активность через OpenBSM или Monitor.app, создавая подробные отчёты и временные шкалы событий файловой системы, процессов и сети. | Kitploit
Инструменты/GitHubGitHub/mnrkbys/norimaci
Динамический анализ (песочница)ФорензикаАнализ вредоносных программ
GitHubmnrkbys/norimaci

norimaci

Легковесная песочница для анализа вредоносного ПО на macOS, которая отслеживает системную активность через OpenBSM или Monitor.app, создавая подробные отчёты и временные шкалы событий файловой системы, процессов и сети.

Репозиторий
7166 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Norimaci

"Norimaci" — это простая и легковесная песочница для анализа вредоносных программ под macOS. Этот инструмент был вдохновлён "Noriben". Norimaci использует возможности OpenBSM или Monitor.app для мониторинга системной активности macOS вместо Sysinternals Process Monitor (procmon).

Norimaci состоит из 3 скриптов Python.

  • norimaci.py : Главный скрипт
  • openbsmconv.py : Конвертер журналов аудита OpenBSM
  • monitorappconv.py : Конвертер данных Monitor.app

OpenBSM — это фреймворк для аудита активности на macOS. Подробнее см. на их веб-сайте.

Monitor.app — это бесплатный инструмент, созданный FireEye. Подробнее см. на их веб-сайте.

Почему "Norimaci"?

Мой бывший коллега (@cci_forensics) предложил это название.

"Norimaci" — это искусственное слово, объединяющее "Noriben" и "Macintosh". Произносится "Norimaki" и означает "のり巻き" по-японски. По-английски это "sushi roll".

Норибэн — это японский обед-бокс, состоящий из минимальных ингредиентов. Ингредиенты норимаки похожи на норибэн (морская капуста, рис и другие по вашему вкусу).

Поэтому я решил назвать этот инструмент "Norimaci".

Требования

  • OS X 10.6 или новее (тестировалось на macOS 10.13–10.15)
  • VMware Fusion, Parallels, VirtualBox и т.д.
  • Python 3.5 или новее

Дополнительные требования

  • Monitor.app

Обратите внимание, что Monitor.app поддерживает только macOS 10.12–10.14. Если вы хотите запускать вредоносное ПО на macOS 10.15 или новее, устанавливать его не обязательно. Вместо него нужно использовать OpenBSM.

Необходимо установить следующие библиотеки из их исходных репозиториев или через pip, если вы используете Norimaci с Monitor.app.

  • py-applescript
  • PyObjC
  • dnslib

Подготовка

Создание виртуальных машин для запуска вредоносных программ

Необходимо создать виртуальную машину macOS для запуска образцов вредоносных программ. Кроме того, настоятельно рекомендуется создать ещё одну виртуальную машину для имитации интернет-соединений. Потому что многие вредоносные программы пытаются подключиться к своим серверам (например, C2).

PolarProxy и INetSim — очень полезные инструменты для предоставления фальшивых HTTP/HTTPS и DNS сервисов. Пожалуйста, обратитесь к блогу NETRESEC для создания фальшивого интернета.

Редактирование /etc/security/audit_control

Если вы используете OpenBSM для мониторинга системной активности, вам нужно изменить файл /etc/security/audit_control, как показано ниже. Потому что по умолчанию OpenBSM записывает журналы аудита только о входе и аутентификации. Но Norimaci требует больше типов журналов аудита (создание файлов, удаление, выполнение процессов, сетевая активность и т.д.).

Компьютер необходимо перезагрузить после изменения для применения настроек.

root@kitploit:~
#
# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_control#8 $
#
dir:/var/audit
flags:lo,aa,fc,fd,pc,nt,ex      <- отредактируйте здесь так
minfree:5
naflags:lo,aa,fc,fd,pc,nt,ex    <- отредактируйте здесь так
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

Использование

Базовое использование с OpenBSM (наиболее стандартное)

  1. Запустите norimaci.py с sudo.
  2. Запустите образец вредоносной программы (можно запускать любой тип: DMG, PKG, Mach-O binary и т.д.).
  3. Подождите некоторое время (пока вредоносная программа не достигнет своей цели).
  4. Нажмите "Ctrl + C" в подходящий момент в терминале, где работает Norimaci.
  5. Генерируются два вида отчётов: Norimaci_dd_Mon_yy__hh_mm_ffffff.txt и Norimaci_dd_Mon_yy__hh_mm_ffffff_timeline.csv.
  6. Просмотрите отчёты с помощью любимых инструментов (например, текстовые редакторы, grep, less и т.д.).
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

Базовое использование с Monitor.app

Примечание: Monitor.app не может работать на macOS 10.15. Но он работает на macOS 10.14 и старше.

  1. Запустите norimaci.py с sudo.
  2. Введите пароль после того, как Norimaci запустит Monitor.app (Monitor.app требуется пароль для установки своего kext).
  3. Запустите образец вредоносной программы (можно запускать любой тип: DMG, PKG, Mach-O binary и т.д.).
  4. Подождите некоторое время (пока вредоносная программа не достигнет своей цели).
  5. Нажмите "Ctrl + C" в подходящий момент в терминале, где работает Norimaci.
  6. Генерируются два вида отчётов: Norimaci_dd_Mon_yy__hh_mm_ffffff.txt и Norimaci_dd_Mon_yy__hh_mm_ffffff_timeline.csv.
  7. Просмотрите отчёты с помощью любимых инструментов (например, текстовые редакторы, grep, less и т.д.).

Справка по скриптам

  • 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.

Демонстрация

Анализ AppleJeus.A на macOS 10.15 Catalina с помощью Norimaci. Это демонстрационное видео было создано для Japan Security Analyst Conference 2020 (JSAC2020)

Norimaci demo

Установка

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

Планы на будущее

  • Сканирование YARA
  • Сканирование VirusTotal

Автор

Minoru Kobayashi

Лицензия

Лицензия Apache, версия 2.0

Скачать инструмент