HTB Agile. Ломаем PIN к веб-консоли Flask Werkzeug - «Новости» » Самоучитель CSS
Меню
Наши новости
Учебник CSS

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

Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3

Надо знать обо всем понемножку, но все о немногом.

Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы

Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)

Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода

Самоучитель CSS

Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5

Новости

Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости

Справочник CSS

Справочник от А до Я
HTML, CSS, JavaScript

Афоризмы

Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы

Видео Уроки


Наш опрос



Наши новости

      
      
  • 24 марта 2016, 16:20
8-08-2023, 00:00
HTB Agile. Ломаем PIN к веб-консоли Flask Werkzeug - «Новости»
Рейтинг:
Категория: Новости

Hack The Box. Уро­вень ее слож­ности — сред­ний.

warning


Под­клю­чать­ся к машинам с HTB рекомен­дует­ся толь­ко через VPN. Не делай это­го с компь­юте­ров, где есть важ­ные для тебя дан­ные, так как ты ока­жешь­ся в общей сети с дру­гими учас­тни­ками.



 

Разведка


 

Сканирование портов


До­бав­ляем IP-адрес машины в /etc/hosts:


10.10.11.203 agile.htb

И запус­каем ска­ниро­вание пор­тов.



Справка: сканирование портов


Ска­ниро­вание пор­тов — стан­дар­тный пер­вый шаг при любой ата­ке. Он поз­воля­ет ата­кующе­му узнать, какие служ­бы на хос­те при­нима­ют соеди­нение. На осно­ве этой информа­ции выбира­ется сле­дующий шаг к получе­нию точ­ки вхо­да.


На­ибо­лее извес­тный инс­тру­мент для ска­ниро­вания — это Nmap. Улуч­шить резуль­таты его работы ты можешь при помощи сле­дующе­го скрип­та:


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

Он дей­ству­ет в два эта­па. На пер­вом про­изво­дит­ся обыч­ное быс­трое ска­ниро­вание, на вто­ром — более тща­тель­ное ска­ниро­вание, с исполь­зовани­ем име­ющих­ся скрип­тов (опция -A).



Ре­зуль­тат работы скрип­та

Ска­нер нашел все­го два откры­тых пор­та: 22 — служ­ба OpenSSH 8.9p1 и 80 — веб‑сер­вер Nginx 1.18.0. Как обыч­но в такой ситу­ации, сра­зу идем смот­реть веб.


Глав­ная стра­ница agile.htb

Нас встре­чает стар­товая стра­ница Nginx, а это зна­чит, что основной сайт рас­положен либо в дру­гом катало­ге, либо на дру­гом домене. Поп­робу­ем его най­ти, для это­го прос­каниру­ем катало­ги с помощью feroxbuster.



Справка: сканирование веба c feroxbuster


Од­но из пер­вых дей­ствий при тес­тирова­нии безопас­ности веб‑при­ложе­ния — это ска­ниро­вание методом перебо­ра катало­гов, что­бы най­ти скры­тую информа­цию и недос­тупные обыч­ным посети­телям фун­кции. Для это­го мож­но исполь­зовать прог­раммы вро­де dirsearch, DIRB или ffuf. Я пред­почитаю feroxbuster.


При запус­ке ука­зыва­ем сле­дующие парамет­ры:




  • -u — URL;


  • -w — сло­варь (я исполь­зую сло­вари из набора SecLists);


  • -t — количес­тво потоков;


  • -d — глу­бина ска­ниро­вания.


feroxbuster -uhttp://10.10.11.203/-wdirectory_2.3_medium_lowercase.txt -d 2 -t 256
Ре­зуль­тат ска­ниро­вания катало­гов

В резуль­тате ска­ниро­вания находим редирект на домен superpass.htb. Добав­ляем его в файл /etc/hosts и про­веря­ем.


10.10.11.203 agile.htb superpass.htb
Глав­ная стра­ница сай­та superpass.htb 

Точка входа


На сай­те есть воз­можность зарегис­три­ровать­ся и авто­ризо­вать­ся. Сде­лаем это, что­бы рас­ширить область тес­тирова­ния.


Фор­ма авто­риза­ции

Те­перь нам дос­тупен онлай­новый сер­вис для хра­нения учет­ных дан­ных.


Стра­ница vault

Нам нуж­но про­тес­тировать мак­сималь­но воз­можное чис­ло фун­кций сер­виса. Соз­даем тес­товую запись и экспор­тиру­ем пароли.


Эк­спорт паролей

