Эксплуатация уязвимости LFI и SSRF

Эксплуатация уязвимости SSRF и LFI

Мы уже рассказывали про SSRF-атаку при прохождении HTB Health. В этой статье продолжим тему SSRF и на примере прохождения средней по сложности уязвимой машины Awkward с пло­щад­ки Hack The Box, рассмотрим эксплуатацию уязвимости SSRF и LFI .

Еще по теме: Топовые инструменты для поиска уязвимостей сайтов

Эксплуатация уязвимости SSRF и LFI

Лучше подключаться к машине HTB с помощью VPN. Подробнее в статье «Как подключиться и использовать Hack The Box».

SSRF

SSRF — это ата­ка на сер­вер, в резуль­тате которой зло­умыш­ленник получа­ет воз­можность отправ­лять зап­росы от име­ни ском­про­мети­рован­ного хос­та. SSRF может быть исполь­зована в DoS-кам­пани­ях для мас­киров­ки реаль­ного источни­ка ата­ки. В таких слу­чаях уяз­вимый хост выс­тупа­ет в качес­тве прок­си‑сер­вера.

Итак, в предыдущей статье мы провели провели разведку, обошли аутен­тифика­цию веб‑при­ложе­ния и помимо прочего обнаружили в Burp History API — store-status. Этот эндпо­инт при­нима­ет в качес­тве парамет­ра URL и воз­вра­щает содер­жимое стра­ницы.

Burp Repeater — зап­рос к API
Burp Repeater — зап­рос к API

Это типич­ная уяз­вимость SSRF, поэто­му, исполь­зуя Burp Intruder, прос­каниру­ем внут­ренние сер­висы на раз­ных пор­тах. Будем переби­рать номер пор­та.

Burp Intruder — вклад­ка Positions
Burp Intruder — вклад­ка Positions

 

Burp Intruder — вклад­ка Payloads
Burp Intruder — вклад­ка Payloads

 

Burp Intruder — резуль­тат перебо­ра
Burp Intruder — резуль­тат перебо­ра

В ито­ге находим внут­ренние сер­висы на пор­тах 3002 и 8080. На пер­вом обна­ружи­ваем еще один API.

Со­дер­жимое стра­ницы на пор­те 3002
Со­дер­жимое стра­ницы на пор­те 3002

Да­вай­те иссле­дуем эти API.

LFI

В API all-leave находим вызов фун­кции exec, которая выпол­няет коман­ду awk с поль­зователь­ским вво­дом (имя поль­зовате­ля из токена). Вызову пред­шес­тву­ет филь­тра­ция поль­зователь­ско­го вво­да по ука­зан­ному чер­ному спис­ку сим­волов.

Ис­ходный код API all-leave
Ис­ходный код API all-leave

 

Вы­зов API от име­ни поль­зовате­ля bean.hill
Вы­зов API от име­ни поль­зовате­ля bean.hill

Эти сим­волы меша­ют нам перей­ти к инъ­екции про­изволь­ных команд ОС, но мы можем внед­рить путь и получить содер­жимое про­изволь­ного фай­ла. Что­бы получить содер­жимое фай­ла /etc/passwd, исполь­зуем в качес­тве име­ни поль­зовате­ля в токене пос­ледова­тель­ность

Соз­дание JWT
Соз­дание JWT
Со­дер­жимое фай­ла /etc/passwd
Со­дер­жимое фай­ла /etc/passwd

Те­перь подума­ем, какие фай­лы могут содер­жать важ­ные для прод­вижения дан­ные.

user

Пер­вым делом я попытал­ся про­читать при­ват­ный ключ поль­зовате­ля, но такого в сис­теме не ока­залось. Идея с исто­рией команд bash так­же потер­пела неуда­чу. А вот файл .bashrc, который пред­став­ляет собой скрипт, запус­кающий­ся каж­дый раз, ког­да поль­зователь откры­вает новую коман­дную обо­лоч­ку, показал нам файл с инте­рес­ным наз­вани­ем.

Со­дер­жимое фай­ла .bashrc
Со­дер­жимое фай­ла .bashrc

Чи­таем скрипт для бэкапа рабоче­го катало­га поль­зовате­ля.

Со­дер­жимое фай­ла backup_home.sh
Со­дер­жимое фай­ла backup_home.sh

Этот скрипт откры­вает нам мес­тополо­жение фай­ла бэкапа, который мы, конеч­но же, ска­чива­ем.

`’/ /home/bean/Documents/backup/bean_backup_final.tar.gz ‘

В надеж­де най­ти какие‑нибудь замет­ки или кон­фиги с учет­ными дан­ными ищем все упо­мина­ния име­ни поль­зовате­ля по всем фай­лам в архи­ве.

По­иск подс­тро­ки bean
По­иск подс­тро­ки bean

Ви­дим инте­рес­ную стро­ку в фай­ле content-DS1ZS1. Теперь про­чита­ем дан­ный файл, что­бы понимать кон­текст.

Со­дер­жимое фай­ла content-DS1ZS1
Со­дер­жимое фай­ла content-DS1ZS1

Это спи­сок задач, а вни­зу видим логин и най­ден­ную ранее стро­ку. Пред­полага­ем, что это пароль, и авто­ризу­емся по SSH.

Эксплуатация уязвимости SSRF и LFI
Флаг поль­зовате­ля

Заключение

Итак, мы смогли проэсплуатацировать уязвимости SSRF и LFI. В следующей статье, в рамках прохождения Awkward с пло­щад­ки Hack The Box, мы будем искать способы повышения привилегий.

ПОЛЕЗНЫЕ ССЫЛКИ:

ВКонтакте
OK
Telegram
WhatsApp
Viber

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *