Как взломать пароль Mac без его изменения

MacBook с выключенным питанием может быть скомпрометирован менее чем за три минуты.

С помощью всего лишь нескольких команд хакер может извлечь хеш-пароль и взломать его без их ведома.

Цель этой статьи — получить файл .plist целевого компьютера, содержащий  хешированный пароль.

Затем, используя скрипт Python для преобразования файла .plist в формат, который может интерпретировать Hashcat,а он брутфорсит пароль.

Самый простой способ для выполнения этой атаки требует физического доступа к целевому MacBook, режиму восстановления, флэш-накопителю USB, другому MacBook и Hashcat.

Также можно оставить USB-накопитель и MacBook злоумышленника, вместо этого создав временного пользователя на целевом MacBook, где могут быть выполнены команды.

После этого временный пользователь может быть удален.

Однако в этом руководстве мы покажем способ USB-накопителя.

Режим восстановления — один из нескольких режимов запуска, поддерживаемых устройствами Mac.

Он включает в себя ряд инструментов для переустановки macOS, сброса паролей учетных записей и настройки пароля прошивки.

Хотя эта функция была разработана, чтобы помочь пользователям разблокировать свою учетную запись и стереть внутренний жесткий диск, ее часто злоупотребляют хакеры, пытающиеся получить несанкционированный доступ к конфиденциальным файлам.

Начиная с Mojave 10.14, macOS больше не позволяет пользователям (даже root) изменять файлы .plist, содержащие хешированные пароли во время работы операционной системы.

Теперь эти данные можно получить только в режиме восстановления.

Флэш-накопитель USB необходим для перемещения файла .plist цели на MacBook злоумышленника.

Флэш-накопитель USB, используемый в этом учебном пособии, имеет формат FAT32, но также должны работать форматы NTFS и APFS.

В выделенном скрипте Python имеется несколько команд, специфичных для MacOS, которые упрощают преобразование файла .plist в формат, который может интерпретировать Hashcat.

Вот почему нужен другой MacBook (или хотя бы другой аккаунт на целевом MacBook).

Чтобы определить пароль Mac для цели, не меняя его, хэш должен быть пробручен и взломан.

MacOS отлично справляется с защитой пароля цели.

Невозможно просмотреть пароли пользователей в текстовом формате.

Решения для крекинга на основе процессора (например, JohnTheRipper) буквально потребуют десятилетия, чтобы взломать один хэш и, следовательно, не эффективны.

Hashcat с достойным графическим процессором настоятельно рекомендуется.

Шаг 1 Войдите режим восстановления

Чтобы войти в режим восстановления, убедитесь, что целевой MacBook полностью выключен.

Затем нажмите кнопку питания, удерживая Command + R на клавиатуре.

Примерно через 30 секунд появится логотип Apple.

Если появится экран ниже, режим восстановления был успешно активирован, и читатели могут перейти к следующему этапу этого руководства.

Если MacBook запрашивает пароль, это означает, что прошивка защищена и настроена для предотвращения атак режима восстановления.

К сожалению ( или к счатью 🙂 ), это означает, что целевой MacBook не уязвим для атаки, показанной в этой статье.

Шаг 2 Отключить SIP

Защита целостности системы (SIP) от Apple — это функция безопасности, предназначенная для ограничения изменения томов macOS.

Начиная с Mojave, каталог /var/db/dslocal/nodes/Default/ находится в рамках защиты SIP и будет возвращать сообщение Operation not permitted, если кто-либо попытается просмотреть его.

Он даже запрещает пользователю root изменять и получать доступ к избранным каталогам.

В одном тесте я обнаружил, что каталог Default / не может быть просмотрен или изменен даже в режиме восстановления.

Это было немного аномалией, так как другие тесты допускали доступ к стандарту / без первого отключения SIP.

Чтобы узнать, нужно ли отключать SIP, откройте терминал в режиме восстановления.

В строке меню в верхней части экрана выберите «Utilities», затем «Terminal».

