macOS Red Teaming
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)
JAMF Pro: jamf checkJSSConnection
Kandji
Якщо вам вдасться зламати облікові дані адміністратора для доступу до платформи управління, ви можете потенційно зламати всі комп'ютери, розповсюджуючи своє шкідливе ПЗ на машинах.
Для червоного тестування в середовищах MacOS настійно рекомендується мати певне розуміння того, як працюють MDM:
MDM матиме дозвіл на установку, запит або видалення профілів, установку додатків, створення локальних облікових записів адміністратора, встановлення пароля прошивки, зміну ключа FileVault...
Щоб запустити свій власний MDM, вам потрібно підписати свій CSR у постачальника, що ви можете спробувати отримати за допомогою https://mdmcert.download/. А для запуску свого власного MDM для пристроїв Apple ви можете використовувати MicroMDM.
Однак, щоб встановити додаток на зареєстрованому пристрої, вам все ще потрібно, щоб він був підписаний обліковим записом розробника... однак, під час реєстрації MDM пристрій додає SSL сертифікат MDM як довірений CA, тому тепер ви можете підписувати що завгодно.
Щоб зареєструвати пристрій в MDM, вам потрібно встановити mobileconfig
файл як root, який можна доставити через pkg файл (ви можете стиснути його в zip, і коли його завантажать з safari, він буде розпакований).
Mythic agent Orthrus використовує цю техніку.
JAMF може виконувати кастомні скрипти (скрипти, розроблені системним адміністратором), рідні корисні навантаження (створення локальних облікових записів, встановлення пароля EFI, моніторинг файлів/процесів...) та MDM (конфігурації пристроїв, сертифікати пристроїв...).
Перейдіть на сторінку, таку як https://<company-name>.jamfcloud.com/enroll/
, щоб перевірити, чи мають вони увімкнену самостійну реєстрацію. Якщо так, можливо, попросить облікові дані для доступу.
Ви можете використовувати скрипт JamfSniper.py для виконання атаки на підбор паролів.
Більше того, після знаходження відповідних облікових даних ви зможете зламати інші імена користувачів за допомогою наступної форми:
Бінарний файл jamf
містив секрет для відкриття ключниці, який на момент виявлення був спільним серед усіх, і це було: jk23ucnq91jfu9aj
.
Більше того, jamf постійно як LaunchDaemon в /Library/LaunchAgents/com.jamf.management.agent.plist
JSS (Jamf Software Server) URL, який буде використовувати jamf
, знаходиться в /Library/Preferences/com.jamfsoftware.jamf.plist
.
Цей файл в основному містить URL:
Отже, зловмисник може встановити шкідливий пакет (pkg
), який перезаписує цей файл, встановлюючи URL на Mythic C2 слухача з агента Typhon, щоб тепер мати можливість зловживати JAMF як C2.
Щоб імітувати комунікацію між пристроєм і JMF, вам потрібно:
UUID пристрою: ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'
JAMF ключ з: /Library/Application\ Support/Jamf/JAMF.keychain
, який містить сертифікат пристрою
З цією інформацією, створіть ВМ з викраденим апаратним UUID і з вимкненим SIP, скиньте JAMF ключ, підключіть агент Jamf і викрадіть його інформацію.
Ви також можете моніторити місце /Library/Application Support/Jamf/tmp/
для кастомних скриптів, які адміністратори можуть захотіти виконати через Jamf, оскільки вони розміщуються тут, виконуються і видаляються. Ці скрипти можуть містити облікові дані.
Однак, облікові дані можуть передаватися цим скриптам як параметри, тому вам потрібно буде моніторити ps aux | grep -i jamf
(навіть не будучи root).
Скрипт JamfExplorer.py може слухати нові файли, що додаються, і нові аргументи процесу.
А також про MacOS "спеціальні" мережеві протоколи:
В деяких випадках ви виявите, що комп'ютер MacOS підключений до AD. У цьому сценарії вам слід спробувати перерахувати активний каталог, як ви звикли. Знайдіть деяку допомогу на наступних сторінках:
Деякий локальний інструмент MacOS, який також може вам допомогти, це dscl
:
Також є кілька інструментів, підготовлених для MacOS, щоб автоматично перераховувати AD та працювати з kerberos:
Machound: MacHound - це розширення до інструменту аудиту Bloodhound, що дозволяє збирати та імпортувати відносини Active Directory на MacOS хостах.
Bifrost: Bifrost - це проект на Objective-C, призначений для взаємодії з API Heimdal krb5 на macOS. Мета проекту - забезпечити кращий тестування безпеки навколо Kerberos на пристроях macOS, використовуючи рідні API без необхідності в будь-яких інших фреймворках або пакетах на цільовому пристрої.
Orchard: Інструмент JavaScript для автоматизації (JXA) для перерахунку Active Directory.
Три типи користувачів MacOS:
Локальні користувачі — Керуються локальною службою OpenDirectory, вони не пов'язані жодним чином з Active Directory.
Мережеві користувачі — Витратні користувачі Active Directory, які потребують з'єднання з сервером DC для аутентифікації.
Мобільні користувачі — Користувачі Active Directory з локальною резервною копією своїх облікових даних та файлів.
Локальна інформація про користувачів та групи зберігається у папці /var/db/dslocal/nodes/Default. Наприклад, інформація про користувача на ім'я mark зберігається у /var/db/dslocal/nodes/Default/users/mark.plist, а інформація про групу admin — у /var/db/dslocal/nodes/Default/groups/admin.plist.
На додаток до використання країв HasSession та AdminTo, MacHound додає три нові краї до бази даних Bloodhound:
CanSSH - сутність, якій дозволено SSH до хоста
CanVNC - сутність, якій дозволено VNC до хоста
CanAE - сутність, якій дозволено виконувати скрипти AppleEvent на хості
Більше інформації в https://its-a-feature.github.io/posts/2018/01/Active-Directory-Discovery-with-a-Mac/
Отримати паролі за допомогою:
Можливо отримати пароль Computer$
всередині системного ключа.
Отримати TGT для конкретного користувача та служби:
Якщо TGT зібрано, його можна ввести в поточну сесію за допомогою:
З отриманими сервісними квитками можна спробувати отримати доступ до спільних ресурсів на інших комп'ютерах:
Keychain, ймовірно, містить чутливу інформацію, доступ до якої без генерації запиту може допомогти просунутися в червоній командній вправі:
MacOS Red Teaming відрізняється від звичайного Windows Red Teaming, оскільки зазвичай MacOS інтегровано з кількома зовнішніми платформами безпосередньо. Загальна конфігурація MacOS полягає в доступі до комп'ютера за допомогою синхронізованих облікових даних OneLogin та доступу до кількох зовнішніх сервісів (як-от github, aws...) через OneLogin.
Коли файл завантажується в Safari, якщо це "безпечний" файл, він буде автоматично відкритий. Тож, наприклад, якщо ви завантажите zip, він буде автоматично розпакований:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)