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

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

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

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

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

Категории

Все категории
Loading categories
MacPersistenceChecker — Сканер механизмов персистентности macOS с проверкой цифровых подписей кода и отслеживанием временной шкалы. | Kitploit
Инструменты/GitHubGitHub/pinperepette/macpersistencechecker
OSINT (Разведка открытых источников)Механизмы персистентностиАнализ уязвимостейФорензикаАнализ вредоносных программЦифровая криминалистикаРазведка угрозОбучение и ОбразованиеРеагирование на Инциденты

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Безопасность ИИ
GitHubpinperepette/macpersistencechecker

MacPersistenceChecker

Сканер механизмов персистентности macOS с проверкой цифровых подписей кода и отслеживанием временной шкалы.

Репозиторий
2681322 месяцев назадПроверено Kitploit

MacPersistenceChecker

Видите ВСЁ, что запускается на вашем Mac. Понимаете ПОЧЕМУ оно запускается. Решаете, ЧТО оставить.

Main UI

How It Works

TL;DR

MacPersistenceChecker показывает вам всё, что запускается автоматически на вашем Mac, объясняет, почему это важно, и помогает решить, что оставить или удалить.

→ Найдите вредоносное ПО → Обнаружьте скрытую персистентность → Поймите свою систему за минуты

Download

Скачать MacPersistenceChecker v2.0.0 (DMG)

→ Сканируйте Mac менее чем за 30 секунд → Никакого мастера установки, просто откройте и запустите → Нативный macOS, универсальный (Apple Silicon и Intel), macOS 13+

Если macOS сообщает, что приложение повреждено: xattr -cr /Applications/MacPersistenceChecker.app

Примеры использования в реальной жизни

  • "Почему мой Mac тормозит?" → найдите скрытые приложения автозапуска и элементы входа
  • "Заражён ли я?" → обнаружьте подозрительную персистентность, подписанные, но опасные двоичные файлы
  • "Что добавил этот установщик?" → сравнение снимков до и после установки с объяснением от ИИ
  • "Что запускается при входе?" → полная видимость более 22 механизмов персистентности
  • "Это безопасно?" → ИИ объясняет простым языком с привязкой к MITRE ATT&CK

Почему не Autoruns (или другие инструменты)?

  • Создан для macOS — не порт с Windows. Знает о LaunchAgents, TCC, расширениях ядра, перехвате dylib, BTM, профилях MDM и многом другом.
  • Сортировка с помощью ИИ (опционально) — Claude классифицирует тысячи элементов за секунды, со временем изучает вашу среду
  • Граф знаний вместо плоских списков — примите решение один раз для концепции, вердикт распространяется на все связанные элементы
  • Поведенческий + контекстный анализ — оценки риска учитывают сигнатуры, поведение, несоответствие намерений, аномалии возраста, LOLBins и другое
  • Никакой телеметрии, облачной синхронизации — весь анализ локальный. ИИ опционален и оплачивается пользователем через ваш собственный ключ Anthropic

Конфиденциальность и безопасность

  • Никакие данные не покидают ваш компьютер, если вы не согласитесь на функции ИИ
  • Все сканирование, оценка рисков и логические выводы графа выполняются локально
  • Вызовы ИИ идут напрямую к Anthropic с вашим собственным ключом API — без прокси, без логирования
  • Ключ API хранится в связке ключей macOS
  • Исходный код открыт: посмотрите, что и как он отправляет

Анализ на основе ИИ

Приложение изучает вашу систему и автоматически классифицирует тысячи элементов.

  • 🧠 Группирует похожие элементы в кластеры концепций (6800 элементов → ~280 кластеров)
  • 📚 Узнаёт, чему вы доверяете — вердикты распространяются на связанные элементы, включая будущие
  • 🔇 Со временем снижает шум — первая сортировка самая большая, затем остаётся тихо
  • 🎯 Пять инструментов ИИ: анализ отдельного элемента, пакетная сортировка кластеров, полный системный отчёт, вопросы и ответы по поиску угроз, объяснение различий снимков

