{"id":19075,"date":"2021-11-05T13:30:19","date_gmt":"2021-11-05T16:30:19","guid":{"rendered":"https:\/\/www.ethicalhacker.com.br\/site\/?p=19075"},"modified":"2021-11-05T13:30:21","modified_gmt":"2021-11-05T16:30:21","slug":"a-microsoft-encontra-uma-nova-vulnerabilidade-do-macos-shrootless-que-pode-contornar-a-protecao-de-integridade-do-sistema","status":"publish","type":"post","link":"https:\/\/www.ethicalhacker.com.br\/site\/2021\/11\/basico\/a-microsoft-encontra-uma-nova-vulnerabilidade-do-macos-shrootless-que-pode-contornar-a-protecao-de-integridade-do-sistema\/","title":{"rendered":"A Microsoft encontra uma nova vulnerabilidade do macOS, Shrootless, que pode contornar a prote\u00e7\u00e3o de integridade do sistema"},"content":{"rendered":"\n<p style=\"text-align: justify;\"><span class=\"x-hidden-focus\">A Microsoft descobriu uma vulnerabilidade que pode permitir que um invasor ignore a <\/span>prote\u00e7\u00e3o de integridade do sistema (SIP) no macOS e execute opera\u00e7\u00f5es arbitr\u00e1rias em um dispositivo. Tamb\u00e9m encontramos uma t\u00e9cnica semelhante que pode permitir que um invasor eleve seus privil\u00e9gios para fazer root em um dispositivo afetado.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Compartilhamos essas descobertas com a Apple por meio do Coordinated Vulnerability Disclosure (CVD) por meio do Microsoft Security Vulnerability Research (MSVR). Uma corre\u00e7\u00e3o para esta vulnerabilidade, agora identificada como CVE-2021-30892 , foi inclu\u00edda nas atualiza\u00e7\u00f5es de seguran\u00e7a lan\u00e7adas pela Apple em 26 de outubro de 2021.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">SIP \u00e9 uma tecnologia de seguran\u00e7a no macOS que restringe um usu\u00e1rio root de realizar opera\u00e7\u00f5es que podem comprometer a integridade do sistema. Descobrimos a vulnerabilidade ao avaliar os processos autorizados a contornar as prote\u00e7\u00f5es SIP. Descobrimos que a vulnerabilidade est\u00e1 nos pacotes assinados pela Apple com scripts de p\u00f3s-instala\u00e7\u00e3o que s\u00e3o instalados. Um agente malicioso pode criar um arquivo especialmente criado que sequestra o processo de instala\u00e7\u00e3o. Depois de contornar as restri\u00e7\u00f5es do SIP, o invasor pode instalar um driver de kernel malicioso (rootkit), sobrescrever arquivos de sistema ou instalar malware persistente e indetect\u00e1vel, entre outros.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Esta vulnerabilidade no n\u00edvel do sistema operacional e outras que inevitavelmente ser\u00e3o descobertas aumentam o n\u00famero crescente de vetores de ataque poss\u00edveis para os invasores explorarem. \u00c0 medida que as redes se tornam cada vez mais heterog\u00eaneas, o n\u00famero de amea\u00e7as que tentam comprometer dispositivos n\u00e3o Windows tamb\u00e9m aumenta. O Microsoft Defender for Endpoint no Mac permite que as organiza\u00e7\u00f5es obtenham visibilidade e detectem amea\u00e7as em dispositivos macOS. Essa visibilidade se acumula no Microsoft Defender for Endpoint , que fornece \u00e0s organiza\u00e7\u00f5es um \u201cpainel de vidro \u00fanico\u201d onde podem detectar, gerenciar, responder e corrigir vulnerabilidades e amea\u00e7as em diferentes plataformas.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Nesta postagem do blog, compartilharemos algumas informa\u00e7\u00f5es sobre o SIP, examinaremos os tipos comuns de desvios SIP divulgados anteriormente e apresentaremos os \u00fanicos que descobrimos.<\/p>\n<p>\u00a0<\/p>\n<h2 style=\"text-align: justify;\"><span class=\"x-hidden-focus\"><strong>Vis\u00e3o geral do SIP<\/strong> <\/span><\/h2>\n<p style=\"text-align: justify;\">Apresentado pela primeira vez pela Apple no macOS Yosemite, SIP tamb\u00e9m conhecido como \u201csem raiz\u201d <wbr \/>essencialmente bloqueia o sistema desde a raiz, aproveitando a sandbox da Apple para proteger toda a plataforma. Internamente, \u00e9 controlado pelas seguintes vari\u00e1veis \u200b\u200bNVRAM:<\/p>\n<p>\u00a0<\/p>\n<ul style=\"text-align: justify;\">\n<li><span class=\"inner-wrap\"><strong>csr-active-config: <\/strong>bitmask de prote\u00e7\u00f5es habilitadas <\/span><\/li>\n<li><span class=\"inner-wrap\"><strong>csr-data: <\/strong>armazena a configura\u00e7\u00e3o do netboot <\/span><\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Essas vari\u00e1veis \u200b\u200bn\u00e3o podem ser modificadas legitimamente no modo de n\u00e3o recupera\u00e7\u00e3o. Portanto, a \u00fanica maneira leg\u00edtima de desabilitar o SIP \u00e9 inicializando no modo de recupera\u00e7\u00e3o e desligando o SIP. A desativa\u00e7\u00e3o do SIP \u00e9 feita usando a <em>ativa\u00e7\u00e3o interna da ferramenta\u00a0 csrutil<\/em>, que tamb\u00e9m pode exibir o status do SIP:<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-99912  aligncenter\" src=\"https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig1-scrrenshot-of-csrutil-showing-SIP-status.png\" sizes=\"auto, (max-width: 859px) 100vw, 859px\" srcset=\"https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig1-scrrenshot-of-csrutil-showing-SIP-status.png 859w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig1-scrrenshot-of-csrutil-showing-SIP-status-300x66.png 300w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig1-scrrenshot-of-csrutil-showing-SIP-status-768x169.png 768w\" alt=\"Captura de tela do csrutil mostrando o status do SIP\" width=\"622\" height=\"137\" \/><\/p>\n<p style=\"text-align: justify;\"><em>Figura 1: csrutil mostrando o status do SIP. Observe que o SIP n\u00e3o pode ser desativado no sistema operacional sem recupera\u00e7\u00e3o. <\/em><\/p>\n<p>\u00a0<\/p>\n<p class=\"\" style=\"text-align: justify;\">A <em>csr-active-config <\/em>vari\u00e1vel bitmask NVRAM descreve as diferentes prote\u00e7\u00f5es que o SIP oferece. Embora n\u00e3o seja uma lista exaustiva, abaixo est\u00e3o algumas men\u00e7\u00f5es honrosas; o resto pode ser examinado livremente no do c\u00f3digo-fonte XNU :<\/p>\n<p>\u00a0<\/p>\n<table border=\"1\">\n<tbody>\n<tr>\n<td width=\"312\"><strong>bit csr-active-config NVRAM <\/strong><\/td>\n<td width=\"312\"><strong>Descri\u00e7\u00e3o <\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"312\"><strong>CSR_ALLOW_UNTRUSTED_KEXTS <\/strong><\/td>\n<td width=\"312\">Controla o carregamento de extens\u00f5es de kernel n\u00e3o confi\u00e1veis<\/td>\n<\/tr>\n<tr>\n<td width=\"312\"><strong>CSR_ALLOW_UNRESTRICTED_FS <\/strong><\/td>\n<td width=\"312\">Controla o acesso de grava\u00e7\u00e3o a locais restritos do sistema de arquivos<\/td>\n<\/tr>\n<tr>\n<td width=\"312\"><strong>CSR_ALLOW_TASK_FOR_PID <\/strong><\/td>\n<td width=\"312\">Controla se permite obter uma porta de tarefa para processos Apple (ou seja, invocar a <em>task_for_pid <\/em>API )<\/td>\n<\/tr>\n<tr>\n<td width=\"312\"><strong>CSR_ALLOW_UNRESTRICTED_NVRAM <\/strong><\/td>\n<td width=\"312\">Controla o acesso irrestrito ao NVRAM<\/td>\n<\/tr>\n<tr>\n<td width=\"312\"><strong>CSR_ALLOW_KERNEL_DEBUGGER <\/strong><\/td>\n<td width=\"312\">Controla se permite a depura\u00e7\u00e3o do kernel<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">O comprometimento de qualquer uma dessas prote\u00e7\u00f5es pode permitir que os invasores ignorem o SIP completamente. Alguns cen\u00e1rios incluem o seguinte:<\/p>\n<ul style=\"text-align: justify;\">\n<li><span class=\"inner-wrap\"><span class=\"inner-wrap\">Carregar extens\u00f5es de kernel n\u00e3o confi\u00e1veis \u200b\u200bpode comprometer o kernel e permitir que essas extens\u00f5es executem opera\u00e7\u00f5es sem qualquer verifica\u00e7\u00e3o<\/span><\/span><\/li>\n<\/ul>\n<h3>\u00a0<\/h3>\n<h3 style=\"text-align: justify;\"><span class=\"\"><strong>Restri\u00e7\u00f5es do sistema de arquivos<\/strong> <\/span><\/h3>\n<ul style=\"text-align: justify;\">\n<li><span class=\"inner-wrap\">Ignorar as verifica\u00e7\u00f5es do sistema de arquivos pode permitir que uma extens\u00e3o do kernel imponha o SIP a si mesmo completamente <\/span><\/li>\n<li><span class=\"inner-wrap\">Modificar livremente a NVRAM pode controlar o pr\u00f3prio SIP <\/span><\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<h3 style=\"text-align: justify;\"><span class=\"\"><strong>Restri\u00e7\u00f5es do sistema de arquivos<\/strong> <\/span><\/h3>\n<p style=\"text-align: justify;\">Ao longo dos anos, a Apple fortaleceu o SIP contra ataques, melhorando as restri\u00e7\u00f5es. Uma das restri\u00e7\u00f5es SIP mais not\u00e1veis \u200b\u200b\u00e9 a restri\u00e7\u00e3o do sistema de arquivos. Isso \u00e9 especialmente importante para equipes vermelhas e agentes mal-intencionados, j\u00e1 que a quantidade de danos que algu\u00e9m pode causar aos componentes cr\u00edticos de um dispositivo se baseia diretamente em sua capacidade de gravar dados irrestritos no disco.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">O arquivo <em>\/System\/Library\/Sandbox\/rootless.conf <\/em>geralmente controla quais arquivos s\u00e3o protegidos por SIP. Embora o referido arquivo tamb\u00e9m seja protegido por SIP, pode-se execut\u00e1-lo usando <em>ls <\/em>com o <em>-O <\/em>sinalizador para listar quais arquivos est\u00e3o protegidos de forma semelhante. Os arquivos protegidos por SIP possuem o marcador \u201crestrito\u201d.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-99915  aligncenter\" src=\"https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig2-Listing-usr-with-o-option.png\" sizes=\"auto, (max-width: 936px) 100vw, 936px\" srcset=\"https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig2-Listing-usr-with-o-option.png 936w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig2-Listing-usr-with-o-option-300x102.png 300w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig2-Listing-usr-with-o-option-768x262.png 768w\" alt=\"Captura de tela de \/ usr com a op\u00e7\u00e3o -O\" width=\"600\" height=\"204\" \/><\/p>\n<p style=\"text-align: justify;\"><em>Figura 2: Listagem \/usr com a op\u00e7\u00e3o -O. \/usr\/local n\u00e3o \u00e9 protegido por SIP, mas \/usr\/sbin \u00e9. <\/em><\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Os arquivos com o atributo estendido <em>com.apple.rootless <\/em>s\u00e3o igualmente protegidos por SIP. Obviamente, n\u00e3o h\u00e1 como adicionar esse atributo estendido a um arquivo de maneira leg\u00edtima. Caso contr\u00e1rio, o malware pode usar o SIP para sua pr\u00f3pria prote\u00e7\u00e3o. As restri\u00e7\u00f5es do sistema de arquivos s\u00e3o uma \u00f3tima maneira de restringir invasores. Por exemplo, muitos do <em>\/System <\/em>diret\u00f3rio e seus subdiret\u00f3rios s\u00e3o protegidos por SIP.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-99918  aligncenter\" src=\"https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig3-Screenshot-of-SIP-blocking-LaunchDaemon.png\" sizes=\"auto, (max-width: 1430px) 100vw, 1430px\" srcset=\"https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig3-Screenshot-of-SIP-blocking-LaunchDaemon.png 1430w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig3-Screenshot-of-SIP-blocking-LaunchDaemon-300x20.png 300w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig3-Screenshot-of-SIP-blocking-LaunchDaemon-1024x69.png 1024w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig3-Screenshot-of-SIP-blocking-LaunchDaemon-768x52.png 768w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig3-Screenshot-of-SIP-blocking-LaunchDaemon-1420x96.png 1420w\" alt=\"Captura de tela do SIP bloqueando um registro malicioso do LaunchDaemon\" width=\"600\" height=\"40\" \/><\/p>\n<p style=\"text-align: justify;\"><em>Figura 3: SIP bloqueando um registro malicioso do LaunchDaemon que \u00e9 freq\u00fcentemente usado para persist\u00eancia. <\/em><\/p>\n<h3>\u00a0<\/h3>\n<h3 style=\"text-align: justify;\"><strong>Direitos sem raiz<\/strong><\/h3>\n<p style=\"text-align: justify;\">Como as restri\u00e7\u00f5es do sistema de arquivos s\u00e3o t\u00e3o poderosas, a Apple deve considerar alguns casos excepcionais. Por exemplo, as atualiza\u00e7\u00f5es do sistema requerem acesso irrestrito a diret\u00f3rios protegidos por SIP. Portanto, a Apple introduziu um conjunto espec\u00edfico de direitos que ignoram as verifica\u00e7\u00f5es SIP por design. Esses direitos s\u00e3o ajustados para verifica\u00e7\u00f5es SIP espec\u00edficas e apenas a Apple pode atribu\u00ed-los. Ent\u00e3o, naturalmente, a Apple apenas atribui esses direitos aos seus processos.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Em nossa pesquisa, nos concentramos em dois direitos poderosos, que tamb\u00e9m foram alvos de ca\u00e7adores de vulnerabilidade:<\/p>\n<p style=\"text-align: justify;\">\u00a0<\/p>\n<table style=\"width: 100%; height: 72px;\" border=\"1\">\n<tbody>\n<tr style=\"height: 24px;\">\n<td style=\"height: 24px; width: 42.2619%;\" width=\"258\"><strong>Direito <\/strong><\/td>\n<td style=\"height: 24px; width: 56.7857%;\" width=\"366\"><strong>Descri\u00e7\u00e3o <\/strong><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"height: 24px; width: 42.2619%;\" width=\"258\"><strong>com.apple.rootless.install <\/strong><\/td>\n<td style=\"height: 24px; width: 56.7857%;\" width=\"366\">Ignora completamente as verifica\u00e7\u00f5es do sistema de arquivos SIP<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"height: 24px; width: 42.2619%;\" width=\"258\"><strong>com.apple.rootless.install.inheritable <\/strong><\/td>\n<td style=\"height: 24px; width: 56.7857%;\" width=\"366\">Herda <em>com.apple.rootless.install <\/em>para processos filho<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-99921  aligncenter\" src=\"https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig4-Screenshot-of-entitled-process.png\" sizes=\"auto, (max-width: 1430px) 100vw, 1430px\" srcset=\"https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig4-Screenshot-of-entitled-process.png 1430w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig4-Screenshot-of-entitled-process-300x55.png 300w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig4-Screenshot-of-entitled-process-1024x188.png 1024w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig4-Screenshot-of-entitled-process-768x141.png 768w\" alt=\"Captura de tela do processo intitulado &quot;com.apple.rootless.install&quot;\" width=\"600\" height=\"110\" \/><\/p>\n<p style=\"text-align: justify;\"><em>Figura 4: Um exemplo de processo intitulado \u201ccom.apple.rootless.install\u201d <\/em><\/p>\n<p>\u00a0<\/p>\n<h2 style=\"text-align: justify;\"><strong>Um r\u00e1pido resumo de not\u00e1veis \u200b\u200bdesvios SIP<\/strong><\/h2>\n<p style=\"text-align: justify;\">Antes de nossa descoberta, havia v\u00e1rias vulnerabilidades de desvio SIP interessantes j\u00e1 relatadas no passado. Nesta se\u00e7\u00e3o, categorizamos essas vulnerabilidades em v\u00e1rias classes e fornecemos um exemplo para cada uma. Observe que esta n\u00e3o \u00e9 uma lista completa; por exemplo, exclu\u00edmos vulnerabilidades envolvendo o pr\u00f3prio kernel porque o SIP protege apenas a \u00e1rea do usu\u00e1rio.<\/p>\n<p>\u00a0<\/p>\n<h3 style=\"text-align: justify;\"><strong>Abuso de bibliotecas din\u00e2micas<\/strong><\/h3>\n<p style=\"text-align: justify;\">Anteriormente, os processos autorizados ainda podiam carregar bibliotecas din\u00e2micas arbitr\u00e1rias. Um exemplo foi apresentado em 2016 , onde <em>libBaseIA.dylib <\/em>, que \u00e9 local para o aplicativo, foi usado por um bin\u00e1rio autorizado e pode estar infectado com c\u00f3digo malicioso. Nesse ponto, o desvio SIP pode ser completamente implementado no dylib malicioso.<\/p>\n<p>\u00a0<\/p>\n<h3 style=\"text-align: justify;\"><strong>Montagem<\/strong><\/h3>\n<p style=\"text-align: justify;\">Em uma atualiza\u00e7\u00e3o de seguran\u00e7a para OSX 10.11.2, a Apple corrigiu um bug de seguran\u00e7a que tamb\u00e9m foi abusado pelo malware MacDefender. A referida vulnerabilidade pode permitir que um arquivo .dmg malicioso seja montado (usando hdiutil) em uma pasta protegida por SIP, ignorando completamente as restri\u00e7\u00f5es do sistema de arquivos SIP.<\/p>\n<p>\u00a0<\/p>\n<h3 style=\"text-align: justify;\"><strong>Abuso de direitos<\/strong><\/h3>\n<p style=\"text-align: justify;\">Os processos autorizados tamb\u00e9m t\u00eam sido fontes de contornos de seguran\u00e7a. Um exemplo not\u00e1vel \u00e9 um bypass que usou o intitulado <em>fsck_cs <\/em>utilit\u00e1rio . O bypass explorou o fato de que <em>fsck_cs <\/em>seguiria links simb\u00f3licos e tentaria consertar o sistema de arquivos apresentado a ele.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Portanto, um invasor pode criar um apontar uma liga\u00e7\u00e3o simb\u00f3lica de <em>\/dev\/diskX <\/em>para <em>\/System\/Library\/Extensions\/AppleKextExcludeList.kext\/Contents\/Info.plist <\/em>e invocar fsck_cs sobre o primeiro. \u00c0 medida que o <em>Info.plist <\/em>arquivo \u00e9 corrompido, o sistema operacional n\u00e3o pode mais controlar as exclus\u00f5es de extens\u00e3o do kernel, ignorando o SIP.<\/p>\n<p>\u00a0<\/p>\n<h2 style=\"text-align: justify;\"><strong>A vulnerabilidade &#8216;Shrootless&#8217;<\/strong><\/h2>\n<p style=\"text-align: justify;\">Ao avaliar os processos do macOS com direito a ignorar as prote\u00e7\u00f5es SIP, encontramos o daemon <em>system_installd <\/em>, que tem o poderoso <em>com.apple.rootless.install.inheritable como autoriza\u00e7\u00e3o<\/em>. Com esta autoriza\u00e7\u00e3o, qualquer processo filho de <em>system_installd <\/em>seria capaz de ignorar as restri\u00e7\u00f5es do sistema de arquivos SIP por completo.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-99924  aligncenter\" src=\"https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig5-screenshot-of-system-installed-components.png\" sizes=\"auto, (max-width: 1430px) 100vw, 1430px\" srcset=\"https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig5-screenshot-of-system-installed-components.png 1430w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig5-screenshot-of-system-installed-components-300x149.png 300w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig5-screenshot-of-system-installed-components-1024x508.png 1024w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig5-screenshot-of-system-installed-components-768x381.png 768w\" alt=\"Captura de tela de direitos system_installd\" width=\"624\" height=\"309\" \/><\/p>\n<p style=\"text-align: justify;\"><em>Figura 5: direitos system_installd. Observe o \u201ccom.apple.rootless.install.inheritable\u201d <\/em><\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Como o Microsoft Defender for Endpoint tem um componente p\u00f3s-viola\u00e7\u00e3o, decidimos examinar todos os processos filho de <em>system_installd <\/em>. Para nossa surpresa, vimos alguns casos que poderiam permitir que invasores abusassem de sua funcionalidade e contornassem o SIP.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Por exemplo, ao instalar um pacote assinado pela Apple (arquivo .pkg), o referido pacote invoca o <em>system_installd <\/em>, que ent\u00e3o se encarrega de instalar o anterior. Se o pacote contiver scripts de p\u00f3s-instala\u00e7\u00e3o, <em>system_installd os <\/em>executar\u00e1 invocando um shell padr\u00e3o, que \u00e9 <em>zsh <\/em>no macOS. Curiosamente, quando o <em>zsh \u00e9 <\/em>iniciado, ele procura o arquivo <em>\/etc\/ zshenv <\/em>e <wbr \/>se encontrado <wbr \/>executa comandos desse arquivo automaticamente, mesmo no modo n\u00e3o interativo.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Portanto, para que os invasores executem opera\u00e7\u00f5es arbitr\u00e1rias no dispositivo, um caminho totalmente confi\u00e1vel que eles poderiam seguir seria criar um arquivo malicioso em \u00a0 <em>\/etc\/zshenv\u00a0<\/em> e esperar que o <em>system_installd <\/em>invoque o <em>zsh <\/em>.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Para criar um exploit de prova de conceito (POC) totalmente funcional, implementamos o seguinte algoritmo:<\/p>\n<p>\u00a0<\/p>\n<ol style=\"text-align: justify;\">\n<li><span class=\"inner-wrap\">Baixe um pacote assinado pela Apple (usando <em>wget <\/em>) que \u00e9 conhecido por ter um script de p\u00f3s-instala\u00e7\u00e3;<\/span><\/li>\n<li><span class=\"inner-wrap\">Instale um <em>\/etc\/zshenv malicioso <\/em>que verifique seu processo pai; se for um <em>system_installd, ent\u00e3o ele gravaria\u00a0<\/em> em locais restritos; <\/span><\/li>\n<li><span class=\"inner-wrap\">Invocar o <em>instalador <\/em>utilit\u00e1rio para instalar o pacot.<\/span><\/li>\n<\/ol>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Conforme visto na Figura 6 abaixo, o exploit POC foi capaz de substituir a lista de exclus\u00e3o de extens\u00e3o do kernel:<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-99927  aligncenter\" src=\"https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig6-POC-exploit.png\" sizes=\"auto, (max-width: 1430px) 100vw, 1430px\" srcset=\"https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig6-POC-exploit.png 1430w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig6-POC-exploit-300x164.png 300w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig6-POC-exploit-1024x560.png 1024w, https:\/\/www.microsoft.com\/security\/blog\/uploads\/securityprod\/2021\/10\/Fig6-POC-exploit-768x420.png 768w\" alt=\"Captura de tela do exploit de prova de conceito para CVE-2021-30892\" width=\"625\" height=\"342\" \/><\/p>\n<p style=\"text-align: justify;\"><em>Figura 6: Nosso exploit POC substituindo a lista de exclus\u00e3o de extens\u00e3o do kernel com dados arbitr\u00e1rios <\/em><\/p>\n<p>\u00a0<\/p>\n<h3 style=\"text-align: justify;\"><strong><em>zshenv <\/em>como t\u00e9cnica de ataque<\/strong><\/h3>\n<p style=\"text-align: justify;\">Durante nossa pesquisa, tamb\u00e9m descobrimos que <em>zshenv <\/em>tamb\u00e9m pode ser usado como uma t\u00e9cnica de ataque geral, al\u00e9m de ser usado para um desvio SIP. Descobrimos que em <em>\/etc\/zshenv <\/em>tem um equivalente para cada perfil de usu\u00e1rio em <em>~ \/ .zshenv <\/em>, que tem a mesma fun\u00e7\u00e3o e comportamento, mas n\u00e3o requer permiss\u00f5es de root para gravar.<\/p>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Geralmente, <em>zshenv <\/em>pode ser usado da seguinte forma:<\/p>\n<ul style=\"text-align: justify;\">\n<li><span class=\"inner-wrap\"><strong>Um mecanismo de persist\u00eancia. <\/strong>Ele poderia simplesmente esperar o <em>zsh <\/em>iniciar (globalmente em <em>\/etc <\/em>ou por usu\u00e1rio). <\/span><\/li>\n<li><span class=\"inner-wrap\"><strong>Um mecanismo de eleva\u00e7\u00e3o de privil\u00e9gio. <\/strong>O diret\u00f3rio inicial n\u00e3o muda quando um usu\u00e1rio administrador passa a root usando <em>sudo -s <\/em>ou <em>sudo &lt;comando&gt; <\/em>. Portanto, colocar um <em>~\/ .zshenv no <\/em>arquivo como administrador e aguardar que o administrador use o <em>sudo <\/em>posteriormente acionaria o <em>~\/ .zshenv no <\/em>arquivo , elevando-o \u00e0 raiz. <\/span><\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Compartilhamos nossas descobertas com a Apple por meio do Coordinated Vulnerability Disclosure (CVD) por meio do Microsoft Security Vulnerability Research (MSVR). Queremos agradecer \u00e0 equipe de seguran\u00e7a do produto da Apple por seu profissionalismo e capacidade de resposta na corre\u00e7\u00e3o do problema.<\/p>\n<p>\u00a0<\/p>\n<h2><span class=\"\"><strong>Fortalecimento da seguran\u00e7a do dispositivo por meio de gerenciamento de vulnerabilidade e monitoramento comportamental<\/strong> <\/span><\/h2>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">A tecnologia de seguran\u00e7a, como SIP em dispositivos macOS, atua como a prote\u00e7\u00e3o de linha de base integrada do dispositivo e a \u00faltima linha de defesa contra malware e outras amea\u00e7as de seguran\u00e7a cibern\u00e9tica. Infelizmente, os agentes mal-intencionados continuam a encontrar maneiras inovadoras de romper essas barreiras pelos mesmos motivos. Eles podem assumir o controle total do dispositivo e executar quaisquer arquivos ou processos que desejam sem serem detectados pelas solu\u00e7\u00f5es de seguran\u00e7a tradicionais.<\/p>\n<p style=\"text-align: justify;\">\u00a0<\/p>\n<p style=\"text-align: justify;\">Nossa pesquisa sobre a vulnerabilidade CVE-2021-30892 exemplifica isso. Ele destaca a necessidade de as organiza\u00e7\u00f5es terem uma solu\u00e7\u00e3o de seguran\u00e7a como o Microsoft Defender for Endpoint, que as capacite a descobrir e corrigir vulnerabilidades por meio do gerenciamento de amea\u00e7as e vulnerabilidades . Isso permite que os defensores detectem vulnerabilidades e configura\u00e7\u00f5es incorretas em dispositivos em tempo real e priorizem o que precisa ser resolvido imediatamente com base no cen\u00e1rio de amea\u00e7as, contexto de neg\u00f3cios e outros fatores.<\/p>\n<p style=\"text-align: justify;\">\u00a0<\/p>\n<p style=\"text-align: justify;\">Al\u00e9m disso, o Microsoft Defender for Endpoint usa an\u00e1lise comportamental avan\u00e7ada e aprendizado de m\u00e1quina para detectar atividades an\u00f4malas em um dispositivo, como sobrescrever arquivos arbitr\u00e1rios protegidos por SIP que nosso exploit POC \u00e9 capaz. No exemplo fornecido na se\u00e7\u00e3o anterior, \u00e9 an\u00f4malo para <em>zsh <\/em>substituir a lista de exclus\u00e3o de extens\u00e3o do kernel. Como tal, o Defender for Endpoint o detecta. Estendendo o conceito, o Defender for Endpoint tem detec\u00e7\u00f5es semelhantes para acesso a arquivos confidenciais, incluindo daemons de inicializa\u00e7\u00e3o do sistema, o <em>rootless.conf <\/em>arquivo e muitos mais.<\/p>\n<p style=\"text-align: justify;\">\u00a0<\/p>\n<p style=\"text-align: justify;\"><span class=\"\">Finalmente, esta pesquisa destaca a import\u00e2ncia da colabora\u00e7\u00e3o entre pesquisadores de seguran\u00e7a, fornecedores de software e a comunidade de seguran\u00e7a em geral. \u00c0 medida que as amea\u00e7as de plataforma cruzada continuam a aumentar, as descobertas de vulnerabilidade, resposta coordenada e outras formas de compartilhamento de intelig\u00eancia de amea\u00e7as ajudam a enriquecer nossas tecnologias de prote\u00e7\u00e3o que protegem a experi\u00eancia de computa\u00e7\u00e3o dos usu\u00e1rios, independentemente da plataforma ou dispositivo que estejam usando. <\/span><\/p>\n<p>\u00a0<\/p>\n<p><a href=\"https:\/\/www.microsoft.com\/microsoft-365\/security\/endpoint-defender\">\u00a0<\/a><\/p>\n<p>Este artigo \u00e9 uma tradu\u00e7\u00e3o de: <a href=\"https:\/\/www.microsoft.com\/security\/blog\/2021\/10\/28\/microsoft-finds-new-macos-vulnerability-shrootless-that-could-bypass-system-integrity-protection\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.microsoft.com\/security\/blog\/2021\/10\/28\/microsoft-finds-new-macos-vulnerability-shrootless-that-could-bypass-system-integrity-protection\/\u00a0<\/a> (Autor: <span class=\"\">Jonathan Bar <\/span><em><span class=\"\">)<\/span><\/em><\/p>\n<h3>\u00a0<\/h3>\n<p>\u00a0<\/p>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>A Microsoft descobriu uma vulnerabilidade que pode permitir que um invasor ignore a prote\u00e7\u00e3o de integridade do sistema (SIP) no macOS e execute opera\u00e7\u00f5es arbitr\u00e1rias em um dispositivo. Tamb\u00e9m encontramos uma t\u00e9cnica semelhante que pode permitir que um invasor eleve seus privil\u00e9gios para fazer root em um dispositivo afetado. \u00a0 Compartilhamos essas descobertas com a [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":19093,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[89,100,105,99],"tags":[],"class_list":["post-19075","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-basico","category-diversos","category-noticias","category-novidades"],"_links":{"self":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts\/19075","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/comments?post=19075"}],"version-history":[{"count":23,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts\/19075\/revisions"}],"predecessor-version":[{"id":19101,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts\/19075\/revisions\/19101"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/media\/19093"}],"wp:attachment":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/media?parent=19075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/categories?post=19075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/tags?post=19075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}