[Информационная безопасность, Реверс-инжиниринг, CTF] Hack The Box. Прохождение Compromised. RCE LiteCart и бэкдор pam_unix
Автор
Сообщение
news_bot ®
Стаж: 6 лет 4 месяца
Сообщений: 27286
![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/5fd0bbdeb3c0f02100d53e757e529eab.png)
Продолжаю публикацию решений отправленных на дорешивание машин с площадки 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
![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/0bb554b702be11f1d5509272e533b112.png)
Давайте посмотрим сайт.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/684de681c83608461ada7bcadd35ded8.png)
Находим только 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
![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/30e7b8ee0f2c5353ff19326a551c2813.png)
И находим интересную директорию backup, а в ней архив.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/8ed8ace2c96913524a9fdb4a826a7ea3.png)
Данный архив содержит исходные коды сайта.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/a1842c72c2d001f2ac4b1c2fa7a6dfbd.png)
Среди данных файлов мы и находим упоминание скрытого на сервере файла.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/3ac91081d24ab5b4a669b056d7856abd.png)
Файл содержит учетные данные админа.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/511c7f55cdacab819ec0b2bea718ebf3.png)
Авторизуемся.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/ed43ebc4e07177adc81c6c1772553aa6.png)
Entry PointПосле изучения данной CMS, находим RCE эксплоит.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/e34f6ca349db9641875c292e1baec20c.png)
Но вот только он не отрабатывает как нужно.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/657d5b208a2ae5117bef419e51d1e353.png)
Посмотрим код эксплоита. Используется функция system, которая, возможно, блокируется.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/16d99623a8f5e44a6e80a4b8c92b2795.png)
Давайте изменим нагрузку и вызовем phpinfo, чтобы посмотреть заблокированные функции.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/a000e2afcd8343966ef0133f4144233d.png)
![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/4aa4cd94d57ac3b7e9372005ad84265b.png)
И видим большой список таких функций. Для обхода данных блокировок можем использовать этот код. Данный PHP код мы чуть изменим, чтобы сразу выполнять запрошенные команды.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/8331880ae1ae183aa827cf942297c8f6.png)
И изменим код эксплоита так, чтобы считать и отправить новый PHP код. ![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/2dd41fbc8f99a17fded37226a7c014b0.png)
И данный код работает.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/0a4d481c043858be6f00c0c82c0860a7.png)
Глянем на пользователей и заметим, что у mysql есть bash.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/b17b7df9b356bd6fd43e616c98814a04.png)
Давайте удобный шелл, для этого используем webwrap.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/540e9a47a65383f74a93cb695f05af20.png)
USER1Так как у mysql есть командная оболочка, то мы можем использовать службу как обычного пользователя, а именно выполняя команды из mysql. Учетные данные для подключения к базе данных должны быть расположены в конфигах.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/88bca1fb622a0491f3f65d5c988c54ef.png)
![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/81c6bc5ab89f4192a23482b549ff7073.png)
Теперь, когда мы получили учетные данные, давайте проверим функции mysql.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/e160ca18d260c0a316ada77a3cd34799.png)
И давайте сгенерируем SSH ключи и запишем публичный в домашнюю директорию службы с помощью execcmd.
mysql -u root --password=changethis -e "select execcmd('echo ssh-rsa AAAAB3NzaC1yc2EAAAADA/ ... 6GuPNZGryVNovs= ralf@ralf-PC > ~/.ssh/authorizedkeys');"
И заходим по SSH.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/8dbae83800072abe86719404620274e9.png)
USER2И мы можем прочитать логи, где можно поискать пароли.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/bda21c757d9e3a63f55a6682eb9a4dfe.png)
Попробуем сменить пользователя с найденным паролем.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/220172ca12c5217cf10d96126ef121c3.png)
ROOTПосле длительного изучения машины, была дана подсказка про название машины и использование бэкдоров. Давайте найдем последние измененные файлы.
find . -mtime -100 2>/dev/null
![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/f2221f2a43132106a1ed3081e6bc6b3b.png)
И находим скрытую библиотеку pamunix.so, причем есть такая же, видимо легитимная. Скачиваем этот файл.
scp sysadmin@compromised.htb:/lib/x8664-linux-gnu/security/.pamunix.so ~/tmp/
И закидываем в дизасемблер (я использовал Cutter). Среди строк находим password.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/9c53a9636d411924ab00c81956413cba.png)
Посмотрим, где эта строка используется.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/6bff5b0564dfe8aba7ad3fb8c12161d0.png)
![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/438644835ddeb306b35e990afb4ed2e9.png)
И видим сравнение пароля с шестнадцатеричными значениями, которые являются половинами строки.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/8628f2902e83ff67ccbb27db993e773c.png)
Пробуем данную строку как пароль рута, и удачно авторизуемся.![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/6f4cd52b26effaa1cbd4ecc582f2c73a.png)
===========
Источник:
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
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 04-Июл 23:19
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 4 месяца |
|
![]() Продолжаю публикацию решений отправленных на дорешивание машин с площадки 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 |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 04-Июл 23:19
Часовой пояс: UTC + 5