Быстрый старт:

  1. Настройки → ИИ → вставьте свой ключ API Anthropic (сохраняется в связке ключей macOS)
  2. Настройки → Мониторинг → включите переключатель Использовать ИИ
  3. Панель инструментов → Сортировка для массовой классификации кластеров или Охота для вопросов на естественном языке

Реалистичная стоимость: <$1/месяц при активном использовании, $0 в стабильном состоянии.

Как это работает (технически)

Приложение строит граф знаний каждого элемента персистентности на вашем Mac и использует Claude (Anthropic) для логических выводов. Быстро классифицируйте тысячи элементов, эскалируйте только то, что действительно важно, и изучайте свою систему, чтобы она отвечала на большинство вопросов без дополнительных вызовов ИИ.

Reasoning flow```

root@kitploit:~
             ┌──────────────────────────┐
             │   Persistence scan       │
             │   (e.g. 6800 items)      │
             └─────────────┬────────────┘
                           ▼
        ┌────────────────────────────────────────┐
        │  Concept Extraction (deterministic)    │
        │  6 extractors → vendor / software /    │
        │  pathCategory / pattern / mechanism /  │
        │  filename. No AI calls here.           │
        └─────────────┬──────────────────────────┘
                      ▼
        ┌────────────────────────────────────────┐
        │  Knowledge Graph (SQLite)              │
        │  • concepts (~280 typically)           │
        │  • concept_links (subsumes / instance) │
        │  • item_concepts (m:n)                 │
        │  • concept_verdicts                    │
        └─────────────┬──────────────────────────┘
                      ▼
        ┌────────────────────────────────────────┐
        │  Concept Resolver                      │
        │  for every item, picks the strongest   │
        │  verdict via a deterministic ladder:   │
        │  severity → confidence → specificity   │
        │  → source → recency.                   │
        └─────────────┬──────────────────────────┘
                      │
          ┌───────────┴────────────┐
          ▼                        ▼
Скачать инструмент

┌──────────────────┐ ┌──────────────────────┐ │ Item is already │ │ Item is unresolved │ │ classified. │ │ → goes to a cluster. │ │ Filter hides it │ └──────────┬───────────┘ │ from "Suspicious"│ ▼ └──────────────────┘ ┌──────────────────────┐ │ Cluster Builder │ │ groups items by │ │ identical concept │ │ signature (sorted │ │ ids). 6800 items → │ │ ~280 clusters. │ └──────────┬───────────┘ ▼ ┌──────────────────────────────────────────┐ │ User decides per cluster (one click = │ │ N items decided), OR sends batch to AI: │ │ │ │ • Trust / Watch / Block (manual) │ │ • Send unresolved clusters to AI │ │ → Haiku batch (15 cluster per call) │ │ → AI returns verdicts attached to │ │ concepts (not items) — propagate │ │ to ALL items linked to those │ │ concepts, including future ones. │ └──────────────────────────────────────────┘

root@kitploit:~
### AI-инструменты

| Инструмент | Где найти | Модель | Стоимость / вызов |
|---|---|---|---|
| Анализ с помощью ИИ (один элемент) | Детали элемента → Граф знаний | Haiku | ~$0.003 |
| Пакетная умная сортировка | Панель инструментов → Сортировка | Haiku batch | ~$0.005 (15 кластеров) |
| Отчёт о системе | Панель инструментов → Отчёт | Sonnet | ~$0.05–0.10 |
| Охота за угрозами | Панель инструментов → Охота | Haiku | ~$0.003 |
| Сравнение снимков | История → Сравнить → Анализ с помощью ИИ | Haiku | ~$0.003 |

Дневной лимит вызовов (по умолчанию 30) настраивается в Настройки → ИИ. Жёсткий потолок — по достижении ИИ автоматически отключается.

### Контроль доверия

Пользовательские правила **всегда побеждают** те, что извлечены ИИ:

- **Доверять этому элементу** — правило для одного элемента, ваше решение переопределяет список наблюдения ИИ
- **Доверять этому шаблону** — правило на основе шаблона с привязкой по TeamID/подписи (только подписанные бинарники)
- **Убрать доверие** — удалить ошибочно добавленное пользовательское правило
- **Наблюдать / Блокировать** — применить вердикт «в списке наблюдения» или «вредоносный» ко всему кластеру в умной сортировке

</details>

---

## Сканирование персистентности

### Основные сканеры
- **Launch Daemons** — системные службы (`/Library/LaunchDaemons`, `/System/Library/LaunchDaemons`)
- **Launch Agents** — пользовательские агенты (`~/Library/LaunchAgents`, `/Library/LaunchAgents`)
- **Login Items** — приложения, запускающиеся при входе
- **Kernel Extensions** — устаревшие расширения ядра (kext)
- **System Extensions** — современные системные расширения (DriverKit, NetworkExtension, EndpointSecurity)
- **Privileged Helper Tools** — XPC-службы с повышенными привилегиями
- **Cron Jobs** — запланированные задачи
- **Configuration Profiles** — профили управления (MDM) и конфигурационные профили
- **Application Support** — фоновые приложения и вспомогательные программы

### Расширенные сканеры (опционально)
- **Periodic Scripts** — дневные, недельные, месячные скрипты в `/etc/periodic/`
- **Shell Startup Files** — `.zshrc`, `.bashrc`, `/etc/profile` с обнаружением подозрительных паттернов
- **Login/Logout Hooks** — устаревшие хуки входа/выхода через `com.apple.loginwindow`
- **Authorization Plugins** — плагины агента безопасности в `/Library/Security/SecurityAgentPlugins`
- **Spotlight Importers** — пользовательские импортёры метаданных
- **Quick Look Plugins** — генераторы предпросмотра, которые могут быть использованы злоумышленниками
- **Directory Services Plugins** — плагины аутентификации
- **Finder Sync Extensions** — расширения Finder через pluginkit
- **BTM Database** — записи управления фоновыми задачами (macOS 13+)
- **Dylib Hijacking** — обнаружение `DYLD_INSERT_LIBRARIES` и подозрительного внедрения dylib
- **TCC/Accessibility** — приложения с правами специальных возможностей в базе TCC

---

## Оценка рисков

Каждый элемент персистентности получает **оценку риска (0–100)** на основе нескольких факторов:

- Недействительные или отсутствующие подписи кода
- Отсутствие защиты Hardened Runtime
- Бинарники с ad-hoc подписью
- Подозрительные расположения файлов
- Постоянные автозапуски (RunAtLoad, KeepAlive)
- Известные паттерны вредоносного ПО

**Уровни серьёзности:** Низкий, Средний, Высокий, Критический — элементы отсортированы по риску для быстрого выявления угроз.

### Обнаружение аномалий частоты запуска
- **Микро-перезапуск** — StartInterval < 60 секунд (возможное злоупотребление watchdog)
- **Агрессивный watchdog** — комбинация KeepAlive + низкий StartInterval
- **Отсутствие ограничения частоты** — KeepAlive без ThrottleInterval (риск цикла аварийного перезапуска)

### Обнаружение «подписано, но опасно»
- **Опасные полномочия** — обнаружение рискованных entitlements (`com.apple.security.cs.disable-library-validation` и т.д.)
- **Имитация Apple** — не Apple-программы, пытающиеся выглядеть как продукты Apple
- **Скрытые расположения** — подписанные приложения в подозрительных каталогах
- **Пробелы в нотаризации** — недавние приложения без нотаризации
- **Анализ сертификатов разработчика** — проверка TeamID на соответствие известным разработчикам

### Обнаружение LOLBins (Living-off-the-Land Binaries)
Обнаруживает подозрительное использование легитимных бинарников macOS в контексте персистентности. **Важна комбинация:**

- **osascript + персистентность** = AppleScript с автозапуском (злоупотребление GUI-автоматизацией)
- **curl/wget + RunAtLoad** = паттерн «скачать и выполнить»
- **python + привилегированный помощник** = выполнение скрипта с повышенными правами
- **security + KeepAlive** = риск кражи учётных данных
- **launchctl + автозапуск** = мета-установщик персистентности
- **netcat + персистентность** = обратный шелл / канал C2

Отслеживается 40+ LOLBins с привязкой к MITRE ATT&CK и контекстной оценкой серьёзности.

### Репутация бинарников и поведенческий анализ
Продвинутые эвристики для обнаружения подозрительных поведенческих паттернов:

- **Скрытый защитник персистентности** — агент с KeepAlive без очевидной цели watchdog
- **Агрессивная персистентность** — RunAtLoad + KeepAlive на неслужебных элементах
- **Скрытый автозапуск** — фоновый процесс от неизвестного разработчика
- **Осиротевшая персистентность** — plist указывает на несуществующий исполняемый файл
- **Подозрительное расположение** — исполняемый файл в `/tmp/`, `/Users/Shared/` или скрытых каталогах
- **Риск повышения привилегий** — пользовательский агент, пытающийся выполнить привилегированные операции
- **Сетевая персистентность** — персистентность с сетевыми возможностями
- **Скриптовая персистентность** — встроенные скрипты через интерпретаторы
- **Имитация системных процессов** — элемент не от Apple, использующий название, похожее на Apple
- **Паттерн частого перезапуска** — StartInterval < 60 секунд

### Несоответствие намерений plist и бинарника
Обнаруживает, когда то, что объявлено в plist, не соответствует действиям бинарника — **именно так поступают современные дропперы:**

- **Невинный plist, тяжёлый бинарник** — простая конфигурация, но бинарник имеет опасные полномочия
- **Пассивный помощник с сетью** — фоновый помощник с доступом к клиенту/серверу сети
- **Пассивный помощник с загрузкой dylib** — помощник, способный загружать неподписанный код
- **Минимальная конфигурация, максимальные возможности** — минимальный plist, но обширные полномочия
- **Простая задача с доступом к связке ключей** — простая задача с доступом к учётным данным

### Возраст бинарника vs возраст персистентности
Обнаруживает подозрительные временные метки, указывающие на вредоносные обновления после установки:

- **Старый plist, новый бинарник** — классический паттерн «вредоносное обновление после установки»
- **Тихая замена бинарника** — бинарник изменён без изменения plist
- **Манипуляция временными метками** — дата изменения раньше даты создания (невозможно)
- **Подозрительное время изменения** — бинарник изменён в 2–5 часов ночи
- **Бинарник изменён после установки** — непрограмма обновления изменена после первоначальной установки

### Уровни доверия
- 🟢 **Apple** — Подписано Apple
- 🔵 **Известный разработчик** — Проверенное стороннее программное обеспечение
- 🟡 **Подписано** — Действительная подпись, но не нотаризовано
- ⚪ **Неизвестно** — Нет исполняемого файла для проверки
- 🟠 **Подозрительный** — Просроченный сертификат или подозрительный путь
- 🔴 **Не подписано** — Нет действительной подписи

---

## Хронология и криминалистика

Комплексная криминалистическая хронология для каждого элемента персистентности:

**Обнаружение**
- Первое появление — когда элемент был впервые обнаружен

**Конфигурационный файл (Plist)**
- Создан — временная метка создания файла
- Изменён — временная метка последнего изменения

**Исполняемый файл (бинарник)**
- Создан — временная метка создания бинарника
- Изменён — временная метка последнего изменения
- Последнее выполнение — время последнего доступа/выполнения

### Обнаружение аномалий временных меток
- **Timestomping** — дата создания позже даты изменения (техника анти-криминалистики)
- **Замена файла** — файл создан после первоначального обнаружения
- **Замена бинарника** — недавно изменённый бинарник со старым plist (возможный троян)
- **Недавнее выполнение** — бинарник недавно использовался, но в данный момент не загружен

---

## Интеграция с MITRE ATT&CK

Каждый механизм персистентности сопоставлен с фреймворком MITRE ATT&CK:

- **Тактики**: Persistence, Privilege Escalation, Defense Evasion, Execution
- **Техники**: T1543.001, T1543.004, T1547.001, T1547.015 и другие
- Прямые ссылки на документацию MITRE ATT&CK

---

## Отчёт о внедрении приложений

Комплексный анализ установленных приложений для оценки их уровня «внедрения»:

### Двойная система оценки

**Оценка персистентности (0–100)** — оценивает механизмы персистентности:
- Типы триггеров (RunAtLoad, KeepAlive)
- Уровни привилегий (LaunchDaemons, Kernel Extensions, Privileged Helpers)
- Устойчивость (автоматический перезапуск, обновления)
- Избыточность (несколько элементов от одного разработчика)
- Уровень доверия (штрафы за неподписанные/подозрительные)

**Оценка установки (0–100)** — оценивает «мусорный» след:
- Распространение файлов по папкам Library
- Общий объём дискового пространства
- Файлы-сироты (персистентность без соответствующего приложения)
- Раздувание кэша
- Системные установки

### Система оценок
Приложения получают оценку **от A до F** на основе комбинированного балла с подробным разбором всех факторов оценки.

---

## Визуализация

### Панель статистики
- **Гистограмма распределения рисков** — элементы по группам риска (Низкий, Средний, Высокий, Критический)
- **Кольцевая диаграмма уровней доверия** — распределение по уровням доверия
- **Диаграмма категорий** — элементы по категориям персистентности
- **Визуализация хронологии** — события жизненного цикла элемента (Создан, Изменён, Выполнен, Обнаружен)

### Интерактивный граф
- **Полный граф системы** — обзор всех элементов персистентности и их связей
- **Фокусированный граф элемента** — радиальный граф для анализа отдельного элемента
- **Режимы анализа**: Базовый (доверие/категории) или Полный (включает зависимости dylib, сетевые соединения)
- **Интерактивное полотно** — масштабирование, панорамирование, исследование связей
- **Цветовая кодировка по уровню доверия** — быстрая визульная оценка угрозы

### Радар профиля безопасности
Комплексная радиальная диаграмма, показывающая одним взглядом измерения: Доверие, Подпись, Безопасность, Стабильность, Прозрачность и Возраст.

---

## Мониторинг в реальном времени

Непрерывный мониторинг изменений персистентности с двумя режимами анализа.

### Режимы мониторинга

**Стандартный режим**
- Мониторинг файловой системы в реальном времени на основе FSEvents
- Интеллектуальное подавление шума с настраиваемым дебаунсингом
- Оценка релевантности для фильтрации незначительных изменений
- Немедленные уведомления для изменений высокой релевантности

**Режим ИИ** (требуется API-ключ Claude)
- Claude AI анализирует каждое обнаруженное изменение
- Полный контекст отправляется ИИ: информация о подписи, LOLBins, поведенческие аномалии, оценки риска
- ИИ решает, заслуживает ли изменение уведомления на основе реального уровня угрозы
- Настраиваемый интервал проверки (от 30 секунд до 1 часа)
- Фильтрация по порогу серьёзности (Info, Low, Medium, High, Critical)

### Интеграция в строку меню
- Индикатор статуса мониторинга в реальном времени
- Значок режима: «ИИ» или «Std»
- Быстрое управление (Запустить/Остановить мониторинг, запустить сканирование)
- Доступ к настройкам
- Счётчик неподтверждённых изменений
- Предпросмотр последнего обнаруженного изменения

### Дедупликация уведомлений
- Один и тот же элемент не будет вызывать повторные уведомления в течение периода охлаждения
- Настраиваемый период охлаждения (1–24 часа, по умолчанию 2 часа)
- Предотвращает утомление от уведомлений при часто изменяющихся элементах

### Уведомление о запуске
При запуске мониторинга вы получаете уведомление с подтверждением:
- Активный режим (режим ИИ или стандартный режим)
- Интервал проверки (ИИ) или «В реальном времени» (стандартный)
- Настройки порога уведомления

### Обнаружение изменений
- **Добавлено** — новые элементы персистентности
- **Удалено** — удалённые элементы
- **Изменено** — изменения конфигурации (включено/отключено, изменение путей и т.д.)
- **Включено/Отключено** — изменения состояния

### Детали анализа ИИ
При активном режиме ИИ каждое изменение отправляет полные данные элемента в Claude:
- Базовая информация (имя, категория, пути, содержимое plist)
- Детали подписи (подписано, Apple, нотаризовано, team ID, статус сертификата)
- Оценка риска (балл, подробный разбор)
- Обнаружения LOLBins с привязкой к MITRE
- Поведенческие аномалии
- Несоответствия намерений (plist vs бинарник)
- Аномалии возраста (анализ временных меток)
- Флаги «подписано, но опасно»

Claude отвечает:
- `shouldNotify` — уведомить ли пользователя
- `severity` — оценка уровня угрозы
- `title` — заголовок уведомления
- `explanation` — почему это подозрительно или нет
- `recommendation` — рекомендуемое действие
- `mitreTechniques` — соответствующие техники ATT&CK

### Настройка ИИ

Управляйте тем, как ИИ анализирует изменения, через **Настройки → ИИ**:

**Структурированные опции**
| Опция | По умолчанию | Эффект |
|-------|--------------|--------|
| Игнорировать подписанные Apple | Вкл | Понижать приоритет элементов, подписанных Apple (com.apple.*) |
| Игнорировать системные пути | Вкл | Понижать приоритет путей /System и /Library |
| Приоритет неподписанных | Вкл | Уделять повышенное внимание неподписанным исполняемым файлам |
| Фокус на LOLBins | Вкл | Приоритизировать обнаружение Living-off-the-Land Binaries |
| Минимальная оценка риска | 0 | Анализировать только элементы с риском >= порога |
| Игнорируемые пути | — | Пользовательские пути для пропуска (через запятую) |

**Порог уведомлений**
- `Info` — уведомлять обо всём
- `Low` — уведомлять о низкой серьёзности и выше
- `Medium` — уведомлять о средней и выше (по умолчанию)
- `High` — только высокие и критические
- `Critical` — только критические угрозы

**Пользовательский промпт**
Добавьте собственные инструкции, которые будут добавляться к промпту ИИ. Примеры:```
Always notify me if an item uses python or osascript.
Ignore anything from Microsoft.
Be more aggressive with unsigned items from ~/Downloads.

