[Информационная безопасность, Реверс-инжиниринг, CTF] Hack The Box. Прохождение Compromised. RCE LiteCart и бэкдор pam_unix
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :) Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:- PWN;- криптография (Crypto);- cетевые технологии (Network);- реверс (Reverse Engineering); - стеганография (Stegano);- поиск и эксплуатация WEB-уязвимостей;Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем (ссылка).Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.ReconДанная машина имеет 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, а в ней архив.
Данный архив содержит исходные коды сайта.
Среди данных файлов мы и находим упоминание скрытого на сервере файла.
Файл содержит учетные данные админа.
Авторизуемся.
Entry PointПосле изучения данной CMS, находим RCE эксплоит.
Но вот только он не отрабатывает как нужно.
Посмотрим код эксплоита. Используется функция system, которая, возможно, блокируется.
Давайте изменим нагрузку и вызовем phpinfo, чтобы посмотреть заблокированные функции.
И видим большой список таких функций. Для обхода данных блокировок можем использовать этот код. Данный PHP код мы чуть изменим, чтобы сразу выполнять запрошенные команды.
И изменим код эксплоита так, чтобы считать и отправить новый PHP код.
И данный код работает.
Глянем на пользователей и заметим, что у mysql есть bash.
Давайте удобный шелл, для этого используем webwrap.
USER1Так как у mysql есть командная оболочка, то мы можем использовать службу как обычного пользователя, а именно выполняя команды из mysql. Учетные данные для подключения к базе данных должны быть расположены в конфигах.
Теперь, когда мы получили учетные данные, давайте проверим функции mysql.
И давайте сгенерируем SSH ключи и запишем публичный в домашнюю директорию службы с помощью execcmd.
mysql -u root --password=changethis -e "select execcmd('echo ssh-rsa AAAAB3NzaC1yc2EAAAADA/ ... 6GuPNZGryVNovs= ralf@ralf-PC > ~/.ssh/authorizedkeys');"
И заходим по SSH.
USER2И мы можем прочитать логи, где можно поискать пароли.
Попробуем сменить пользователя с найденным паролем.
ROOTПосле длительного изучения машины, была дана подсказка про название машины и использование бэкдоров. Давайте найдем последние измененные файлы.
find . -mtime -100 2>/dev/null
И находим скрытую библиотеку pamunix.so, причем есть такая же, видимо легитимная. Скачиваем этот файл.
scp sysadmin@compromised.htb:/lib/x8664-linux-gnu/security/.pamunix.so ~/tmp/
И закидываем в дизасемблер (я использовал Cutter). Среди строк находим password.
Посмотрим, где эта строка используется.
И видим сравнение пароля с шестнадцатеричными значениями, которые являются половинами строки.
Пробуем данную строку как пароль рута, и удачно авторизуемся.
===========
Источник:
habr.com
===========
Похожие новости:
- [Информационная безопасность, Системное администрирование, DevOps, Kubernetes] Как я сдавал Certified Kubernetes Security
- [Информационная безопасность, Законодательство в IT, Финансы в IT, Звук] «Мир Hi-Fi»: обсуждаем налог на картинку, вендор-локи, атмосферу паранойи и музыкальные ИБ-пасхалки
- [Информационная безопасность, Видеотехника, Умный дом] Сотрудник компании видеонаблюдения взламывал камеры, чтобы шпионить за женщинами
- [Информационная безопасность, Законодательство в IT, Карьера в IT-индустрии, IT-компании, Удалённая работа] Tesla обвиняет Алекса Хатилова в краже данных, программист начал работать в компании 28 декабря, а был уволен 6 января
- [Информационная безопасность, Спортивное программирование] Вердикт WAF, или Что происходило с веб-ресурсами цифровых двойников компаний на The Standoff
- [Информационная безопасность, Законодательство в IT, IT-компании] Эксперты нашли уязвимость в мобильном приложении «Госуслуги Москвы» для Android
- [Информационная безопасность, IT-инфраструктура, Софт, IT-компании] Microsoft рассказала, как хакеры избежали обнаружения при атаке SolarWinds
- [Информационная безопасность] YooMoney (бывшая Yandex.Деньги) плохо борется с мошенниками
- [Информационная безопасность, Расширения для браузеров] Пользователей The Great Suspender предупреждают: контроль над расширением перешёл в руки неизвестным
- [Информационная безопасность, IT-инфраструктура, Управление проектами, Софт] Какие проблемы может выявить аудит прав доступа и что с этим делать
Теги для поиска: #_informatsionnaja_bezopasnost (Информационная безопасность), #_reversinzhiniring (Реверс-инжиниринг), #_ctf, #_ralf_rt, #_redteam, #_pentest, #_pentesting, #_hackthebox, #_red_team, #_ctf, #_informatsionnaja_bezopasnost (
Информационная безопасность
), #_reversinzhiniring (
Реверс-инжиниринг
), #_ctf
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 09:57
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ :) Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:- PWN;- криптография (Crypto);- cетевые технологии (Network);- реверс (Reverse Engineering); - стеганография (Stegano);- поиск и эксплуатация WEB-уязвимостей;Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем (ссылка).Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.ReconДанная машина имеет 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, а в ней архив. Данный архив содержит исходные коды сайта. Среди данных файлов мы и находим упоминание скрытого на сервере файла. Файл содержит учетные данные админа. Авторизуемся. Entry PointПосле изучения данной CMS, находим RCE эксплоит. Но вот только он не отрабатывает как нужно. Посмотрим код эксплоита. Используется функция system, которая, возможно, блокируется. Давайте изменим нагрузку и вызовем phpinfo, чтобы посмотреть заблокированные функции. И видим большой список таких функций. Для обхода данных блокировок можем использовать этот код. Данный PHP код мы чуть изменим, чтобы сразу выполнять запрошенные команды. И изменим код эксплоита так, чтобы считать и отправить новый PHP код. И данный код работает. Глянем на пользователей и заметим, что у mysql есть bash. Давайте удобный шелл, для этого используем webwrap. USER1Так как у mysql есть командная оболочка, то мы можем использовать службу как обычного пользователя, а именно выполняя команды из mysql. Учетные данные для подключения к базе данных должны быть расположены в конфигах. Теперь, когда мы получили учетные данные, давайте проверим функции mysql. И давайте сгенерируем SSH ключи и запишем публичный в домашнюю директорию службы с помощью execcmd. mysql -u root --password=changethis -e "select execcmd('echo ssh-rsa AAAAB3NzaC1yc2EAAAADA/ ... 6GuPNZGryVNovs= ralf@ralf-PC > ~/.ssh/authorizedkeys');"
USER2И мы можем прочитать логи, где можно поискать пароли. Попробуем сменить пользователя с найденным паролем. ROOTПосле длительного изучения машины, была дана подсказка про название машины и использование бэкдоров. Давайте найдем последние измененные файлы. find . -mtime -100 2>/dev/null
И находим скрытую библиотеку pamunix.so, причем есть такая же, видимо легитимная. Скачиваем этот файл. scp sysadmin@compromised.htb:/lib/x8664-linux-gnu/security/.pamunix.so ~/tmp/
Посмотрим, где эта строка используется. И видим сравнение пароля с шестнадцатеричными значениями, которые являются половинами строки. Пробуем данную строку как пароль рута, и удачно авторизуемся. =========== Источник: habr.com =========== Похожие новости:
Информационная безопасность ), #_reversinzhiniring ( Реверс-инжиниринг ), #_ctf |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 09:57
Часовой пояс: UTC + 5