HimeraSearchDB
Carding_EbayThief
triada
CrackerTuch
JustinSun

НОВОСТИ HackTheBox. Прохождение Traverxec. RCE в веб-сервере nostromo, техника GTFOBins

BDFpromo
Оффлайн

BDFpromo

.
.
Регистрация
23.09.18
Сообщения
12.347
Реакции
176
Репутация
0
cv1rl2phuplnxh3mafitonbonxg.png


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

В данной статье получим RCE в веб-сервере nostromo, получим оболочку meterpreter из под активной сессии metasploit, покопаемся в конфигах nostromo, побрутим пароль шифрования SSH ключа и проэксплуатируем технику GTFOBins для повышения привилегий.

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

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

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

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

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

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

Recon


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


10.10.10.165 traverxec.htb

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


masscan -e tun0 -p1-65535,U:1-65535 10.10.10.165 --rate=1000

fjnyt_s0uh92kz_s1gh9hfx6wg8.png


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


nmap -A traverxec.htb -p22,80

vviye568fbxzztimw0crgfelkvg.png


Таким образом мы имеем SSH и веб-сервер Nostromo.

Давайте проверим веб-сервер Nostromo на известные эксплоиты для версии 1.9.6. Для этих целей можно использовать searchsploit, данная программа предоставляет возможность удобной работы с эксплоитами, которые есть в базе .

trg1kl1-jhuy1e-xbol-tvp4ddc.png


Как можно понять из результата, второй эксплоит нам не подходит, а у первого имеется пометка Metasploit, которая говорит о том, что данный модуль реализован для контекста Metasploit Framework.

Entry Point


Загружаем msfconsole и выполним поиск эксплоита.

frk0xh4ycvbvbuuu5a2dppqdsi0.png


Теперь мы знаем полное имя эксплоита и можем его использовать. После загрузки эксплоита просмотрим информацию о нем. Так мы узнаем базовые опции для его использования и описание самого эксплоита.

qtjz5lgkje5eyr5gfakrbenpyys.png


zcobg0enb9nmevjoef5o4edhw3q.png


Отлично! Данный эксплоит подходит для нашей версии nostromo. Задаем базовые опции и проверяем работу эксплоита.

xcwu8qvsmj8xv9emj5w8czqsmei.png


Для удобства работы получим meterpreter оболочку. Для этого отправим сессию работать в фоне — Ctrl+Z и подтверждаем. И если посмотрим работающие сессии, то увидим ту, которую только что свернули.

q6z8ih4_ukj9sb_cx27yj0bvtxs.png


Для получения оболочки meterpreter в работающей сессии можно использовать модуль пост эксплуатации post/multi/manage/shell_to_meterpreter. Быстро использовать этот модуль можно следующим образом.

znfpel4wruv68vmt3mex2lbtsgw.png


Нам сообщают, что оболочка meterpreter открыта во второй сессии. Поэтому запускаем вторую сессию.

sb9qvl7qwj8bd8ihk2ubyuwqu4i.png


USER


И первым делом нужно осмотреться на хосте. Для этого загружаем на машину скрипт перечисления для Linux.

xmwfwg7z4jo7djlzeg3paok4nao.png


Далее вызываем шелл, даем право на исполнение и запускаем скрипт.

btypxmb6ifsxq2bpbanhlvixg0i.png


Анализируя вывод, находим хеш пароля из .htpasswd.

z0p080wkwaiyit1rvpwathmbw1k.png


Далее крутиться вокруг — трата времени… Поняв это и не зная куда идти далее, было принято решение посмотреть конфигурации веб-сервера. Благо директория указана в пути к данному файлу.

gs1a4kocl9nkfdfc_pgr_0rzke4.png


Далее просмотрим файл nhttp.conf.

w_a2vwhedko3pclch6x0qdl5dee.png


Дело в том, что корневая директория в nostromo указывается в файле конфигурации как homedirs_public. То есть это директория public_www. Данная директория расположена в домашней (homedirs — /home) директории пользователя (serveradmin — [email protected]). Обобщая вышесказанное, файл index.html расположен в директории /home/david/public_www. Чтобы пользователи смогли обращаться к данной странице — директория должна иметь права на чтение для всех.

boequtfe3tuoieb2hkikhvu4lzo.png


Догадки подтверждаются. К тому же мы видим какую-то директорию, давайте глянем что там.

qtefqz9je5ncyz7m_srpuqs_3ms.png


Там находим бэкап SSH файлов. Скачаем их.

kfujdyz6tpyctmmnv9iidjp4sxw.png


Разархивируем файлы.

be_zlsvrskmjle3wjuqt7wnwzki.png


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

xpl5b9dszoqgazqhnegdbdpxwhs.png


Но мы можем пробрутить его. Сначала приведем к нужному формату.

opn4ttcwbqy0x2wnh121n7gmx1u.png


Сохраним хеш в файл и пробрутим по словарю rockyou.txt с помощью JohnTheRipper.

5uwagyhwgn3q6wooowuaozoabdo.png


Так мы находим пароль шифрования ключа. С помощью него и ключа подключаемся по SSH.

uwybztn8hjh3wxk3ztlcqehu4yq.png


ROOT


Смотрим, что у нас есть в директории пользователя.

bprwytxtrsoygh1lcrothjokkss.png


В директории bin находим интересные файл. Разберемся, что за скрипт.

qlr8db-h0ei6dh0zoj6zghxba_c.png


Данный скрипт выводить строки после чего из-под sudo выполняет команду, вывод которой передает в cat, что очень интересно. Выполним данную команду и увидим довольно массивный вывод.

yk1ajrab-e0agxgzl62h3io8fjq.png


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

Дело в том, что если мы сожмем окно терминала, и выполним команду без перевода вывода в cat, то вывод автоматически будет направлен в less, откуда мы можем получить шелл используя !/bin/sh. Так как команда выполняется под sudo, мы получим шелл с максимальными привилегиями.

xwdhrig3bezslvukrbvhrhzouzm.png


omjremzjxyv9mucajiqubondkra.png


zkochkpophrr-pb44ne88kxdncq.png


wn5eebic3wywhci2tmaf2whwjxc.png


Так мы получаем пользователя root в системе.

Вы можете присоединиться к нам в . Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.
 
Сверху Снизу