ИИ использует эти настройки для принятия более умных решений. Например:

  • Неподписанный LaunchAgent из /tmp/ → Критическое уведомление
  • Подписанное обновление Dropbox → Без уведомления (информация)
  • osascript с RunAtLoad → Высокое уведомление

MCP Server (интеграция с Claude Code)

MacPersistenceChecker включает MCP-сервер (Model Context Protocol), который позволяет Claude Code, Claude Desktop и другим MCP-совместимым клиентам запрашивать данные о персистентности.

Сборка MCP Server```bash

swift build --target MPCServer

root@kitploit:~
The binary is created at `.build/debug/mpc-server`.

### Доступные инструменты MCP

| Инструмент | Описание |
|------|-------------|
| `get_current_state` | Получить все текущие элементы персистентности с опциональными фильтрами |
| `get_diff` | Получить изменения от базовой линии или конкретного снимка |
| `get_summary` | Компактный обзор с подсчетами и главными угрозами |
| `get_item_details` | Полные детали для конкретного элемента по идентификатору |
| `get_risk_analysis` | Агрегированный анализ рисков с рекомендациями |
| `get_snapshots` | Список доступных снимков с метаданными |
| `compare_snapshots` | Сравнить два снимка на наличие изменений |

### Конфигурация Claude Code

Добавьте в настройки MCP для Claude Code (`~/.claude/claude_desktop_config.json` или подобное):```json
{
  "mcpServers": {
    "macpersistence": {
      "command": "/path/to/mpc-server",
      "args": []
    }
  }
}

