mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
46 lines
6.2 KiB
Markdown
46 lines
6.2 KiB
Markdown
# AD CS Account Persistence
|
||
|
||
{{#include ../../../banners/hacktricks-training.md}}
|
||
|
||
**Це невеликий підсумок розділів про збереження машини з чудового дослідження з [https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf](https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf)**
|
||
|
||
## **Розуміння крадіжки облікових даних активного користувача за допомогою сертифікатів – PERSIST1**
|
||
|
||
У сценарії, де сертифікат, що дозволяє автентифікацію домену, може бути запитаний користувачем, зловмисник має можливість **запитати** та **вкрасти** цей сертифікат, щоб **підтримувати збереження** в мережі. За замовчуванням шаблон `User` в Active Directory дозволяє такі запити, хоча іноді він може бути вимкнений.
|
||
|
||
Використовуючи інструмент під назвою [**Certify**](https://github.com/GhostPack/Certify), можна шукати дійсні сертифікати, які забезпечують постійний доступ:
|
||
```bash
|
||
Certify.exe find /clientauth
|
||
```
|
||
Підкреслюється, що сила сертифіката полягає в його здатності **автентифікуватися як користувач**, якому він належить, незалежно від будь-яких змін пароля, поки сертифікат залишається **дійсним**.
|
||
|
||
Сертифікати можна запитувати через графічний інтерфейс, використовуючи `certmgr.msc`, або через командний рядок з `certreq.exe`. З **Certify** процес запиту сертифіката спрощується наступним чином:
|
||
```bash
|
||
Certify.exe request /ca:CA-SERVER\CA-NAME /template:TEMPLATE-NAME
|
||
```
|
||
Після успішного запиту генерується сертифікат разом з його приватним ключем у форматі `.pem`. Щоб перетворити це в файл `.pfx`, який можна використовувати в системах Windows, використовується наступна команда:
|
||
```bash
|
||
openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx
|
||
```
|
||
Файл `.pfx` потім може бути завантажений на цільову систему і використаний з інструментом під назвою [**Rubeus**](https://github.com/GhostPack/Rubeus) для запиту квитка на отримання квитка (TGT) для користувача, продовжуючи доступ зловмисника на стільки, наскільки сертифікат є **дійсним** (зазвичай один рік):
|
||
```bash
|
||
Rubeus.exe asktgt /user:harmj0y /certificate:C:\Temp\cert.pfx /password:CertPass!
|
||
```
|
||
Важливе попередження стосується того, як ця техніка, в поєднанні з іншим методом, викладеним у розділі **THEFT5**, дозволяє зловмиснику постійно отримувати **NTLM hash** облікового запису без взаємодії з Службою підсистеми локальної безпеки (LSASS) і з не підвищеного контексту, що забезпечує більш прихований метод для тривалого викрадення облікових даних.
|
||
|
||
## **Отримання постійності машини за допомогою сертифікатів - PERSIST2**
|
||
|
||
Інший метод полягає в реєстрації облікового запису машини скомпрометованої системи для сертифіката, використовуючи шаблон за замовчуванням `Machine`, який дозволяє такі дії. Якщо зловмисник отримує підвищені привілеї на системі, він може використовувати обліковий запис **SYSTEM** для запиту сертифікатів, що забезпечує форму **постійності**:
|
||
```bash
|
||
Certify.exe request /ca:dc.theshire.local/theshire-DC-CA /template:Machine /machine
|
||
```
|
||
Цей доступ дозволяє зловмиснику автентифікуватися в **Kerberos** як обліковий запис машини та використовувати **S4U2Self** для отримання квитків сервісу Kerberos для будь-якого сервісу на хості, ефективно надаючи зловмиснику постійний доступ до машини.
|
||
|
||
## **Розширення постійності через оновлення сертифікатів - PERSIST3**
|
||
|
||
Останній обговорюваний метод передбачає використання **термінів дії** та **періодів оновлення** шаблонів сертифікатів. Оновлюючи сертифікат до його закінчення терміну дії, зловмисник може підтримувати автентифікацію в Active Directory без необхідності додаткових реєстрацій квитків, які можуть залишити сліди на сервері сертифікаційного центру (CA).
|
||
|
||
Цей підхід дозволяє використовувати метод **розширеної постійності**, мінімізуючи ризик виявлення через меншу кількість взаємодій з сервером CA та уникаючи генерації артефактів, які можуть сповістити адміністраторів про вторгнення.
|
||
|
||
{{#include ../../../banners/hacktricks-training.md}}
|