HTB RouterSpace. Повышаем привилегии через баг в sudo

Содержание статьи

  • Разведка
  • Сканирование портов
  • Точка входа
  • Точка опоры
  • Локальное повышение привилегий

В этом рай­тапе мы про­ана­лизи­руем при­ложе­ние для Android, что­бы най­ти уяз­вимость на сер­вере, а затем повысим при­виле­гии с помощью уяз­вимос­ти в sudo. Наша цель — зах­ватить «лег­кую» машину RouterSpace с пло­щад­ки Hack The Box.

warning

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

 

Разведка

 

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

До­бав­ляем IP-адрес машины в /etc/hosts, что­бы было удоб­нее обра­щать­ся к ней:

10.10.11.148 routerspace.htb

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

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

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

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

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

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

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

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

На­ходим два откры­тых пор­та: 22 — служ­ба SSH, и 80 — веб‑сер­вер. Пер­вым делом, как обыч­но, ищем любую полез­ную информа­цию на сай­те. Дол­го искать не приш­лось — находим ссыл­ку на ска­чива­ние фай­ла APK.

Глав­ная стра­ница сай­та

Мы ска­чали при­ложе­ние для Android, но нуж­на соот­ветс­тву­ющая вир­туаль­ная машина. Я буду исполь­зовать AVD, который вхо­дит в Android Studio. Ниже при­веду эта­пы раз­верты­вания подоб­ной «вир­туал­ки».

 

Точка входа

Пер­вым делом нуж­но выб­рать тип и модель вир­туаль­ного девай­са.

Вы­бор устрой­ства

За­тем накатить нуж­ную вер­сию Android и при­нять кон­фигура­цию по умол­чанию.

Вы­бор вер­сии ПО

Кон­фигура­ции соз­данно­го устрой­ства

Те­перь в менед­жере устрой­ств дол­жна отоб­ражать­ся толь­ко что соз­данная вир­туаль­ная машина.

Ме­нед­жер устрой­ств

Нам необ­ходимо акти­виро­вать режим раз­работ­чика. Для это­го, как и в реаль­ном смар­тфо­не, заходим в нас­трой­ки: System → About и мно­го раз нажима­ем на поле Build number.

В кон­це кон­цов отоб­разит­ся сооб­щение, что режим раз­работ­чика акти­виро­ван. В меню System появит­ся новое меню Developer options.

System → About и новый System

В меню раз­работ­чика сле­дует акти­виро­вать отладку по USB (USB debugging), что­бы мы мог­ли управлять устрой­ством с помощью ADB.

info

Android Debug Bridge (ADB) — это уни­вер­саль­ный инс­тру­мент коман­дной стро­ки, который поз­воля­ет вза­имо­дей­ство­вать с устрой­ством Android. ADB упро­щает выпол­нение раз­личных дей­ствий с устрой­ством, таких как уста­нов­ка и отладка при­ложе­ний, а так­же пре­дос­тавля­ет дос­туп к обо­лоч­ке Unix, которую мож­но исполь­зовать для выпол­нения команд. Под­робнее про ADB читай в статье «Иг­ра всле­пую. Управля­ем Android-смар­тфо­ном через ADB».

Сна­чала пос­мотрим под­клю­чен­ные устрой­ства.

Источник: xakep.ru

Ответить

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