Файл ска­чива­ется авто­мати­чес­ки, прос­мотрим весь про­цесс в Burp History.


Burp History

Имя фай­ла для ска­чива­ния переда­ется в парамет­ре fn на стра­нице download. Сто­ит про­верить, мож­но ли выпол­нить обход катало­га и получить дру­гой про­изволь­ный файл.


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

По­луча­ем содер­жимое фай­ла /etc/passwd, а это зна­чит, что на сай­те есть уяз­вимость LFI.


 

Точка опоры


 

LFI


Пер­вым делом, ког­да обна­ружи­ваем LFI, нуж­но про­верить все фай­лы, которые могут содер­жать инте­рес­ную информа­цию. На GitHub мож­но най­ти мно­го таких сло­варей, а переби­рать по ним будем с помощью Burp Intruder.


Burp Intruder — вклад­ка Payload positions

В резуль­тате ничего осо­бен­ного не наш­ли, толь­ко из фай­ла /etc/passwd узна­ем о наличии тес­товой вер­сии сай­та на домене test.superpass.htb, а так­же получим перемен­ные окру­жения про­цес­са из фай­ла /proc/self/environ.


Со­дер­жимое фай­ла /etc/hosts
Со­дер­жимое фай­ла /proc/self/environ

Пе­ремен­ные окру­жения рас­кры­ли нам поль­зовате­ля www-data, от име­ни которо­го работа­ет сер­вис. Инте­рес­на и перемен­ная CONFIG_PATH, где ука­зан файл нас­тро­ек /app/config_prod.json. Но при попыт­ке про­читать его получа­ем ошиб­ку Bad Request.


Зап­рос на заг­рузку фай­ла /app/config_prod.json

Иног­да при отоб­ражении оши­бок при­ложе­ние может рас­кры­вать пути к фай­лам, в которых про­изош­ла ошиб­ка. Поэто­му поп­робу­ем ска­чать несущес­тву­ющий файл /etc/qweqweqwe.txt.


Зап­рос на заг­рузку фай­ла /etc/qweqweqwe.txt

При­ложе­ние пре­дос­тавило боль­шой вывод, в котором и при­сутс­тву­ет путь к исполня­емо­му фай­лу сай­та:


/app/app/superpass/views/vault_views.py
Со­дер­жимое фай­ла vault_views.py

Мо­ей пер­вой иде­ей было получить SECRET_KEY от Flask, что­бы мож­но было вруч­ную генери­ровать иден­тифика­торы сес­сии дру­гих поль­зовате­лей и получать сох­ранен­ные пароли. Но в этом слу­чае сек­ретный ключ Flask не был явно задан.


 

Flask Werkzeug


При регис­тра­ции и авто­риза­ции мож­но добить­ся ошиб­ки Flask, что дает нам воз­можность зап­росить дебаг‑кон­соль Werkzeug. Но проб­лема в том, что она защище­на девятиз­начным PIN-кодом.


Стра­ница ошиб­ки Flask Werkzeug
Кон­соль Werkzeug
Цитирование статьи, картинки - фото скриншот - Rambler News Service.
Иллюстрация к статье - Яндекс. Картинки.
Есть вопросы. Напишите нам.
Общие правила  поведения на сайте.

Hack The Box. Уро­вень ее слож­ности — сред­ний. warning Под­клю­чать­ся к машинам с HTB рекомен­дует­ся толь­ко через VPN. Не делай это­го с компь­юте­ров, где есть важ­ные для тебя дан­ные, так как ты ока­жешь­ся в общей сети с дру­гими учас­тни­ками. Разведка Сканирование портов До­бав­ляем IP-адрес машины в /etc/hosts: 10. 10. 11. 203 agile. htb И запус­каем ска­ниро­вание пор­тов. Справка: сканирование портов Ска­ниро­вание пор­тов — стан­дар­тный пер­вый шаг при любой ата­ке. Он поз­воля­ет ата­кующе­му узнать, какие служ­бы на хос­те при­нима­ют соеди­нение. На осно­ве этой информа­ции выбира­ется сле­дующий шаг к получе­нию точ­ки вхо­да. На­ибо­лее извес­тный инс­тру­мент для ска­ниро­вания — это Nmap. Улуч­шить резуль­таты его работы ты можешь при помощи сле­дующе­го скрип­та: ports = $(nmap -p- --min-rate =500 $1 | grep ^_
Просмотров: 1 013
Комментариев: 0:   8-08-2023, 00:00
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

 
Еще новости по теме:



Другие новости по теме: