Категория > Новости > HTB Explore. Повышаем привилегии на Android через ADB - «Новости»

HTB Explore. Повышаем привилегии на Android через ADB - «Новости»


7-11-2021, 00:00. Автор: Лука
Hack The Box нечас­то, и это дела­ет задач­ку инте­рес­ной.

warning


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



 

Разведка. Сканирование портов


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


10.10.10.247 explore.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).



HTB Explore. Повышаем привилегии на Android через ADB - «Новости»
Ре­зуль­тат работы скрип­та

Ви­дим все­го два откры­тых пор­та: 2222 (служ­ба SSH) и пока неиз­вес­тный для нас 59777 (на пояс­нение Nmap мож­но не смот­реть, так как он прос­то вывел информа­цию из сво­ей базы). На SSH нам пока делать нечего, у нас нет никаких клю­чей, учет­ных дан­ных и вооб­ще какой‑либо информа­ции для сос­тавле­ния спис­ка паролей. Поэто­му отпра­вим­ся в Google и поищем све­дения про порт 59777.


Уз­наем, что откры­тый порт 59777 содер­жат вер­сии ES File Explorer 4.1.9.5.2 и более ран­ние. ES File Explorer — это пол­нофун­кци­ональ­ный менед­жер фай­лов для Android, и он годит­ся как для локаль­ного, так и для сетево­го исполь­зования.


 

Точка входа. Поиск эксплоитов


Мы узна­ли, какая исполь­зует­ся тех­нология, а это зна­чит, что мож­но поис­кать готовые экс­пло­иты.



Справка: поиск готовых эксплоитов


При пен­тесте луч­ше все­го искать экс­пло­иты при помощи Google, пос­коль­ку этот поис­ковик заг­лядыва­ет и в лич­ные бло­ги, и в самые раз­ные отче­ты. Уско­рят дело спе­циали­зиро­ван­ные базы вро­де Exploit-DB — там час­то мож­но обна­ружить под­ходящие вари­анты. Если ты работа­ешь в спе­циали­зиро­ван­ной ОС вро­де Kali Linux, то эта база у тебя уже есть и для поис­ка мож­но исполь­зовать ути­литу searchsploit.



В Exploit-DB находим го­товый код. Экс­плу­ати­руемая им уяз­вимость носит иден­тифика­тор CVE-2019-6447. Из ее опи­сания узна­ем детали: при­ложе­ние запус­кает на устрой­стве скры­тый HTTP-сер­вер, который поз­воля­ет получить дос­туп к дан­ным дру­гих поль­зовате­лей, под­клю­чен­ных к той же сети в момент запус­ка при­ложе­ния.


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


Тес­товый запуск экс­пло­ита

Ес­ли прос­мотреть код экс­пло­ита, мы смо­жем узнать о сле­дующих под­держи­ваемых коман­дах:




  • listFiles — получить спи­сок фай­лов в дирек­тории;


  • listPics — спи­сок изоб­ражений;


  • listVideos — спи­сок виде­офай­лов;


  • listAudios — спи­сок ауди­офай­лов;


  • listApps — спи­сок уста­нов­ленных при­ложе­ний;


  • listAppsSystem — спи­сок сис­темных при­ложе­ний;


  • listAppsPhone — спи­сок при­ложе­ний для свя­зи;


  • listAppsSdcard — спи­сок при­ложе­ний на кар­те SD;


  • listAppsAll — спи­сок всех при­ложе­ний;


  • getFile — заг­рузить файл с устрой­ства (для это­го, видимо, и нужен тре­тий параметр);


  • getDeviceInfo — получить информа­цию об устрой­стве.


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


python3 50070.py getDeviceInfo explore.htb
По­луче­ние информа­ции об устрой­стве

Ин­форма­ции нем­ного, но видим кор­невую дирек­торию ftpRoot — /sdcard.


 

Точка опоры. Модернизация эксплоита


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


if cmd == cmds[0]:
if len(sys.argv) != 4:
print("[+] Include dir for get list.")
sys.exit(1)
else:
url += sys.argv[3]
Фраг­мент ори­гиналь­ного кода экс­пло­ита
Фраг­мент модер­низиро­ван­ного кода экс­пло­ита

А теперь в треть­ем парамет­ре переда­дим каталог, содер­жимое которо­го мы хотим получить.


python3 50070.py listFiles explore.htb /sdcard
Со­дер­жимое катало­га sdcard
Со­дер­жимое катало­га sdcard (про­дол­жение)

На­ходим файл user.txt, но забирать его пока рано, ведь мы не получи­ли управле­ние. Мож­но пос­мотреть катало­ги заг­рузок (Download) и докумен­тов (Documents), так­же мно­го инте­рес­ного можем най­ти и в кар­тинках. Но спер­ва обра­тим вни­мание на две дирек­тории, дата изме­нения которых отли­чает­ся от осталь­ных: dianxinos и DCIM. В пер­вой ничего инте­рес­ного, а вот в дирек­тории камеры есть инте­рес­ный файл creds.


python3 50070.py listFiles explore.htb /sdcard/DCIM
Со­дер­жимое катало­га DCIM

Эти же фотог­рафии мож­но было обна­ружить с помощью спе­циаль­ной под­держи­ваемой коман­ды listPics.


python3 50070.py listPics explore.htb
Все най­ден­ные изоб­ражения

Заг­рузим инте­ресу­ющее нас изоб­ражение коман­дой getFile.


python3 50070.py getFile explore.htb /sdcard/DCIM/creds.jpg
Заг­рузка фай­ла с устрой­ства

Прос­матри­ваем кар­тинку и находим логин и пароль.


Заг­ружен­ная фотог­рафия

Что харак­терно для такого рода задачек, эта учет­ка под­ходит к SSH. Таким обра­зом мы получа­ем флаг поль­зовате­ля.


Флаг поль­зовате­ля 

Локальное повышение привилегий


Сом­нева­юсь, что скрип­ты для поис­ка путей повыше­ния при­виле­гий вро­де LinPEAS сра­бота­ют на Android, поэто­му я решил про­верять вруч­ную. Пер­вое, на что я обра­тил вни­мание, — это сис­тема, но никаких экс­пло­итов для Android этой вер­сии обна­ружить не уда­лось.


uname -a
Це­левая сис­тема

Перейти обратно к новости