Заметки сисадмина » Как получить сетевой доступ к Windows от имени другого пользователя не зная пароля

Заметки сисадмина о интересных вещах из мира IT, инструкции и рецензии. Настраиваем Компьютеры/Сервера/1С/SIP-телефонию в Москве

Как получить сетевой доступ к Windows от имени другого пользователя не зная пароля

2021-03-02 · Posted in Хакинг

Сегодня я покажу на примере детали атаки под названием Pass-the-Hash, выполняемой на Windows инфраструктуру. Возможно проведения атаки обусловлена тем, что при сетевом взаимодействии аутентификация производится не по паролю, а по хешу – то есть по сети передаётся именно хеш, что с одной стороны даёт безопасность – ведь пароль остаётся в секрете, а с другой стороны позволяет выполнить какие-то действия от имени произвольного пользователя не зная его пароля, а просто передав его настоящий хеш.

Что потребуется для атаки Pass-the-Hash?

Программное средство – mimikatz, весьма уникальная в своём роде утилита.

Она в исходном своём виде успешно детектируется антивирусами как хакерский софт.

  • не удивляйтесь, если вдруг программка пропадёт из привычного места (см. карантин антивируса).
  • просто так бездумно проводить атаки на чужие защищённые системы не выйдет (атака захлебнётся на подходе). Поэтому подготовим свой стенд без антивирусника.

Потребуется валидный логин и NTLM-хеш. Топология у нас выглядит вот так:

Описание стенда

  1. Сервер развёрнут на Windows Server 2012 R2 Standard, в прочем это не имеет большого значения, атака будет возможна и на версиях младше и старше.
  2. Рабочая станция введена в домен.
  3. В домене имеется глобальный пользователь “admin” с паролем 1qaz@WSX, но мы этого как будто бы не знаем.
  4. В домене создан общедоступный сетевой ресурс, на который разрешён доступ admin, остальные не могут даже просматривать каталог.

И предположим, что нам (по какой-то причине) известен NTLM-хеш пользователя admin. Как его получить? Способов несколько:

  1. Похацкали рабочую станцию и вытащили с неё дамп процесса lsass.exe, из которого вытащили хешированный (да и не только) пароль аутентифицированного доменного пользователя.
  2. Выкачали NTDS и распарсили его при помощи crackmapexec.
  3. Провели атаку прослушивания трафика через Responder.

Да мало ли как ещё.. способов много. Итак, знаем хеш, логин. Попробуем получить доступ к шаре:

Атака Pass-the-Hash

На атакующей системе запустим mimikatz с правами администратора и выполним две команды в его интерактивной среде:

privilege::debug — это получение привилегий, позволяющих вторгаться в память других процессов (например lsass.exe)

sekurlsa::pth /user:admin /domain:LITLADMIN.RU /ntlm:хеш /run:cmd.exe

После предыдущих действий у нас запустится процесс cmd.exe, с токеном пользователя LITLADMIN.RU\admin и от его имени мы без проблем можем подключить сетевой диск на ранее недоступную сетевую папку и посмотреть её содержимое.

Мы могли бы точно так же запустить не cmd.exe, а процесс explorer и работать в проводнике от имени удалённого пользователя без знания его пароля.

Особенно это приятно, когда мы выяснили, что admin входит в группу доменных администраторов :). Вот такие вот дела.

Leave a Reply