Enrolling Devices in Other Organisations
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Як раніше зазначалося, для того, щоб спробувати зареєструвати пристрій в організації потрібен лише серійний номер, що належить цій організації. Після реєстрації пристрою кілька організацій встановлять чутливі дані на новий пристрій: сертифікати, програми, паролі WiFi, конфігурації VPN і так далі. Отже, це може бути небезпечна точка входу для зловмисників, якщо процес реєстрації не захищений належним чином.
Наступне є підсумком дослідження https://duo.com/labs/research/mdm-me-maybe. Перевірте його для отримання додаткових технічних деталей!
Це дослідження заглиблюється в двійкові файли, пов'язані з Програмою реєстрації пристроїв (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.
Перевірка DEP передбачає, що cloudconfigurationd
надсилає зашифроване, підписане JSON-повідомлення на iprofiles.apple.com/macProfile. Повідомлення містить серійний номер пристрою та дію "RequestProfileConfiguration". Схема шифрування, що використовується, внутрішньо називається "Absinthe". Розгадування цієї схеми є складним і включає численні етапи, що призвело до вивчення альтернативних методів вставки довільних серійних номерів у запит активаційного запису.
Спроби перехопити та змінити запити DEP до iprofiles.apple.com за допомогою таких інструментів, як Charles Proxy, були ускладнені шифруванням повідомлень та заходами безпеки SSL/TLS. Однак увімкнення конфігурації MCCloudConfigAcceptAnyHTTPSCertificate
дозволяє обійти перевірку сертифіката сервера, хоча зашифрований характер повідомлення все ще заважає зміні серійного номера без ключа розшифрування.
Інструментування системних двійкових файлів, таких як cloudconfigurationd
, вимагає відключення захисту цілісності системи (SIP) на macOS. З відключеним SIP інструменти, такі як LLDB, можуть бути використані для підключення до системних процесів і потенційно зміни серійного номера, що використовується в взаємодіях з API DEP. Цей метод є переважним, оскільки уникає складнощів з правами доступу та підписуванням коду.
Exploiting Binary Instrumentation: Зміна навантаження запиту DEP перед серіалізацією JSON у cloudconfigurationd
виявилася ефективною. Процес включав:
Підключення LLDB до cloudconfigurationd
.
Знаходження точки, де отримується серійний номер системи.
Введення довільного серійного номера в пам'ять перед шифруванням та відправленням навантаження.
Цей метод дозволив отримати повні профілі DEP для довільних серійних номерів, демонструючи потенційну вразливість.
Процес експлуатації був автоматизований за допомогою Python з API LLDB, що зробило можливим програмне введення довільних серійних номерів та отримання відповідних профілів DEP.
Дослідження підкреслило значні проблеми безпеки:
Розкриття інформації: Надаючи зареєстрований у DEP серійний номер, можна отримати чутливу організаційну інформацію, що міститься в профілі DEP.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)