Writeup Expanse (CodebyGames)
Решение.
Получаем ip на платформе codeby.games
Проводим разведку и сбор информации о цели с помощью nmap.
┌──(root㉿kali)-[~/codeby_game/Expanse]
└─# cat scan.nmap
# Nmap 7.94SVN scan initiated Thu Jun 20 03:45:10 2024 as: nmap -sVC -A -oA scan 192.168.2.12
Nmap scan report for 192.168.2.12
Host is up (0.028s latency).
Not shown: 995 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
80/tcp open http?
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
443/tcp open https?
445/tcp open microsoft-ds?
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose|phone|specialized
Running (JUST GUESSING): Microsoft Windows 2016|2012|2022|Phone|7 (97%)
OS CPE: cpe:/o:microsoft:windows_server_2016 cpe:/o:microsoft:windows_server_2012:r2 cpe:/o:microsoft:windows cpe:/o:microsoft:windows_7
Aggressive OS guesses: Microsoft Windows Server 2016 (97%), Microsoft Windows Server 2012 or Windows Server 2012 R2 (91%), Microsoft Windows Server 2022 (91%), Microsoft Windows Phone 7.5 or 8.0 (88%), Microsoft Windows Server 2012 R2 (87%), Microsoft Windows Embedded Standard 7 (87%)
No exact OS matches for host (test conditions non-ideal).
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_smb2-time: Protocol negotiation failed (SMB2)
TRACEROUTE
HOP RTT ADDRESS
1 27.86 ms 192.168.2.12
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Thu Jun 20 03:49:36 2024 — 1 IP address (1 host up) scanned in 265.33 seconds
При переходе можем наблюдать главную страницу сервера IIS, больше информации нет.
Во время поиска скрытых директорий мы можем обнаружить, вход в Windows PowerShell Web Access. Для того, что бы найти скрытые директории воспользуемся программой для Fazzing.
dirsearch -u https://192.168.2.12 -w /usr/share/wordlists/seclists/Fuzzing/fuzz-Bo0oM.txt -x 403,404,301 -r -R 3
Но для того, что бы попасть в консоль нам необходимо иметь УЗ пользователя с такими правами.
Теперь имея точку входа, нам необходимо найти пользователей, для этого мы воспользуемся программой NetExec, которую найти можно здесь. И проверим нашу целевую машину на вход с нулевой сессией, с помощью команды.
После чего мы пробуем запросить список всех пользователей домена, следующей командой.
Как только программа закончит свою работу, собираем всех пользователей в отдельный файл и после генерируем данный список в разных регистрах и вариантах написания.
После генерации списка проверяем пользователей на валидность с помощью программы kerbrute и следующей команды.
./kerbrute_linux_amd64 userenum --dc 192.168.2.12 -d codeby.cdb users.txt
Теперь имея подтверждение какие пользователи у нас являются валидными, мы можем попробовать провести атаку типа ASRepRoast.
impacket-GetNPUsers -no-pass -usersfile ./users.txt codeby.cdb/ -dc-ip 192.168.2.12
Так мы получим УЗ первого пользователя в шифрованном виде. Далее отправляем полученные данные на перебор в одну из программ JHR/Hashcat и получаем пароль в открытом виде. После чего смотрим какой статус у нашего пользователя.
Определив статус пользователя нам необходимо понять куда двигаться дальше. Один из вариантов это проверить права входа в Windows PowerShell Web Access.
Но что если этот не тот пользователь и у него нет прав доступа к консоли?
Попробуем получить еще информацию, а именно проведем осмотр общих папок или как принято их называть шары, введя следующую команду.
Теперь нам необходимо подключиться к одной из шар, для этого у нас есть специальный скрипт входящий в состав программы impacket.
Проводим осмотр данной шары и там мы увидим несколько интересных файлов, которые необходимо будет скачать и просмотреть. В одном из файлов вы обнаружите вторую УЗ, с которой уже сможете подключиться к Windows PowerShell Web Access. После того как вы это сделаете, вы получите первую часть флага.
Повышение привилегий.
Для дальнейших шагов, а именно поднятия прав нам необходимо ознакомиться еще с одним вектором атаки. Для этого необходимо будет ознакомиться с такими вещами как Account Operators и LAPS, прочитать можно здесь и здесь.
Так же вы сможете найти необходимый инструмент здесь.