Примеры запросов

После настройки вы можете задавать Claude Code:

  • "Какие элементы персистентности есть на этом Mac?"
  • "Покажи неподписанные элементы с высокими оценками риска"
  • "Что изменилось с последнего снимка?"
  • "Проанализируй риск элементов в категории LaunchAgents"
  • "Сравни сегодняшний снимок со вчерашним"

Возможности MCP-сервера

  • Доступ только для чтения к SQLite-базе MacPersistenceChecker
  • Протокол JSON-RPC 2.0 через stdio
  • Фильтры по категории, уровню доверия, оценке риска, статусу подписи Apple
  • Полные возможности создания снимков и сравнения
  • Не требуется отдельный API-ключ (используется локальная база данных)

Снимки и сравнение

  • Создавайте снимки состояния системы
  • Сравнивайте снимки для обнаружения изменений с течением времени
  • Отслеживайте новые, удалённые или изменённые элементы персистентности
  • Определяйте, когда были добавлены подозрительные элементы

Судебно-экспертный экспорт JSON

Экспорт в машиночитаемом формате для конвейеров безопасности:

  • Интеграция с SIEM — Пригоден для загрузки в Splunk, Elastic и др.
  • Совместимость с SOAR — Готов для автоматизированных рабочих процессов реагирования
  • Анализ LLM — Структурированные данные для анализа на основе ИИ
  • Конвейеры IR — Совместим с инструментами OSINT и реагирования на инциденты

