Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ.
Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ 🙂
Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:
– PWN;
– криптография (Crypto);
– cетевые технологии (Network);
– реверс (Reverse Engineering);
– стеганография (Stegano);
– поиск и эксплуатация WEB-уязвимостей;
Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем (ссылка).
Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.
Данная машина имеет IP адрес 10.10.10.204, который я добавляю в /etc/hosts.
10.10.10.207 compromised.htb
Первым делом сканируем открытые порты. Я это делаю с помощью следующего скрипта, принимающего один аргумент – адрес сканируемого хоста:
#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)
nmap -p$ports -A $1
Давайте посмотрим сайт.
Находим только CMS – LiteCart. Давайте просканируем директории, и я делаю это с помощью gobuster.
gobuster dir -t 128 -u http://compromised.htb/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -x html,php
И находим интересную директорию backup, а в ней архив.
Данный архив содержит исходные коды сайта.
Среди данных файлов мы и находим упоминание скрытого на сервере файла.
Файл содержит учетные данные админа.
Авторизуемся.
После изучения данной CMS, находим RCE эксплоит.
Но вот только он не отрабатывает как нужно.
Посмотрим код эксплоита. Используется функция system, которая, возможно, блокируется.
Давайте изменим нагрузку и вызовем phpinfo, чтобы посмотреть заблокированные функции.
И видим большой список таких функций. Для обхода данных блокировок можем использовать этот код. Данный PHP код мы чуть изменим, чтобы сразу выполнять запрошенные команды.
И изменим код эксплоита так, чтобы считать и отправить новый PHP код.
И данный код работает.
Глянем на пользователей и заметим, что у mysql есть bash.
Давайте удобный шелл, для этого используем webwrap.
Так как у mysql есть командная оболочка, то мы можем использовать службу как обычного пользователя, а именно выполняя команды из mysql. Учетные данные для подключения к базе данных должны быть расположены в конфигах.
Теперь, когда мы получили учетные данные, давайте проверим функции mysql.
И давайте сгенерируем SSH ключи и запишем публичный в домашнюю директорию службы с помощью execcmd.
mysql -u root --password=changethis -e "select execcmd('echo ssh-rsa AAAAB3NzaC1yc2EAAAADA/ ... 6GuPNZGryVNovs= ralf@ralf-PC > ~/.ssh/authorizedkeys');"
И заходим по SSH.
И мы можем прочитать логи, где можно поискать пароли.
Попробуем сменить пользователя с найденным паролем.
После длительного изучения машины, была дана подсказка про название машины и использование бэкдоров. Давайте найдем последние измененные файлы.
find . -mtime -100 2>/dev/null
И находим скрытую библиотеку pamunix.so, причем есть такая же, видимо легитимная. Скачиваем этот файл.
scp sysadmin@compromised.htb:/lib/x8664-linux-gnu/security/.pamunix.so ~/tmp/
И закидываем в дизасемблер (я использовал Cutter). Среди строк находим password.
Посмотрим, где эта строка используется.
И видим сравнение пароля с шестнадцатеричными значениями, которые являются половинами строки.
Пробуем данную строку как пароль рута, и удачно авторизуемся.
Apple возобновила переговоры с OpenAI о возможности внедрения ИИ-технологий в iOS 18, на основе данной операционной системы будут работать новые…
Конкурсный управляющий российской «дочки» Google подготовил 23 иска к участникам рекламного рынка. Общая сумма исков составляет 16 млрд рублей –…
Google завершил обновление основного алгоритма March 2024 Core Update. Раскатка обновлений была завершена 19 апреля, но сообщил об этом поисковик…
У частных продавцов на Авито появилась возможность составлять текст объявлений с помощью нейросети. Новый функционал доступен в категории «Обувь, одежда,…
24 апреля 2024 года в Москве состоялась церемония вручения наград международного конкурса Workspace Digital Awards. В этом году участниками стали…
27 июня Яндекс проведет гик-фестиваль Young Con для студентов и молодых специалистов, которые интересуются технологиями и хотят работать в IT.…