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

Hack The Box. ПрохождениеCompromised. RCE LiteCart и бэкдор pam_unix

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

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

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

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

- PWN;

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

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

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

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

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

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

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

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

Recon

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

10.10.10.207compromised.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

Давайте посмотрим сайт.

Находим только CMS - LiteCart. Давайте просканируем директории, и я делаю это с помощью gobuster.

gobuster dir -t 128 -u http://compromised.htb/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -x html,php

И находим интересную директорию backup, а в ней архив.

Данный архив содержит исходные коды сайта.

Среди данных файлов мы и находим упоминание скрытого на сервере файла.

Файл содержит учетные данные админа.

Авторизуемся.

Entry Point

После изучения данной CMS, находим RCE эксплоит.

Но вот только он не отрабатывает как нужно.

Посмотрим код эксплоита. Используется функция system, которая, возможно, блокируется.

Давайте изменим нагрузку и вызовем phpinfo, чтобы посмотреть заблокированные функции.

И видим большой список таких функций. Для обхода данных блокировок можем использовать этот код. Данный PHP код мы чуть изменим, чтобы сразу выполнять запрошенные команды.

И изменим код эксплоита так, чтобы считать и отправить новый PHP код.

И данный код работает.

Глянем на пользователей и заметим, что у mysql есть bash.

Давайте удобный шелл, для этого используем webwrap.

USER1

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

Теперь, когда мы получили учетные данные, давайте проверим функции mysql.

И давайте сгенерируем SSH ключи и запишем публичный в домашнюю директорию службы с помощью execcmd.

mysql -u root --password=changethis -e "select execcmd('echo ssh-rsa AAAAB3NzaC1yc2EAAAADA/ ... 6GuPNZGryVNovs= ralf@ralf-PC > ~/.ssh/authorizedkeys');"

И заходим по SSH.

USER2

И мы можем прочитать логи, где можно поискать пароли.

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

ROOT

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

find . -mtime -100 2>/dev/null

И находим скрытую библиотеку pamunix.so, причем есть такая же, видимо легитимная. Скачиваем этот файл.

scp sysadmin@compromised.htb:/lib/x8664-linux-gnu/security/.pamunix.so ~/tmp/

И закидываем в дизасемблер (я использовал Cutter). Среди строк находим password.

Посмотрим, где эта строка используется.

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

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

Источник: habr.com
К списку статей
Опубликовано: 23.01.2021 20:10:06
0

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

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

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

Реверс-инжиниринг

Ctf

Ralf_rt

Redteam

Pentest

Pentesting

Hackthebox

Red team

Категории

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

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