Історія паролів
Якщо в налаштуваннях пральний політики включений параметр "Вимагати неповторяемость паролів" ( "Enforce password history"), то Windows зберігає певну кількість старих паролів, перш ніж дозволити користувачеві використовувати старі паролі знову. На наступному скріншоті показано, як саме включити ведення історії паролів:
Local Security Policy (secpol.msc) / Account Policies / Password Policy / Enforce password history
За замовчуванням на звичайних робочих станціях параметр "Вимагати неповторяемость паролів" встановлено в 0, а на контролерах домену - в 24. Завдяки таким установкам, існує ймовірність, що при добуванні хешів з ntds.dit. Ви отримаєте хеші старих паролів. Надалі знання старих хешировать паролів може допомогти вам знайти закономірності у виборі паролів цільовими користувачами.
Крім того, знання історії паролів може полегшити вам життя на подальших етапах проведення атаки. Тому ніколи не нехтуйте інформацією, отриманою з пральний історії.
Поряд з уже відомими утилітами (Cain Abel. PWDumpX) парольний історію можна злити за допомогою утиліти pwhist від Toolcrypt.
LSA секрети
LSA секрети - це спеціальна область реєстру, в якій Windows зберігає важливу інформацію. В секрети входять:
- паролі облікових записів служб, що вимагають запуску в контексті користувачів операційної системи (наприклад, облікові записи Local System, Network Service і Local Service).
- паролі входу в систему при включеному автоматичному вході (auto-logon); в загальному випадку: пароль користувача, який перебуває на консоль (запис DefaultPassword).
LSA секрети зберігаються в гілці реєстру HKEY_LOCAL_MACHINE / Security / Policy / Secrets. Кожен секрет має свій власний ключ. Батьківський ключ HKEY_LOCAL_MACHINE / Security / Policy містить інформацію, необхідну для доступу і розшифровки секретів.
Секрети LSA, як і хеши SAM, можна отримати або з файлів реєстру, або з пам'яті процесу lsass.exe.
Якщо ви володієте правами адміністратора, а цільова система задіяна на виробництві, то я раджу вибрати безпечний шлях: скопіювати системні файли SYSTEM і SECURITY з реєстру за допомогою reg.exe / regedit.exe або за допомогою служби тіньового копіювання томів, як описано в першій статті. Витягти секрети LSA з отриманих файлів SYSTEM і SECURITY можна утилітою Cain Abel.
Також існує безліч утиліт, які зіллють секрети LSA, втілившись у процес lsass.exe. З усіх таких утиліт gsecdump вважається найнадійнішим, оскільки працює на всіх версіях і архітектурі Windows. Для 32-бітних систем рекомендую також lsadump2. Незважаючи на мої очікування, двом утилітам від NirSoft (LSASecretsDump і LSASecretsView) ні на одній архітектурі не вдалося отримати паролі облікових записів служб. В незалежності від того, який саме метод ви використовували, все витягнуті паролі будуть в кодуванні UTF-16. Тобто паролі, на відміну від хешів SAM, будуть незашифрованому. Детальний опис формату секретів LSA, зроблене Бренданом Доланом-гавітом (Brandon Dolan-Gavitt) ви можете знайти тут.
Результати роботи gsecdump.exe -l
До яких погроз веде розкриття секретів LSA
Тепер уявіть, що ви скомпрометували сервер в домені Windows і отримали доступ до командного рядка з правами Local System. Якщо ви хочете розширити свій контроль на весь периметр мережі, то перевірте, чи виконується будь-якої сервіс в контексті користувача операційної системи, і якщо так, то витягніть пароль відповідної облікового запису із секретів LSA.
Дізнатися, від якого користувача запущений сервіс можна, виконавши services.msc в Start / Run і відсортувавши записи по полю "Вхід від імені" (Log On As):
Сервіси, що виконуються в контексті локальних користувачів Windows
Отримати інформацію про сервіси можна також за допомогою sc.exe та інших, менш відомих утиліт. Зазвичай в контексті користувачів системи працює таке корпоративне програмне забезпечення, як Veritas Netbackup, Microsoft SQL Server, Microsoft Exchange. Загрозу представляють випадки, коли системні адміністратори запускають сервіси в контексті доменних користувачів або навіть доменних адміністраторів. Подібні дії, звичайно ж, неправильні, і більш того, ставлять під загрозу безпеку всього домену. тому що порушник може злити секрети LSA, отримати пароль адміністратора в незашифрованому вигляді, зайти на кореневої контролер домену, і, як наслідок, отримати контроль над усім доменом.
Описані в цій статті утиліти я теж додав у таблицю. Буду радий вашим відгуків і пропозицій!