Расматрівая тему вразливостей Windows систем ми продовжимо розповідь про атаках спрямованих на корпоративні мережі порушеної раніше. Дивна річ, але тепер техніка Pass-the-Hash працює і для RDP-підключень. Тобто ми можемо аутентифицироваться за допомогою NTLM-хешу користувача при підключенні по RDP!
З іншого боку, я недавно дізнався, що, виявляється, не всі люди в курсі, що це таке - PtH. А тому коротенько розповім про цю справу.
Отже, почнемо з того, що в ОС Windows розрахована на багато користувачів система і тому їй треба зберігати паролі користувачів. Але зберігати їх у відкритому тексті не секьюрно, а тому їх зберігають захешірованимі. Хешування - це односпрямована функція, за результатом якої можна дізнатися вхідний значення (тобто не можна «розшифрувати»). NT-хеш - це той формат, в якому винда зберігає паролі. Причому підкреслю, що навіть якщо це окремий хост або домен - формат зберігання один.
Другий важливий момент - це глибока підтримка Single Sign-on ( «єдина» автоматична аутентифікація) виндой на базі NTLM-аутентифікації. У ній не передається у відкритому вигляді ні пароль, ні сам NT-хеш. Алгоритм такий: спочатку клієнт надсилає запит на підключення, потім сервер повертає йому випадково сгенеренной послідовність (challenge). Після цього клієнт бере хеш-користувача, з'єднує c challeng'eм, хешірует і відправляє на сервер. Той, в свою чергу, робить те ж саме. І якщо хеши збігаються, то користувач вірний.
Висновком тут буде те, що NT-хеш є повним еквівалентом пароля користувача. Адже майже всі сервіси, які є в екосистемі Windows, підтримують NTLM-аутентифікацію. Наприклад, HTTP, SMB (через який ми можемо підключатися і керувати хостом віддалено), SMTP, FTP, підключення до SQL-сервера і так далі.
Таким чином, захакав якийсь хост в домені, ми можемо отримати хеши користувачів з пам'яті і далі ходити по мережі, аутентіфіціруясь всюди з ними. Це техніка і називається Pass-the-Hash. У підсумку захист домену складається, як картковий будиночок.
Винятком завжди був протокол RDP. Раніше можна було підключитися, лише запровадивши пароль. І це становило проблему, так як дуже часто бувають закриті сегменти (DMZ, наприклад) в корпоративній мережі, де на брандмауера дозволений доступ тільки RDP (щоб адміни могли адмін).