RID Hijacking (или “угон RID”) — уязвимость найденная специалистом по безопасности из Колумбии Себастьяном Кастро, которая представляет из себя возможность получить права админа и добиться устойчивого присутствия в системе. Метод основан на подмене одного из параметров учетных записей в системе — относительного идентификатора (RID).
Интересно, что данную уязвимость специалист опубликовал в своем блоге еще в декабре 2017, но новость осталась незамеченной и даже несмотря на то что эксперт отправил в Microsoft отчет сразу после проверки своей теории на практике, ответа он не получил, а патч так и не вышел.
RID — это уникальное порядковое число, присвоенное учетной записи, которое добавляется в конец SID (Security ID). Например RID учетной записи администратора всегда имеет значение 500, а RID для учетной записи гостя имеет значение 501.
Данная атака основана на изменении ключей реестра Windows, что позволяет присвоить идентификатор на любую учетную запись, тем самым предоставляя права, которые привязаны к этому идентификатору(RID). Подобная техника крайне полезна хакерам, которые уже проникли в систему жертвы и пытаются реализовать методы постэксплуатации. Подмена RID позволит запустить вредоносное ПО от имени администратора, даже после перезагрузки ПК. К этой уязвимости подвержены почти все версии Windows — начиная от XP и заканчивая последними обновлениями Windows 10, а также и серверные ОС с Windows Server 2003 до 2016. Пока Microsoft “думает“ над патчем, специалисты подготовили готовый модуль для Metasploit, который доступен в последней версии фреймворка.
Реализация атаки
Атака будет реализована на Kali Linux, а атакуемый будет использовать Windows 7. В первую очередь обновим наш Metasploit командой apt update && apt install metasploit-framework. После запускаем фреймворк командой msfconsole и переходим к модулю для подмены RID.
- GETSYSTEM: если true, попытается получить привилегии SYSTEM
- GUEST_ACCOUNT: если true, будет использовать учетную запись “Гость” для подмены ID
- PASSWORD: если указано, подменит пароль для учетной записи
- RID: RID, который будет присвоен учетной записи
- USERNAME: если указано, будет искать определенную учетную запись пользователя и использовать его для подмены идентификатора, если GUEST_ACCOUNT = true, будет проигнорирован
- SESSION: указать номер сессии Meterpreter (подразумевается, что у нас имеется сессия)
Ссылка скрыта от гостей
. Если атакуемый не подвержен к этому виду атаки используйте любой другой вариант(например реализация уязвимости dde_delivery). Но это уже совсем другая история.В моем примере я реализовал атаку EternalBlue для получения сессии обычного пользователя Windows 7 без прав администратора. Чтобы узнать имя учетной записи жертвы необходимо перейти к shell-оболочке и прописать whoami, либо загрузить mimkatz и прописать команду wdigest (
Ссылка скрыта от гостей
). Далее я использовал опцию background для того, чтобы сессия не закрывалась при выходе из Meterpreter-оболочки и можно было перейти к модулю RID Hijack.
В завершении
Обнаружить данный вид атаки очень непросто, потому что она задействует стандартные ресурсы системы и не привлекает внимание атакуемого. Так как используются механизмы самой ОС, антивирусы, скорее всего, не “учуют” подобный эксплойт. Ну а в логах системы все операции будут фиксироваться как пользовательские.
Результаты своего исследования автор эксплойта представил на нескольких конференциях и отравил отчет представителям Microsoft еще в начале 2018-го, но уязвимость доступна по сей день на последних патчах Windows 10.
Спасибо за внимание.
Ссылки:
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Автор на Youtube