Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В этой статье мы атакуем приложение через уязвимость в electron-builder, поработаем с базой данных Redis и расшифруем пароль от Kanban. Все эти вещи встретятся нам при прохождении средней по сложности машины с площадки Hack The Box под названием Atom. Приступим!
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем в /etc/hosts
IP машины:
10.10.10.234 schooled.htb
И сканируем ее порты в два прохода при помощи Nmap:
#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1
Результат работы скрипта
Находим шесть открытых портов:
Раз есть сайт, начинать осмотр нужно именно с него. Здесь могут найтись и точки входа в виде разных уязвимостей, и просто важная инфа — к примеру, имена пользователей. И конечно, осмотр сайта дает возможность понять, с какими технологиями придется столкнуться.
Стартовая страница сайта
На первый взгляд, ничего интересного на сайте нет, кроме возможности скачать архив с каким‑то программным обеспечением.
Теперь проверяем, что нам может дать SMB. Подключившись к нему, находим общую директорию Software_Updates
, которая доступна без авторизации. И c помощью SMBMap сразу просматриваем рекурсивно все содержимое (опция -R
).
smbmap -H atom.htb -u anonymous
Проверка анонимного доступаsmbmap -H atom.htb -u anonymous -R Software_Updates
Получение содержимого общего ресурса Software_Updates
Нам доступны три однотипно названные директории client
, а также файл UAT_Testing_Procedures.pdf
. Давай‑ка скачаем его посмотреть. Для этого будем использовать smbclient
.
smbclient "\10.10.10.237Software_Updates"get UAT_Testing_Procedures.pdf
Получение файла UAT_Testing_Procedures.pdf
Содержимое файла UAT_Testing_Procedures.pdf
Документ — это описание приложения для создания заметок под названием Heed. А разработан этот Heed с помощью electron-builder. Также в документе отмечен план перехода от одноуровневого толстого клиента на полноценную двухуровневую архитектуру.
Что очень важно, в документации изложена и техническая сторона работы с приложением. Так, в начале работы программу требуется скомпилировать и установить. Затем упоминается сервер обновлений. Чтобы обновиться, нужно поместить обновления в одну из папок client
(теперь становится понятно их предназначение). При этом обновления будут проходить некую проверку контроля качества. Процесс проверки установленных обновлений нас не интересует.
Здесь уже виден следующий вектор атаки: на сервере работает приложение, которое автоматически обновляется, а мы имеем доступ к директории, откуда оно берет обновления. Нужно лишь разобраться, в каком виде требуется представить обновления, а также что делать с их проверкой.
Источник: xakep.ru