mirror of
				https://github.com/HackTricks-wiki/hacktricks.git
				synced 2025-10-10 18:36:50 +00:00 
			
		
		
		
	Translated ['src/mobile-pentesting/ios-pentesting/ios-universal-links.md
This commit is contained in:
		
							parent
							
								
									dff8b5c34c
								
							
						
					
					
						commit
						0045bb0380
					
				@ -2,15 +2,15 @@
 | 
			
		||||
 | 
			
		||||
{{#include ../../banners/hacktricks-training.md}}
 | 
			
		||||
 | 
			
		||||
## Вступ
 | 
			
		||||
## Introduction
 | 
			
		||||
 | 
			
		||||
Універсальні посилання пропонують **безшовний редирект** для користувачів, безпосередньо відкриваючи контент в додатку, обходячи необхідність редиректу в Safari. Ці посилання є **унікальними** та безпечними, оскільки їх не можуть привласнити інші додатки. Це забезпечується розміщенням файлу `apple-app-site-association` у кореневому каталозі вебсайту, встановлюючи перевіряємий зв'язок між вебсайтом та додатком. У випадках, коли додаток не встановлено, Safari візьме на себе управління і перенаправить користувача на вебсторінку, зберігаючи присутність додатку.
 | 
			
		||||
Універсальні посилання пропонують **безшовний редирект** для користувачів, безпосередньо відкриваючи контент в додатку, обходячи необхідність редиректу в Safari. Ці посилання є **унікальними** та безпечними, оскільки їх не можуть вимагати інші додатки. Це забезпечується розміщенням файлу `apple-app-site-association` у кореневому каталозі вебсайту, встановлюючи перевіряємий зв'язок між вебсайтом та додатком. У випадках, коли додаток не встановлено, Safari візьме на себе управління і перенаправить користувача на вебсторінку, зберігаючи присутність додатку.
 | 
			
		||||
 | 
			
		||||
Для тестувальників на проникнення файл `apple-app-site-association` є особливим інтересом, оскільки він може розкрити **чутливі шляхи**, потенційно включаючи ті, що стосуються не випущених функцій.
 | 
			
		||||
 | 
			
		||||
### **Аналіз прав на асоційовані домени**
 | 
			
		||||
 | 
			
		||||
Розробники активують Універсальні Посилання, налаштовуючи **Асоційовані домени** у вкладці можливостей Xcode або перевіряючи файл `.entitlements`. Кожен домен має префікс `applinks:`. Наприклад, конфігурація Telegram може виглядати наступним чином:
 | 
			
		||||
Розробники активують Універсальні посилання, налаштовуючи **Асоційовані домени** у вкладці можливостей Xcode або перевіряючи файл `.entitlements`. Кожен домен має префікс `applinks:`. Наприклад, конфігурація Telegram може виглядати наступним чином:
 | 
			
		||||
```xml
 | 
			
		||||
<key>com.apple.developer.associated-domains</key>
 | 
			
		||||
<array>
 | 
			
		||||
@ -89,9 +89,9 @@ return false
 | 
			
		||||
| # | Слабкість | Як перевірити | Експлуатація / Вплив |
 | 
			
		||||
|---|----------|------------|-----------------------|
 | 
			
		||||
| 1 | **Занадто широкі `paths` / `components`** у файлі AASA (наприклад, `"/": "*"` або шаблони, такі як `"/a/*"`). | • Перевірте завантажений AASA і шукайте `*`, зайві слеші або правила `{"?": …}`.<br>• Спробуйте запитати невідомі ресурси, які все ще відповідають правилу (`https://domain.com/a/evil?_p_dp=1`). | Викрадення універсальних посилань: шкідливий iOS додаток, який реєструє той же домен, може захопити всі ці посилання та представити фішинговий інтерфейс. Реальний приклад - звіт про баг-баунті Temu.com у травні 2025 року, де зловмисник міг перенаправити будь-який шлях `/a/*` на свій додаток. |
 | 
			
		||||
| 2 | **Відсутня валідація на стороні сервера** глибоких посилань. | Після визначення дозволених шляхів, надішліть запити `curl`/Burp до неіснуючих ресурсів і спостерігайте за кодами статусу HTTP. Будь-який код, крім `404` (наприклад, 200/302), є підозрілим. | Зловмисник може розмістити довільний контент за дозволеним шляхом і подати його через легітимний домен, підвищуючи ймовірність фішингу або крадіжки токенів сесії. |
 | 
			
		||||
| 3 | **Обробка URL на стороні додатка без білого списку схем/хостів** (CVE-2024-10474 – Mozilla Focus < 132). | Шукайте прямі виклики `openURL:`/`open(_:options:)` або JavaScript мости, які пересилають довільні URL. | Внутрішні сторінки можуть підсовувати URL `myapp://` або `https://`, які обходять перевірки безпеки рядка URL браузера, що призводить до підробки або ненавмисних привілейованих дій. |
 | 
			
		||||
| 4 | **Використання шаблонних піддоменів** (`*.example.com`) у праві. | `grep` для `*.` у правах. | Якщо будь-який піддомен буде захоплено (наприклад, через невикористовуване S3 відро), зловмисник автоматично отримає зв'язок універсального посилання. |
 | 
			
		||||
| 2 | **Відсутня валідація на стороні сервера** глибоких посилань. | Після визначення дозволених шляхів, надішліть запити `curl`/Burp до неіснуючих ресурсів і спостерігайте за кодами статусу HTTP. Будь-який код, крім `404` (наприклад, 200/302), є підозрілим. | Зловмисник може розмістити довільний контент за дозволеним шляхом і надавати його через легітимний домен, підвищуючи ймовірність фішингу або крадіжки токенів сесії. |
 | 
			
		||||
| 3 | **Обробка URL на стороні додатка без білого списку схем/хостів** (CVE-2024-10474 – Mozilla Focus < 132). | Шукайте прямі виклики `openURL:`/`open(_:options:)` або JavaScript мости, які пересилають довільні URL. | Внутрішні сторінки можуть підсовувати URL `myapp://` або `https://`, які обходять перевірки безпеки рядка URL браузера, що призводить до спуфінгу або ненавмисних привілейованих дій. |
 | 
			
		||||
| 4 | **Використання піддоменів з шаблоном** (`*.example.com`) у праві. | `grep` для `*.` у правах. | Якщо будь-який піддомен буде захоплено (наприклад, через невикористовуване S3 відро), зловмисник автоматично отримує зв'язок з універсальним посиланням. |
 | 
			
		||||
 | 
			
		||||
### Швидкий контрольний список
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -12,7 +12,7 @@
 | 
			
		||||
```
 | 
			
		||||
## Як працює MSRPC?
 | 
			
		||||
 | 
			
		||||
Ініційований клієнтським додатком, процес MSRPC включає виклик локальної стуб-процедури, яка взаємодіє з бібліотекою виконання клієнта для підготовки та передачі запиту на сервер. Це включає перетворення параметрів у стандартний формат представлення даних мережі. Вибір транспортного протоколу визначається бібліотекою виконання, якщо сервер віддалений, що забезпечує доставку RPC через мережевий стек.
 | 
			
		||||
Ініційований клієнтським додатком, процес MSRPC включає виклик локальної стуб-процедури, яка потім взаємодіє з бібліотекою виконання клієнта для підготовки та передачі запиту на сервер. Це включає перетворення параметрів у стандартний формат представлення даних мережі. Вибір транспортного протоколу визначається бібліотекою виконання, якщо сервер віддалений, що забезпечує доставку RPC через мережевий стек.
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
@ -40,32 +40,32 @@ rpcdump.py <IP> -p 135
 | 
			
		||||
 | 
			
		||||
- **IFID**: 12345778-1234-abcd-ef00-0123456789ab
 | 
			
		||||
- **Named Pipe**: `\pipe\lsarpc`
 | 
			
		||||
- **Опис**: Інтерфейс LSA, використовується для перерахунку користувачів.
 | 
			
		||||
- **Description**: Інтерфейс LSA, використовується для перерахунку користувачів.
 | 
			
		||||
- **IFID**: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
 | 
			
		||||
- **Named Pipe**: `\pipe\lsarpc`
 | 
			
		||||
- **Опис**: Інтерфейс LSA Directory Services (DS), використовується для перерахунку доменів і довірчих відносин.
 | 
			
		||||
- **Description**: Інтерфейс LSA Directory Services (DS), використовується для перерахунку доменів і довірчих відносин.
 | 
			
		||||
- **IFID**: 12345778-1234-abcd-ef00-0123456789ac
 | 
			
		||||
- **Named Pipe**: `\pipe\samr`
 | 
			
		||||
- **Опис**: Інтерфейс LSA SAMR, використовується для доступу до елементів публічної бази даних SAM (наприклад, імена користувачів) і брутфорсу паролів користувачів незалежно від політики блокування облікових записів.
 | 
			
		||||
- **Description**: Інтерфейс LSA SAMR, використовується для доступу до елементів публічної бази даних SAM (наприклад, імена користувачів) і брутфорсу паролів користувачів незалежно від політики блокування облікових записів.
 | 
			
		||||
- **IFID**: 1ff70682-0a51-30e8-076d-740be8cee98b
 | 
			
		||||
- **Named Pipe**: `\pipe\atsvc`
 | 
			
		||||
- **Опис**: Планувальник завдань, використовується для віддаленого виконання команд.
 | 
			
		||||
- **Description**: Планувальник завдань, використовується для віддаленого виконання команд.
 | 
			
		||||
- **IFID**: 338cd001-2244-31f1-aaaa-900038001003
 | 
			
		||||
- **Named Pipe**: `\pipe\winreg`
 | 
			
		||||
- **Опис**: Служба віддаленого реєстру, використовується для доступу та зміни системного реєстру.
 | 
			
		||||
- **Description**: Служба віддаленого реєстру, використовується для доступу та зміни системного реєстру.
 | 
			
		||||
- **IFID**: 367abb81-9844-35f1-ad32-98f038001003
 | 
			
		||||
- **Named Pipe**: `\pipe\svcctl`
 | 
			
		||||
- **Опис**: Менеджер контролю служб і серверні служби, використовується для віддаленого запуску та зупинки служб і виконання команд.
 | 
			
		||||
- **Description**: Менеджер контролю служб і серверні служби, використовується для віддаленого запуску та зупинки служб і виконання команд.
 | 
			
		||||
- **IFID**: 4b324fc8-1670-01d3-1278-5a47bf6ee188
 | 
			
		||||
- **Named Pipe**: `\pipe\srvsvc`
 | 
			
		||||
- **Опис**: Менеджер контролю служб і серверні служби, використовується для віддаленого запуску та зупинки служб і виконання команд.
 | 
			
		||||
- **Description**: Менеджер контролю служб і серверні служби, використовується для віддаленого запуску та зупинки служб і виконання команд.
 | 
			
		||||
- **IFID**: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
 | 
			
		||||
- **Named Pipe**: `\pipe\epmapper`
 | 
			
		||||
- **Опис**: Інтерфейс DCOM, використовується для брутфорсу паролів і збору інформації через WM.
 | 
			
		||||
- **Description**: Інтерфейс DCOM, використовується для брутфорсу паролів і збору інформації через WM.
 | 
			
		||||
 | 
			
		||||
### Визначення IP-адрес
 | 
			
		||||
 | 
			
		||||
Використовуючи [https://github.com/mubix/IOXIDResolver](https://github.com/mubix/IOXIDResolver), що походить з [досліджень Airbus](https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/), можливо зловживати методом _**ServerAlive2**_ всередині інтерфейсу _**IOXIDResolver**_.
 | 
			
		||||
Використовуючи [https://github.com/mubix/IOXIDResolver](https://github.com/mubix/IOXIDResolver), що походить з [дослідження Airbus](https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/), можливо зловживати методом _**ServerAlive2**_ всередині інтерфейсу _**IOXIDResolver**_.
 | 
			
		||||
 | 
			
		||||
Цей метод використовувався для отримання інформації про інтерфейс у вигляді **IPv6** адреси з HTB боксу _APT_. Дивіться [тут](https://0xdf.gitlab.io/2021/04/10/htb-apt.html) для опису 0xdf APT, він включає альтернативний метод використання rpcmap.py з [Impacket](https://github.com/SecureAuthCorp/impacket/) з _stringbinding_ (див. вище).
 | 
			
		||||
 | 
			
		||||
@ -98,7 +98,7 @@ Get-RpcServerData -Target "C:\Windows\System32\efssvc.dll" -OutPath .\output
 | 
			
		||||
# Or crawl the whole %SystemRoot%\System32 directory
 | 
			
		||||
Get-RpcServerData -OutPath .\output
 | 
			
		||||
```
 | 
			
		||||
`Get-RpcServerData` витягне UUID, версію, рядки зв'язку (named-pipe / TCP / HTTP) та **повні прототипи процедур** для кожного інтерфейсу, з яким він зіткнеться, і зберігатиме їх у `rpcServerData.json`.
 | 
			
		||||
`Get-RpcServerData` витягне UUID, версію, рядки прив'язки (named-pipe / TCP / HTTP) та **повні прототипи процедур** для кожного інтерфейсу, з яким він стикається, і зберігатиме їх у `rpcServerData.json`.
 | 
			
		||||
 | 
			
		||||
### 2. Запустіть фузер
 | 
			
		||||
```powershell
 | 
			
		||||
@ -136,12 +136,12 @@ Import-DataToNeo4j -Neo4jHost 192.168.56.10:7474 -Neo4jUsername neo4j
 | 
			
		||||
 | 
			
		||||
Запити Cypher можна використовувати для швидкого виявлення небезпечних процедур або для відтворення точної послідовності викликів, які передували збою.
 | 
			
		||||
 | 
			
		||||
⚠️  Fuzzer є *руйнівним*: очікуйте збоїв сервісу та навіть BSOD – завжди запускайте його в ізольованій знімку ВМ.
 | 
			
		||||
⚠️  Fuzzer є *руйнівним*: очікуйте збоїв сервісу та навіть BSOD – завжди запускайте його в ізольованій VM-снапшоті.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### Автоматизована енумерація інтерфейсів та динамічна генерація клієнтів (NtObjectManager)
 | 
			
		||||
### Автоматизована перерахунка інтерфейсів та динамічна генерація клієнтів (NtObjectManager)
 | 
			
		||||
 | 
			
		||||
Гуру PowerShell **James Forshaw** розкрив більшість внутрішніх механізмів Windows RPC у відкритому *модулі NtObjectManager*. Використовуючи його, ви можете перетворити будь-який RPC сервер DLL / EXE на **повнофункціональний клієнтський шаблон** за кілька секунд – без IDL, MIDL або ручного розпакування.
 | 
			
		||||
Гуру PowerShell **James Forshaw** розкрив більшість внутрішніх механізмів Windows RPC у відкритому *NtObjectManager* модулі. Використовуючи його, ви можете перетворити будь-який RPC сервер DLL / EXE на **повнофункціональний клієнтський шаблон** за кілька секунд – без IDL, MIDL або ручного розпакування.
 | 
			
		||||
```powershell
 | 
			
		||||
# Install the module once
 | 
			
		||||
Install-Module NtObjectManager -Force
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,7 @@
 | 
			
		||||
 | 
			
		||||
**Active Directory** служить основною технологією, що дозволяє **мережевим адміністраторам** ефективно створювати та керувати **доменами**, **користувачами** та **об'єктами** в межах мережі. Вона спроектована для масштабування, полегшуючи організацію великої кількості користувачів у керовані **групи** та **підгрупи**, контролюючи **права доступу** на різних рівнях.
 | 
			
		||||
 | 
			
		||||
Структура **Active Directory** складається з трьох основних рівнів: **домени**, **дерева** та **ліси**. **Домен** охоплює колекцію об'єктів, таких як **користувачі** або **пристрої**, які ділять спільну базу даних. **Дерева** — це групи цих доменів, пов'язані спільною структурою, а **ліс** представляє колекцію кількох дерев, з'єднаних через **довірчі відносини**, формуючи найвищий рівень організаційної структури. Конкретні **права доступу** та **права на зв'язок** можуть бути призначені на кожному з цих рівнів.
 | 
			
		||||
Структура **Active Directory** складається з трьох основних рівнів: **домени**, **дерева** та **ліси**. **Домен** охоплює колекцію об'єктів, таких як **користувачі** або **пристрої**, які ділять спільну базу даних. **Дерева** — це групи цих доменів, пов'язані спільною структурою, а **ліс** представляє колекцію кількох дерев, з'єднаних через **довірчі відносини**, формуючи найвищий рівень організаційної структури. Специфічні **права доступу** та **права на зв'язок** можуть бути призначені на кожному з цих рівнів.
 | 
			
		||||
 | 
			
		||||
Ключові концепції в **Active Directory** включають:
 | 
			
		||||
 | 
			
		||||
@ -22,14 +22,14 @@
 | 
			
		||||
2. **Certificate Services** – Контролює створення, розподіл та управління безпечними **цифровими сертифікатами**.
 | 
			
		||||
3. **Lightweight Directory Services** – Підтримує програми, що використовують каталог, через **LDAP протокол**.
 | 
			
		||||
4. **Directory Federation Services** – Надає можливості **одного входу** для автентифікації користувачів через кілька веб-додатків в одній сесії.
 | 
			
		||||
5. **Rights Management** – Допомагає захистити авторські матеріали, регулюючи їх несанкціоноване розповсюдження та використання.
 | 
			
		||||
5. **Rights Management** – Допомагає захистити авторські матеріали, регулюючи їх несанкціонований розподіл та використання.
 | 
			
		||||
6. **DNS Service** – Критично важливий для розв'язання **доменних імен**.
 | 
			
		||||
 | 
			
		||||
Для більш детального пояснення перегляньте: [**TechTerms - Визначення Active Directory**](https://techterms.com/definition/active_directory)
 | 
			
		||||
 | 
			
		||||
### **Kerberos Authentication**
 | 
			
		||||
 | 
			
		||||
Щоб навчитися, як **атакувати AD**, вам потрібно **дуже добре розуміти** **процес автентифікації Kerberos**.\
 | 
			
		||||
Щоб навчитися **атакувати AD**, вам потрібно **дуже добре розуміти** **процес автентифікації Kerberos**.\
 | 
			
		||||
[**Прочитайте цю сторінку, якщо ви ще не знаєте, як це працює.**](kerberos-authentication.md)
 | 
			
		||||
 | 
			
		||||
## Cheat Sheet
 | 
			
		||||
@ -52,7 +52,7 @@
 | 
			
		||||
- `enum4linux -a -u "" -p "" <DC IP> && enum4linux -a -u "guest" -p "" <DC IP>`
 | 
			
		||||
- `smbmap -u "" -p "" -P 445 -H <DC IP> && smbmap -u "guest" -p "" -P 445 -H <DC IP>`
 | 
			
		||||
- `smbclient -U '%' -L //<DC IP> && smbclient -U 'guest%' -L //`
 | 
			
		||||
- Більш детальну інструкцію про те, як перерахувати SMB-сервер, можна знайти тут:
 | 
			
		||||
- Більш детальний посібник про те, як перерахувати SMB-сервер, можна знайти тут:
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
../../network-services-pentesting/pentesting-smb/
 | 
			
		||||
@ -60,7 +60,7 @@
 | 
			
		||||
 | 
			
		||||
- **Enumerate Ldap**
 | 
			
		||||
- `nmap -n -sV --script "ldap* and not brute" -p 389 <DC IP>`
 | 
			
		||||
- Більш детальну інструкцію про те, як перерахувати LDAP, можна знайти тут (зверніть **особливу увагу на анонімний доступ**):
 | 
			
		||||
- Більш детальний посібник про те, як перерахувати LDAP, можна знайти тут (зверніть **особливу увагу на анонімний доступ**):
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
../../network-services-pentesting/pentesting-ldap.md
 | 
			
		||||
@ -72,7 +72,7 @@
 | 
			
		||||
- Збирати облікові дані, **викриваючи** [**підроблені UPnP сервіси з evil-S**](../../generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md)[**SDP**](https://medium.com/@nickvangilder/exploiting-multifunction-printers-during-a-penetration-test-engagement-28d3840d8856)
 | 
			
		||||
- [**OSINT**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/external-recon-methodology/index.html):
 | 
			
		||||
- Витягувати імена користувачів/імена з внутрішніх документів, соціальних мереж, сервісів (в основному веб) в межах доменних середовищ, а також з публічно доступних джерел.
 | 
			
		||||
- Якщо ви знайдете повні імена працівників компанії, ви можете спробувати різні конвенції імен користувачів AD (**[**прочитайте це**](https://activedirectorypro.com/active-directory-user-naming-convention/)). Найбільш поширені конвенції: _NameSurname_, _Name.Surname_, _NamSur_ (3 літери з кожного), _Nam.Sur_, _NSurname_, _N.Surname_, _SurnameName_, _Surname.Name_, _SurnameN_, _Surname.N_, 3 _випадкові літери та 3 випадкові цифри_ (abc123).
 | 
			
		||||
- Якщо ви знайдете повні імена працівників компанії, ви можете спробувати різні конвенції **імен користувачів AD** (**[читайте це](https://activedirectorypro.com/active-directory-user-naming-convention/)**). Найбільш поширені конвенції: _NameSurname_, _Name.Surname_, _NamSur_ (3 літери з кожного), _Nam.Sur_, _NSurname_, _N.Surname_, _SurnameName_, _Surname.Name_, _SurnameN_, _Surname.N_, 3 _випадкові літери та 3 випадкові цифри_ (abc123).
 | 
			
		||||
- Інструменти:
 | 
			
		||||
- [w0Tx/generate-ad-username](https://github.com/w0Tx/generate-ad-username)
 | 
			
		||||
- [urbanadventurer/username-anarchy](https://github.com/urbanadventurer/username-anarchy)
 | 
			
		||||
@ -80,7 +80,7 @@
 | 
			
		||||
### User enumeration
 | 
			
		||||
 | 
			
		||||
- **Анонімний SMB/LDAP enum:** Перевірте сторінки [**пентестингу SMB**](../../network-services-pentesting/pentesting-smb/index.html) та [**пентестингу LDAP**](../../network-services-pentesting/pentesting-ldap.md).
 | 
			
		||||
- **Kerbrute enum**: Коли запитується **недійсне ім'я користувача**, сервер відповість, використовуючи **код помилки Kerberos** _KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN_, що дозволяє нам визначити, що ім'я користувача було недійсним. **Дійсні імена користувачів** викликатимуть або **TGT в AS-REP** відповіді, або помилку _KRB5KDC_ERR_PREAUTH_REQUIRED_, що вказує на те, що користувачеві потрібно виконати попередню автентифікацію.
 | 
			
		||||
- **Kerbrute enum**: Коли запитується **недійсне ім'я користувача**, сервер відповість, використовуючи **код помилки Kerberos** _KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN_, що дозволяє нам визначити, що ім'я користувача було недійсним. **Дійсні імена користувачів** викличуть або **TGT в AS-REP** відповіді, або помилку _KRB5KDC_ERR_PREAUTH_REQUIRED_, що вказує на те, що користувачеві потрібно виконати попередню автентифікацію.
 | 
			
		||||
- **Без автентифікації проти MS-NRPC**: Використання auth-level = 1 (Без автентифікації) проти інтерфейсу MS-NRPC (Netlogon) на контролерах домену. Метод викликає функцію `DsrGetDcNameEx2` після прив'язки інтерфейсу MS-NRPC, щоб перевірити, чи існує користувач або комп'ютер без жодних облікових даних. Інструмент [NauthNRPC](https://github.com/sud0Ru/NauthNRPC) реалізує цей тип перерахунку. Дослідження можна знайти [тут](https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2024/05/22190247/A-journey-into-forgotten-Null-Session-and-MS-RPC-interfaces.pdf)
 | 
			
		||||
```bash
 | 
			
		||||
./kerbrute_linux_amd64 userenum -d lab.ropnop.com --dc 10.10.10.10 usernames.txt #From https://github.com/ropnop/kerbrute/releases
 | 
			
		||||
@ -116,7 +116,7 @@ Get-GlobalAddressList -ExchHostname [ip] -UserName [domain]\[username] -Password
 | 
			
		||||
 | 
			
		||||
Отже, ви знаєте, що у вас вже є дійсне ім'я користувача, але немає паролів... Тоді спробуйте:
 | 
			
		||||
 | 
			
		||||
- [**ASREPRoast**](asreproast.md): Якщо у користувача **немає** атрибута _DONT_REQ_PREAUTH_, ви можете **запросити AS_REP повідомлення** для цього користувача, яке міститиме деякі дані, зашифровані похідною пароля користувача.
 | 
			
		||||
- [**ASREPRoast**](asreproast.md): Якщо у користувача **немає** атрибута _DONT_REQ_PREAUTH_, ви можете **запросити AS_REP повідомлення** для цього користувача, яке міститиме деякі дані, зашифровані похідною від пароля користувача.
 | 
			
		||||
- [**Password Spraying**](password-spraying.md): Спробуємо найпоширеніші **паролі** з кожним з виявлених користувачів, можливо, деякий користувач використовує поганий пароль (пам'ятайте про політику паролів!).
 | 
			
		||||
- Зверніть увагу, що ви також можете **спрейти OWA сервери**, щоб спробувати отримати доступ до поштових серверів користувачів.
 | 
			
		||||
 | 
			
		||||
@ -136,7 +136,7 @@ password-spraying.md
 | 
			
		||||
 | 
			
		||||
Якщо вам вдалося перерахувати активний каталог, ви отримаєте **більше електронних адрес і краще розуміння мережі**. Ви можете спробувати примусити NTLM [**реле атаки**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack), щоб отримати доступ до середовища AD.
 | 
			
		||||
 | 
			
		||||
### Вкрасти NTLM креденціали
 | 
			
		||||
### Вкрасти NTLM кредити
 | 
			
		||||
 | 
			
		||||
Якщо ви можете **отримати доступ до інших ПК або загальних ресурсів** з **нульовим або гостьовим користувачем**, ви можете **розмістити файли** (наприклад, файл SCF), які, якщо їх якось отримають доступ, **спровокують NTLM аутентифікацію проти вас**, щоб ви могли **вкрасти** **NTLM челендж** для злому:
 | 
			
		||||
 | 
			
		||||
@ -156,7 +156,7 @@ kerberos-double-hop-problem.md
 | 
			
		||||
 | 
			
		||||
### Перерахунок
 | 
			
		||||
 | 
			
		||||
Компрометація облікового запису є **великим кроком для початку компрометації всього домену**, оскільки ви зможете почати **перерахунок Active Directory:**
 | 
			
		||||
Компрометація облікового запису є **великим кроком до початку компрометації всього домену**, оскільки ви зможете почати **перерахунок Active Directory:**
 | 
			
		||||
 | 
			
		||||
Щодо [**ASREPRoast**](asreproast.md), ви тепер можете знайти кожного можливого вразливого користувача, а щодо [**Password Spraying**](password-spraying.md) ви можете отримати **список усіх імен користувачів** і спробувати пароль компрометованого облікового запису, порожні паролі та нові перспективні паролі.
 | 
			
		||||
 | 
			
		||||
@ -172,7 +172,7 @@ kerberos-double-hop-problem.md
 | 
			
		||||
- Ви також можете спробувати автоматизовані інструменти, такі як:
 | 
			
		||||
- [**tomcarver16/ADSearch**](https://github.com/tomcarver16/ADSearch)
 | 
			
		||||
- [**61106960/adPEAS**](https://github.com/61106960/adPEAS)
 | 
			
		||||
- **Отримання всіх користувачів домену**
 | 
			
		||||
- **Витягування всіх користувачів домену**
 | 
			
		||||
 | 
			
		||||
Дуже легко отримати всі імена користувачів домену з Windows (`net user /domain`, `Get-DomainUser` або `wmic useraccount get name,sid`). У Linux ви можете використовувати: `GetADUsers.py -all -dc-ip 10.10.10.110 domain.com/username` або `enum4linux -a -u "user" -p "password" <DC IP>`
 | 
			
		||||
 | 
			
		||||
@ -198,9 +198,9 @@ kerberoast.md
 | 
			
		||||
 | 
			
		||||
У цій книзі є повна сторінка про [**підвищення локальних привілеїв у Windows**](../windows-local-privilege-escalation/index.html) та [**контрольний список**](../checklist-windows-privilege-escalation.md). Також не забудьте використовувати [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite).
 | 
			
		||||
 | 
			
		||||
### Поточні сесійні квитки
 | 
			
		||||
### Поточні квитки сесії
 | 
			
		||||
 | 
			
		||||
Дуже **малоймовірно**, що ви знайдете **квитки** у поточного користувача, **які надають вам доступ** до несподіваних ресурсів, але ви можете перевірити:
 | 
			
		||||
Дуже **малоймовірно**, що ви знайдете **квитки** у поточного користувача, **які надають вам дозвіл на доступ** до несподіваних ресурсів, але ви можете перевірити:
 | 
			
		||||
```bash
 | 
			
		||||
## List all tickets (if not admin, only current user tickets)
 | 
			
		||||
.\Rubeus.exe triage
 | 
			
		||||
@ -210,7 +210,7 @@ kerberoast.md
 | 
			
		||||
```
 | 
			
		||||
### NTLM Relay
 | 
			
		||||
 | 
			
		||||
Якщо вам вдалося перерахувати активний каталог, ви отримаєте **більше електронних листів і краще розуміння мережі**. Ви можете змусити NTLM [**атаки реле**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack)**.**
 | 
			
		||||
Якщо вам вдалося перерахувати активний каталог, ви отримаєте **більше електронних листів та краще розуміння мережі**. Ви можете змусити NTLM [**атаки реле**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack)**.**
 | 
			
		||||
 | 
			
		||||
### Looks for Creds in Computer Shares | SMB Shares
 | 
			
		||||
 | 
			
		||||
@ -220,7 +220,7 @@ kerberoast.md
 | 
			
		||||
 | 
			
		||||
### Steal NTLM Creds
 | 
			
		||||
 | 
			
		||||
Якщо ви можете **доступитися до інших ПК або загальних папок**, ви можете **розмістити файли** (наприклад, файл SCF), які, якщо їх якось відкриють, **викличуть NTLM аутентифікацію проти вас**, щоб ви могли **вкрасти** **NTLM виклик** для його зламу:
 | 
			
		||||
Якщо ви можете **доступитися до інших ПК або загальних папок**, ви можете **розмістити файли** (наприклад, файл SCF), які, якщо їх якось відкриють, **запустять NTLM аутентифікацію проти вас**, щоб ви могли **вкрасти** **NTLM виклик** для його зламу:
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
../ntlm/places-to-steal-ntlm-creds.md
 | 
			
		||||
@ -246,8 +246,8 @@ printnightmare.md
 | 
			
		||||
 | 
			
		||||
### Pass the Hash
 | 
			
		||||
 | 
			
		||||
**Якщо у вас є хеш користувача**, ви можете використовувати його для **імітуювання** його.\
 | 
			
		||||
Вам потрібно використовувати якийсь **інструмент**, який **виконає** **NTLM аутентифікацію, використовуючи** цей **хеш**, **або** ви можете створити новий **sessionlogon** і **впровадити** цей **хеш** всередину **LSASS**, так що коли будь-яка **NTLM аутентифікація виконується**, цей **хеш буде використано.** Останній варіант - це те, що робить mimikatz.\
 | 
			
		||||
**Якщо у вас є хеш користувача**, ви можете використовувати його для **імітування** його.\
 | 
			
		||||
Вам потрібно використовувати якийсь **інструмент**, який **виконає** **NTLM аутентифікацію, використовуючи** цей **хеш**, **або** ви можете створити новий **sessionlogon** і **впровадити** цей **хеш** всередину **LSASS**, так що коли будь-яка **NTLM аутентифікація виконується**, цей **хеш буде використаний.** Останній варіант - це те, що робить mimikatz.\
 | 
			
		||||
[**Прочитайте цю сторінку для отримання додаткової інформації.**](../ntlm/index.html#pass-the-hash)
 | 
			
		||||
 | 
			
		||||
### Over Pass the Hash/Pass the Key
 | 
			
		||||
@ -260,7 +260,7 @@ over-pass-the-hash-pass-the-key.md
 | 
			
		||||
 | 
			
		||||
### Pass the Ticket
 | 
			
		||||
 | 
			
		||||
У методі атаки **Pass The Ticket (PTT)** зловмисники **вкрадають квиток аутентифікації користувача** замість їх пароля або значень хешу. Цей вкрадений квиток потім використовується для **імітуювання користувача**, отримуючи несанкціонований доступ до ресурсів і послуг у мережі.
 | 
			
		||||
У методі атаки **Pass The Ticket (PTT)** зловмисники **вкрадають квиток аутентифікації користувача** замість їх пароля або значень хешу. Цей вкрадений квиток потім використовується для **імітування користувача**, отримуючи несанкціонований доступ до ресурсів і послуг у мережі.
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
pass-the-ticket.md
 | 
			
		||||
@ -279,7 +279,7 @@ crackmapexec smb --local-auth 10.10.10.10/23 -u administrator -H 10298e182387f9c
 | 
			
		||||
 | 
			
		||||
### Зловживання MSSQL та Довірені Посилання
 | 
			
		||||
 | 
			
		||||
Якщо користувач має привілеї для **доступу до екземплярів MSSQL**, він може використовувати це для **виконання команд** на хості MSSQL (якщо працює як SA), **викрадення** хешу NetNTLM або навіть виконання **атаки** **реле**.\
 | 
			
		||||
Якщо користувач має привілеї для **доступу до екземплярів MSSQL**, він може використовувати їх для **виконання команд** на хості MSSQL (якщо працює як SA), **викрадення** хешу NetNTLM або навіть виконання **атаки** **реле**.\
 | 
			
		||||
Також, якщо екземпляр MSSQL є довіреним (посилання на базу даних) іншим екземпляром MSSQL. Якщо користувач має привілеї над довіреною базою даних, він зможе **використовувати довірчі відносини для виконання запитів також в іншому екземплярі**. Ці довіри можуть бути з'єднані, і в якийсь момент користувач може знайти неправильно налаштовану базу даних, де він може виконувати команди.\
 | 
			
		||||
**Посилання між базами даних працюють навіть через довіри лісу.**
 | 
			
		||||
 | 
			
		||||
@ -308,7 +308,7 @@ constrained-delegation.md
 | 
			
		||||
 | 
			
		||||
### Делегація на основі ресурсів
 | 
			
		||||
 | 
			
		||||
Маючи привілей **WRITE** на об'єкт Active Directory віддаленого комп'ютера, ви отримуєте можливість виконання коду з **підвищеними привілеями**:
 | 
			
		||||
Маючи привілей **WRITE** на об'єкт Active Directory віддаленого комп'ютера, можна отримати виконання коду з **підвищеними привілеями**:
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
resource-based-constrained-delegation.md
 | 
			
		||||
@ -316,7 +316,7 @@ resource-based-constrained-delegation.md
 | 
			
		||||
 | 
			
		||||
### Зловживання Дозволами/ACL
 | 
			
		||||
 | 
			
		||||
Скомпрометований користувач може мати деякі **цікаві привілеї над деякими об'єктами домену**, які можуть дозволити вам **переміщатися** латерально/**ескалювати** привілеї.
 | 
			
		||||
Скомпрометований користувач може мати деякі **цікаві привілеї над деякими об'єктами домену**, які можуть дозволити вам **переміщатися** латерально/**підвищувати** привілеї.
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
acl-persistence-abuse/
 | 
			
		||||
@ -324,7 +324,7 @@ acl-persistence-abuse/
 | 
			
		||||
 | 
			
		||||
### Зловживання службою спулера принтерів
 | 
			
		||||
 | 
			
		||||
Виявлення **служби спулера**, що слухає в домені, може бути **зловжито** для **отримання нових облікових даних** та **ескалації привілеїв**.
 | 
			
		||||
Виявлення **служби спулера**, що слухає в домені, може бути **зловжито** для **отримання нових облікових даних** та **підвищення привілеїв**.
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
printers-spooler-service-abuse.md
 | 
			
		||||
@ -341,7 +341,7 @@ rdp-sessions-abuse.md
 | 
			
		||||
 | 
			
		||||
### LAPS
 | 
			
		||||
 | 
			
		||||
**LAPS** забезпечує систему для управління **паролем локального адміністратора** на комп'ютерах, що приєднані до домену, забезпечуючи його **випадковість**, унікальність та часту **зміну**. Ці паролі зберігаються в Active Directory, а доступ контролюється через ACL лише для авторизованих користувачів. З достатніми привілеями для доступу до цих паролів, стає можливим переміщення до інших комп'ютерів.
 | 
			
		||||
**LAPS** забезпечує систему для управління **паролем локального адміністратора** на комп'ютерах, що приєднані до домену, забезпечуючи його **випадковість**, унікальність та часту **зміну**. Ці паролі зберігаються в Active Directory, а доступ контролюється через ACL лише для авторизованих користувачів. З достатніми привілеями для доступу до цих паролів, стає можливим перемикання на інші комп'ютери.
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
laps.md
 | 
			
		||||
@ -349,7 +349,7 @@ laps.md
 | 
			
		||||
 | 
			
		||||
### Крадіжка Сертифікатів
 | 
			
		||||
 | 
			
		||||
**Збір сертифікатів** з скомпрометованої машини може бути способом ескалації привілеїв у середовищі:
 | 
			
		||||
**Збирання сертифікатів** з скомпрометованої машини може бути способом підвищення привілеїв у середовищі:
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
ad-certificates/certificate-theft.md
 | 
			
		||||
@ -357,13 +357,13 @@ ad-certificates/certificate-theft.md
 | 
			
		||||
 | 
			
		||||
### Зловживання Шаблонами Сертифікатів
 | 
			
		||||
 | 
			
		||||
Якщо **вразливі шаблони** налаштовані, їх можна зловживати для ескалації привілеїв:
 | 
			
		||||
Якщо **вразливі шаблони** налаштовані, їх можна зловживати для підвищення привілеїв:
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
ad-certificates/domain-escalation.md
 | 
			
		||||
{{#endref}}
 | 
			
		||||
 | 
			
		||||
## Постексплуатація з обліковим записом з високими привілеями
 | 
			
		||||
## Постексплуатація з обліковим записом високих привілеїв
 | 
			
		||||
 | 
			
		||||
### Скидання Доменних Облікових Даних
 | 
			
		||||
 | 
			
		||||
@ -373,7 +373,7 @@ ad-certificates/domain-escalation.md
 | 
			
		||||
 | 
			
		||||
[**Більше інформації про те, як вкрасти NTDS.dit можна знайти тут**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/active-directory-methodology/broken-reference/README.md)
 | 
			
		||||
 | 
			
		||||
### Привілеї як Постійність
 | 
			
		||||
### Підвищення привілеїв як Постійність
 | 
			
		||||
 | 
			
		||||
Деякі з технік, обговорених раніше, можуть бути використані для постійності.\
 | 
			
		||||
Наприклад, ви могли б:
 | 
			
		||||
@ -416,7 +416,7 @@ golden-ticket.md
 | 
			
		||||
 | 
			
		||||
### Діамантовий Квиток
 | 
			
		||||
 | 
			
		||||
Це схоже на золоті квитки, підроблені таким чином, що **обходять звичайні механізми виявлення золотих квитків.**
 | 
			
		||||
Ці квитки схожі на золоті, але підроблені так, що **обходять звичайні механізми виявлення золотих квитків.**
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
diamond-ticket.md
 | 
			
		||||
@ -432,7 +432,7 @@ ad-certificates/account-persistence.md
 | 
			
		||||
 | 
			
		||||
### **Постійність Домену Сертифікатів**
 | 
			
		||||
 | 
			
		||||
**Використання сертифікатів також можливе для збереження високих привілеїв у домені:**
 | 
			
		||||
**Використання сертифікатів також можливе для підтримки високих привілеїв у домені:**
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
ad-certificates/domain-persistence.md
 | 
			
		||||
@ -454,7 +454,7 @@ dsrm-credentials.md
 | 
			
		||||
 | 
			
		||||
### Постійність ACL
 | 
			
		||||
 | 
			
		||||
Ви можете **надати** деякі **спеціальні дозволи** **користувачу** над деякими конкретними об'єктами домену, які дозволять користувачу **ескалювати привілеї в майбутньому**.
 | 
			
		||||
Ви можете **надати** деякі **спеціальні дозволи** **користувачу** над деякими конкретними об'єктами домену, які дозволять користувачу **підвищити привілеї в майбутньому**.
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
acl-persistence-abuse/
 | 
			
		||||
@ -462,7 +462,7 @@ acl-persistence-abuse/
 | 
			
		||||
 | 
			
		||||
### Описники Безпеки
 | 
			
		||||
 | 
			
		||||
**Описники безпеки** використовуються для **зберігання** **дозволів**, які має **об'єкт** **над** **об'єктом**. Якщо ви можете просто **зробити** **невелику зміну** в **описнику безпеки** об'єкта, ви можете отримати дуже цікаві привілеї над цим об'єктом без необхідності бути членом привілейованої групи.
 | 
			
		||||
**Описники безпеки** використовуються для **зберігання** **дозволів**, які має **об'єкт** **над** іншим **об'єктом**. Якщо ви зможете **зробити** **невелику зміну** в **описнику безпеки** об'єкта, ви зможете отримати дуже цікаві привілеї над цим об'єктом без необхідності бути членом привілейованої групи.
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
security-descriptors.md
 | 
			
		||||
@ -479,7 +479,7 @@ skeleton-key.md
 | 
			
		||||
### Користувацький SSP
 | 
			
		||||
 | 
			
		||||
[Дізнайтеся, що таке SSP (Постачальник Підтримки Безпеки) тут.](../authentication-credentials-uac-and-efs/index.html#security-support-provider-interface-sspi)\
 | 
			
		||||
Ви можете створити свій **власний SSP**, щоб **захоплювати** в **чистому тексті** **облікові дані**, які використовуються для доступу до машини.
 | 
			
		||||
Ви можете створити свій **власний SSP** для **захоплення** в **чистому тексті** **облікових даних**, які використовуються для доступу до машини.
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
custom-ssp.md
 | 
			
		||||
@ -487,7 +487,7 @@ custom-ssp.md
 | 
			
		||||
 | 
			
		||||
### DCShadow
 | 
			
		||||
 | 
			
		||||
Це реєструє **новий Контролер Домену** в AD і використовує його для **поштовху атрибутів** (SIDHistory, SPNs...) на вказані об'єкти **без** залишення будь-яких **журналів** щодо **модифікацій**. Вам **потрібні DA** привілеї і бути всередині **кореневого домену**.\
 | 
			
		||||
Це реєструє **новий Контролер Домену** в AD і використовує його для **поштовхування атрибутів** (SIDHistory, SPNs...) на вказані об'єкти **без** залишення будь-яких **журналів** щодо **модифікацій**. Вам **потрібні DA** привілеї і бути всередині **кореневого домену**.\
 | 
			
		||||
Зверніть увагу, що якщо ви використовуєте неправильні дані, з'являться досить неприємні журнали.
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
@ -496,20 +496,20 @@ dcshadow.md
 | 
			
		||||
 | 
			
		||||
### Постійність LAPS
 | 
			
		||||
 | 
			
		||||
Раніше ми обговорювали, як ескалювати привілеї, якщо у вас є **достатні дозволи для читання паролів LAPS**. Однак ці паролі також можуть бути використані для **підтримки постійності**.\
 | 
			
		||||
Раніше ми обговорювали, як підвищити привілеї, якщо у вас є **достатні дозволи для читання паролів LAPS**. Однак ці паролі також можуть бути використані для **підтримки постійності**.\
 | 
			
		||||
Перевірте:
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
laps.md
 | 
			
		||||
{{#endref}}
 | 
			
		||||
 | 
			
		||||
## Ескалація Привілеїв Лісу - Доменні Довіри
 | 
			
		||||
## Підвищення Привілеїв Лісу - Доменні Довіри
 | 
			
		||||
 | 
			
		||||
Microsoft розглядає **Ліс** як межу безпеки. Це означає, що **скомпрометування одного домену може потенційно призвести до компрометації всього Лісу**.
 | 
			
		||||
 | 
			
		||||
### Основна Інформація
 | 
			
		||||
 | 
			
		||||
[**Доменна довіра**](<http://technet.microsoft.com/en-us/library/cc759554(v=ws.10).aspx>) є механізмом безпеки, який дозволяє користувачу з одного **домену** отримувати доступ до ресурсів в іншому **домені**. Це фактично створює зв'язок між системами аутентифікації двох доменів, дозволяючи перевіркам аутентифікації проходити безперешкодно. Коли домени встановлюють довіру, вони обмінюються та зберігають специфічні **ключі** в своїх **Контролерах Доменів (DC)**, які є критично важливими для цілісності довіри.
 | 
			
		||||
[**Доменна довіра**](<http://technet.microsoft.com/en-us/library/cc759554(v=ws.10).aspx>) є механізмом безпеки, який дозволяє користувачу з одного **домену** отримувати доступ до ресурсів в іншому **домені**. Це фактично створює зв'язок між системами аутентифікації двох доменів, дозволяючи перевіркам аутентифікації проходити безперешкодно. Коли домени встановлюють довіру, вони обмінюються та зберігають специфічні **ключі** в своїх **Контролерах Домену (DC)**, які є критично важливими для цілісності довіри.
 | 
			
		||||
 | 
			
		||||
У типовій ситуації, якщо користувач має намір отримати доступ до служби в **довіреному домені**, спочатку він повинен запитати спеціальний квиток, відомий як **міждоменний TGT**, у DC свого власного домену. Цей TGT зашифрований спільним **ключем**, на якому обидва домени погодилися. Користувач потім представляє цей TGT **DC довіреного домену**, щоб отримати квиток на службу (**TGS**). Після успішної перевірки міждоменного TGT DC довіреного домену видає TGS, надаючи користувачу доступ до служби.
 | 
			
		||||
 | 
			
		||||
@ -525,30 +525,30 @@ Microsoft розглядає **Ліс** як межу безпеки. Це оз
 | 
			
		||||
 | 
			
		||||
### Різні довіри
 | 
			
		||||
 | 
			
		||||
Важливо помітити, що **довіра може бути односторонньою або двосторонньою**. У двосторонньому варіанті обидва домени довіряють один одному, але в **односторонній** довірчій відносині один з доменів буде **довіреним**, а інший - **доверяючим**. У останньому випадку **ви зможете отримати доступ до ресурсів лише всередині довірчого домену з довіреного**.
 | 
			
		||||
Важливо помітити, що **довіра може бути односторонньою або двосторонньою**. У двосторонньому варіанті обидва домени довіряють один одному, але в **односторонній** довірчій відносині один з доменів буде **довіреним**, а інший - **доверяючим**. У останньому випадку **ви зможете отримати доступ до ресурсів лише всередині довірчого домену з довіреного.**
 | 
			
		||||
 | 
			
		||||
Якщо Домен A довіряє Домену B, A є довірчим доменом, а B - довіреним. Більше того, в **Доміні A** це буде **Вихідна довіра**; а в **Доміні B** це буде **Вхідна довіра**.
 | 
			
		||||
Якщо Домен A довіряє Домену B, A є довірчий доменом, а B - довіреним. Більше того, в **Доміні A** це буде **вихідна довіра**; а в **Доміні B** це буде **вхідна довіра**.
 | 
			
		||||
 | 
			
		||||
**Різні довірчі відносини**
 | 
			
		||||
 | 
			
		||||
- **Довіри Батьків-Дітей**: Це звичайна налаштування в межах одного лісу, де дитячий домен автоматично має двосторонню транзитивну довіру з батьківським доменом. Це означає, що запити на аутентифікацію можуть проходити безперешкодно між батьком і дитиною.
 | 
			
		||||
- **Перехресні Довіри**: Відомі як "скорочені довіри", вони встановлюються між дитячими доменами для прискорення процесів посилання. У складних лісах посилання на аутентифікацію зазвичай повинні подорожувати до кореня лісу, а потім вниз до цільового домену. Створюючи перехресні зв'язки, подорож скорочується, що особливо корисно в географічно розподілених середовищах.
 | 
			
		||||
- **Зовнішні Довіри**: Вони встановлюються між різними, не пов'язаними доменами і за своєю природою є нетранзитивними. Згідно з [документацією Microsoft](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>), зовнішні довіри корисні для доступу до ресурсів у домені поза поточним лісом, який не підключений через довіру лісу. Безпека посилюється через фільтрацію SID з зовнішніми довірами.
 | 
			
		||||
- **Довіри Кореня Дерева**: Ці довіри автоматично встановлюються між кореневим доменом лісу та новим коренем дерева, що додається. Хоча їх не часто зустрічають, довіри кореня дерева важливі для додавання нових дерев доменів до лісу, дозволяючи їм зберігати унікальну назву домену та забезпечуючи двосторонню транзитивність. Більше інформації можна знайти в [посібнику Microsoft](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>).
 | 
			
		||||
- **Довіри Кореня Дерева**: Ці довіри автоматично встановлюються між кореневим доменом лісу та новим коренем дерева, що додається. Хоча їх не часто зустрічають, довіри кореня дерева важливі для додавання нових доменних дерев до лісу, дозволяючи їм зберігати унікальне ім'я домену та забезпечуючи двосторонню транзитивність. Більше інформації можна знайти в [посібнику Microsoft](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>).
 | 
			
		||||
- **Довіри Лісу**: Цей тип довіри є двосторонньою транзитивною довірою між двома кореневими доменами лісу, також забезпечуючи фільтрацію SID для підвищення заходів безпеки.
 | 
			
		||||
- **Довіри MIT**: Ці довіри встановлюються з не-Windows, [RFC4120-сумісними](https://tools.ietf.org/html/rfc4120) доменами Kerberos. Довіри MIT є дещо більш спеціалізованими і призначені для середовищ, які потребують інтеграції з системами на основі Kerberos поза екосистемою Windows.
 | 
			
		||||
 | 
			
		||||
#### Інші відмінності в **довірчих відносинах**
 | 
			
		||||
 | 
			
		||||
- Довірча відносина може бути також **транзитивною** (A довіряє B, B довіряє C, тоді A довіряє C) або **нетранзитивною**.
 | 
			
		||||
- Довірча відносина також може бути **транзитивною** (A довіряє B, B довіряє C, тоді A довіряє C) або **нетранзитивною**.
 | 
			
		||||
- Довірча відносина може бути налаштована як **двостороння довіра** (обидва довіряють один одному) або як **одностороння довіра** (лише один з них довіряє іншому).
 | 
			
		||||
 | 
			
		||||
### Шлях Атаки
 | 
			
		||||
 | 
			
		||||
1. **Перелічити** довірчі відносини
 | 
			
		||||
2. Перевірте, чи має будь-який **суб'єкт безпеки** (користувач/група/комп'ютер) **доступ** до ресурсів **іншого домену**, можливо, через записи ACE або будучи в групах іншого домену. Шукайте **відносини між доменами** (довіра була створена для цього, напевно).
 | 
			
		||||
2. Перевірте, чи має будь-який **суб'єкт безпеки** (користувач/група/комп'ютер) **доступ** до ресурсів **іншого домену**, можливо, через записи ACE або перебуваючи в групах іншого домену. Шукайте **відносини між доменами** (довіра була створена для цього, напевно).
 | 
			
		||||
1. У цьому випадку kerberoast може бути ще одним варіантом.
 | 
			
		||||
3. **Скомпрометувати** **облікові записи**, які можуть **переміщатися** між доменами.
 | 
			
		||||
3. **Скомпрометувати** **облікові записи**, які можуть **перемикатися** між доменами.
 | 
			
		||||
 | 
			
		||||
Зловмисники можуть отримати доступ до ресурсів в іншому домені через три основні механізми:
 | 
			
		||||
 | 
			
		||||
@ -594,7 +594,7 @@ nltest /dclist:sub.domain.local
 | 
			
		||||
nltest /server:dc.sub.domain.local /domain_trusts /all_trusts
 | 
			
		||||
```
 | 
			
		||||
> [!WARNING]
 | 
			
		||||
> Є **2 довірених ключі**, один для _Child --> Parent_ і ще один для _Parent_ --> _Child_.\
 | 
			
		||||
> Є **2 довірених ключі**, один для _Child --> Parent_ і інший для _Parent_ --> _Child_.\
 | 
			
		||||
> Ви можете використовувати той, що використовується поточним доменом, за допомогою:
 | 
			
		||||
>
 | 
			
		||||
> ```bash
 | 
			
		||||
@ -612,7 +612,7 @@ sid-history-injection.md
 | 
			
		||||
 | 
			
		||||
#### Використання записуваного Configuration NC
 | 
			
		||||
 | 
			
		||||
Розуміння того, як можна експлуатувати Configuration Naming Context (NC), є критично важливим. Configuration NC слугує центральним репозиторієм для конфігураційних даних у лісі в середовищах Active Directory (AD). Ці дані реплікуються на кожен Контролер Домену (DC) у лісі, причому записувані DC підтримують записувану копію Configuration NC. Щоб це експлуатувати, потрібно мати **привілеї SYSTEM на DC**, бажано на дочірньому DC.
 | 
			
		||||
Розуміння того, як можна експлуатувати Configuration Naming Context (NC), є критично важливим. Configuration NC слугує центральним репозиторієм для конфігураційних даних у лісі в середовищах Active Directory (AD). Ці дані реплікуються на кожен Контролер Домену (DC) у лісі, при цьому записувані DC підтримують записувану копію Configuration NC. Щоб це експлуатувати, потрібно мати **привілеї SYSTEM на DC**, бажано на дочірньому DC.
 | 
			
		||||
 | 
			
		||||
**Прив'язка GPO до кореневого сайту DC**
 | 
			
		||||
 | 
			
		||||
@ -636,11 +636,11 @@ golden-dmsa-gmsa.md
 | 
			
		||||
 | 
			
		||||
Цей метод вимагає терпіння, очікуючи створення нових привілейованих об'єктів AD. Маючи привілеї SYSTEM, зловмисник може змінити схему AD, щоб надати будь-якому користувачу повний контроль над усіма класами. Це може призвести до несанкціонованого доступу та контролю над новоствореними об'єктами AD.
 | 
			
		||||
 | 
			
		||||
Додаткову інформацію можна знайти на [Schema Change Trust Attacks](https://improsec.com/tech-blog/sid-filter-as-security-boundary-between-domains-part-6-schema-change-trust-attack-from-child-to-parent).
 | 
			
		||||
Додаткова інформація доступна на [Schema Change Trust Attacks](https://improsec.com/tech-blog/sid-filter-as-security-boundary-between-domains-part-6-schema-change-trust-attack-from-child-to-parent).
 | 
			
		||||
 | 
			
		||||
**Від DA до EA з ADCS ESC5**
 | 
			
		||||
 | 
			
		||||
Уразливість ADCS ESC5 націлюється на контроль над об'єктами Інфраструктури відкритих ключів (PKI), щоб створити шаблон сертифіката, який дозволяє автентифікацію як будь-який користувач у лісі. Оскільки об'єкти PKI знаходяться в Configuration NC, компрометація записуваного дочірнього DC дозволяє виконувати атаки ESC5.
 | 
			
		||||
Уразливість ADCS ESC5 націлюється на контроль над об'єктами Інфраструктури відкритих ключів (PKI) для створення шаблону сертифіката, який дозволяє аутентифікацію як будь-який користувач у лісі. Оскільки об'єкти PKI знаходяться в Configuration NC, компрометація записуваного дочірнього DC дозволяє виконувати атаки ESC5.
 | 
			
		||||
 | 
			
		||||
Більше деталей про це можна прочитати в [From DA to EA with ESC5](https://posts.specterops.io/from-da-to-ea-with-esc5-f9f045aa105c). У сценаріях, де немає ADCS, зловмисник має можливість налаштувати необхідні компоненти, як обговорюється в [Escalating from Child Domain Admins to Enterprise Admins](https://www.pkisolutions.com/escalating-from-child-domains-admins-to-enterprise-admins-in-5-minutes-by-abusing-ad-cs-a-follow-up/).
 | 
			
		||||
 | 
			
		||||
@ -675,7 +675,7 @@ WhenChanged     : 2/19/2021 10:15:24 PM
 | 
			
		||||
```
 | 
			
		||||
У цьому сценарії **ваш домен** **довіряє** деяким **привілеям** принципу з **інших доменів**.
 | 
			
		||||
 | 
			
		||||
Однак, коли **домен довіряє** довіреному домену, довірений домен **створює користувача** з **передбачуваним ім'ям**, який використовує **пароль довіреного пароля**. Це означає, що можливо **отримати доступ до користувача з довіреного домену, щоб потрапити всередину довіреного** для його перерахунку та спроби підвищити більше привілеїв:
 | 
			
		||||
Однак, коли **домен довіряється** довіреним доменом, довірений домен **створює користувача** з **передбачуваним ім'ям**, який використовує **довірений пароль**. Це означає, що можливо **отримати доступ до користувача з довіреного домену, щоб потрапити всередину довіреного**, щоб перерахувати його та спробувати підвищити більше привілеїв:
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
external-forest-domain-one-way-outbound.md
 | 
			
		||||
@ -683,7 +683,7 @@ external-forest-domain-one-way-outbound.md
 | 
			
		||||
 | 
			
		||||
Ще один спосіб скомпрометувати довірений домен - це знайти [**SQL trusted link**](abusing-ad-mssql.md#mssql-trusted-links), створений у **протилежному напрямку** довіреності домену (що не є дуже поширеним).
 | 
			
		||||
 | 
			
		||||
Ще один спосіб скомпрометувати довірений домен - це чекати на машині, до якої **користувач з довіреного домену може отримати доступ** для входу через **RDP**. Тоді зловмисник може впровадити код у процес сесії RDP і **отримати доступ до вихідного домену жертви** звідти.\
 | 
			
		||||
Ще один спосіб скомпрометувати довірений домен - це чекати на машині, до якої **користувач з довіреного домену може отримати доступ**, щоб увійти через **RDP**. Тоді зловмисник може впровадити код у процес сесії RDP і **отримати доступ до початкового домену жертви** звідти.\
 | 
			
		||||
Більше того, якщо **жертва змонтувала свій жорсткий диск**, з процесу **сесії RDP** зловмисник може зберігати **бекдори** у **папці автозавантаження жорсткого диска**. Цю техніку називають **RDPInception.**
 | 
			
		||||
 | 
			
		||||
{{#ref}}
 | 
			
		||||
@ -694,12 +694,12 @@ rdp-sessions-abuse.md
 | 
			
		||||
 | 
			
		||||
### **Фільтрація SID:**
 | 
			
		||||
 | 
			
		||||
- Ризик атак, що використовують атрибут історії SID через лісові довіри, зменшується завдяки фільтрації SID, яка активована за замовчуванням на всіх міжлісових довірах. Це підкріплюється припущенням, що внутрішні довіри лісу є безпечними, вважаючи ліс, а не домен, як межу безпеки відповідно до позиції Microsoft.
 | 
			
		||||
- Ризик атак, що використовують атрибут історії SID через довіри лісу, зменшується завдяки фільтрації SID, яка активована за замовчуванням на всіх міжлісових довірах. Це підкріплюється припущенням, що внутрішні довіри лісу є безпечними, вважаючи ліс, а не домен, як межу безпеки відповідно до позиції Microsoft.
 | 
			
		||||
- Однак є підводний камінь: фільтрація SID може порушити роботу додатків і доступ користувачів, що призводить до її періодичного деактивування.
 | 
			
		||||
 | 
			
		||||
### **Вибіркова аутентифікація:**
 | 
			
		||||
 | 
			
		||||
- Для міжлісових довірів використання вибіркової аутентифікації забезпечує, що користувачі з двох лісів не аутентифікуються автоматично. Натомість для доступу до доменів і серверів у довіреному домені або лісі потрібні явні дозволи.
 | 
			
		||||
- Для міжлісових довірів використання вибіркової аутентифікації забезпечує, що користувачі з двох лісів не аутентифікуються автоматично. Натомість потрібні явні дозволи для користувачів, щоб отримати доступ до доменів і серверів у довіреному домені або лісі.
 | 
			
		||||
- Важливо зазначити, що ці заходи не захищають від експлуатації запису конфігурації, що підлягає запису (NC), або атак на обліковий запис довіри.
 | 
			
		||||
 | 
			
		||||
[**Більше інформації про довіри доменів на ired.team.**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/child-domain-da-to-ea-in-parent-domain)
 | 
			
		||||
@ -718,17 +718,17 @@ https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-move
 | 
			
		||||
 | 
			
		||||
- **Обмеження для адміністраторів домену**: Рекомендується, щоб адміністраторам домену дозволялося входити лише на контролери домену, уникаючи їх використання на інших хостах.
 | 
			
		||||
- **Привілеї облікових записів служб**: Служби не повинні працювати з привілеями адміністратора домену (DA) для підтримки безпеки.
 | 
			
		||||
- **Тимчасове обмеження привілеїв**: Для завдань, що вимагають привілеїв DA, їх тривалість повинна бути обмежена. Це можна досягти за допомогою: `Add-ADGroupMember -Identity ‘Domain Admins’ -Members newDA -MemberTimeToLive (New-TimeSpan -Minutes 20)`
 | 
			
		||||
- **Обмеження тимчасових привілеїв**: Для завдань, що вимагають привілеїв DA, їх тривалість повинна бути обмежена. Це можна досягти за допомогою: `Add-ADGroupMember -Identity ‘Domain Admins’ -Members newDA -MemberTimeToLive (New-TimeSpan -Minutes 20)`
 | 
			
		||||
 | 
			
		||||
### **Впровадження технік обману**
 | 
			
		||||
 | 
			
		||||
- Впровадження обману передбачає встановлення пасток, таких як приманкові користувачі або комп'ютери, з такими функціями, як паролі, які не закінчуються або позначені як Довірені для делегування. Детальний підхід включає створення користувачів з конкретними правами або додавання їх до груп з високими привілеями.
 | 
			
		||||
- Впровадження обману передбачає встановлення пасток, таких як приманкові користувачі або комп'ютери, з такими функціями, як паролі, які не закінчуються або позначені як довірені для делегування. Детальний підхід включає створення користувачів з конкретними правами або додавання їх до груп з високими привілеями.
 | 
			
		||||
- Практичний приклад включає використання інструментів, таких як: `Create-DecoyUser -UserFirstName user -UserLastName manager-uncommon -Password Pass@123 | DeployUserDeception -UserFlag PasswordNeverExpires -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose`
 | 
			
		||||
- Більше про впровадження технік обману можна знайти на [Deploy-Deception на GitHub](https://github.com/samratashok/Deploy-Deception).
 | 
			
		||||
 | 
			
		||||
### **Виявлення обману**
 | 
			
		||||
 | 
			
		||||
- **Для об'єктів користувачів**: Підозрілі ознаки включають нетиповий ObjectSID, рідкісні входи, дати створення та низькі кількості невірних паролів.
 | 
			
		||||
- **Для об'єктів користувачів**: Підозрілі ознаки включають нетиповий ObjectSID, рідкісні входи, дати створення та низькі кількості неправильних паролів.
 | 
			
		||||
- **Загальні ознаки**: Порівняння атрибутів потенційних приманкових об'єктів з атрибутами справжніх може виявити невідповідності. Інструменти, такі як [HoneypotBuster](https://github.com/JavelinNetworks/HoneypotBuster), можуть допомогти в ідентифікації таких обманів.
 | 
			
		||||
 | 
			
		||||
### **Обхід систем виявлення**
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@
 | 
			
		||||
 | 
			
		||||
## Огляд
 | 
			
		||||
 | 
			
		||||
Керовані облікові записи сервісів Windows (MSA) – це спеціальні принципи, призначені для запуску сервісів без необхідності вручну керувати їх паролями. Існує два основних варіанти:
 | 
			
		||||
Керовані облікові записи сервісів Windows (MSA) – це спеціальні принципи, призначені для запуску сервісів без необхідності вручну керувати їх паролями. Існує два основних типи:
 | 
			
		||||
 | 
			
		||||
1. **gMSA** – груповий керований обліковий запис сервісу – може використовуватися на кількох хостах, які авторизовані в його атрибуті `msDS-GroupMSAMembership`.
 | 
			
		||||
2. **dMSA** – делегований керований обліковий запис сервісу – (попередній перегляд) наступник gMSA, що спирається на ту ж криптографію, але дозволяє більш детальні сценарії делегування.
 | 
			
		||||
@ -15,11 +15,11 @@
 | 
			
		||||
* Цільового облікового запису **SID**.
 | 
			
		||||
* Переконаним **ManagedPasswordID** (GUID), знайденим в атрибуті `msDS-ManagedPasswordId`.
 | 
			
		||||
 | 
			
		||||
Виведення виглядає так: `AES256_HMAC( KDSRootKey , SID || ManagedPasswordID )` → 240 байт блоб, який врешті-решт **base64-кодується** і зберігається в атрибуті `msDS-ManagedPassword`. Ніякий трафік Kerberos або взаємодія з доменом не потрібні під час звичайного використання пароля – член хоста виводить пароль локально, якщо знає три вхідні дані.
 | 
			
		||||
Виведення виглядає так: `AES256_HMAC( KDSRootKey , SID || ManagedPasswordID )` → 240 байт блоб, який в кінці **base64-кодується** і зберігається в атрибуті `msDS-ManagedPassword`. Ніякий трафік Kerberos або взаємодія з доменом не потрібні під час звичайного використання пароля – член хоста виводить пароль локально, якщо знає три вхідні дані.
 | 
			
		||||
 | 
			
		||||
## Golden gMSA / Golden dMSA Attack
 | 
			
		||||
 | 
			
		||||
Якщо зловмисник може отримати всі три вхідні дані **офлайн**, він може обчислити **дійсні поточні та майбутні паролі** для **будь-якого gMSA/dMSA в лісі** без повторного звернення до DC, обходячи:
 | 
			
		||||
Якщо зловмисник може отримати всі три вхідні дані **офлайн**, він може обчислити **дійсні поточні та майбутні паролі** для **будь-якого gMSA/dMSA в лісі**, не торкаючись DC знову, обходячи:
 | 
			
		||||
 | 
			
		||||
* Логи попередньої аутентифікації Kerberos / запитів квитків
 | 
			
		||||
* Аудит читання LDAP
 | 
			
		||||
@ -65,12 +65,12 @@ GoldendMSA.exe info -d example.local -m brute -r 5000 -u jdoe -p P@ssw0rd
 | 
			
		||||
### Фаза 3 – Вгадати / Виявити ManagedPasswordID (коли відсутній)
 | 
			
		||||
 | 
			
		||||
Деякі розгортання *видаляють* `msDS-ManagedPasswordId` з ACL-захищених читань. 
 | 
			
		||||
Оскільки GUID є 128-бітним, наївний брутфорс є недоцільним, але:
 | 
			
		||||
Оскільки GUID має 128 біт, наївний брутфорс є недоцільним, але:
 | 
			
		||||
 | 
			
		||||
1. Перші **32 біти = Unix epoch time** створення облікового запису (з роздільною здатністю в хвилинах).
 | 
			
		||||
2. За ними слідують 96 випадкових бітів.
 | 
			
		||||
 | 
			
		||||
Отже, **вузький список слів для кожного облікового запису** (± кілька годин) є реалістичним.
 | 
			
		||||
Отже, **вузький словник для кожного облікового запису** (± кілька годин) є реалістичним.
 | 
			
		||||
```powershell
 | 
			
		||||
GoldendMSA.exe wordlist -s <SID> -d example.local -f example.local -k <KDSKeyGUID>
 | 
			
		||||
```
 | 
			
		||||
@ -78,7 +78,7 @@ GoldendMSA.exe wordlist -s <SID> -d example.local -f example.local -k <KDSKeyGUI
 | 
			
		||||
 | 
			
		||||
### Фаза 4 – Офлайн обчислення пароля та конвертація
 | 
			
		||||
 | 
			
		||||
Як тільки ManagedPasswordID відомий, дійсний пароль знаходиться в одному командному рядку:
 | 
			
		||||
Як тільки відомий ManagedPasswordID, дійсний пароль знаходиться в одному командному рядку:
 | 
			
		||||
```powershell
 | 
			
		||||
# derive base64 password
 | 
			
		||||
GoldendMSA.exe compute -s <SID> -k <KDSRootKey> -d example.local -m <ManagedPasswordID>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user