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

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

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

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

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

Категории

Все категории
Loading categories
macos_xprotect — Образовательное углублённое исследование встроенной защиты Apple от вредоносных программ: базы сигнатур, правила YARA, интеграция с Gatekeeper, бинарные файлы для устранения угроз и процесс обнаружения в macOS. | Kitploit
Инструменты/GitHubGitHub/yo-yo-yo-jbo/macos_xprotect
Оборонительные ИнструментыАнализ вредоносных программАнализ Бинарных ФайловОбучение и Образование
GitHubyo-yo-yo-jbo/macos_xprotect

macos_xprotect

Образовательное углублённое исследование встроенной защиты Apple от вредоносных программ: базы сигнатур, правила YARA, интеграция с Gatekeeper, бинарные файлы для устранения угроз и процесс обнаружения в macOS.

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
31112 месяцев назадЕщё не проверено
Поделиться

Введение в macOS - XProtect

Продолжая мою серию постов о введении в macOS, я решил посвятить короткий пост XProtect.

Что такое XProtect?

XProtect — это встроенная антивирусная система macOS и система сигнатур вредоносных программ от Apple.
Она работает как часть XProtectService, которая сканирует приложения и другой исполняемый контент на наличие известных сигнатур вредоносных программ.
XProtect работает в фоновом режиме и незаметно обновляется Apple через механизм XProtectRemediator (подробнее об этом позже).
XProtect выполняет 3 основные функции:

  • Обнаружение на основе сигнатур — сканирует файлы по базе данных известных сигнатур вредоносных программ.
  • Поведенческое обнаружение (XProtect Remediator) — появилось в macOS Monterey; позволяет XProtect активно сканировать и удалять вредоносные программы на основе подозрительного поведения, а не только статических сигнатур.
  • Блокировка в реальном времени — XProtect предотвращает запуск известного вредоносного ПО до того, как оно сможет выполниться.

Традиционный XProtect

Каталог /Library/Apple/System/Library/CoreServices/XProtect.bundle — это основной бандл, содержащий конфигурацию XProtect и определения сигнатур.
Это системный каталог только для чтения, который незаметно обновляется Apple через обновления XProtect.
Внутри него можно найти несколько интересных файлов, все они периодически обновляются Apple и защищены System Integrity Protection (SIP).

XProtect.plist

Файл /Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Resources/XProtect.plist хранит сигнатуры вредоносных программ, используемые XProtect для обнаружения известных угроз.
Он содержит записи, сопоставляющие семейства вредоносных программ с конкретными правилами обнаружения, включая хэши и шаблоны имён файлов.
Вот пример одного семейства вредоносных программ — Bundalore:

<dict>
        <key>Description</key>
        <string>OSX.Bundlore.D</string>
        <key>LaunchServices</key>
        <dict>
                <key>LSItemContentType</key>
                <string>com.apple.application-bundle</string>
        </dict>
        <key>Matches</key>
        <array>
                <dict>
                        <key>MatchFile</key>
                        <dict>
                                <key>NSURLTypeIdentifierKey</key>
                                <string>com.apple.applescript.script</string>
                        </dict>
                        <key>MatchType</key>
                        <string>Match</string>
                        <key>Pattern</key>
                        <string>46617364554153</string>
                </dict>
                <dict>
                        <key>MatchFile</key>
                        <dict>
                                <key>NSURLTypeIdentifierKey</key>
                                <string>com.apple.applescript.script</string>
                        </dict>
                        <key>MatchType</key>
                        <string>Match</string>
                        <key>Pattern</key>
                        <string>20006500630068006F002000</string>
                </dict>
                <dict>
                        <key>MatchFile</key>
                        <dict>
                                <key>NSURLTypeIdentifierKey</key>
                                <string>com.apple.applescript.script</string>
                        </dict>
                        <key>MatchType</key>
                        <string>Match</string>
                        <key>Pattern</key>
                        <string>20007C0020006F00700065006E00730073006C00200065006E00630020002D006100650073002D003200350036002D0063006600620020002D007000610073007300200070006100730073003A</string>
                </dict>
                <dict>
                        <key>MatchFile</key>
                        <dict>
                                <key>NSURLTypeIdentifierKey</key>
                                <string>com.apple.applescript.script</string>
                        </dict>
                        <key>MatchType</key>
                        <string>Match</string>
                        <key>Pattern</key>
                        <string>002D00730061006C00740020002D00410020002D00610020002D00640020007C002000620061007300680020002D0073</string>
                </dict>
        </array>
</dict>

Это довольно читаемо; единственное, что заслуживает внимания, — аргумент string в каждом совпадении представлен в шестнадцатеричном виде, например, 002D00730061006C00740020002D00410020002D00610020002D00640020007C002000620061007300680020002D0073 соответствует -salt -A -a -d | bash -s.
Конечно, это золотая жила для авторов вредоносных программ, которые точно знают, каких шаблонов следует избегать.

XProtect.meta.plist

Файл /Library/Apple/System/Library/CoreServices/XProtect.bundle/XProtect.meta.plist — это файл метаданных, который определяет дополнительные правила для XProtect, включая политики принудительного применения и информацию о версиях.
Он указывает, какие версии macOS применяют определённые правила XProtect и какие действия выполняются при обнаружении, а также чёрные списки плагинов.
Вот пример:

<key>JavaWebComponentVersionMinimum</key>
<string>1.6.0_45-b06-451</string>
<key>PlugInBlacklist</key>
<dict>
        <key>10</key>
        <dict>
                <key>com.apple.java.JavaAppletPlugin</key>
                <dict>
                        <key>MinimumPlugInBundleVersion</key>
                        <string>14.8.0</string>
                        <key>PlugInUpdateAvailable</key>
                        <true/>
                </dict>
                <key>com.apple.java.JavaPlugin2_NPAPI</key>
                <dict>
                        <key>MinimumPlugInBundleVersion</key>
                        <string>14.8.0</string>
                        <key>PlugInUpdateAvailable</key>
                        <true/>
                </dict>
                <key>com.macromedia.Flash Player ESR.plugin</key>
                <dict>
                        <key>MinimumPlugInBundleVersion</key>
                        <string>18.0.0.382</string>
                        <key>PlugInUpdateAvailable</key>
                        <true/>
                </dict>
                <key>com.macromedia.Flash Player.plugin</key>
                <dict>
                        <key>MinimumPlugInBundleVersion</key>
                        <string>32.0.0.101</string>
                        <key>PlugInUpdateAvailable</key>
                        <true/>
                </dict>
                <key>com.microsoft.SilverlightPlugin</key>
                <dict>
                        <key>MinimumPlugInBundleVersion</key>
                        <string>5.1.41212.0</string>
                        <key>PlugInUpdateAvailable</key>
                        <true/>
                </dict>
                <key>com.oracle.java.JavaAppletPlugin</key>
                <dict>
                        <key>MinimumPlugInBundleVersion</key>
                        <string>1.8.51.16</string>
                        <key>PlugInUpdateAvailable</key>
                        <true/>
                </dict>
        </dict>
</dict>

Как видите, они содержат информацию о версиях «заблокированных» плагинов, например.

XProtect.yara

В последних версиях XProtect, похоже, начал поддерживать YARA.
Файл /Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Resources/XProtect.yara содержит несколько YARA-правил в текстовом формате. Вот короткий пример:

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