Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
macos_xprotect — Análisis educativo en profundidad de la protección antimalware integrada de Apple: bases de datos de firmas, reglas YARA, integración con Gatekeeper, binarios de remediación y flujo de detección de macOS. | Kitploit
Herramientas/GitHubGitHub/yo-yo-yo-jbo/macos_xprotect
Herramientas DefensivasAnálisis de MalwareAnálisis de BinariosAprendizaje y Educación
GitHubyo-yo-yo-jbo/macos_xprotect

macos_xprotect

Análisis educativo en profundidad de la protección antimalware integrada de Apple: bases de datos de firmas, reglas YARA, integración con Gatekeeper, binarios de remediación y flujo de detección de macOS.

Ver Repositorio
3111hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Introducción a macOS - XProtect

Continuando con mi serie de entradas de blog sobre introducción a macOS, he decidido dedicar una breve entrada a XProtect.

¿Qué es XProtect?

XProtect es el antivirus y sistema de firmas de malware integrado de Apple para macOS.
Funciona como parte de XProtectService, que analiza aplicaciones y otro contenido ejecutable en busca de firmas de malware conocidas.
XProtect trabaja en segundo plano y Apple lo actualiza silenciosamente mediante el mecanismo XProtectRemediator (más sobre esto más adelante).
Tiene 3 funciones principales:

  • Detección basada en firmas: analiza archivos contra una base de datos de firmas de malware conocidas.
  • Detección de comportamiento (XProtect Remediator): introducido en macOS Monterey, permite a XProtect buscar y eliminar malware de forma proactiva basándose en comportamientos sospechosos en lugar de solo firmas estáticas.
  • Bloqueo en tiempo real: XProtect impide la ejecución de software malicioso conocido antes de que pueda ejecutarse.

XProtect tradicional

El directorio /Library/Apple/System/Library/CoreServices/XProtect.bundle es el paquete principal que contiene la configuración de XProtect y las definiciones de firmas.
Es un directorio de solo lectura del sistema y Apple lo actualiza silenciosamente mediante las actualizaciones de XProtect.
Dentro de él, podemos encontrar algunos archivos de interés, todos actualizados periódicamente por Apple y protegidos por Protección de Integridad del Sistema (SIP).

XProtect.plist

El archivo /Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Resources/XProtect.plist almacena las firmas de malware que XProtect utiliza para detectar amenazas conocidas.
Contiene entradas que asignan familias de malware a reglas de detección específicas, incluidos hashes y patrones de nombres de archivo.
Aquí hay un ejemplo de una familia de malware: 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>46617364654153</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>

Esto es bastante legible para humanos; lo único digno de mención es que el argumento string en cada coincidencia está en representación hexadecimal, p. ej., 002D00730061006C00740020002D00410020002D00610020002D00640020007C002000620061007300680020002D0073 corresponde a -salt -A -a -d | bash -s.
Esto es, por supuesto, una mina de oro para los autores de malware, que saben exactamente qué patrones evitar.

XProtect.meta.plist

El archivo /Library/Apple/System/Library/CoreServices/XProtect.bundle/XProtect.meta.plist es un archivo de metadatos que define reglas adicionales para XProtect, incluidas políticas de aplicación y información de versiones.
Especifica qué versiones de macOS aplican ciertas reglas de XProtect y las acciones tomadas tras la detección, así como listas negras para plugins.
Aquí hay un ejemplo:

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

Como puedes ver, estos contienen información de versión para plugins "en lista negra", por ejemplo.

XProtect.yara

En versiones recientes, XProtect parece haber comenzado a soportar YARA.
El archivo /Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Resources/XProtect.yara contiene varias reglas YARA en formato de texto; aquí hay un breve ejemplo:

Descargar herramienta