Статья RID Hijacking: повышаем привилегии обычного user до Administrator (rid_hijack, metasploit, Kali Linux)

1540131261883.png

Иногда довольно сложно удержать доступ к машине жертвы после успешного проникновения, особенно если нет возможности выполнить вредоносный код от имени администратора или создать и добавить пользователя в привилегированную группу. Сегодня хотел бы поговорить о методе пост эксплуатации под названием RID Hijacking — уязвимости, которая известна почти год, но патча от Microsoft всё еще нет…

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.

1540131398753.png

Прописываем команду info, чтобы узнать какие опции необходимы для реализации атаки.
  • GETSYSTEM: если true, попытается получить привилегии SYSTEM
  • GUEST_ACCOUNT: если true, будет использовать учетную запись “Гость” для подмены ID
  • PASSWORD: если указано, подменит пароль для учетной записи
  • RID: RID, который будет присвоен учетной записи
  • USERNAME: если указано, будет искать определенную учетную запись пользователя и использовать его для подмены идентификатора, если GUEST_ACCOUNT = true, будет проигнорирован
  • SESSION: указать номер сессии Meterpreter (подразумевается, что у нас имеется сессия)
Так, как это инструмент постэксплуатции, понятное дело, что у нас должна быть готова сессия Meterpreter. О том, как получить сессию с помощью атаки EternalBlue я показывал в одном из . Если атакуемый не подвержен к этому виду атаки используйте любой другой вариант(например реализация уязвимости dde_delivery). Но это уже совсем другая история.

В моем примере я реализовал атаку EternalBlue для получения сессии обычного пользователя Windows 7 без прав администратора. Чтобы узнать имя учетной записи жертвы необходимо перейти к shell-оболочке и прописать whoami, либо загрузить mimkatz и прописать команду wdigest ( ). Далее я использовал опцию background для того, чтобы сессия не закрывалась при выходе из Meterpreter-оболочки и можно было перейти к модулю RID Hijack.

1540131463300.png

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

1540131498688.png

Узнаем RID прописав команду whoami /all в cmd. RID указан в конце Security ID и он равен 1010.

1540131516508.png

Итак, для реализации эксплойта укажем параметры username, password и session, а остальные параметры оставляем дефолтными.

1540131537845.png

Прописываем exploit и скрипт моментально находит учетную запись, меняет RID и изменяет пароль.

1540131554009.png

Теперь необходимо перезайти в пользователя. При входе прописываем пароль “qwerty”, который указывали в опции “password”. Убеждаемся, что RID поменялся: для этого в командной строке прописываем команду whoami /all.

1540131571920.png

Обычный юзер “переобулся” в админа и теперь может запускать программы от имени администратора и например создавать, редактировать, удалять файлы в каталоге system32.

1540131588216.png

Ну и напоследок создаем учетную запись с правами администратора, перезаходим в новую учетку и радуемся полноценной админкой.

1540131615987.png


1540131625839.png

В завершении
Обнаружить данный вид атаки очень непросто, потому что она задействует стандартные ресурсы системы и не привлекает внимание атакуемого. Так как используются механизмы самой ОС, антивирусы, скорее всего, не “учуют” подобный эксплойт. Ну а в логах системы все операции будут фиксироваться как пользовательские.

Результаты своего исследования автор эксплойта представил на нескольких конференциях и отравил отчет представителям Microsoft еще в начале 2018-го, но уязвимость доступна по сей день на последних патчах Windows 10.

Спасибо за внимание.

Ссылки:


Автор на Youtube

1540133470491.png
 
S

SuperViser

You have the right system was that you then sell to us!!!!
 

TrevorReznik

Green Team
27.12.2016
14
21
BIT
0
Статья отличная. Хотелось узнать как работает exploit с учетками на русском и разным регистром. Проверил...Все работает!
 
  • Нравится
Реакции: NeoOne и fallen6601

xpy6a

Member
27.04.2018
6
1
BIT
0
Имеется ли подобный EternalBlue эксплойт для поддержки всех версий винды?
 

Demi

Mod. Ethical Hacking
16.02.2017
124
131
BIT
0
Имеется ли подобный EternalBlue эксплойт для поддержки всех версий винды?

Код:
https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit
Думаю сможешь разобраться как установить, если нет пиши, накатаю статью
посмотреть список ОС которые можно атаковать командой show target
 

xpy6a

Member
27.04.2018
6
1
BIT
0
Код:
https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit
Думаю сможешь разобраться как установить, если нет пиши, накатаю статью
посмотреть список ОС которые можно атаковать командой show target
С этим как раз все понятно, именно вышеуказанный эксплойт я уже использовал удачно. Меня интересует подобный эксплойт для версии windows старше 7-ки, т.е. нужны 10-ки и 2016 сервера. Есть ms17_010, которые до 8-ок и даже 10-ок подходят, но до 16хх билда и, к сожалению, не имеют в базовых опциях нужного функционала, как у ИлевенПасс. Либо я еще не разобрался, в таком случае прошу прощению за беспокойство.
 

Demi

Mod. Ethical Hacking
16.02.2017
124
131
BIT
0
С этим как раз все понятно, именно вышеуказанный эксплойт я уже использовал удачно. Меня интересует подобный эксплойт для версии windows старше 7-ки, т.е. нужны 10-ки и 2016 сервера. Есть ms17_010, которые до 8-ок и даже 10-ок подходят, но до 16хх билда и, к сожалению, не имеют в базовых опциях нужного функционала, как у ИлевенПасс. Либо я еще не разобрался, в таком случае прошу прощению за беспокойство.
worawit/MS17-010
Аналогично, не найдешь как использовать сделаю обзор
 

swagcat228

Заблокирован
19.12.2019
341
86
BIT
0
поясните пожалуйста подробнее за привелегии SYSTEM на видноус-подобных системах.
Разве систем - это не аналог group:wheel:0 на никсе? это же и есть админ?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!