Отримання у відкритому вигляді паролів користувачів, авторизованих в windows, windows для системних

У цій статті, написаній в рамках серії статтею, присвяченій забезпеченню безпеки Windows-систем (в останній статті ми обговорювали питання безпеки паролів, збережених в GPP). ми познайомимося з досить простою методикою отримання у відкритому вигляді паролів всіх користувачів, що працюють в Windows-системі.

Дісклаймер. Інформація та технології, описані в даній статті, варто використовувати тільки в інформаційно-ознайомлювальних цілях, і ні в якому разі не застосовувати для отримання доступу до облікових записів, інформації і систем третіх осіб.

Більшість системних адміністраторів перебувають у впевненості, що Windows не зберігає паролі користувачів у відкритому вигляді, а тільки у вигляді його хеша. І хоча на сьогодні існує велика кількість утиліт, які здатні мати хеші призначених для користувача паролів з системи, можна з певною упевненістю сказати, що при використанні досить складного пароля не "зі словника», у зловмисника практично немає шансів підібрати його прямим брутфорсом або по базі вже розрахованих хеш .

В принципі, це так, але є різні нюанси, що стосуються користувачів, залогіненним в системі. Справа в тому, що деякі системні процеси в своїх службових цілях все-таки використовують паролі користувачів у відкритому (або зашифрованому) вигляді, а не їх хеші.

Інфо. Утиліта mimikatz детектується більшістю антивірусів, як потенційно небезпечне ПО (хакерська утиліта).

Утиліта mimikatz дозволяє витягти паролі користувачів безпосередньо з пам'яті (шляхом ін'єкції в lsass.exe бібліотеки sekurlsa.dll) або з дампа пам'яті комп'ютера.

Витягуємо паролі користувачів з lsass.exe онлайн

  • Скачайте і запустіть Mimikatz.exe (є x86 і x64-версії утиліти для відповідних систем)
  • В контексті утиліти виконуємо команди

mimikatz # privilege :: debug
mimikatz # sekurlsa :: logonPasswords full
(Остання команда відобразить всі облікові записи та паролі користувачів, що мають сесії в системі).

Отримання у відкритому вигляді паролів користувачів, авторизованих в windows, windows для системних

Як ви бачите, утиліта показала нам пароль користувача user.

Примітка. Дана методика не спрацює при наявності на системі сучасного антивіруса, блокуючого ін'єкцію. В цьому випадку доведеться спочатку створити дамп пам'яті машини і вже на іншій машині «витягнути» з нього паролі для сесій всіх користувачів.

Отримання пароля користувача з дампа пам'яті Windows

Дамп пам'яті для процесу LSASS можна отримати за допомогою PowerShell функції Out-Minidump.ps1. Імпорт функцію Out-Minidump в PoSh і створіть дамп пам'яті процесу LSASS:

Одержаний дамп пам'яті, в нашому прикладі це lsass_592.dmp (за замовчуванням він зберігається в каталозі% windir \ system32%) потрібно скопіювати на іншу систему, в якій є утиліта mimikatz і виконати команду:

І наступною командою отримаємо список користувачів, які працюють в системі і їх паролі:

Отримання у відкритому вигляді паролів користувачів, авторизованих в windows, windows для системних

Як ви бачите, нічого складного.

Отримання паролів з файлів віртуальних машини і файлів глибокого сну

Йдемо далі. За допомогою простих маніпуляцій зловмисник може запросто отримати паролі користувачів з файлів дампов пам'яті, файлу гібернації системи і .vmem файлів віртуальних машин (файли підкачки віртуальних машин і їх снапшоти).

Для цього знадобиться пакет Debugging Tool for Windows (WinDbg). сам mimikatz і утиліта перетворення .vmem в файл дампа пам'яті (для Hyper-V це може бути vm2dmp.exe або MoonSols Windows Memory toolkit для vmem файлів VMWare).

Наприклад, в разі необхідності перетворити файл підкачки vmem віртуальної машини VMWare в дамп, виконаємо команду:

Отриманий дамп завантажуємо в WinDbg (File -> Open Crash Dump), завантажуємо бібліотеку mimikatz з ім'ям mimilib.dll (версію вибрати залежно від розрядності системи):

Шукаємо в дампі процес lsass.exe:

І нарешті, набираємо

і отримуємо список користувачів Windows і їх паролі у відкритому вигляді:

Отримання у відкритому вигляді паролів користувачів, авторизованих в windows, windows для системних

Примітка. До речі кажучи, функціонал mimikatz вже впроваджений в Metasploit Framework.

Чи можливо захиститися від отримання пароля через mimikatz?

В якості тимчасового рішення можна запропонувати відключити постачальника безпеки wdigest через реєстр. Для цього в гілці HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa знайдіть ключ Security Package s і видалити зі списку пакетів рядок wdigest.

Отримання у відкритому вигляді паролів користувачів, авторизованих в windows, windows для системних

Однак потрібно розуміти, що атакуючому, при наявності відповідних прав на реєстр, не важко поміняти повернути настройки назад.

Висновки. Ще раз нагадуємо прописні істини:

  • Як очистити системний диск, видаливши застарілі поновлення в Windows 7 SP1
  • Помилка запуску додатків 0xc0000005 після установки оновлень Windows 7. Частина 3
  • Знову не запускаються програми після установки оновлень в Windows 7. Помилка 0xc0000005
  • Помилка 0хс0000005 і інші проблеми з останніми оновленнями Microsoft
  • Запуск VPN з'єднання до входу в систему Windows

Схожі статті