Затем используйте приведенную ниже команду ls -R.

ls -R /Volumes/<hard drive name>/var/db/dslocal/nodes/Default/

Эта команда будет пытаться рекурсивно (-R) перечислить файлы в каталоге Default /.

Если вывод возвращает много файлов .plist, не отключайте SIP и переходите к следующему этапу этого урока.

Если вывод возвращает «Operation not permitted», отключите SIP, используя команду csrutil ниже.

 csrutil disable Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.

После появления приглашения на перезагрузку снова выполните завершение работы и загрузку в режим восстановления.

Если SIP отключен, безопасно перейти к следующему этапу этого урока.

Шаг 3 Извлеките целевой Plist

Вставьте USB-накопитель в целевой MacBook.

Подождите несколько секунд, чтобы он мог автоматически примонтироваться.

Затем скопируйте требуемый файл .plist на USB-накопитель, используя следующую команду cp.

Целевой .plist будет использовать имя пользователя цели (например, tokyoneon.plist).

cp /Volumes/<hard drive name>/var/db/dslocal/nodes/Default/users/<username>.plist /Volumes/<usb name>/

Обязательно измените имя имя жесткого диска в приведенной выше команде.

Вероятно, это будет «macOS», но может отличаться, если человек приобрел MacBook несколько лет назад и это Mojave или High Sierra.

В этом случае имя жесткого диска может отображаться как «Macintosh HD» или другие некоторые варианты.

Кроме того, измените имя <usb> на USB-накопитель, вставленный в MacBook.

Необходимый файл был извлечен, целевой MacBook можно закрыть, а в оставшейся части учебника требуется отдельный MacBook, принадлежащий злоумышленнику.

Если SIP был отключен на предыдущем шаге, повторно включите его перед выключением с помощью следующей команды.

csrutil enable

Шаг 4 Скопируйте Plist на машину атакующего

Используя MacBook злоумышленника, вставьте USB-накопитель, содержащий целевой объект plist и скопируйте его (cp) в каталог / tmp /.

Каталог / tmp / жестко закодирован в скрипт Python на следующем шаге, чтобы сделать его общим для всех читателей.

Пока файл .plist цели находится в каталоге / tmp /, скрипт Python сможет преобразовать его в хэш.

cp /Volumes/<usb name>/<username>.plist /tmp/

Шаг 5 Загрузите и выполните скрипт Python Hashdump

Скрипт Python, используемый для преобразования извлеченного файла .plist в предпочтительный формат Hashcat, был взят из структуры Empire и может быть найден в GitHub.

Откройте терминал и загрузите скрипт hashdump со следующей командой curl. Аргумент -o сохранит скрипт с именем файла hashdump.py.

curl 'https://raw.githubusercontent.com/tokyoneon/hashdump.py/master/hashdump.py' -o hashdump.py

Затем дайте разрешение скрипту на выполнение командой chmod.

chmod +x hashdump.py

Наконец, выполните скрипт hashdump.py с привилегиями root.

sudo python hashdump.py [('tokyoneon', '$ml$27548$ba6261885e349ecb847854136cf32e9561cd1af65616f7ce11abb3f04786729c$88ad7849c5b30cce20b9d6ecde9e5be3b6736646965e0414d45d40510a574f864bafd9c5dc06fdb3cb189b877c3aa1312c2e4497ea854d3653f5861365d41a4250042a78c93dace17d212ccbb6584e3350efe95bd138f27b1705ad97166d2f11fb749b6138139a9e1ebeecb1a96750db53dbf75434c4b320b500589fa64bf5f8')]

Удалите текст, окружающий хэш (показано ниже), и сохраните его в файле с именем «hash.txt». Затем переместите hash.txt на машину с Hashcat.

