macOS Sensitive Locations
Паролі
Тіньові паролі
Тіньовий пароль зберігається разом із конфігурацією користувача в plist-файлах, розташованих в /var/db/dslocal/nodes/Default/users/
.
Наступний одностроковий вираз може бути використаний для виведення всієї інформації про користувачів (включаючи інформацію про хеш):
Сценарії, подібні до цього або цей можуть бути використані для перетворення хешу в формат hashcat.
Альтернативний однорядковий інструмент, який виведе дані облікових записів всіх несервісних облікових записів у форматі hashcat -m 7100
(macOS PBKDF2-SHA512):
Витік ключів
Зверніть увагу, що при використанні бінарного файлу security для витягування розшифрованих паролів, користувачеві буде запропоновано декілька запитів на дозвіл цієї операції.
За цим коментарем juuso/keychaindump#10 (comment) здається, що ці інструменти більше не працюють в Big Sur.
Огляд Keychaindump
Інструмент з назвою keychaindump був розроблений для вилучення паролів з ключниць macOS, але він має обмеження на новіших версіях macOS, таких як Big Sur, як вказано в обговоренні. Використання keychaindump вимагає від зловмисника отримання доступу та підвищення привілеїв до root. Інструмент використовує той факт, що ключниця за замовчуванням розблоковується при вході користувача для зручності, що дозволяє програмам отримувати до неї доступ без необхідності повторного введення пароля користувача. Однак, якщо користувач вирішить блокувати свою ключницю після кожного використання, keychaindump стає неефективним.
Keychaindump працює, спрямовуючи на конкретний процес під назвою securityd, описаний Apple як демон для авторизації та криптографічних операцій, який є важливим для доступу до ключниці. Процес вилучення включає виявлення Master Key, похідного від пароля входу користувача. Цей ключ є важливим для читання файлу ключниці. Для знаходження Master Key, keychaindump сканує кучу пам'яті securityd, використовуючи команду vmmap
, шукаючи потенційні ключі в областях, позначених як MALLOC_TINY
. Для перевірки цих місць пам'яті використовується наступна команда:
Після ідентифікації потенційних головних ключів, keychaindump шукає через купи певний шаблон (0x0000000000000018
), що вказує на кандидата на головний ключ. Для використання цього ключа потрібні додаткові кроки, включаючи деобфускацію, як описано в вихідному коді keychaindump. Аналітики, які зосереджуються на цій області, повинні зауважити, що важливі дані для розшифрування keychain зберігаються в пам'яті процесу securityd. Приклад команди для запуску keychaindump:
руйнівник ланцюга
Chainbreaker можна використовувати для вилучення наступних типів інформації з ключового ланцюга OSX у форензично обґрунтований спосіб:
Хешований пароль ключового ланцюга, придатний для взлому за допомогою hashcat або John the Ripper
Інтернет-паролі
Загальні паролі
Приватні ключі
Публічні ключі
X509-сертифікати
Безпечні нотатки
Паролі Appleshare
За наявності пароля розблокування ключового ланцюга, майстер-ключа, отриманого за допомогою volafox або volatility, або файлу розблокування, такого як SystemKey, Chainbreaker також надасть текстові паролі.
Без одного з цих методів розблокування ключового ланцюга Chainbreaker відобразить всю іншу доступну інформацію.
Вивантаження ключів ключового ланцюга
Витягнути ключі з keychain (з паролями) за допомогою SystemKey
Витягнення ключів keychain (з паролями) шляхом зламування хешу
Витягнення ключів keychain (з паролями) за допомогою дампу пам'яті
Виконайте ці кроки, щоб виконати дамп пам'яті
Витягнення ключів з keychain (з паролями) за допомогою пароля користувача
Якщо ви знаєте пароль користувача, ви можете використати його для витягнення та розшифрування keychain, які належать користувачеві.
kcpassword
Файл kcpassword - це файл, який містить пароль для входу користувача, але лише у випадку, якщо власник системи увімкнув автоматичний вхід. Тому користувач буде автоматично увійти без запиту пароля (що не є дуже безпечним).
Пароль зберігається в файлі /etc/kcpassword
, зашифрований з ключем 0x7D 0x89 0x52 0x23 0xD2 0xBC 0xDD 0xEA 0xA3 0xB9 0x1F
. Якщо пароль користувача довший за ключ, ключ буде повторно використаний.
Це робить пароль досить легким для відновлення, наприклад, за допомогою скриптів, подібних до цього.
Цікава інформація в базах даних
Повідомлення
Сповіщення
Ви можете знайти дані про сповіщення в $(getconf DARWIN_USER_DIR)/com.apple.notificationcenter/
Більшість цікавої інформації буде в blob. Тому вам потрібно видобути цей вміст і перетворити його в людино-читабельний формат або використовувати strings
. Для доступу до нього ви можете виконати:
Last updated