Enrolling Devices in Other Organisations

Support HackTricks

Intro

Як раніше зазначалося, для того, щоб спробувати зареєструвати пристрій в організації потрібен лише серійний номер, що належить цій організації. Після реєстрації пристрою кілька організацій встановлять чутливі дані на новий пристрій: сертифікати, програми, паролі WiFi, конфігурації VPN і так далі. Отже, це може бути небезпечна точка входу для зловмисників, якщо процес реєстрації не захищений належним чином.

Наступне є підсумком дослідження https://duo.com/labs/research/mdm-me-maybe. Перевірте його для отримання додаткових технічних деталей!

Overview of DEP and MDM Binary Analysis

Це дослідження заглиблюється в двійкові файли, пов'язані з Програмою реєстрації пристроїв (DEP) та Управлінням мобільними пристроями (MDM) на macOS. Ключові компоненти включають:

  • mdmclient: Спілкується з MDM-серверами та ініціює перевірки DEP на версіях macOS до 10.13.4.

  • profiles: Керує конфігураційними профілями та ініціює перевірки DEP на версіях macOS 10.13.4 і пізніше.

  • cloudconfigurationd: Керує комунікаціями API DEP та отримує профілі реєстрації пристроїв.

Перевірки DEP використовують функції CPFetchActivationRecord та CPGetActivationRecord з приватної структури конфігураційних профілів для отримання активаційного запису, при цьому CPFetchActivationRecord координується з cloudconfigurationd через XPC.

Tesla Protocol and Absinthe Scheme Reverse Engineering

Перевірка DEP передбачає, що cloudconfigurationd надсилає зашифроване, підписане JSON-повідомлення на iprofiles.apple.com/macProfile. Повідомлення містить серійний номер пристрою та дію "RequestProfileConfiguration". Схема шифрування, що використовується, внутрішньо називається "Absinthe". Розгадування цієї схеми є складним і включає численні етапи, що призвело до вивчення альтернативних методів вставки довільних серійних номерів у запит активаційного запису.

Proxying DEP Requests

Спроби перехопити та змінити запити DEP до iprofiles.apple.com за допомогою таких інструментів, як Charles Proxy, були ускладнені шифруванням повідомлень та заходами безпеки SSL/TLS. Однак увімкнення конфігурації MCCloudConfigAcceptAnyHTTPSCertificate дозволяє обійти перевірку сертифіката сервера, хоча зашифрований характер повідомлення все ще заважає зміні серійного номера без ключа розшифрування.

Instrumenting System Binaries Interacting with DEP

Інструментування системних двійкових файлів, таких як cloudconfigurationd, вимагає відключення захисту цілісності системи (SIP) на macOS. З відключеним SIP інструменти, такі як LLDB, можуть бути використані для підключення до системних процесів і потенційно зміни серійного номера, що використовується в взаємодіях з API DEP. Цей метод є переважним, оскільки уникає складнощів з правами доступу та підписуванням коду.

Exploiting Binary Instrumentation: Зміна навантаження запиту DEP перед серіалізацією JSON у cloudconfigurationd виявилася ефективною. Процес включав:

  1. Підключення LLDB до cloudconfigurationd.

  2. Знаходження точки, де отримується серійний номер системи.

  3. Введення довільного серійного номера в пам'ять перед шифруванням та відправленням навантаження.

Цей метод дозволив отримати повні профілі DEP для довільних серійних номерів, демонструючи потенційну вразливість.

Automating Instrumentation with Python

Процес експлуатації був автоматизований за допомогою Python з API LLDB, що зробило можливим програмне введення довільних серійних номерів та отримання відповідних профілів DEP.

Potential Impacts of DEP and MDM Vulnerabilities

Дослідження підкреслило значні проблеми безпеки:

  1. Розкриття інформації: Надаючи зареєстрований у DEP серійний номер, можна отримати чутливу організаційну інформацію, що міститься в профілі DEP.

Support HackTricks

Last updated