Содержание статьи
- Разведка
- Сканирование портов
- Точка входа
- Точка опоры
- Продвижение
- Повышение привилегий в Docker
- docker root → drwilliams
- drwilliams → drbrown
- Локальное повышение привилегий
В этом райтапе мы используем уязвимость внедрения команд в Ghostscript с целью фишинга. Также получим сессию в Docker чрез загрузку веб‑шелла и повысим привилегии в Docker через GameOverlay.
Наша цель — получение прав суперпользователя на машине Hospital с учебной площадки Hack The Box. Уровень сложности машины — средний.
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /etc/hosts:
10.10.11.241 hospital.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
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A).
Результат работы скрипта
Нашли множество портов:
- 22 — OpenSSH 9.0p1;
- 53 — DNS;
- 88 — Kerberos;
- 135 — Microsoft RPC;
- 139 — сервис сеансов NetBIOS, NetLogon;
- 389 — LDAP;
- 443 (HTTPS) — веб‑сервер Microsoft IIS/10.0;
- 445 — SMB;
- 464 — служба смены пароля Kerberos;
- 593 (HTTP-RPC-EPMAP) — используется в службах DCOM и Exchange;
- 636 — LDAP с шифрованием SSL или TLS;
- 3268 (LDAP) — нужен для доступа к Global Catalog от клиента к контроллеру;
- 3269 (LDAPS) — нужен для доступа к Global Catalog от клиента к контроллеру через защищенное соединение;
- 5985 — служба удаленного управления WinRM;
- 8080 — веб‑сервер Apache 2.4.55;
- 9389 — веб‑сервер службы AD DS.
В результатах сканирования отмечаем имя хоста и домена, поэтому добавляем наши находки в /etc/hosts:
10.10.11.241 hospital.htb DC.hospital.htb
Затем проверяем сайты на обоих веб‑серверах. И на том и на другом нас встречают формы авторизации.
Главная страница hospital.htb
Главная страница hospital.htb:8080
Точка входа
У нас есть возможность зарегистрироваться, так что обязательно сделаем это. Авторизованному пользователю доступна форма загрузки файлов.
Главная страница hospital.htb:8080
Загружаем тестовый файл без каких‑либо проблем. Если сможем найти этот файл на сервере, то это даст возможность загрузить бэкшелл.
Запрос на загрузку файла