Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP-адрес машины в /
:
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
).
Видим всего два открытых порта: 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 — /
.
Получить список файлов в заданной директории при помощи этого эксплоита не выйдет, поэтому мне пришлось его немного доработать. Для этого нужно просто добавить к 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.
, но забирать его пока рано, ведь мы не получили управление. Можно посмотреть каталоги загрузок (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
Целевая система
|
|