Мы поговорим о NTLM, SSO- аутентификации и об эксплуатации pass-the-hash техники. Плюс обсудим методы защиты, которые пришли к нам с новейшими версиями ОС.
2. about
- пентестер (Web, EBA, MS nets)
- рубрика “Easy Hack” (Xakep)
- co-org Defcon Russia, ZeroNights
https://twitter.com/antyurin
agrrrdog@gmail.com
Defcon Russia (DCG #7812) 2
3. NTLM
Defcon Russia (DCG #7812) 3
Как технология
• Хранение паролей в ОС, в ActiveDirectory
• Аутентификация
• Auto Single-Sing-on
Основа атак на windows-сети
4. Почему и Зачем?
Defcon Russia (DCG #7812) 4
• Почти все корпоративные сети построены
на AD и windows
• Низкий уровень знаний админов
• Возможность получить полный контроль
над всем
• Нет реальной возможности полностью
защититься
• Много тонкостей и трюков
5. Хранение
Defcon Russia (DCG #7812) 5
Хранить пароли надо, но хранить
plain-text’ом – плохо
- NT хеш:
MD4(UTF-16-LittleEndian(password))
- LM «хеш» (раньше)
см. далее
6. LM hash
Defcon Russia (DCG #7812) 6
wiki:
• Пароль пользователя как OEM-строка (Россия - cp866) приводится к
верхнему регистру.
• Пароль дополняется нулями или обрезается до 14 байтов
• Получившийся пароль разделяется на две половинки по 7 байтов.
• Эти значения используются для создания двух ключей DES, по
одному для каждой 7-байтовой половинки, рассматривая 7 байтов
как битовый поток и вставляя ноль после каждых 7 битов. Так
создаются 64 бита, необходимые для ключа DES.
• Каждый из этих ключей используется для DES-шифрования ASCII-
строки «KGS!@#$%», получая два 8-байтовых шифрованных
значения.
• Данные шифрованные значения соединяются в 16-байтовое
значение, являющееся LM-хешем.
До Windows Vista/2008 по умолчанию хранятся и LM-хеши
7. NT и LM хеши
Defcon Russia (DCG #7812) 7
• Брутабельно
• Можно использовать «радужные таблицы»
• Сначала LM: по частям и без регистра
Чем: l0phtcrack, Cain, John-the-Ripper,
HashCat…
8. NTLM auth
Defcon Russia (DCG #7812) 8
NTLM v1
1) Когда юзер, хочет подключиться к серверу, то ОС отправляет
запрос на подключение, содержащее имя юзера и домена
2) Сервер генерирует 16-байтовое случайное значение
(challenge) и отправляет его серверу (вместе с информацией об
имени хоста, домена и т.д.)
3) Клиент «хеширует» пароль вместе с challengeм и отправляет
ответ на сервер.
Сервер проводит аналогичное «хеширование» на своей стороне
и сравнивает хеши, определяя возможность доступа юзера.
При аутентификации в домене, сервер передают имя
пользователя, challenge и хеш клиента с третьего шага на
контроллер домена, где и происходит сравнение.
NTLM v2 – похож, добавлен клиентский challenge, для
затруднения брута и защиты от «радужных» таблиц
9. NTLM auth
Defcon Russia (DCG #7812) 9
• Основополагающий протокол виндовой Single-
Sign-on
• Глубокое внедрение:
- Почти любой протокол (http, smb, pop3, ftp…)
- Почти все продукты/технологии M$
- Включена по умолчанию
= Необходимо хранить NT-хеш
*Признан M$ как небезопасный протокол
**Время жизни большое (смена пароля)
10. Где хранить хеши?
Defcon Russia (DCG #7812) 10
В файловой системе:
• Локальный юзеры – SAM файл в каждой ОС
• Доменные юзеры – NTDS.DIT на контроллере домена
• Зашелдуреные таски, сервисы (всё, что с учётками и должно
работать после перезагрузки) - LSA secrets
В оперативной памяти:
• Юзеры с активной сессией в ОС – LSASS (Local System Security
Authority Subsystem)
* На самом деле, Win так же хранят почти «plain-text» пароли и
не NT-хеши паролей, но об этом потом
11. Доступ к хешам. Кто?
Defcon Russia (DCG #7812) 11
• Админ (не ко всему)
• NT AUTHORITYSYSTEM
+ Любой админ – это по сути SYSTEM
+ Любой сервис - это по сути SYSTEM
+ Любой юзер с опред. привилегиями (=~
админ)
= Необходимо поднимать привилегии
12. Доступ к хешам. Чем?
Defcon Russia (DCG #7812) 12
• WCE http://www.ampliasecurity.com/research/wcefaq.html
• Mimikatz https://github.com/gentilkiwi/mimikatz
• Metasploit
• + куууча олдскульных тулз (cain&abel, *dump)
13. Что дальше?
Defcon Russia (DCG #7812) 13
Pass-the-Hash
• Почти все модули Metasploit поддерживают
PtH-аутентификацию (Psexec, shares, ms sql …)
• Xfreerdp для RDP (для Win 8.1, 2012)
• С помощью WCE можно «прошить»
краденный хеш почти в любое приложение
14. PtH. Что можем?
Defcon Russia (DCG #7812) 14
• «Горизонтальное» повышение привилегий
Есть хеш локального админа на одном хосте, он же подходит на другие
* С Windows Vista|2008 – локальный админ по умолчанию отключен
DC
* Server =~ server or client computer
** DC – Domain Controller
15. PtH. Что можем?
Defcon Russia (DCG #7812) 15
• Повышение привилегий
Есть хеш локального админа на хосте и из памяти получаем хеш
доменного админа
DC
* Server =~ server or client computer
** DC – Domain Controller
16. PtH. Защита
Defcon Russia (DCG #7812) 16
• Полная - отсутствует
• Есть возможность защититься при
комплексном подходе:
- Ограничить использование
привилегированных учёток
- Отключение/запрет на удалённый
доступ локальных
- «Безопасные» методы аутентификации
- фаерволы, патчи…