Stealing Windows Credentials
Last updated
Last updated
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Знайдіть інші можливості, які має Mimikatz, на цій сторінці.
Дізнайтеся про деякі можливі захисти облікових даних тут. Ці захисти можуть запобігти витоку деяких облікових даних за допомогою Mimikatz.
Використовуйте Плагін облікових даних, який я створив, щоб шукати паролі та хеші всередині жертви.
Оскільки Procdump від SysInternals є легітимним інструментом Microsoft, його не виявляє Defender. Ви можете використовувати цей інструмент, щоб вивантажити процес lsass, завантажити дамп і витягти облікові дані локально з дампу.
Цей процес виконується автоматично за допомогою SprayKatz: ./spraykatz.py -u H4x0r -p L0c4L4dm1n -t 192.168.1.0/24
Примітка: Деякі AV можуть виявити використання procdump.exe для дампу lsass.exe як шкідливе, це пов'язано з тим, що вони виявляють рядки "procdump.exe" та "lsass.exe". Тому більш непомітно передати PID lsass.exe як аргумент для procdump замість імені lsass.exe.
DLL з назвою comsvcs.dll, що знаходиться в C:\Windows\System32
, відповідає за дамп пам'яті процесу у разі збою. Ця DLL містить функцію з назвою MiniDumpW
, призначену для виклику за допомогою rundll32.exe
.
Не має значення використовувати перші два аргументи, але третій поділяється на три компоненти. Ідентифікатор процесу, який потрібно дампити, становить перший компонент, місце розташування файлу дампу представляє другий, а третій компонент - це строго слово full. Альтернативних варіантів не існує.
Після розбору цих трьох компонентів DLL залучається до створення файлу дампу та перенесення пам'яті вказаного процесу в цей файл.
Використання comsvcs.dll можливе для дампу процесу lsass, що усуває необхідність завантажувати та виконувати procdump. Цей метод описаний детально на https://en.hackndo.com/remote-lsass-dump-passwords/.
Для виконання використовується наступна команда:
Ви можете автоматизувати цей процес за допомогою lssasy.
Клацніть правою кнопкою миші на панелі завдань і виберіть Диспетчер завдань
Натисніть на Більше деталей
Знайдіть процес "Local Security Authority Process" на вкладці Процеси
Клацніть правою кнопкою миші на процесі "Local Security Authority Process" і виберіть "Створити файл дампа".
Procdump - це підписаний Microsoft двійковий файл, який є частиною sysinternals набору.
PPLBlade - це інструмент для дампінгу захищених процесів, який підтримує обфускацію дампів пам'яті та їх передачу на віддалені робочі станції без запису на диск.
Ключові функції:
Обхід захисту PPL
Обфускація файлів дампів пам'яті для уникнення механізмів виявлення на основі підписів Defender
Завантаження дампу пам'яті з методами RAW та SMB без запису на диск (безфайловий дамп)
Ці файли повинні бути розташовані в C:\windows\system32\config\SAM та C:\windows\system32\config\SYSTEM. Але ви не можете просто скопіювати їх звичайним способом, оскільки вони захищені.
Найпростіший спосіб вкрасти ці файли - отримати копію з реєстру:
Завантажте ці файли на вашу машину Kali та витягніть хеші за допомогою:
Ви можете виконати копію захищених файлів, використовуючи цю службу. Вам потрібно бути адміністратором.
Бінарний файл vssadmin доступний лише у версіях Windows Server
Але ви можете зробити те ж саме з Powershell. Це приклад як скопіювати файл SAM (жорсткий диск, що використовується, - "C:", і він зберігається в C:\users\Public), але ви можете використовувати це для копіювання будь-якого захищеного файлу:
Нарешті, ви також можете використовувати PS скрипт Invoke-NinjaCopy для створення копії SAM, SYSTEM та ntds.dit.
Файл NTDS.dit відомий як серце Active Directory, що містить важливі дані про об'єкти користувачів, групи та їх членство. Саме тут зберігаються хеші паролів для доменних користувачів. Цей файл є базою даних Extensible Storage Engine (ESE) і розташований за адресою %SystemRoom%/NTDS/ntds.dit.
У цій базі даних підтримуються три основні таблиці:
Data Table: Ця таблиця відповідає за зберігання деталей про об'єкти, такі як користувачі та групи.
Link Table: Вона відстежує відносини, такі як членство в групах.
SD Table: Тут зберігаються безпекові дескриптори для кожного об'єкта, що забезпечує безпеку та контроль доступу до збережених об'єктів.
Більше інформації про це: http://blogs.chrisse.se/2012/02/11/how-the-active-directory-data-store-really-works-inside-ntds-dit-part-1/
Windows використовує Ntdsa.dll для взаємодії з цим файлом, і він використовується lsass.exe. Тоді частина файлу NTDS.dit може бути розташована в пам'яті lsass
(ви можете знайти останні доступні дані, ймовірно, через покращення продуктивності за рахунок використання кешу).
Хеш шифрується 3 рази:
Дешифрувати ключ шифрування пароля (PEK) за допомогою BOOTKEY та RC4.
Дешифрувати хеш за допомогою PEK та RC4.
Дешифрувати хеш за допомогою DES.
PEK має однакове значення в кожному контролері домену, але він шифрується всередині файлу NTDS.dit за допомогою BOOTKEY файлу SYSTEM контролера домену (відрізняється між контролерами домену). Ось чому, щоб отримати облікові дані з файлу NTDS.dit, вам потрібні файли NTDS.dit та SYSTEM (C:\Windows\System32\config\SYSTEM).
Доступно з Windows Server 2008.
Ви також можете використовувати трюк з томом тіньового копіювання для копіювання файлу ntds.dit. Пам'ятайте, що вам також знадобиться копія файлу SYSTEM (знову ж таки, вивантажте його з реєстру або використовуйте трюк з томом тіньового копіювання).
Якщо ви отримали файли NTDS.dit та SYSTEM, ви можете використовувати інструменти, такі як secretsdump.py, для витягування хешів:
Ви також можете автоматично витягувати їх, використовуючи дійсного адміністратора домену:
Для великих файлів NTDS.dit рекомендується витягувати їх за допомогою gosecretsdump.
Нарешті, ви також можете використовувати модуль metasploit: post/windows/gather/credentials/domain_hashdump або mimikatz lsadump::lsa /inject
Об'єкти NTDS можна витягнути до бази даних SQLite за допомогою ntdsdotsqlite. Витягуються не лише секрети, але й усі об'єкти та їх атрибути для подальшого витягування інформації, коли сирий файл NTDS.dit вже отримано.
The SYSTEM
hive є необов'язковим, але дозволяє розшифровувати секрети (NT та LM хеші, додаткові облікові дані, такі як паролі у відкритому вигляді, kerberos або ключі довіри, історії паролів NT та LM). Разом з іншою інформацією, витягуються наступні дані: облікові записи користувачів та машин з їхніми хешами, прапори UAC, мітка часу останнього входу та зміни пароля, опис облікових записів, імена, UPN, SPN, групи та рекурсивні членства, дерево організаційних одиниць та членство, довірені домени з типами довіри, напрямком та атрибутами...
Завантажте бінарний файл з тут. ви можете використовувати цей бінарний файл для витягування облікових даних з кількох програм.
Цей інструмент можна використовувати для витягування облікових даних з пам'яті. Завантажте його з: http://www.ampliasecurity.com/research/windows-credentials-editor/
Витягніть облікові дані з файлу SAM
Витягти облікові дані з файлу SAM
Завантажте його з: http://www.tarasco.org/security/pwdump_7 і просто виконайте його, і паролі будуть витягнуті.
Дізнайтеся про деякі захисти облікових даних тут.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)