6 KiB
Inscripción de Dispositivos en Otras Organizaciones
Aprende hacking en AWS desde cero hasta experto con htARTE (Experto Red Team de HackTricks en AWS)!
Otras formas de apoyar a HackTricks:
- Si deseas ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén la merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de HackTricks y HackTricks Cloud.
Introducción
Como se mencionó anteriormente, para intentar inscribir un dispositivo en una organización solo se necesita un Número de Serie perteneciente a esa Organización. Una vez que el dispositivo está inscrito, varias organizaciones instalarán datos sensibles en el nuevo dispositivo: certificados, aplicaciones, contraseñas de WiFi, configuraciones de VPN y más.
Por lo tanto, este podría ser un punto de entrada peligroso para los atacantes si el proceso de inscripción no está protegido correctamente.
Lo siguiente es un resumen de la investigación https://duo.com/labs/research/mdm-me-maybe. ¡Consultar para más detalles técnicos!
Resumen del Análisis Binario de DEP y MDM
Esta investigación profundiza en los binarios asociados con el Programa de Inscripción de Dispositivos (DEP) y la Gestión de Dispositivos Móviles (MDM) en macOS. Los componentes clave incluyen:
mdmclient
: Comunica con servidores MDM y activa comprobaciones DEP en versiones de macOS anteriores a 10.13.4.profiles
: Gestiona Perfiles de Configuración y activa comprobaciones DEP en versiones de macOS 10.13.4 y posteriores.cloudconfigurationd
: Gestiona comunicaciones de API DEP y recupera perfiles de Inscripción de Dispositivos.
Las comprobaciones DEP utilizan las funciones CPFetchActivationRecord
y CPGetActivationRecord
del framework privado Configuration Profiles para recuperar el Registro de Activación, con CPFetchActivationRecord
coordinando con cloudconfigurationd
a través de XPC.
Ingeniería Inversa del Protocolo Tesla y del Esquema Absinthe
La comprobación DEP implica que cloudconfigurationd
envíe una carga JSON encriptada y firmada a iprofiles.apple.com/macProfile. La carga incluye el número de serie del dispositivo y la acción "RequestProfileConfiguration". El esquema de encriptación utilizado se conoce internamente como "Absinthe". Descifrar este esquema es complejo e implica numerosos pasos, lo que llevó a explorar métodos alternativos para insertar números de serie arbitrarios en la solicitud de Registro de Activación.
Intercepción de Solicitudes DEP
Los intentos de interceptar y modificar solicitudes DEP a iprofiles.apple.com utilizando herramientas como Charles Proxy se vieron obstaculizados por la encriptación de la carga y las medidas de seguridad SSL/TLS. Sin embargo, habilitar la configuración MCCloudConfigAcceptAnyHTTPSCertificate
permite eludir la validación del certificado del servidor, aunque la naturaleza encriptada de la carga aún impide la modificación del número de serie sin la clave de descifrado.
Instrumentación de Binarios del Sistema que Interactúan con DEP
Instrumentar binarios del sistema como cloudconfigurationd
requiere deshabilitar la Protección de Integridad del Sistema (SIP) en macOS. Con SIP deshabilitado, se pueden usar herramientas como LLDB para adjuntarse a procesos del sistema y potencialmente modificar el número de serie utilizado en las interacciones de API DEP. Este método es preferible ya que evita las complejidades de los permisos y la firma de código.
Explotando la Instrumentación Binaria:
Modificar la carga de solicitud DEP antes de la serialización JSON en cloudconfigurationd
resultó efectivo. El proceso implicó:
- Adjuntar LLDB a
cloudconfigurationd
. - Localizar el punto donde se obtiene el número de serie del sistema.
- Inyectar un número de serie arbitrario en la memoria antes de que la carga se encripte y envíe.
Este método permitió recuperar perfiles DEP completos para números de serie arbitrarios, demostrando una vulnerabilidad potencial.
Automatización de la Instrumentación con Python
El proceso de explotación se automatizó utilizando Python con la API de LLDB, lo que permitió inyectar programáticamente números de serie arbitrarios y recuperar perfiles DEP correspondientes.
Impactos Potenciales de las Vulnerabilidades de DEP y MDM
La investigación destacó preocupaciones de seguridad significativas:
- Divulgación de Información: Al proporcionar un número de serie registrado en DEP, se puede recuperar información organizativa sensible contenida en el perfil DEP.
- Inscripción de DEP Malintencionada: Sin una autenticación adecuada, un atacante con un número de serie registrado en DEP puede inscribir un dispositivo malintencionado en el servidor MDM de una organización, potencialmente obteniendo acceso a datos sensibles y recursos de red.
En conclusión, aunque DEP y MDM proporcionan herramientas poderosas para gestionar dispositivos Apple en entornos empresariales, también presentan posibles vectores de ataque que deben ser asegurados y monitoreados.