Enrolling Devices in Other Organisations
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
виявилася ефективною. Процес включав:
Підключення LLDB до
cloudconfigurationd
.Знаходження точки, де отримується серійний номер системи.
Введення довільного серійного номера в пам'ять перед шифруванням та відправленням навантаження.
Цей метод дозволив отримати повні профілі DEP для довільних серійних номерів, демонструючи потенційну вразливість.
Automating Instrumentation with Python
Процес експлуатації був автоматизований за допомогою Python з API LLDB, що зробило можливим програмне введення довільних серійних номерів та отримання відповідних профілів DEP.
Potential Impacts of DEP and MDM Vulnerabilities
Дослідження підкреслило значні проблеми безпеки:
Розкриття інформації: Надаючи зареєстрований у DEP серійний номер, можна отримати чутливу організаційну інформацію, що міститься в профілі DEP.
Last updated