Содержимое экспорта

  • Полные метаданные системы (имя хоста, версия macOS, модель оборудования, серийный номер)
  • Все элементы персистентности с полным анализом
  • Оценки риска, LOLBins, поведенческие аномалии, несоответствия намерений, анализ возраста
  • Сопоставления с MITRE ATT&CK
  • Полная судебно-экспертная хронология с метками времени Unix
  • Критические находки с рекомендациями

Кнопка активна только после завершения сканирования.


Система изоляции

Безопасная нейтрализация подозрительных элементов персистентности без постоянного удаления:

Действия по изоляции

  • Быстрая изоляция — Отключение персистентности + блокировка сети (рекомендуется)
  • Только отключение — Удаление из автозапуска без блокировки сети
  • Только блокировка сети — Блокировка сетевого доступа при сохранении персистентности активной

Функции безопасности

  • Автоматическое резервное копирование — Исходный plist сохраняется перед любыми изменениями
  • Автоматическое освобождение — Автовосстановление через настраиваемый тайм-аут (по умолчанию 24 часа)
  • Ручное освобождение — Мгновенное восстановление изолированных элементов
  • Журнал действий — Полный аудиторский след всех действий по изоляции

Блокировка сети

  • Правила брандмауэра PF для блокировки исходящих соединений
  • Блокировка для каждого бинарного файла по пути исполняемого файла
  • Сохраняется после перезапуска приложения

