Ког­да NFS исполь­зует AUTH_SYS, сер­вер доверя­ет UID и GID, которые сооб­щает кли­ент, что мож­но прев­ратить в обход прав дос­тупа. Сегод­ня покажу, как через тун­нель доб­рать­ся до внут­ренне­го NFS-ресур­са, выдать себя за нуж­ную груп­пу, заб­рать сер­тифика­ты для Docker и под­делать кли­ент­ский серт.

По пути получим пер­вую сес­сию через уяз­вимый pgAdmin, най­дем учет­ные дан­ные в окру­жении, перех­ватим пароль LDAP из панели само­обслу­жива­ния паролей, про­чита­ем пароль управля­емой сер­висной учет­ной записи и в финале исполь­зуем пра­ва на центр сер­тифика­ции Active Directory для получе­ния дос­тупа адми­нис­тра­тора домена. Будет весело!

На­ша конеч­ная цель — получить пра­ва супер­поль­зовате­ля на машине Fries с учеб­ной пло­щад­ки Hack The Box. Уро­вень задания — слож­ный, опе­раци­онная сис­тема — Windows.

warning

Под­клю­чать­ся к машинам с HTB рекомен­дует­ся с при­мене­нием средств ано­ними­зации и вир­туали­зации. Не делай это­го с компь­юте­ров, где есть важ­ные для тебя дан­ные, так как ты ока­жешь­ся в общей сети с дру­гими учас­тни­ками.

 

Разведка

 

Сканирование портов

До­бав­ляем IP-адрес машины в /etc/hosts:

10.129.244.72 fries.htb

На этот раз, помимо IP-адре­са машины, нам выдали еще и какие‑то учет­ные дан­ные.

Информация о машине
Ин­форма­ция о машине

За­пус­каем ска­ниро­вание пор­тов.

Справка: сканирование портов

Ска­ниро­вание пор­тов — стан­дар­тный пер­вый шаг при любой ата­ке. Оно поз­воля­ет ата­кующе­му узнать, какие служ­бы на хос­те при­нима­ют соеди­нение. На осно­ве этой информа­ции он выбира­ет сле­дующий шаг к получе­нию точ­ки вхо­да.

Са­мый извес­тный инс­тру­мент для ска­ниро­вания — это Nmap. Улуч­шить резуль­таты его работы ты можешь при помощи такого скрип­та:

#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '
' ',' | sed s/,$//)
nmap -p$ports -A $1

Он дей­ству­ет в два эта­па. На пер­вом выпол­няет­ся обыч­ное быс­трое ска­ниро­вание, на вто­ром — более тща­тель­ное, с исполь­зовани­ем встро­енных скрип­тов (опция -A).

Под­робнее про работу с Nmap читай в статье «Nmap с самого начала. Осва­иваем раз­ведку и ска­ниро­вание сети».

Результат работы скрипта
Ре­зуль­тат работы скрип­та

Ска­нер нашел 16 откры­тых пор­тов:

  • 22 — служ­ба OpenSSH 8.9p1;
  • 80 (HTTP) — веб‑сер­вер Nginx 1.18.0;
  • 88 — Kerberos;
  • 135 — Microsoft RPC;
  • 139 — служ­ба сеан­сов NetBIOS, NetLogon;
  • 389 — LDAP;
  • 443 (HTTPS) — веб‑сер­вер Nginx 1.18.0;
  • 445 — SMB;
  • 464 — служ­ба сме­ны пароля Kerberos;
  • 593 (HTTP-RPC-EPMAP) — исполь­зует­ся в служ­бах DCOM и Microsoft Exchange;
  • 636 — LDAP с шиф­ровани­ем SSL или TLS;
  • 2179 — неопоз­нанная служ­ба;
  • 3268 (LDAP) — для дос­тупа к гло­баль­ному катало­гу с кли­ента к кон­трол­леру домена;
  • 3269 (LDAPS) — для дос­тупа к гло­баль­ному катало­гу с кли­ента к кон­трол­леру домена через защищен­ное соеди­нение;
  • 5985 — WinRM;
  • 9389 — веб‑служ­бы AD DS.

Пер­вым делом про­веря­ем выдан­ные учет­ные дан­ные в домене.

