Статья опубликована в рамках: Научного журнала «Студенческий» № 16(312)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8, скачать журнал часть 9, скачать журнал часть 10
ТЕХНОЛОГИИ ЗАЩИТЫ SAM (SYSTEM ACCOUNT MANAGER)
АННОТАЦИЯ
В условиях роста числа кибератак, важно защищать пользовательские логины и пароли. Файл SAM (System Account Manager) в операционных системах Windows хранит хэши паролей пользователей. Microsoft защищает эти данные: был разработан LM/NTLM формат хранения паролей длиной менее 15 символов, позднее был добавлен сетевой протокол аутентификации Kerberos, но по-прежнему находятся дыры, через которые хакеры могут украсть пароли.
Проблема уязвимости SAM-файлов и атак на хэши паролей уже изучалась специалистами в области информационной безопасности:
- Филипп Охслин. Результат его исследований — радужные таблицы, метод, который значительно ускоряет взлом паролей Windows.
- Йенс Штойбе является автором hashcat и hashcat-утилиты
- Марк Руссинович – эксперт по безопасности Windows, исследовавший уязвимости в SAM и LSASS
Объект исследования:
Механизмы хранения и аутентификации паролей в ОС Windows.
Предмет исследования:
- Процесс извлечения хэшей из SAM-файла через Impacket
- Алгоритмы дешифрования с помощью Hashcat (атаки по словарю, брутфорс).
Цель исследования:
Проанализировать различные способы атак паролей разного уровня сложности, составить сводную таблицу с результатами, включающую в себя метод и продолжительность расшифровки, сложность пароля и результат расшифровки.
Литературный обзор:
SAM (System Account Manager) – файл Windows, хранящий хэши паролей пользователей в форматах LM/NTLM.
Хэш пароля – результат криптографического преобразования пароля (например, NTLM: 8846F7EAEE8FB117AD06BDD830B7586C).
Hashcat – программа для восстановления паролей из хэшей.
Атака brute force – полный перебор всех возможных комбинаций символов пароля.
Атака по словарю (dictionary attack) – подбор пароля по заранее подготовленному списку распространённых комбинаций.
Ключевые слова: SAM; хэши; пароли; Hashcat; взлом; информационная безопасность; Windows; аутентификация.
В работе задействованы 2 машины на базе операционной системе Windows: атакующая машина и целевая. В ходе работы необходимо извлечь файлы SAM с целевой машины и извлечь хэшированные пароли из файлов SAM и SYSTEM с помощью Impacket. Далее пароли будут расшифрованы с помощью утилиты Hashcat. Рассмотрены основные типы атак на хэши: brute force, dictionary attack. Предложен способ отслеживания подобных атак.
Самый простой способ — сохранить ветки реестра HKLM\SAM и HKLM\SYSTEM, а затем извлечь из них учетные данные на своем хосте. Команды нужно выполнять от имени администратора или системы:
reg save HKLM\sam path_to_sam_file
reg save HKLM\system path_to_system_file
Рисунок 2. Сохранение файлов на целевой машине
Далее уже на своей машине злоумышленник может извлечь хеши с помощью secretsdump.py из impacket или другой утилиты:
secretsdump.py LOCAL -sam sam -system system
Рисунок 3. Извлечение хэшей
Чтобы отслеживать, когда кто-то будет пытаться воровать файлы через reg save, можно настроить журнал аудита. Для этого нужно:
В редакторе групповой политики зайти в раздел Конфигурация компьютера → Конфигурация Windows → Параметры безопасности → Локальные политики → Политика аудита и включаем Аудит доступа к объектам и Аудит отслеживания процессов:
Рисунок 4. Настройка аудита доступа к объектам
Рисунок 5. Настройка аудита отслеживания процессов
В Конфигурация компьютера → Административные шаблоны → Система → Аудит процессов включаем политику «Включать командную строку в события создания процессов»:
Рисунок 6. Включение политики
В редакторе реестра перейдите к веткам HKEY_LOCAL_MACHINE\SAM и HKEY_LOCAL_MACHINE\SYSTEM и включить аудит:
Рисунок 7. Включить журнал аудита
Рисунок 8. Параметры безопасности SAM
Теперь, если кто-то захочет запускать reg save, можно увидеть кто это сделал и что именно написал в командной строке. После запуска команды на той же машине ADMINVM, после чего в журнале аудита появилась запись с номером 4688:
Рисунок 9. Имя учетной записи, под которой хотели забрать файлы
Рисунок 10. Командная строка, которую ввёл злоумышленник
С помощью команды secretsdump.py LOCAL -sam sam -system system был извлечён хеш в формате NTLM (в данном случае e19ccf75ee54e06b06a5907af13cef42)
- Dictionary Attack (Атака по словарю)
Для этого берётся файл rockyou.txt, содержащий миллионы реальных паролей. Каждое слово хэшируется и сравнивается с целевым хэшем. Но данный вариант сработает только если искомый пароль есть в словаре.
Используем для поиска команду hashcat -m 1000 -a 0 hash.txt rockyou.txt -O
Рисунок 11. Атака по словарю
- Brute Force (Полный перебор)
В нашем случае точно известна длина пароля (4 символа), поэтому используем маску ?a?a?a?a. Hashcat последовательно генерирует варианты, хэширует их и сравнивает с целевым хэшем. Недостаток метода в том, что он очень медленно работает для сложных и длинных паролей.
Используем для поиска команду hashcat -m 1000 -a 3 hash.txt ?a?a?a?a -O
Рисунок 12. Атака по маске
Из результата видно, что хеш успешно взломан (Status: Cracked). Скорость перебора составила 1087.2 MH/s. Пароль был подобран почти мгновенно (0 секунд в Time.Estimated). Загрузка GPU: 18%. Пароль был подобран на 53.51% от общего пространства перебора.
Для сравнения времени расшифровки, были так же взломаны пароли длиной 6 и 7 символов, а также одновременно 3 пароля по 5 символов.
Рисунок 13. Результат расшифровки пароля из 6 символов
Пароль был взломан за 2 минуты 24 секунды
Рисунок 14. Результат расшифровки трёх паролей из 5 символов
Пароли были расшифрованы за 6 секунд
Рисунок 15. Результат расшифровки пароля из 7 символов
Пароль был взломан за 46 минут 8 секунд
Итоговая сравнительная таблица:
Таблица 1.
Сравнительная таблица
Метод атаки |
Статус взлома |
Время взлома |
Скорость перебора |
Загрузка GPU |
Пароль |
NTLM |
Атака по словарю |
Cracked |
0 сек |
18719.0 kH/s |
11% |
P@ssw0rd |
e19ccf75ee54e06b06a5907af13cef42 |
Атака по маске |
Cracked |
0 сек |
1087.2 MH/s |
18% |
#L.5 |
ba3376a944d76be7fd7509e5a0e3f8fb |
Атака по маске |
Cracked |
2 мин 24 сек |
4358.0 MH/s |
91% |
#L.5B} |
e38e1cb9d523d1cc862bfcf8fcc69c6a |
Атака по маске |
Cracked |
6 сек |
7 MH/s |
90% |
#L.5B :h2 _- Q :(+12d |
4fc432e52207a74d3da743fe1d10c6a1 803700a6f4c7cff320854d1c7d1990b4 9ffe6cb78f19442dc37e49fb54d02ce5 |
Атака по маске |
Cracked |
46 мин 8 сек |
5318.5 MH/s |
92% |
#L.5B}+ |
68a5bbe54a299e98dd2768402597a479 |
Последняя попытка взлома пароля не увенчалась успехом, так как пароль был слишком длинным. Пытались взломать пароль #L.5B}t+i(4n (NTLM: 7d37f3032633bf91fa27043d884d3f71), время расшифровки заняло более двух суток.
Поскольку в ходе эксперимента было выяснено, что зависимость экспоненциальная, попробуем предсказать время расшифровки для 8,9,10 ... 20 символов. Отобразим полученные данные на графике.
Рисунок 16. Прогноз времени взлома пароля длиной больше 7
Оценочное время расшифровки:
Пароль из 8 символов: 5821048,35 сек.
Пароль из 9 символов: 4331110335,48 сек.
Пароль из 10 символов: 3222532368528,5 сек.
Пароль из 15 символов: 7,35E+26 сек.
Пароль из 20 символов: 1,68E+41 сек.
Вывод:
В ходе работы был описан способ извлечения файлов SAM и хэшированных паролей из файлов SAM и SYSTEM с помощью Impacket. Предложен способ отслеживания подобных атак с помощью отслеживания журнала аудита.
Так же были проанализированы такие способы атак на хэши паролей, как brute force и dictionary attack. Пароли были разного уровня сложности, поэтому время их расшифровки отличалось. Было установлено, что время растёт по экспоненциальной зависимости, поэтому было спрогнозировано время расшифровки паролей до 20 символов.
Была составлена сводная таблица с результатами.
Список литературы:
- Уймин, А. Г. Система непрерывно-дискретной биометрической идентификации на основе анализа потока данных компьютерной мыши / А. Г. Уймин // Проблемы управления безопасностью сложных систем : Материалы XXXII международной конференции, посвященной памяти Владимира Васильевича Кульбы, Заслуженного деятеля науки РФ, д-ра техн. наук, профессора, Москва, 13 ноября 2024 года. – Москва: Институт проблем управления им. В.А. Трапезникова РАН, 2024. – С. 273-278. – EDN JCZCJI.
- Шотт В. В., Беляева И.А. Как обнаружить хакера на этапе дампа учетных данных в Windows? / В. В. Шотт, И. А. Беляева // Habr. – 14.12.2023. – URL: https://habr.com/ru/companies/jetinfosystems/articles/780650/ (дата обращения: 22.03.2025).
- Audit SAM [Электронный ресурс] // Microsoft Docs. — 09.06.2021 — URL: http://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/audit-sam (дата обращения: 22.03.2025).
- Security Account Manager (SAM) Remote Protocol (Server-to-Server) [Электронный ресурс] // Microsoft Docs. — 04.07.2021 — URL: https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-sams/2e785e4e-d5b6-4ae3-b479-351a50830921 (дата обращения: 22.03.2025).
- Security Account Manager (SAM) [Электронный ресурс] // Windows Active Directory. – URL: https://www.windows-active-directory.com/windows-security-account-manager.html (дата обращения: 22.03.2025).
- Nubes. Как работают атаки на хеши паролей: разбираем на примере Hashcat / Nubes [Электронный ресурс] // Habr – 18.04.2024 – URL: https://habr.com/ru/companies/nubes/articles/808533/ (дата обращения: 22.03.2025).
- Hashcat [Электронный ресурс] // Официальный сайт Hashcat. - URL: https://hashcat.net/wiki/ (дата обращения: 22.03.2025).
- Windows Password Recovery - сравнительная таблица атак [Электронный ресурс] // Passcape. - URL: https://www.passcape.com/index.php?page=953 (дата обращения: 22.03.2025).
- Impacket [Электронный ресурс] // GitHub. – 2024. – URL: https://github.com/fortra/impacket (дата обращения: 22.03.2025).
- Impacket [Электронный ресурс] // Python Package Index (PyPI). – URL: https://pypi.org/project/impacket/ (дата обращения: 22.03.2025).
- Microsoft Security Account Manager (SAM): A Comprehensive Guide // Knowledge Academy. – 02.04.2025. - URL: https://www.theknowledgeacademy.com/blog/microsoft-security-account-manager/ (дата обращения: 22.03.2025).
- Эдвардс, М. Дж. Где NT хранит пароли / М. Дж. Эдвардс, Д. Лебланк // Открытые системы. СУБД. – 1999. – № 2. – С. 52–55. – URL: https://www.osp.ru/winitpro/1999/02/174516 (дата обращения: 22.03.2025).
Оставить комментарий