Траблы с ручной эксплуатацией спуфинга sAMAccountName?
Всем Привет! Недавно столкнулся с трудностями эксплуатации ручным способом уязвимости noPac на своих лекциях по атакам на сетевую инфраструктуру. На проектах всего пару раз использовал ручной способ, а так пользовался всегда этим эксплоитом.
Мануал по разбору данной вулны брал с хабра.
Отдельная и большая благодарность @snovvcrash за оперативную помощь в решении вопроса!
Выполнял полностью все в соотвествии с инфструкцией на тачке с HTB. Ниже перечислены шаги, которые я выполнил:
Проверяем сколько тачек можем завести в домене:
Добавляем и проверяем что Машинная УЗ создалась:
Меняем название тачки при помощи скрипта:
Получаем TGT с помощью getTGT.py:
Меняем название тачки при помощи скрипта обратно:
Получаем TGS на Administrator (тут затык, пошел к автору данной статьи - @snovvcrash. Он очень быстро определил в чем была проблема, о которой будет написано немного ниже):
Ничего не получается… Можете не обращать внимание на то, что вылетает у меня ошибка socket error or timeout, потому что хост был доступен, я выполнил попытку доступа через smbclient.py с машины, которая находилась в одной сети с DC, результат оставался такой же - билет невалидный:
А если я эксплуатирую при помощи эксплоита, то все отрабатывает хорошо:
У нас кешируется билетик, который мы можем переиспользовать вручную:
Теперь время описать, что обнаружил @snovvcrash:
- service name неправильно проставляется почему-то, префикс службы CIFS не прописывается должным образом:
- Исследователь обнаружил, что вот в этом коммите сломали предыдущее поведение: https://github.com/ThePorgs/impacket/commit/4dc134e30c0a4011278cdda3f720f0fc1b0764e9
И теперь когда выставляешь флаг -self, надо обязательно указывать явно имя службы:
python3 examples/getST.py -dc-ip 172.16.5.5 -spn 'CIFS/ACADEMY-EA-DC01.INLANEFREIGHT.LOCAL' -altservice 'CIFS/ACADEMY-EA-DC01.INLANEFREIGHT.LOCAL' inlanefreight.local/ACADEMY-EA-DC01 -k -no-pass -impersonate administrator -self
Автор мануала вычислил это через сравнение коммитов:
- После выполнения команды выше, где мы явно прописываем SPN и у нас валидно запрашивается билет, далее мы можем выполнять, например, DCSync атаку:
Еще больше интересных статей в моем ТГ канале: https://t.me/pro_pentest