AD CS Account Persistence
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Це невеликий підсумок розділів про збереження на машині з чудового дослідження з https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf
Розуміння крадіжки облікових даних активного користувача за допомогою сертифікатів – PERSIST1
У сценарії, де сертифікат, що дозволяє автентифікацію домену, може бути запитаний користувачем, зловмисник має можливість запросити та вкрасти цей сертифікат, щоб підтримувати збереження в мережі. За замовчуванням шаблон User
в Active Directory дозволяє такі запити, хоча іноді він може бути вимкнений.
Використовуючи інструмент під назвою Certify, можна шукати дійсні сертифікати, які забезпечують постійний доступ:
Certify.exe find /clientauth
Підкреслюється, що сила сертифіката полягає в його здатності автентифікуватися як користувач, якому він належить, незалежно від будь-яких змін пароля, поки сертифікат залишається дійсним.
Сертифікати можна запитувати через графічний інтерфейс, використовуючи certmgr.msc
, або через командний рядок з certreq.exe
. З Certify процес запиту сертифіката спрощується наступним чином:
Certify.exe request /ca:CA-SERVER\CA-NAME /template:TEMPLATE-NAME
Після успішного запиту сертифікат разом із його приватним ключем генерується у форматі .pem
. Щоб перетворити це в файл .pfx
, який можна використовувати в системах Windows, використовується наступна команда:
openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx
Файл .pfx
можна завантажити на цільову систему та використовувати з інструментом під назвою Rubeus для запиту квитка на отримання квитка (TGT) для користувача, продовжуючи доступ зловмисника на стільки, наскільки сертифікат є дійсним (зазвичай один рік):
Rubeus.exe asktgt /user:harmj0y /certificate:C:\Temp\cert.pfx /password:CertPass!
Важливе попередження стосується того, як ця техніка, в поєднанні з іншим методом, викладеним у розділі THEFT5, дозволяє зловмиснику постійно отримувати NTLM hash облікового запису без взаємодії з Службою підсистеми локальної безпеки (LSASS) і з не підвищеного контексту, що забезпечує більш прихований метод для тривалого викрадення облікових даних.
Отримання постійності машини за допомогою сертифікатів - PERSIST2
Інший метод полягає в реєстрації облікового запису машини скомпрометованої системи для сертифіката, використовуючи шаблон за замовчуванням Machine
, який дозволяє такі дії. Якщо зловмисник отримує підвищені привілеї на системі, він може використовувати обліковий запис SYSTEM для запиту сертифікатів, що забезпечує форму постійності:
Certify.exe request /ca:dc.theshire.local/theshire-DC-CA /template:Machine /machine
Цей доступ дозволяє зловмиснику автентифікуватися в Kerberos як обліковий запис машини та використовувати S4U2Self для отримання квитків служби Kerberos для будь-якої служби на хості, ефективно надаючи зловмиснику постійний доступ до машини.
Розширення постійності через поновлення сертифікатів - PERSIST3
Останній обговорюваний метод полягає у використанні термінів дії та періодів поновлення шаблонів сертифікатів. Поновлюючи сертифікат до його закінчення терміну дії, зловмисник може підтримувати автентифікацію в Active Directory без необхідності додаткових реєстрацій квитків, які можуть залишити сліди на сервері Центру сертифікації (CA).
Поновлення сертифікатів з Certify 2.0
Починаючи з Certify 2.0, процес поновлення повністю автоматизований через нову команду request-renew
. З урахуванням раніше виданого сертифіката (в форматі base-64 PKCS#12) зловмисник може поновити його без взаємодії з оригінальним власником – ідеально для прихованої, довгострокової постійності:
Certify.exe request-renew --ca SERVER\\CA-NAME \
--cert-pfx MIACAQMwgAYJKoZIhvcNAQcBoIAkgA... # original PFX
Команда поверне новий PFX, який дійсний ще на один повний термін, що дозволяє вам продовжувати автентифікацію навіть після того, як перший сертифікат закінчує термін дії або відкликується.
References
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.