Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
macos_xprotect — Mergulho educacional aprofundado na proteção integrada contra malware da Apple: bancos de dados de assinaturas, regras YARA, integração com o Gatekeeper, binários de remediação e fluxo de detecção do macOS. | Kitploit
Ferramentas/GitHubGitHub/yo-yo-yo-jbo/macos_xprotect
Ferramentas DefensivasAnálise de MalwareAnálise de BináriosAprendizado e Educação
GitHubyo-yo-yo-jbo/macos_xprotect

macos_xprotect

Mergulho educacional aprofundado na proteção integrada contra malware da Apple: bancos de dados de assinaturas, regras YARA, integração com o Gatekeeper, binários de remediação e fluxo de detecção do macOS.

Ver Repositório
3111há 2 mesesAinda não revisado

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

Introdução ao macOS - XProtect

Dando continuidade à minha série de posts sobre introdução ao macOS, decidi dedicar um pequeno post ao XProtect.

O que é o XProtect?

O XProtect é o sistema antivírus e de assinaturas de malware integrado da Apple para macOS.
Ele opera como parte do XProtectService, que verifica aplicações e outros conteúdos executáveis em busca de assinaturas de malware conhecidas.
O XProtect funciona em segundo plano e é atualizado silenciosamente pela Apple por meio do mecanismo XProtectRemediator (mais sobre isso adiante).
Ele tem 3 funções principais:

  • Detecção baseada em assinaturas – Ele verifica arquivos contra um banco de dados de assinaturas de malware conhecidas.
  • Detecção comportamental (XProtect Remediator) – Introduzido no macOS Monterey, isso permite que o XProtect verifique proativamente e remova malware com base em comportamentos suspeitos, em vez de apenas assinaturas estáticas.
  • Bloqueio em tempo real – O XProtect impede a execução de software malicioso conhecido antes que ele possa ser executado.

XProtect tradicional

O diretório /Library/Apple/System/Library/CoreServices/XProtect.bundle é o bundle principal que contém a configuração do XProtect e as definições de assinaturas.
Este é um diretório de sistema somente leitura e é atualizado silenciosamente pela Apple por meio de atualizações do XProtect.
Dentro dele, podemos encontrar alguns arquivos de interesse, todos atualizados periodicamente pela Apple e protegidos pela Proteção de Integridade do Sistema (SIP).

XProtect.plist

O arquivo /Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Resources/XProtect.plist armazena assinaturas de malware usadas pelo XProtect para detectar ameaças conhecidas.
Ele contém entradas que mapeiam famílias de malware para regras de detecção específicas, incluindo hashes e padrões de nomes de arquivo.
Aqui está um exemplo de uma família 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>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>

Isso é bastante legível para humanos; a única parte digna de nota é que o argumento string em cada correspondência está em representação hexadecimal, por exemplo, 002D00730061006C00740020002D00410020002D00610020002D00640020007C002000620061007300680020002D0073 corresponde a -salt -A -a -d | bash -s.
Isso é, obviamente, uma mina de ouro para autores de malware, que sabem exatamente quais padrões evitar.

XProtect.meta.plist

O arquivo /Library/Apple/System/Library/CoreServices/XProtect.bundle/XProtect.meta.plist é um arquivo de metadados que define regras adicionais para o XProtect, incluindo políticas de aplicação e informações de versionamento.
Ele especifica quais versões do macOS aplicam determinadas regras do XProtect e as ações tomadas após a detecção, bem como listas negras para plugins.
Aqui está um exemplo:

<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 você pode ver, eles contêm informações de versão para plugins na "lista negra", por exemplo.

XProtect.yara

Em versões recentes, o XProtect parece ter começado a suportar YARA.
O arquivo /Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Resources/XProtect.yara contém várias regras YARA em formato de texto; aqui está um pequeno exemplo dele:

Baixar ferramenta