nxc smb fries.htb -u 'd.cooper' -p 'D4LE11maan!!'
Проверка учетных данных
Про­вер­ка учет­ных дан­ных

Вы­ясня­ем, что учет­ная запись отно­сит­ся к какому‑то сай­ту.

Главная страница сайта
Глав­ная стра­ница сай­та
 

Точка входа

На пор­те 443 нас­тро­ен редирект на адрес pwm.fries.htb, поэто­му обно­вим запись в фай­ле /etc/hosts и откро­ем новый сайт.

10.129.244.72 dc01 dc01.fries.htb pwm.fries.htb fries.htb
Страница авторизации pwm.fries.htb
Стра­ница авто­риза­ции pwm.fries.htb

При попыт­ке авто­ризо­вать­ся в сер­висе с выдан­ной учет­ной записью воз­ника­ет ошиб­ка, которая рас­кры­вает домен­ного поль­зовате­ля svc_infra.

Ошибка 5017
Ошиб­ка 5017

Нам уже извес­тно нес­коль­ко доменов, так что поп­робу­ем перебо­ром най­ти еще. Для ска­ниро­вания под­доменов исполь­зуем ffuf.

Справка: сканирование веба c ffuf

Од­но из пер­вых дей­ствий при тес­тирова­нии безопас­ности веб‑при­ложе­ния — это ска­ниро­вание методом перебо­ра катало­гов, что­бы най­ти скры­тую информа­цию и недос­тупные обыч­ным посети­телям фун­кции. Для это­го мож­но исполь­зовать прог­раммы вро­де dirsearch и DIRB.

Я пред­почитаю лег­кий и очень быс­трый ffuf. При запус­ке ука­зыва­ем сле­дующие парамет­ры:

  • -u — URL;
  • -w — сло­варь (я исполь­зую сло­вари из набора SecLists);
  • -t — количес­тво потоков;
  • -fc — исклю­чить из резуль­тата отве­ты с кодом 403;
  • -H — HTTP-заголо­вок.

Мес­то перебо­ра помеча­ем сло­вом FUZZ.

Под­робнее о веб‑фаз­зинге читай в статье «Веб‑фаз­зинг с самого начала. Учим­ся переби­рать катало­ги и искать скры­тые фай­лы на сай­тах».

За­даем парамет­ры и запус­каем:

ffuf -u 'http://fries.htb/' -H 'Host: FUZZ.fries.htb' -w subdomains-bitquark-top100000.txt -t 128
Результат сканирования поддоменов
Ре­зуль­тат ска­ниро­вания под­доменов

В вывод попада­ют все вари­анты из спис­ка, поэто­му отфиль­тру­ем резуль­таты по коду отве­та (параметр -fc).

ffuf -u 'http://fries.htb/' -H 'Host: FUZZ.fries.htb' -w subdomains-bitquark-top100000.txt -t 128 -fc 302
Результат сканирования поддоменов
Ре­зуль­тат ска­ниро­вания под­доменов

Так мы находим еще один под­домен — code, поэто­му сно­ва обновля­ем запись в /etc/hosts. По новому адре­су нас встре­чает GitLab.

10.129.244.72 dc01 dc01.fries.htb pwm.fries.htb code.fries.htb fries.htb
Пользователи GitLab
Поль­зовате­ли GitLab

Вы­дан­ные учет­ные дан­ные под­ходят и здесь. Нам дос­тупен один репози­торий.

Список репозиториев
Спи­сок репози­тори­ев

В опи­сании репози­тория находим еще один под­домен — db-mgmt05.fries.htb, поэто­му обновля­ем запись в /etc/hosts.

10.129.244.72 dc01.fries.htb pwm.fries.htb code.fries.htb db-mgmt05.fries.htb fries.htb
Содержимое README
Со­дер­жимое README

Изу­чив исто­рию ком­митов, находим в фай­ле .env учет­ные дан­ные для под­клю­чения к базе дан­ных PostgreSQL.

История коммитов
Ис­тория ком­митов

На новом домене нас встре­чает pgAdmin.

Страница авторизации pgAdmin
Стра­ница авто­риза­ции pgAdmin

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    1 Комментарий
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии