5.9 KiB
Inscrição de Dispositivos em Outras Organizações
Aprenda hacking AWS do zero ao herói com htARTE (Especialista em Equipe Vermelha AWS do HackTricks)!
Outras maneiras de apoiar o HackTricks:
- Se você deseja ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF Confira os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção de NFTs exclusivos
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para os repositórios do HackTricks e HackTricks Cloud.
Introdução
Como comentado anteriormente, para tentar inscrever um dispositivo em uma organização, apenas um Número de Série pertencente a essa Organização é necessário. Uma vez que o dispositivo é inscrito, várias organizações instalarão dados sensíveis no novo dispositivo: certificados, aplicativos, senhas de WiFi, configurações de VPN e assim por diante.
Portanto, este poderia ser um ponto de entrada perigoso para atacantes se o processo de inscrição não estiver corretamente protegido.
O seguinte é um resumo da pesquisa https://duo.com/labs/research/mdm-me-maybe. Consulte para mais detalhes técnicos!
Visão Geral da Análise Binária DEP e MDM
Esta pesquisa explora as binárias associadas ao Programa de Inscrição de Dispositivos (DEP) e ao Gerenciamento de Dispositivos Móveis (MDM) no macOS. Os componentes-chave incluem:
mdmclient
: Comunica-se com servidores MDM e aciona verificações DEP em versões do macOS anteriores a 10.13.4.profiles
: Gerencia Perfis de Configuração e aciona verificações DEP em versões do macOS 10.13.4 e posteriores.cloudconfigurationd
: Gerencia comunicações de API DEP e recupera perfis de Inscrição de Dispositivos.
As verificações DEP utilizam as funções CPFetchActivationRecord
e CPGetActivationRecord
do framework privado de Perfis de Configuração para buscar o Registro de Ativação, com CPFetchActivationRecord
coordenando com cloudconfigurationd
através de XPC.
Engenharia Reversa do Protocolo Tesla e do Esquema Absinthe
A verificação DEP envolve o cloudconfigurationd
enviando um payload JSON criptografado e assinado para iprofiles.apple.com/macProfile. O payload inclui o número de série do dispositivo e a ação "RequestProfileConfiguration". O esquema de criptografia usado é referido internamente como "Absinthe". Desvendar este esquema é complexo e envolve numerosas etapas, o que levou à exploração de métodos alternativos para inserir números de série arbitrários na solicitação de Registro de Ativação.
Interceptação de Solicitações DEP
Tentativas de interceptar e modificar solicitações DEP para iprofiles.apple.com usando ferramentas como Charles Proxy foram dificultadas pela criptografia do payload e medidas de segurança SSL/TLS. No entanto, habilitar a configuração MCCloudConfigAcceptAnyHTTPSCertificate
permite ignorar a validação do certificado do servidor, embora a natureza criptografada do payload ainda impeça a modificação do número de série sem a chave de descriptografia.
Instrumentando Binários do Sistema que Interagem com DEP
Instrumentar binários do sistema como cloudconfigurationd
requer desabilitar a Proteção de Integridade do Sistema (SIP) no macOS. Com o SIP desabilitado, ferramentas como LLDB podem ser usadas para se conectar a processos do sistema e potencialmente modificar o número de série usado nas interações da API DEP. Este método é preferível, pois evita as complexidades de autorizações e assinatura de código.
Explorando a Instrumentação Binária:
Modificar o payload da solicitação DEP antes da serialização JSON em cloudconfigurationd
provou ser eficaz. O processo envolveu:
- Conectar o LLDB ao
cloudconfigurationd
. - Localizar o ponto onde o número de série do sistema é buscado.
- Injetar um número de série arbitrário na memória antes que o payload seja criptografado e enviado.
Este método permitiu recuperar perfis DEP completos para números de série arbitrários, demonstrando uma vulnerabilidade potencial.
Automatizando a Instrumentação com Python
O processo de exploração foi automatizado usando Python com a API do LLDB, tornando possível injetar programaticamente números de série arbitrários e recuperar perfis DEP correspondentes.
Impactos Potenciais de Vulnerabilidades DEP e MDM
A pesquisa destacou preocupações significativas de segurança:
- Divulgação de Informações: Ao fornecer um número de série registrado no DEP, informações organizacionais sensíveis contidas no perfil DEP podem ser recuperadas.
- Inscrição DEP Ilegítima: Sem autenticação adequada, um atacante com um número de série registrado no DEP pode inscrever um dispositivo ilegítimo em um servidor MDM de uma organização, potencialmente obtendo acesso a dados sensíveis e recursos de rede.
Em conclusão, enquanto o DEP e o MDM fornecem ferramentas poderosas para gerenciar dispositivos Apple em ambientes corporativos, eles também apresentam vetores de ataque potenciais que precisam ser protegidos e monitorados.