Сценарии использования

  • Изоляция подозрительного элемента во время расследования
  • Проверка, не нарушит ли удаление персистентности функциональность
  • Временное отключение без потери конфигурации

Действия

  • Показать в Finder — Быстрое нахождение файлов
  • Открыть Plist — Просмотр файлов конфигурации
  • Просмотр графа — Визуализация графа для каждого элемента
  • Отключить/Включить — Безопасное отключение элементов (с правами администратора для системных)
  • Изолировать — Изоляция подозрительных элементов с автоматическим резервным копированием
  • Экспорт JSON — Экспорт криминалистического отчета для SIEM/SOAR/IR

Скриншоты

Основной вид

Детали элемента

Сравнение снимков

Сравнение снимков

Расширенные сканеры

Настройки расширенных сканеров

Инвазивность приложения

Строка меню


Сборка из исходного кода```bash

git clone https://github.com/Pinperepette/MacPersistenceChecker.git cd MacPersistenceChecker ./build.sh

root@kitploit:~
Скопируйте `MacPersistenceChecker.app` в `/Applications/`.

### Требования
- macOS 13.0+
- Xcode 15+ или Swift 5.9+

### Зависимости
- [GRDB.swift](https://github.com/groue/GRDB.swift) — база данных SQLite

---

## Разрешения

Требует **Полного доступа к диску** для сканирования:
- `/Library/LaunchDaemons`
- Файлы системной конфигурации
- База данных TCC
- Стартовые файлы оболочки

Без Полного доступа к диску некоторые элементы могут быть не видны.

---

## Лицензия

Лицензия MIT — подробнее см. [LICENSE](https://github.com/pinperepette/macpersistencechecker/blob/main/LICENSE).

## Автор

**pinperepette** — 2025

## История звёзд

<a href="https://www.star-history.com/?repos=Pinperepette%2FMacPersistenceChecker&type=date&legend=top-left">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=Pinperepette/MacPersistenceChecker&type=date&theme=dark&legend=top-left" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=Pinperepette/MacPersistenceChecker&type=date&legend=top-left" />
   График истории звёзд
 </picture>
</a>

---

*Вдохновлено [Autoruns](https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns) для Windows от Марка Руссиновича*