$ml$27548$ba6261885e349ecb847854136cf32e9561cd1af65616f7ce11abb3f04786729c$88ad7849c5b30cce20b9d6ecde9e5be3b6736646965e0414d45d40510a574f864bafd9c5dc06fdb3cb189b877c3aa1312c2e4497ea854d3653f5861365d41a4250042a78c93dace17d212ccbb6584e3350efe95bd138f27b1705ad97166d2f11fb749b6138139a9e1ebeecb1a96750db53dbf75434c4b320b500589fa64bf5f8

Шаг 6 Взлом Хеша

Чтобы взломать хэш цели с помощью Hashcat, используйте команду ниже.

hashcat -a 0 -m 7100 /path/to/hash.txt /path/to/wordlists/passwords.txt -w 4 --potfile-path /tmp/cracked_hash.pot

Атака по словарю определяется с помощью аргумента -a 0. Машинный режим хеширования включен, используя аргумент -m 7100 и требуется для всех хэшей macOS, извлеченных из версии 10.8 или новее.

Чтобы улучшить общую производительность Hashcat, установите для -w (или -workload-profile) значение 4, чтобы максимизировать скорость взлома.

Наконец, аргумент -potfile-path используется для сохранения хеш-взлома в указанном файле.

Также возможно выполнить гибридные атаки, когда комбинации цифр добавляются к концу каждого слова в списке слов. Например, «password12» и «password77».

hashcat -a 6 -m 7100 /path/to/hash.txt /path/to/wordlists/everyword.txt ?d?d -w 4 --potfile-path /tmp/db.pot

Гибридная атака включена с аргументом -a 6.

На этот раз словосочетание «everyword», содержащее 479 000 английских слов, используется в сочетании с? D? D, которое сообщает Hashcat добавлять всевозможные комбинации двух цифр к каждому паролю в списке слов.

Чтобы добавить три или четыре цифры, используйте «? D? D? D» и «? D? D? D? D» соответственно.

Пока Hashcat работает, ниже отображаются данные.

Если пароль угадан правильно, он появится в нижней части терминала, и Hashcat остановится.

Session..........: hashcat
Status...........: Running
Hash.Type........: macOS v10.8+ (PBKDF2-SHA512)
Hash.Target......: $ml$27548$ba6261885e349ecb847854136cf32e9561cd1af65...d41a42
Guess.Base.......: File (/root/wordlists/passwords.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.Dev.#1.....: 7740 H/s (98.63ms) @ Accel:256 Loops:64 Thr:512 Vec:1
Recovered........: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts
Progress.........: 0/329968 (0.00%)
Rejected.........: 0/0 (0.00%)
Restore.Point....: 0/329968 (0.00%)
Candidates.#1....: 123456 -> zzzzzzzz9
HWMon.Dev.#1.....: Temp: 57c Fan: 31% Util:100% Core:1873MHz Mem:3802MHz Bus:16

[s]tatus [p]ause [b]ypass heckpoint [q]uit =>

Как защитить себя от атак режима восстановления

  • Есть несколько вещей, которые могут защитить пользователей от таких атак (см. Ниже).

Включите защиту паролем прошивки. Чтобы предотвратить загрузку злоумышленника в режиме лайв USB, однопользовательского режима или режима восстановления, установите пароль прошивки.

Прошивка будет запрашивать только дополнительный пароль при загрузке, если кто-то попытается загрузить MacBook в однопользовательский, загрузочный менеджер, целевой диск или режимы восстановления.

Тем не менее, пароль прошивки не будет защищать жесткий диск, если диск физически удален из MacBook.

Для большей защиты включите шифрование жесткого диска.

  • Включите шифрование FileVault.

FileVault можно включить, перейдя в  «System Preferences», затем «Security & Privacy» и нажав «Turn On FileVaul (вам может потребоваться сначала разблокировать настройки). По завершении MacBook перезагрузится и потребует пароль для разблокировки компьютера при каждом запуске Mac. Ни одна учетная запись не будет разрешена для входа в систему автоматически, и для доступа к однопользовательскому режиму также потребуется пароль.

¯\_(ツ)_/¯

Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40