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
17bf6e4198
commit
d9b50be984
@ -10,7 +10,7 @@ Vir penetrasietoetsers is die `apple-app-site-association` lêer van besondere b
|
||||
|
||||
### **Analyzing the Associated Domains Entitlement**
|
||||
|
||||
Ontwikkelaars aktiveer Universal Links deur die **Associated Domains** in Xcode se Capabilities-oortjie te konfigureer of deur die `.entitlements` lêer te ondersoek. Elke domein is voorafgegaan deur `applinks:`. Byvoorbeeld, Telegram se konfigurasie mag soos volg verskyn:
|
||||
Ontwikkelaars stel Universal Links in deur die **Associated Domains** in Xcode se Capabilities-oortjie te konfigureer of deur die `.entitlements` lêer te ondersoek. Elke domein is voorafgegaan deur `applinks:`. Byvoorbeeld, Telegram se konfigurasie mag soos volg verskyn:
|
||||
```xml
|
||||
<key>com.apple.developer.associated-domains</key>
|
||||
<array>
|
||||
@ -56,7 +56,7 @@ application.open(url, options: [:], completionHandler: nil)
|
||||
return true
|
||||
}
|
||||
```
|
||||
URLs moet versigtig geparseer en gevalideer word, veral as hulle parameters insluit, om te beskerm teen potensiële spoofing of verkeerd gevormde data. Die `NSURLComponents` API is nuttig vir hierdie doel, soos hieronder gedemonstreer:
|
||||
URLs moet versigtig geparseer en gevalideer word, veral as hulle parameters insluit, om teen moontlike spoofing of verkeerd gevormde data te beskerm. Die `NSURLComponents` API is nuttig vir hierdie doel, soos hieronder gedemonstreer:
|
||||
```swift
|
||||
func application(_ application: UIApplication,
|
||||
continue userActivity: NSUserActivity,
|
||||
|
@ -12,7 +12,7 @@ Die RPC eindpunt mapper kan toegang verkry word via TCP en UDP poort 135, SMB op
|
||||
```
|
||||
## Hoe werk MSRPC?
|
||||
|
||||
Begin deur die kliënttoepassing, die MSRPC-proses behels die oproep van 'n plaaslike stub-prosedure wat dan met die kliënt runtime-biblioteek interaksie het om die versoek voor te berei en na die bediener te stuur. Dit sluit in om parameters in 'n standaard Netwerkdata-representasieformaat om te skakel. Die keuse van die vervoersprotokol word deur die runtime-biblioteek bepaal as die bediener afgeleë is, wat verseker dat die RPC deur die netwerkstapel afgelewer word.
|
||||
Begin deur die kliënttoepassing, die MSRPC-proses behels die oproep van 'n plaaslike stub-prosedure wat dan met die kliënt-runtime-biblioteek interaksie het om die versoek voor te berei en na die bediener te stuur. Dit sluit in om parameters in 'n standaard Netwerkdata-representasieformaat om te skakel. Die keuse van die vervoersprotokol word deur die runtime-biblioteek bepaal as die bediener afgeleë is, wat verseker dat die RPC deur die netwerkstapel afgelewer word.
|
||||
|
||||

|
||||
|
||||
@ -81,13 +81,13 @@ Dit is moontlik om afstandkode op 'n masjien uit te voer, as die akrediteer van
|
||||
|
||||
## Poort 593
|
||||
|
||||
Die **rpcdump.exe** van [rpctools](https://resources.oreilly.com/examples/9780596510305/tree/master/tools/rpctools) kan met hierdie poort interaksie hê.
|
||||
Die **rpcdump.exe** van [rpctools](https://resources.oreilly.com/examples/9780596510305/tree/master/tools/rpctools) kan met hierdie poort kommunikeer.
|
||||
|
||||
## Geoutomatiseerde Fuzzing van MSRPC Interfaces
|
||||
|
||||
MS-RPC interfaces stel 'n groot en dikwels ongedokumenteerde aanvaloppervlak bloot. Die open-source [MS-RPC-Fuzzer](https://github.com/warpnet/MS-RPC-Fuzzer) PowerShell-module bou voort op James Forshaw se `NtObjectManager` om *dynamies* RPC-kliëntstubs te skep uit die interface metadata wat reeds in Windows-binaries teenwoordig is. Sodra 'n stub bestaan, kan die module elke prosedure met gemuteerde insette bombardeer en die uitkoms log, wat **herhaalbare, grootskaalse fuzzing van RPC eindpunte moontlik maak sonder om 'n enkele lyn van IDL te skryf**.
|
||||
MS-RPC interfaces stel 'n groot en dikwels ongedokumenteerde aanvaloppervlak bloot. Die open-source [MS-RPC-Fuzzer](https://github.com/warpnet/MS-RPC-Fuzzer) PowerShell-module bou voort op James Forshaw se `NtObjectManager` om *dynamies* RPC-kliëntstubs te skep uit die interface metadata wat reeds in Windows-binaries teenwoordig is. Sodra 'n stub bestaan, kan die module elke prosedure met gemuteerde insette bombardeer en die uitkoms log, wat **herhaalbare, grootskaalse fuzzing van RPC eindpunte moontlik maak sonder om 'n enkele lyn IDL te skryf**.
|
||||
|
||||
### 1. Inventaris van die interfaces
|
||||
### 1. Inventariseer die interfaces
|
||||
```powershell
|
||||
# Import the module (download / git clone first)
|
||||
Import-Module .\MS-RPC-Fuzzer.psm1
|
||||
@ -111,7 +111,7 @@ Relevante opsies:
|
||||
|
||||
* `-MinStrLen` / `-MaxStrLen` – grootte reeks vir gegenereerde strings
|
||||
* `-MinIntSize` / `-MaxIntSize` – waarde reeks vir gemuteerde heelgetalle (nuttig vir oorgangstoetsing)
|
||||
* `-Sorted` – voer prosedures uit in 'n volgorde wat **parameter afhanklikhede** respekteer sodat uitsette van een oproep as insette van die volgende kan dien (verhoog bereikbare paaie dramaties)
|
||||
* `-Sorted` – voer prosedures uit in 'n volgorde wat **parameter afhanklikhede** eerbiedig sodat uitsette van een oproep as insette van die volgende kan dien (verhoog dramaties bereikbare paaie)
|
||||
|
||||
Die fuzzer implementeer 2 strategieë:
|
||||
|
||||
@ -121,7 +121,7 @@ Die fuzzer implementeer 2 strategieë:
|
||||
Elke oproep word atomies na `log.txt` geskryf; na 'n ineenstorting vertel die **laaste lyn onmiddellik vir jou die oortredende prosedure**. Die resultaat van elke oproep word ook in drie JSON-lêers gekategoriseer:
|
||||
|
||||
* `allowed.json` – oproep het geslaag en data teruggegee
|
||||
* `denied.json` – bediener het geantwoord met *Access Denied*
|
||||
* `denied.json` – bediener het geantwoord met *Toegang Weier*
|
||||
* `error.json` – enige ander fout / ineenstorting
|
||||
|
||||
### 3. Visualiseer met Neo4j
|
||||
@ -131,12 +131,12 @@ Import-DataToNeo4j -Neo4jHost 192.168.56.10:7474 -Neo4jUsername neo4j
|
||||
```
|
||||
`Import-DataToNeo4j` omskakel die JSON artefakte in 'n grafstruktuur waar:
|
||||
|
||||
* RPC bedieners, interfaces en prosedures is **nodes**
|
||||
* Interaksies (`ALLOWED`, `DENIED`, `ERROR`) is **relationships**
|
||||
* RPC bedieners, interfaces en prosedures is **knoppies**
|
||||
* Interaksies (`ALLOWED`, `DENIED`, `ERROR`) is **verhoudings**
|
||||
|
||||
Cypher navrae kan dan gebruik word om vinnig gevaarlike prosedures op te spoor of om die presiese ketting van oproepe wat 'n kragonderbreking voorafgegaan het, te herhaal.
|
||||
|
||||
⚠️ Die fuzzer is *destruktief*: verwag dienskragonderbrekings en selfs BSODs – hardloop dit altyd in 'n geïsoleerde VM-snapshot.
|
||||
⚠️ Die fuzzer is *vernietigend*: verwag dienskragonderbrekings en selfs BSODs – hardloop dit altyd in 'n geïsoleerde VM-snapshot.
|
||||
|
||||
|
||||
### Geoutomatiseerde Interface Enumerasie & Dinamiese Kliënt Generasie (NtObjectManager)
|
||||
@ -153,7 +153,7 @@ $rpcinterfaces | Format-Table Name,Uuid,Version,Procedures
|
||||
# Inspect a single procedure (opnum 0)
|
||||
$rpcinterfaces[0].Procedures[0] | Format-List *
|
||||
```
|
||||
Tipiese uitvoer stel parameter tipes bloot presies soos hulle in **MIDL** verskyn (bv. `FC_C_WSTRING`, `FC_LONG`, `FC_BIND_CONTEXT`).
|
||||
Tipiese uitvoer stel parameter tipes bloot presies soos hulle verskyn in **MIDL** (bv. `FC_C_WSTRING`, `FC_LONG`, `FC_BIND_CONTEXT`).
|
||||
|
||||
Sodra jy die koppelvlak ken, kan jy **'n gereed-om-te-kompiler C# kliënt genereer**:
|
||||
```powershell
|
||||
@ -177,29 +177,29 @@ Connect-RpcClient $client -stringbinding 'ncacn_np:127.0.0.1[\\pipe\\efsrpc]' `
|
||||
$ctx = New-Object Marshal.NdrContextHandle
|
||||
$client.EfsRpcOpenFileRaw([ref]$ctx, "\\\127.0.0.1\test", 0)
|
||||
```
|
||||
Authentication (Kerberos / NTLM) en versleuteling vlakke (`PacketIntegrity`, `PacketPrivacy`, …) kan direk verskaf word via die `Connect-RpcClient` cmdlet – ideaal vir **omseiling van Veiligheidsbeskrywings** wat hoë-privilege naamgegewe pype beskerm.
|
||||
Authentication (Kerberos / NTLM) en versleuteling vlakke (`PacketIntegrity`, `PacketPrivacy`, …) kan direk verskaf word via die `Connect-RpcClient` cmdlet – ideaal vir **omseiling van Sekuriteitsbeskrywings** wat hoë-privilege naam pype beskerm.
|
||||
|
||||
### Konteksbewuste RPC Fuzzing (MS-RPC-Fuzzer)
|
||||
|
||||
Statische koppelvlak kennis is wonderlik, maar wat jy regtig wil hê is **dekking-geleide fuzzing** wat *kontekshandvatsels* en komplekse parameter kettings verstaan. Die open-source **MS-RPC-Fuzzer** projek outomatiseer presies daardie werksvloei:
|
||||
Statische koppelvlak kennis is wonderlik, maar wat jy regtig wil hê is **dekking-geleide fuzzing** wat *konteks handvatsels* en komplekse parameter kettings verstaan. Die open-source **MS-RPC-Fuzzer** projek outomatiseer presies daardie werkstroom:
|
||||
|
||||
1. Enumereer elke koppelvlak/prosedure wat deur die teiken binêre uitgevoer word (`Get-RpcServer`).
|
||||
2. Genereer dinamiese kliënte vir elke koppelvlak (`Format-RpcClient`).
|
||||
3. Randomiseer invoerparameters (wye string lengte, heelgetal reekse, enums) terwyl die oorspronklike **NDR tipe** gerespekteer word.
|
||||
4. Volg *kontekshandvatsels* wat deur een oproep teruggegee word om opvolg prosedures outomaties te voed.
|
||||
5. Vuur hoë-volume oproepe teen die gekose vervoer (ALPC, TCP, HTTP of naamgegewe pyp).
|
||||
4. Volg *konteks handvatsels* wat deur een oproep teruggegee word om opvolg prosedures outomaties te voed.
|
||||
5. Vuur hoë-volume oproepe teen die gekose vervoer (ALPC, TCP, HTTP of naam pyp).
|
||||
6. Log uitgangstatusse / foute / tydsduur en voer 'n **Neo4j** invoer lêer uit om *koppelvlak → prosedure → parameter* verhoudings en crash klusters te visualiseer.
|
||||
|
||||
Voorbeeld uitvoering (naamgegewe pyp teiken):
|
||||
Voorbeeld uitvoering (naam-pyp teiken):
|
||||
```powershell
|
||||
Invoke-MSRPCFuzzer -Pipe "\\.\pipe\efsrpc" -Auth NTLM `
|
||||
-MinLen 1 -MaxLen 0x400 `
|
||||
-Iterations 100000 `
|
||||
-OutDir .\results
|
||||
```
|
||||
'n Enkele uit-bounds skrywe of onverwagte uitsondering sal onmiddellik verskyn met die presiese opnum + gefuzzed payload wat dit geaktiveer het – 'n perfekte beginpunt vir 'n stabiele bewys-van-konsep ontploffing.
|
||||
'n Enkele uit-bounds skrywe of onverwagte uitsondering sal onmiddellik met die presiese opnum + gefuzzed payload wat dit geaktiveer het, na vore kom – 'n perfekte beginpunt vir 'n stabiele bewys-van-konsep ontploffing.
|
||||
|
||||
> ⚠️ Baie RPC dienste voer uit in prosesse wat as **NT AUTHORITY\SYSTEM** loop. Enige geheue-veiligeheidsprobleem hier vertaal gewoonlik na plaaslike voorregverhoging of (wanneer blootgestel oor SMB/135) *afgeleë kode-uitvoering*.
|
||||
> ⚠️ Baie RPC dienste werk in prosesse wat as **NT AUTHORITY\SYSTEM** loop. Enige geheue-veiligeheidsprobleem hier vertaal gewoonlik na plaaslike voorregverhoging of (wanneer oor SMB/135 blootgestel) *afgeleë kode-uitvoering*.
|
||||
|
||||
|
||||
## Verwysings
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
**Active Directory** dien as 'n fundamentele tegnologie, wat **netwerkadministrateurs** in staat stel om doeltreffend **domeine**, **gebruikers**, en **objekte** binne 'n netwerk te skep en te bestuur. Dit is ontwerp om te skaal, wat die organisasie van 'n groot aantal gebruikers in hanteerbare **groepe** en **subgroepe** vergemaklik, terwyl **toegangsregte** op verskeie vlakke beheer word.
|
||||
|
||||
Die struktuur van **Active Directory** bestaan uit drie primêre lae: **domeine**, **bome**, en **woude**. 'n **domein** omvat 'n versameling van objekte, soos **gebruikers** of **toestelle**, wat 'n gemeenskaplike databasis deel. **Bome** is groepe van hierdie domeine wat deur 'n gedeelde struktuur verbind is, en 'n **woud** verteenwoordig die versameling van verskeie bome, wat deur **vertrouensverhoudings** met mekaar verbind is, wat die boonste laag van die organisatoriese struktuur vorm. Spesifieke **toegang** en **kommunikasie regte** kan op elk van hierdie vlakke aangewys word.
|
||||
Die struktuur van **Active Directory** bestaan uit drie primêre lae: **domeine**, **bome**, en **woude**. 'n **domein** omvat 'n versameling van objekte, soos **gebruikers** of **toestelle**, wat 'n gemeenskaplike databasis deel. **Bome** is groepe van hierdie domeine wat deur 'n gedeelde struktuur verbind is, en 'n **woud** verteenwoordig die versameling van verskeie bome, wat deur **vertrouensverhoudinge** met mekaar verbind is, wat die boonste laag van die organisatoriese struktuur vorm. Spesifieke **toegang** en **kommunikasie regte** kan op elk van hierdie vlakke aangewys word.
|
||||
|
||||
Belangrike konsepte binne **Active Directory** sluit in:
|
||||
|
||||
@ -14,16 +14,16 @@ Belangrike konsepte binne **Active Directory** sluit in:
|
||||
2. **Objek** – Verwys na entiteite binne die gids, insluitend **gebruikers**, **groepe**, of **gedeelde vouers**.
|
||||
3. **Domein** – Dien as 'n houer vir gidsobjekte, met die vermoë dat verskeie domeine binne 'n **woud** saam kan bestaan, elk met sy eie objekversameling.
|
||||
4. **Boom** – 'n Groepering van domeine wat 'n gemeenskaplike worteldomein deel.
|
||||
5. **Woud** – Die hoogtepunt van organisatoriese struktuur in Active Directory, saamgestel uit verskeie bome met **vertrouensverhoudings** tussen hulle.
|
||||
5. **Woud** – Die hoogtepunt van organisatoriese struktuur in Active Directory, saamgestel uit verskeie bome met **vertrouensverhoudinge** tussen hulle.
|
||||
|
||||
**Active Directory Domein Dienste (AD DS)** omvat 'n reeks dienste wat krities is vir die gesentraliseerde bestuur en kommunikasie binne 'n netwerk. Hierdie dienste sluit in:
|
||||
|
||||
1. **Domein Dienste** – Sentraliseer data berging en bestuur interaksies tussen **gebruikers** en **domeine**, insluitend **verifikasie** en **soek** funksies.
|
||||
1. **Domein Dienste** – Sentraliseer data-opberging en bestuur interaksies tussen **gebruikers** en **domeine**, insluitend **verifikasie** en **soek** funksies.
|
||||
2. **Sertifikaat Dienste** – Toesig oor die skepping, verspreiding, en bestuur van veilige **digitale sertifikate**.
|
||||
3. **Liggewig Gids Dienste** – Ondersteun gids-geaktiveerde toepassings deur die **LDAP protokol**.
|
||||
4. **Gids Federasie Dienste** – Verskaf **enkele aanmelding** vermoëns om gebruikers oor verskeie webtoepassings in 'n enkele sessie te verifieer.
|
||||
4. **Gids Federasie Dienste** – Verskaf **enkele-aanmelding** vermoëns om gebruikers oor verskeie webtoepassings in 'n enkele sessie te verifieer.
|
||||
5. **Regte Bestuur** – Help om kopiereg materiaal te beskerm deur die ongeoorloofde verspreiding en gebruik daarvan te reguleer.
|
||||
6. **DNS Diens** – Krities vir die resolusie van **domeinnames**.
|
||||
6. **DNS Diens** – Krities vir die resolusie van **domeinnaam**.
|
||||
|
||||
Vir 'n meer gedetailleerde verduideliking, kyk: [**TechTerms - Active Directory Definisie**](https://techterms.com/definition/active_directory)
|
||||
|
||||
@ -44,8 +44,8 @@ Jy kan baie na [https://wadcoms.github.io/](https://wadcoms.github.io) gaan om '
|
||||
As jy net toegang het tot 'n AD omgewing maar jy het geen krediete/sessies nie, kan jy:
|
||||
|
||||
- **Pentest die netwerk:**
|
||||
- Skandeer die netwerk, vind masjiene en oop poorte en probeer om **kwesbaarhede** te **ontgin** of **krediete** daaruit te **onttrek** (byvoorbeeld, [drukkers kan baie interessante teikens wees](ad-information-in-printers.md)).
|
||||
- Die opsporing van DNS kan inligting oor sleutelbedieners in die domein gee soos web, drukkers, gedeeltes, vpn, media, ens.
|
||||
- Skandeer die netwerk, vind masjiene en oop poorte en probeer om **kwesbaarhede** te **ontgin** of **krediete** daaruit te **onttrek** (byvoorbeeld, [drukker kan baie interessante teikens wees](ad-information-in-printers.md)).
|
||||
- Die opsporing van DNS kan inligting oor sleutelbedieners in die domein gee soos web, drukker, gedeeltes, vpn, media, ens.
|
||||
- `gobuster dns -d domain.local -t 25 -w /opt/Seclist/Discovery/DNS/subdomain-top2000.txt`
|
||||
- Kyk na die Algemene [**Pentesting Metodologie**](../../generic-methodologies-and-resources/pentesting-methodology.md) om meer inligting te vind oor hoe om dit te doen.
|
||||
- **Kontroleer vir null en Gaste toegang op smb dienste** (dit sal nie werk op moderne Windows weergawes nie):
|
||||
@ -69,19 +69,19 @@ As jy net toegang het tot 'n AD omgewing maar jy het geen krediete/sessies nie,
|
||||
- **Besoedel die netwerk**
|
||||
- Versamel krediete [**deur dienste te vervang met Responder**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
- Verkry toegang tot die gasheer deur [**die relay aanval te misbruik**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack)
|
||||
- Versamel krediete **deur** [**valse UPnP dienste met evil-S bloot te stel**](../../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)
|
||||
- Versamel krediete **deur** [**valse UPnP dienste met 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):
|
||||
- Trek gebruikersname/names uit interne dokumente, sosiale media, dienste (hoofsaaklik web) binne die domein omgewings en ook uit die publiek beskikbaar.
|
||||
- As jy die volledige name van maatskappywerkers vind, kan jy verskillende AD **gebruikersnaam konvensies** probeer (**[**lees dit**](https://activedirectorypro.com/active-directory-user-naming-convention/)). Die mees algemene konvensies is: _NaamVan_, _Naam.Van_, _NamVan_ (3 letters van elkeen), _Nam.Van_, _NVaan_, _N.Van_, _VanNaam_, _Van.Naam_, _VanN_, _Van.N_, 3 _ewekansige letters en 3 ewekansige nommers_ (abc123).
|
||||
- As jy die volledige name van maatskappywerkers vind, kan jy verskillende AD **gebruikersnaam konvensies** probeer (**[**lees dit**](https://activedirectorypro.com/active-directory-user-naming-convention/)). Die mees algemene konvensies is: _NaamVan_, _Naam.Van_, _NamVan_ (3 letters van elkeen), _Nam.Van_, _NVaan_, _N.Van_, _VanNaam_, _Van.Naam_, _VanN_, _Van.N_, 3 _willekeurige letters en 3 willekeurige nommers_ (abc123).
|
||||
- Gereedskap:
|
||||
- [w0Tx/generate-ad-username](https://github.com/w0Tx/generate-ad-username)
|
||||
- [urbanadventurer/username-anarchy](https://github.com/urbanadventurer/username-anarchy)
|
||||
|
||||
### Gebruikersevaluering
|
||||
### Gebruiker evalueering
|
||||
|
||||
- **Anonieme SMB/LDAP enum:** Kontroleer die [**pentesting SMB**](../../network-services-pentesting/pentesting-smb/index.html) en [**pentesting LDAP**](../../network-services-pentesting/pentesting-ldap.md) bladsye.
|
||||
- **Kerbrute enum**: Wanneer 'n **ongeldige gebruikersnaam aangevra** word, sal die bediener reageer met die **Kerberos fout** kode _KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN_, wat ons in staat stel om te bepaal dat die gebruikersnaam ongeldig was. **Geldige gebruikersname** sal of die **TGT in 'n AS-REP** antwoord of die fout _KRB5KDC_ERR_PREAUTH_REQUIRED_ uitlok, wat aandui dat die gebruiker verplig is om vooraf-verifikasie te doen.
|
||||
- **Geen Verifikasie teen MS-NRPC**: Gebruik auth-level = 1 (Geen verifikasie) teen die MS-NRPC (Netlogon) koppelvlak op domeinbeheerder. Die metode roep die `DsrGetDcNameEx2` funksie aan nadat dit aan die MS-NRPC koppelvlak gekoppel is om te kontroleer of die gebruiker of rekenaar bestaan sonder enige krediete. Die [NauthNRPC](https://github.com/sud0Ru/NauthNRPC) gereedskap implementeer hierdie tipe evaluering. Die navorsing kan [hier](https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2024/05/22190247/A-journey-into-forgotten-Null-Session-and-MS-RPC-interfaces.pdf) gevind word.
|
||||
- **Geen Verifikasie teen MS-NRPC**: Gebruik auth-level = 1 (Geen verifikasie) teen die MS-NRPC (Netlogon) koppelvlak op domeinbeheerder. Die metode roep die `DsrGetDcNameEx2` funksie aan nadat dit aan die MS-NRPC koppelvlak gekoppel is om te kyk of die gebruiker of rekenaar bestaan sonder enige krediete. Die [NauthNRPC](https://github.com/sud0Ru/NauthNRPC) gereedskap implementeer hierdie tipe evaluering. Die navorsing kan [hier](https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2024/05/22190247/A-journey-into-forgotten-Null-Session-and-MS-RPC-interfaces.pdf) gevind word.
|
||||
```bash
|
||||
./kerbrute_linux_amd64 userenum -d lab.ropnop.com --dc 10.10.10.10 usernames.txt #From https://github.com/ropnop/kerbrute/releases
|
||||
|
||||
@ -110,7 +110,7 @@ Get-GlobalAddressList -ExchHostname [ip] -UserName [domain]\[username] -Password
|
||||
> [!WARNING]
|
||||
> Jy kan lyste van gebruikersname vind in [**hierdie github repo**](https://github.com/danielmiessler/SecLists/tree/master/Usernames/Names) en hierdie een ([**statistically-likely-usernames**](https://github.com/insidetrust/statistically-likely-usernames)).
|
||||
>
|
||||
> Jy behoort egter die **name van die mense wat by die maatskappy werk** te hê van die rekonsiliasie stap wat jy voorheen gedoen het. Met die naam en van kan jy die skrip [**namemash.py**](https://gist.github.com/superkojiman/11076951) gebruik om potensiële geldige gebruikersname te genereer.
|
||||
> Jy behoort egter die **name van die mense wat by die maatskappy werk** te hê van die rekonstruksie stap wat jy voorheen gedoen het. Met die naam en van kan jy die skrip [**namemash.py**](https://gist.github.com/superkojiman/11076951) gebruik om potensiële geldige gebruikersname te genereer.
|
||||
|
||||
### Om een of verskeie gebruikersname te ken
|
||||
|
||||
@ -126,7 +126,7 @@ password-spraying.md
|
||||
|
||||
### LLMNR/NBT-NS Vergiftiging
|
||||
|
||||
Jy mag in staat wees om **uitdaging **hashes** te **verkry** om **vergiftiging** van sommige protokolle van die **netwerk** te krake:
|
||||
Jy mag dalk in staat wees om **uitdaging **hashes** te **verkry** om **vergiftiging** van sommige protokolle van die **netwerk** te krake:
|
||||
|
||||
{{#ref}}
|
||||
../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md
|
||||
@ -134,7 +134,7 @@ Jy mag in staat wees om **uitdaging **hashes** te **verkry** om **vergiftiging**
|
||||
|
||||
### NTLM Relay
|
||||
|
||||
As jy daarin geslaag het om die aktiewe gids te enumereer, sal jy **meer e-posse en 'n beter begrip van die netwerk** hê. Jy mag in staat wees om NTLM [**relay-aanvalle**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack) te dwing om toegang tot die AD omgewing te kry.
|
||||
As jy daarin geslaag het om die aktiewe gids te enumereer, sal jy **meer e-posse en 'n beter begrip van die netwerk** hê. Jy mag dalk in staat wees om NTLM [**relay-aanvalle**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack) te dwing om toegang tot die AD omgewing te kry.
|
||||
|
||||
### Steel NTLM Krediete
|
||||
|
||||
@ -160,14 +160,14 @@ Om 'n rekening te kompromitteer is 'n **groot stap om die hele domein te begin k
|
||||
|
||||
Ten opsigte van [**ASREPRoast**](asreproast.md) kan jy nou elke moontlike kwesbare gebruiker vind, en ten opsigte van [**Password Spraying**](password-spraying.md) kan jy 'n **lys van al die gebruikersname** kry en die wagwoord van die gecompromitteerde rekening, leë wagwoorde en nuwe belowende wagwoorde probeer.
|
||||
|
||||
- Jy kan die [**CMD gebruik om 'n basiese rekonsiliasie te doen**](../basic-cmd-for-pentesters.md#domain-info)
|
||||
- Jy kan ook [**powershell vir rekonsiliasie gebruik**](../basic-powershell-for-pentesters/index.html) wat meer stil sal wees
|
||||
- Jy kan die [**CMD gebruik om 'n basiese rekonstruksie te doen**](../basic-cmd-for-pentesters.md#domain-info)
|
||||
- Jy kan ook [**powershell vir rekonstruksie gebruik**](../basic-powershell-for-pentesters/index.html) wat meer stil sal wees
|
||||
- Jy kan ook [**powerview gebruik**](../basic-powershell-for-pentesters/powerview.md) om meer gedetailleerde inligting te onttrek
|
||||
- 'n Ander wonderlike hulpmiddel vir rekonsiliasie in 'n aktiewe gids is [**BloodHound**](bloodhound.md). Dit is **nie baie stil nie** (afhangende van die versamelingsmetodes wat jy gebruik), maar **as jy nie omgee** daaroor nie, moet jy dit beslis probeer. Vind waar gebruikers RDP kan, vind pad na ander groepe, ens.
|
||||
- 'n Ander wonderlike hulpmiddel vir rekonstruksie in 'n aktiewe gids is [**BloodHound**](bloodhound.md). Dit is **nie baie stil nie** (afhangende van die versamelingsmetodes wat jy gebruik), maar **as jy nie omgee** daaroor nie, moet jy dit beslis probeer. Vind waar gebruikers RDP kan, vind pad na ander groepe, ens.
|
||||
- **Ander geoutomatiseerde AD enumerasie hulpmiddels is:** [**AD Explorer**](bloodhound.md#ad-explorer)**,** [**ADRecon**](bloodhound.md#adrecon)**,** [**Group3r**](bloodhound.md#group3r)**,** [**PingCastle**](bloodhound.md#pingcastle)**.**
|
||||
- [**DNS rekords van die AD**](ad-dns-records.md) aangesien dit dalk interessante inligting kan bevat.
|
||||
- 'n **hulpmiddel met GUI** wat jy kan gebruik om die gids te enumereer is **AdExplorer.exe** van die **SysInternal** Suite.
|
||||
- Jy kan ook in die LDAP-databasis soek met **ldapsearch** om na krediete in die velde _userPassword_ & _unixUserPassword_, of selfs vir _Description_ te kyk. cf. [Wagwoord in AD Gebruiker kommentaar op PayloadsAllTheThings](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#password-in-ad-user-comment) vir ander metodes.
|
||||
- 'n **hulpmiddel met GUI** wat jy kan gebruik om die gids te enumereer is **AdExplorer.exe** van **SysInternal** Suite.
|
||||
- Jy kan ook in die LDAP databasis soek met **ldapsearch** om na krediete in die velde _userPassword_ & _unixUserPassword_, of selfs vir _Description_ te kyk. cf. [Wagwoord in AD Gebruiker kommentaar op PayloadsAllTheThings](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#password-in-ad-user-comment) vir ander metodes.
|
||||
- As jy **Linux** gebruik, kan jy ook die domein enumereer met [**pywerview**](https://github.com/the-useless-one/pywerview).
|
||||
- Jy kan ook probeer om geoutomatiseerde hulpmiddels soos:
|
||||
- [**tomcarver16/ADSearch**](https://github.com/tomcarver16/ADSearch)
|
||||
@ -228,7 +228,7 @@ As jy **toegang tot ander rekenaars of aandele** kan kry, kan jy **lêers plaas*
|
||||
|
||||
### CVE-2021-1675/CVE-2021-34527 PrintNightmare
|
||||
|
||||
Hierdie kwesbaarheid het enige geverifieerde gebruiker toegelaat om die **domeinbeheerder te kompromitteer**.
|
||||
Hierdie kwesbaarheid het enige geverifieerde gebruiker in staat gestel om die **domeinbeheerder te kompromitteer**.
|
||||
|
||||
{{#ref}}
|
||||
printnightmare.md
|
||||
@ -246,13 +246,13 @@ Dan is dit tyd om al die hashes in geheue en plaaslik te dump.\
|
||||
|
||||
### Pass the Hash
|
||||
|
||||
**Sodra jy die hash van 'n gebruiker het**, kan jy dit gebruik om **te verteenwoordig**.\
|
||||
Jy moet 'n **gereedskap** gebruik wat die **NTLM-authentisering met** daardie **hash** sal **uitvoer**, **of** jy kan 'n nuwe **sessionlogon** skep en daardie **hash** binne die **LSASS** **inspuit**, sodat wanneer enige **NTLM-authentisering uitgevoer word**, daardie **hash gebruik sal word.** Die laaste opsie is wat mimikatz doen.\
|
||||
**Sodra jy die hash van 'n gebruiker het**, kan jy dit gebruik om **te verpersoonlik**.\
|
||||
Jy moet 'n **gereedskap** gebruik wat die **NTLM-authentisering met** daardie **hash** sal **uitvoer**, **of** jy kan 'n nuwe **sessionlogon** skep en daardie **hash** binne die **LSASS** **injekteer**, sodat wanneer enige **NTLM-authentisering uitgevoer word**, daardie **hash gebruik sal word.** Die laaste opsie is wat mimikatz doen.\
|
||||
[**Lees hierdie bladsy vir meer inligting.**](../ntlm/index.html#pass-the-hash)
|
||||
|
||||
### Over Pass the Hash/Pass the Key
|
||||
|
||||
Hierdie aanval is daarop gemik om **die gebruiker se NTLM-hash te gebruik om Kerberos-tickets aan te vra**, as 'n alternatief vir die algemene Pass The Hash oor NTLM-protokol. Daarom kan dit veral **nuttig wees in netwerke waar die NTLM-protokol gedeaktiveer is** en slegs **Kerberos toegelaat word** as authentikasieprotokol.
|
||||
Hierdie aanval is daarop gemik om **die gebruiker se NTLM-hash te gebruik om Kerberos-tickets aan te vra**, as 'n alternatief vir die algemene Pass The Hash oor die NTLM-protokol. Daarom kan dit veral **nuttig wees in netwerke waar die NTLM-protokol gedeaktiveer is** en slegs **Kerberos as die autentikasieprotokol toegelaat word**.
|
||||
|
||||
{{#ref}}
|
||||
over-pass-the-hash-pass-the-key.md
|
||||
@ -260,7 +260,7 @@ over-pass-the-hash-pass-the-key.md
|
||||
|
||||
### Pass the Ticket
|
||||
|
||||
In die **Pass The Ticket (PTT)** aanvalmetode, **steel aanvallers 'n gebruiker se authentikasieticket** in plaas van hul wagwoord of hash waardes. Hierdie gesteelde kaartjie word dan gebruik om die **gebruiker te verteenwoordig**, wat ongeoorloofde toegang tot hulpbronne en dienste binne 'n netwerk verkry.
|
||||
In die **Pass The Ticket (PTT)** aanvalmetode, **steel aanvallers 'n gebruiker se autentikasieticket** in plaas van hul wagwoord of hash waardes. Hierdie gesteelde kaartjie word dan gebruik om die **gebruiker te verpersoonlik**, wat ongeoorloofde toegang tot hulpbronne en dienste binne 'n netwerk verkry.
|
||||
|
||||
{{#ref}}
|
||||
pass-the-ticket.md
|
||||
@ -268,7 +268,7 @@ pass-the-ticket.md
|
||||
|
||||
### Kredensiale Hergebruik
|
||||
|
||||
As jy die **hash** of **wagwoord** van 'n **lokale administrateur** het, moet jy probeer om **lokale aanmelding** te doen op ander **PC's** daarmee.
|
||||
As jy die **hash** of **wagwoord** van 'n **lokale administrateur** het, moet jy probeer om **lokaal in te teken** op ander **PC's** daarmee.
|
||||
```bash
|
||||
# Local Auth Spray (once you found some local admin pass or hash)
|
||||
## --local-auth flag indicate to only try 1 time per machine
|
||||
@ -277,10 +277,10 @@ crackmapexec smb --local-auth 10.10.10.10/23 -u administrator -H 10298e182387f9c
|
||||
> [!WARNING]
|
||||
> Let daarop dat dit baie **luidrugtig** is en **LAPS** dit sou **verlig**.
|
||||
|
||||
### MSSQL Misbruik & Vertroude Skakels
|
||||
### MSSQL Misbruik & Betroubare Skakels
|
||||
|
||||
As 'n gebruiker bevoegdhede het om **MSSQL instansies te benader**, kan hy dit gebruik om **opdragte** in die MSSQL gasheer uit te voer (as dit as SA loop), die NetNTLM **hash** te **steel** of selfs 'n **relay** **aanval** uit te voer.\
|
||||
Ook, as 'n MSSQL instansie vertrou (databasis skakel) deur 'n ander MSSQL instansie. As die gebruiker bevoegdhede oor die vertroude databasis het, sal hy in staat wees om **die vertrouensverhouding te gebruik om navrae ook in die ander instansie uit te voer**. Hierdie vertroue kan geketting word en op 'n sekere punt mag die gebruiker 'n verkeerd geconfigureerde databasis vind waar hy opdragte kan uitvoer.\
|
||||
As 'n gebruiker die voorregte het om **MSSQL-instansies te benader**, kan hy dit gebruik om **opdragte** in die MSSQL-gasheer uit te voer (as dit as SA loop), die NetNTLM **hash** te **steel** of selfs 'n **relay** **aanval** uit te voer.\
|
||||
Ook, as 'n MSSQL-instansie betroubaar is (databasis skakel) deur 'n ander MSSQL-instansie. As die gebruiker voorregte oor die betroubare databasis het, sal hy in staat wees om die **vertrouensverhouding te gebruik om navrae ook in die ander instansie uit te voer**. Hierdie vertroue kan geketting word en op 'n sekere punt mag die gebruiker 'n verkeerd geconfigureerde databasis vind waar hy opdragte kan uitvoer.\
|
||||
**Die skakels tussen databasisse werk selfs oor bosvertroue.**
|
||||
|
||||
{{#ref}}
|
||||
@ -289,9 +289,9 @@ abusing-ad-mssql.md
|
||||
|
||||
### Onbeperkte Afvaardiging
|
||||
|
||||
As jy enige rekenaarobjek met die attribuut [ADS_UF_TRUSTED_FOR_DELEGATION](<https://msdn.microsoft.com/en-us/library/aa772300(v=vs.85).aspx>) vind en jy het domein bevoegdhede op die rekenaar, sal jy in staat wees om TGT's uit die geheue van elke gebruiker wat op die rekenaar aanmeld, te dump.\
|
||||
As jy enige rekenaarobjek met die attribuut [ADS_UF_TRUSTED_FOR_DELEGATION](<https://msdn.microsoft.com/en-us/library/aa772300(v=vs.85).aspx>) vind en jy het domeinvoorregte op die rekenaar, sal jy in staat wees om TGT's uit die geheue van elke gebruiker wat op die rekenaar aanmeld, te dump.\
|
||||
So, as 'n **Domein Admin op die rekenaar aanmeld**, sal jy in staat wees om sy TGT te dump en hom na te boots met [Pass the Ticket](pass-the-ticket.md).\
|
||||
Dankie aan beperkte afvaardiging kan jy selfs **automaties 'n Drukbediener kompromitteer** (hopelik sal dit 'n DC wees).
|
||||
Danksy beperkte afvaardiging kan jy selfs 'n **Drukbediener outomaties kompromenteer** (hopelik sal dit 'n DC wees).
|
||||
|
||||
{{#ref}}
|
||||
unconstrained-delegation.md
|
||||
@ -299,8 +299,8 @@ unconstrained-delegation.md
|
||||
|
||||
### Beperkte Afvaardiging
|
||||
|
||||
As 'n gebruiker of rekenaar toegelaat word vir "Beperkte Afvaardiging" sal dit in staat wees om **enige gebruiker na te boots om toegang tot sekere dienste in 'n rekenaar te verkry**.\
|
||||
Dan, as jy die **hash** van hierdie gebruiker/rekenaar **kompromitteer**, sal jy in staat wees om **enige gebruiker** (selfs domein admins) na te boots om toegang tot sekere dienste te verkry.
|
||||
As 'n gebruiker of rekenaar toegelaat word vir "Beperkte Afvaardiging", sal dit in staat wees om **enige gebruiker na te boots om toegang tot sekere dienste op 'n rekenaar te verkry**.\
|
||||
Dan, as jy die **hash** van hierdie gebruiker/rekenaar **kompromenteer**, sal jy in staat wees om **enige gebruiker** (selfs domeinadmins) na te boots om toegang tot sekere dienste te verkry.
|
||||
|
||||
{{#ref}}
|
||||
constrained-delegation.md
|
||||
@ -308,15 +308,15 @@ constrained-delegation.md
|
||||
|
||||
### Hulpbronne-gebaseerde Beperkte Afvaardiging
|
||||
|
||||
Om **WRITE** bevoegdheid op 'n Active Directory objek van 'n afstandlike rekenaar te hê, stel die verkryging van kode-uitvoering met **verhoogde bevoegdhede** moontlik:
|
||||
Om **WRITE** voorregte op 'n Active Directory objek van 'n afgeleë rekenaar te hê, stel die verkryging van kode-uitvoering met **verhoogde voorregte** in staat:
|
||||
|
||||
{{#ref}}
|
||||
resource-based-constrained-delegation.md
|
||||
{{#endref}}
|
||||
|
||||
### Toestemmings/ACLs Misbruik
|
||||
### Permissies/ACLs Misbruik
|
||||
|
||||
Die gekompromitteerde gebruiker kan 'n paar **interessante bevoegdhede oor sekere domeinobjekte** hê wat jou kan laat **beweeg** lateraal/**verhoog** bevoegdhede.
|
||||
Die gekompromitteerde gebruiker kan 'n paar **interessante voorregte oor sekere domeinobjekte** hê wat jou kan laat **beweeg** lateraal/**verhoog** voorregte.
|
||||
|
||||
{{#ref}}
|
||||
acl-persistence-abuse/
|
||||
@ -324,7 +324,7 @@ acl-persistence-abuse/
|
||||
|
||||
### Drukspooler diens misbruik
|
||||
|
||||
Die ontdekking van 'n **Spool diens wat luister** binne die domein kan **misbruik** word om **nuwe geloofsbriewe** te **verkry** en **bevoegdhede te verhoog**.
|
||||
Die ontdekking van 'n **Spool diens wat luister** binne die domein kan **misbruik** word om **nuwe akrediteer** te verkry en **voorregte te verhoog**.
|
||||
|
||||
{{#ref}}
|
||||
printers-spooler-service-abuse.md
|
||||
@ -332,7 +332,7 @@ printers-spooler-service-abuse.md
|
||||
|
||||
### Derdeparty sessies misbruik
|
||||
|
||||
As **ander gebruikers** **toegang** tot die **gekompromitteerde** masjien het, is dit moontlik om **geloofsbriewe uit die geheue te versamel** en selfs **beacons in hul prosesse in te spuit** om hulle na te boots.\
|
||||
As **ander gebruikers** **toegang** tot die **gekompromitteerde** masjien het, is dit moontlik om **akrediteer uit die geheue te versamel** en selfs **beacons in hul prosesse in te spuit** om hulle na te boots.\
|
||||
Gewoonlik sal gebruikers die stelsel via RDP benader, so hier is hoe om 'n paar aanvalle oor derdeparty RDP-sessies uit te voer:
|
||||
|
||||
{{#ref}}
|
||||
@ -341,7 +341,7 @@ rdp-sessions-abuse.md
|
||||
|
||||
### LAPS
|
||||
|
||||
**LAPS** bied 'n stelsel vir die bestuur van die **lokale Administrateur wagwoord** op domein-verbonden rekenaars, wat verseker dat dit **randomiseer**, uniek is, en gereeld **verander**. Hierdie wagwoorde word in Active Directory gestoor en toegang word deur ACLs slegs aan gemagtigde gebruikers beheer. Met voldoende bevoegdhede om toegang tot hierdie wagwoorde te verkry, word dit moontlik om na ander rekenaars te pivot.
|
||||
**LAPS** bied 'n stelsel vir die bestuur van die **lokale Administrateur wagwoord** op domein-verbonden rekenaars, wat verseker dat dit **randomiseer**, uniek is, en gereeld **verander**. Hierdie wagwoorde word in Active Directory gestoor en toegang word beheer deur ACLs slegs aan gemagtigde gebruikers. Met voldoende voorregte om toegang tot hierdie wagwoorde te verkry, word dit moontlik om na ander rekenaars te pivot.
|
||||
|
||||
{{#ref}}
|
||||
laps.md
|
||||
@ -349,7 +349,7 @@ laps.md
|
||||
|
||||
### Sertifikaat Diefstal
|
||||
|
||||
**Die versameling van sertifikate** van die gekompromitteerde masjien kan 'n manier wees om bevoegdhede binne die omgewing te verhoog:
|
||||
**Die versameling van sertifikate** van die gekompromitteerde masjien kan 'n manier wees om voorregte binne die omgewing te verhoog:
|
||||
|
||||
{{#ref}}
|
||||
ad-certificates/certificate-theft.md
|
||||
@ -357,17 +357,17 @@ ad-certificates/certificate-theft.md
|
||||
|
||||
### Sertifikaat Templates Misbruik
|
||||
|
||||
As **kwetsbare templates** geconfigureer is, is dit moontlik om hulle te misbruik om bevoegdhede te verhoog:
|
||||
As **kwetsbare templates** geconfigureer is, is dit moontlik om hulle te misbruik om voorregte te verhoog:
|
||||
|
||||
{{#ref}}
|
||||
ad-certificates/domain-escalation.md
|
||||
{{#endref}}
|
||||
|
||||
## Post-exploitatie met hoë bevoegdheid rekening
|
||||
## Post-exploitatie met hoë voorregte rekening
|
||||
|
||||
### Dumping Domein Geloofsbriewe
|
||||
### Dumping Domein Akrediteer
|
||||
|
||||
Sodra jy **Domein Admin** of selfs beter **Enterprise Admin** bevoegdhede kry, kan jy die **domein databasis** dump: _ntds.dit_.
|
||||
Sodra jy **Domein Admin** of selfs beter **Enterprise Admin** voorregte kry, kan jy die **domeindatabasis** dump: _ntds.dit_.
|
||||
|
||||
[**Meer inligting oor DCSync aanval kan hier gevind word**](dcsync.md).
|
||||
|
||||
@ -390,33 +390,33 @@ Set-DomainObject -Identity <username> -Set @{serviceprincipalname="fake/NOTHING"
|
||||
Set-DomainObject -Identity <username> -XOR @{UserAccountControl=4194304}
|
||||
```
|
||||
|
||||
- Gee [**DCSync**](#dcsync) bevoegdhede aan 'n gebruiker
|
||||
- Gee [**DCSync**](#dcsync) voorregte aan 'n gebruiker
|
||||
|
||||
```bash
|
||||
Add-DomainObjectAcl -TargetIdentity "DC=SUB,DC=DOMAIN,DC=LOCAL" -PrincipalIdentity bfarmer -Rights DCSync
|
||||
```
|
||||
|
||||
### Silwer Kaart
|
||||
### Silwer Tiket
|
||||
|
||||
Die **Silwer Kaart aanval** skep 'n **legitieme Ticket Granting Service (TGS) kaart** vir 'n spesifieke diens deur die **NTLM hash** te gebruik (byvoorbeeld, die **hash van die PC rekening**). Hierdie metode word gebruik om **toegang tot die diensbevoegdhede** te verkry.
|
||||
Die **Silwer Tiket aanval** skep 'n **legitieme Ticket Granting Service (TGS) tik** vir 'n spesifieke diens deur die **NTLM hash** te gebruik (byvoorbeeld, die **hash van die PC rekening**). Hierdie metode word gebruik om **toegang tot die diens voorregte** te verkry.
|
||||
|
||||
{{#ref}}
|
||||
silver-ticket.md
|
||||
{{#endref}}
|
||||
|
||||
### Goue Kaart
|
||||
### Goue Tiket
|
||||
|
||||
'n **Goue Kaart aanval** behels dat 'n aanvaller toegang verkry tot die **NTLM hash van die krbtgt rekening** in 'n Active Directory (AD) omgewing. Hierdie rekening is spesiaal omdat dit gebruik word om alle **Ticket Granting Tickets (TGTs)** te teken, wat noodsaaklik is vir autentisering binne die AD netwerk.
|
||||
'n **Goue Tiket aanval** behels dat 'n aanvaller toegang verkry tot die **NTLM hash van die krbtgt rekening** in 'n Active Directory (AD) omgewing. Hierdie rekening is spesiaal omdat dit gebruik word om alle **Ticket Granting Tickets (TGTs)** te teken, wat noodsaaklik is vir autentisering binne die AD netwerk.
|
||||
|
||||
Sodra die aanvaller hierdie hash verkry, kan hulle **TGTs** vir enige rekening wat hulle kies skep (Silwer kaart aanval).
|
||||
Sodra die aanvaller hierdie hash verkry, kan hulle **TGTs** vir enige rekening wat hulle kies skep (Silwer tiket aanval).
|
||||
|
||||
{{#ref}}
|
||||
golden-ticket.md
|
||||
{{#endref}}
|
||||
|
||||
### Diamant Kaart
|
||||
### Diamant Tiket
|
||||
|
||||
Hierdie is soos goue kaarte wat op 'n manier vervals is wat **algemene goue kaart opsporingsmeganismes omseil**.
|
||||
Hierdie is soos goue tikette wat op 'n manier vervals is wat **algemene goue tikette opsporingsmeganismes omseil**.
|
||||
|
||||
{{#ref}}
|
||||
diamond-ticket.md
|
||||
@ -432,7 +432,7 @@ ad-certificates/account-persistence.md
|
||||
|
||||
### **Sertifikate Domein Persistensie**
|
||||
|
||||
**Om sertifikate te gebruik is ook moontlik om met hoë bevoegdhede binne die domein te volhard:**
|
||||
**Om sertifikate te gebruik is ook moontlik om met hoë voorregte binne die domein te volhard:**
|
||||
|
||||
{{#ref}}
|
||||
ad-certificates/domain-persistence.md
|
||||
@ -440,13 +440,13 @@ ad-certificates/domain-persistence.md
|
||||
|
||||
### AdminSDHolder Groep
|
||||
|
||||
Die **AdminSDHolder** objek in Active Directory verseker die sekuriteit van **bevoegde groepe** (soos Domein Admins en Enterprise Admins) deur 'n standaard **Toegang Beheer Lys (ACL)** oor hierdie groepe toe te pas om ongewenste veranderinge te voorkom. Hierdie kenmerk kan egter misbruik word; as 'n aanvaller die AdminSDHolder se ACL aanpas om volle toegang aan 'n gewone gebruiker te gee, kry daardie gebruiker uitgebreide beheer oor al die bevoegde groepe. Hierdie sekuriteitsmaatreël, wat bedoel is om te beskerm, kan dus omgekeerd werk, wat ongewenste toegang toelaat tensy dit noukeurig gemonitor word.
|
||||
Die **AdminSDHolder** objek in Active Directory verseker die sekuriteit van **voorregte groepe** (soos Domein Admins en Enterprise Admins) deur 'n standaard **Toegang Beheer Lys (ACL)** oor hierdie groepe toe te pas om ongeoorloofde veranderinge te voorkom. Hierdie kenmerk kan egter misbruik word; as 'n aanvaller die AdminSDHolder se ACL verander om volle toegang aan 'n gewone gebruiker te gee, kry daardie gebruiker uitgebreide beheer oor al die voorregte groepe. Hierdie sekuriteitsmaatreël, wat bedoel is om te beskerm, kan dus omgekeerd werk, wat ongeoorloofde toegang toelaat tensy dit noukeurig gemonitor word.
|
||||
|
||||
[**Meer inligting oor AdminDSHolder Groep hier.**](privileged-groups-and-token-privileges.md#adminsdholder-group)
|
||||
|
||||
### DSRM Geloofsbriewe
|
||||
### DSRM Akrediteer
|
||||
|
||||
Binne elke **Domein Beheerder (DC)** bestaan 'n **lokale administrateur** rekening. Deur admin regte op so 'n masjien te verkry, kan die lokale Administrateur hash met **mimikatz** uitgehaal word. Daarna is 'n registerwysiging nodig om **die gebruik van hierdie wagwoord** moontlik te maak, wat vir afstandlike toegang tot die lokale Administrateur rekening toelaat.
|
||||
Binne elke **Domein Beheerder (DC)** bestaan 'n **lokale administrateur** rekening. Deur admin regte op so 'n masjien te verkry, kan die lokale Administrateur hash met **mimikatz** onttrek word. Daarna is 'n registerwysiging nodig om **die gebruik van hierdie wagwoord** moontlik te maak, wat vir afstandstoegang tot die lokale Administrateur rekening toelaat.
|
||||
|
||||
{{#ref}}
|
||||
dsrm-credentials.md
|
||||
@ -454,7 +454,7 @@ dsrm-credentials.md
|
||||
|
||||
### ACL Persistensie
|
||||
|
||||
Jy kan **spesiale toestemmings** aan 'n **gebruiker** oor sekere spesifieke domeinobjekte gee wat die gebruiker sal laat **bevoegdhede in die toekoms verhoog**.
|
||||
Jy kan **sekere spesiale toestemmings** aan 'n **gebruiker** oor sekere spesifieke domeinobjekte gee wat die gebruiker sal laat **verhoog** voorregte in die toekoms.
|
||||
|
||||
{{#ref}}
|
||||
acl-persistence-abuse/
|
||||
@ -462,7 +462,7 @@ acl-persistence-abuse/
|
||||
|
||||
### Sekuriteitsbeskrywings
|
||||
|
||||
Die **sekuriteitsbeskrywings** word gebruik om die **toestemmings** wat 'n **objek** oor 'n **objek** het, te **stoor**. As jy net 'n **klein verandering** in die **sekuriteitsbeskrywing** van 'n objek kan maak, kan jy baie interessante bevoegdhede oor daardie objek verkry sonder om 'n lid van 'n bevoegde groep te wees.
|
||||
Die **sekuriteitsbeskrywings** word gebruik om die **toestemmings** wat 'n **objek** oor 'n **objek** het, te **stoor**. As jy net 'n **klein verandering** in die **sekuriteitsbeskrywing** van 'n objek kan maak, kan jy baie interessante voorregte oor daardie objek verkry sonder om lid van 'n voorregte groep te wees.
|
||||
|
||||
{{#ref}}
|
||||
security-descriptors.md
|
||||
@ -479,7 +479,7 @@ skeleton-key.md
|
||||
### Pasgemaakte SSP
|
||||
|
||||
[Leer wat 'n SSP (Security Support Provider) hier is.](../authentication-credentials-uac-and-efs/index.html#security-support-provider-interface-sspi)\
|
||||
Jy kan jou **eie SSP** skep om **in duidelike teks** die **geloofsbriewe** wat gebruik word om toegang tot die masjien te verkry, te **vang**.
|
||||
Jy kan jou **eie SSP** skep om **in duidelike teks** die **akrediteer** wat gebruik word om toegang tot die masjien te verkry, te **vang**.
|
||||
|
||||
{{#ref}}
|
||||
custom-ssp.md
|
||||
@ -487,8 +487,8 @@ custom-ssp.md
|
||||
|
||||
### DCShadow
|
||||
|
||||
Dit registreer 'n **nuwe Domein Beheerder** in die AD en gebruik dit om **attribuutte** (SIDHistory, SPNs...) op gespesifiseerde objek te **druk** **sonder** om enige **logs** rakende die **wysigings** te laat. Jy **het DA** bevoegdhede nodig en moet binne die **worteldomein** wees.\
|
||||
Let daarop dat as jy verkeerde data gebruik, sal daar baie lelike logs verskyn.
|
||||
Dit registreer 'n **nuwe Domein Beheerder** in die AD en gebruik dit om **attribuut** (SIDHistory, SPNs...) op gespesifiseerde objek te **druk** **sonder** om enige **logs** rakende die **wysigings** te laat. Jy **het DA** voorregte nodig en moet binne die **worteldomein** wees.\
|
||||
Let daarop dat as jy verkeerde data gebruik, baie lelike logs sal verskyn.
|
||||
|
||||
{{#ref}}
|
||||
dcshadow.md
|
||||
@ -496,22 +496,22 @@ dcshadow.md
|
||||
|
||||
### LAPS Persistensie
|
||||
|
||||
Voorheen het ons bespreek hoe om bevoegdhede te verhoog as jy **genoeg toestemming het om LAPS wagwoorde te lees**. Hierdie wagwoorde kan egter ook gebruik word om **persistensie te handhaaf**.\
|
||||
Voorheen het ons bespreek hoe om voorregte te verhoog as jy **genoeg toestemming het om LAPS wagwoorde te lees**. Hierdie wagwoorde kan egter ook gebruik word om **persistensie te handhaaf**.\
|
||||
Kyk:
|
||||
|
||||
{{#ref}}
|
||||
laps.md
|
||||
{{#endref}}
|
||||
|
||||
## Bos Bevoegdheid Verhoging - Domein Vertroue
|
||||
## Bos Voorregte Verhoog - Domein Vertroue
|
||||
|
||||
Microsoft beskou die **Bos** as die sekuriteitsgrens. Dit impliseer dat **die kompromittering van 'n enkele domein potensieel kan lei tot die hele Bos wat gecompromitteer word**.
|
||||
Microsoft beskou die **Bos** as die sekuriteitsgrens. Dit impliseer dat **die kompromitering van 'n enkele domein moontlik kan lei tot die hele Bos wat gecompromitteer word**.
|
||||
|
||||
### Basiese Inligting
|
||||
|
||||
'n [**domein vertroue**](<http://technet.microsoft.com/en-us/library/cc759554(v=ws.10).aspx>) is 'n sekuriteitsmeganisme wat 'n gebruiker van een **domein** in staat stel om toegang tot hulpbronne in 'n ander **domein** te verkry. Dit skep essensieel 'n skakel tussen die autentiseringstelsels van die twee domeine, wat autentisering verifikasies naatloos laat vloei. Wanneer domeine 'n vertroue opstel, ruil hulle spesifieke **sleutels** uit en hou dit binne hul **Domein Beheerders (DCs)**, wat noodsaaklik is vir die integriteit van die vertroue.
|
||||
'n [**domein vertroue**](<http://technet.microsoft.com/en-us/library/cc759554(v=ws.10).aspx>) is 'n sekuriteitsmeganisme wat 'n gebruiker van een **domein** in staat stel om toegang tot hulpbronne in 'n ander **domein** te verkry. Dit skep essensieel 'n skakel tussen die autentiseringstelsels van die twee domeine, wat autentiseringverifikasies naatloos laat vloei. Wanneer domeine 'n vertroue opstel, ruil hulle spesifieke **sleutels** uit en hou dit binne hul **Domein Beheerders (DCs)**, wat noodsaaklik is vir die integriteit van die vertroue.
|
||||
|
||||
In 'n tipiese scenario, as 'n gebruiker 'n diens in 'n **vertroude domein** wil benader, moet hulle eers 'n spesiale kaart aan vra wat bekend staan as 'n **inter-realm TGT** van hul eie domein se DC. Hierdie TGT is versleuteld met 'n gedeelde **sleutel** wat albei domeine ooreengekom het. Die gebruiker bied dan hierdie TGT aan die **DC van die vertroude domein** aan om 'n diens kaart (**TGS**) te verkry. Na suksesvolle validasie van die inter-realm TGT deur die vertroude domein se DC, stel dit 'n TGS uit, wat die gebruiker toegang tot die diens verleen.
|
||||
In 'n tipiese scenario, as 'n gebruiker 'n diens in 'n **betroubare domein** wil benader, moet hulle eers 'n spesiale tik aan vra wat bekend staan as 'n **inter-realm TGT** van hul eie domein se DC. Hierdie TGT is versleuteld met 'n gedeelde **sleutel** wat beide domeine ooreengekom het. Die gebruiker bied dan hierdie TGT aan die **DC van die betroubare domein** aan om 'n diens tik (**TGS**) te verkry. Na suksesvolle validasie van die inter-realm TGT deur die betroubare domein se DC, stel dit 'n TGS uit, wat die gebruiker toegang tot die diens verleen.
|
||||
|
||||
**Stappe**:
|
||||
|
||||
@ -520,41 +520,41 @@ In 'n tipiese scenario, as 'n gebruiker 'n diens in 'n **vertroude domein** wil
|
||||
3. Die klient vra dan 'n **inter-realm TGT** van DC1 aan, wat nodig is om toegang tot hulpbronne in **Domein 2** te verkry.
|
||||
4. Die inter-realm TGT is versleuteld met 'n **vertrouensleutel** wat tussen DC1 en DC2 as deel van die twee-rigting domein vertroue gedeel word.
|
||||
5. Die klient neem die inter-realm TGT na **Domein 2 se Domein Beheerder (DC2)**.
|
||||
6. DC2 verifieer die inter-realm TGT met sy gedeelde vertrouensleutel en, indien geldig, stel 'n **Ticket Granting Service (TGS)** uit vir die bediener in Domein 2 wat die klient wil benader.
|
||||
6. DC2 verifieer die inter-realm TGT met sy gedeelde vertrouensleutel en, as dit geldig is, stel 'n **Ticket Granting Service (TGS)** uit vir die bediener in Domein 2 wat die klient wil benader.
|
||||
7. Laastens bied die klient hierdie TGS aan die bediener aan, wat versleuteld is met die bediener se rekening hash, om toegang tot die diens in Domein 2 te verkry.
|
||||
|
||||
### Verskillende vertroue
|
||||
|
||||
Dit is belangrik om op te let dat **'n vertroue 1 rigting of 2 rigtings kan wees**. In die 2 rigtings opsies, sal albei domeine mekaar vertrou, maar in die **1 rigting** vertrouensverhouding sal een van die domeine die **vertroude** en die ander die **vertrouende** domein wees. In die laaste geval, **sal jy slegs in staat wees om toegang tot hulpbronne binne die vertrouende domein van die vertroude een te verkry**.
|
||||
Dit is belangrik om op te let dat **'n vertroue 1 rigting of 2 rigtings kan wees**. In die 2 rigtings opsies, sal beide domeine mekaar vertrou, maar in die **1 rigting** vertrouensverhouding sal een van die domeine die **betroubare** en die ander die **vertrouende** domein wees. In die laaste geval, **sal jy slegs in staat wees om toegang tot hulpbronne binne die vertrouende domein van die betroubare een te verkry**.
|
||||
|
||||
As Domein A Domein B vertrou, is A die vertrouende domein en B is die vertroude een. Boonop, in **Domein A**, sal dit 'n **Uitgaande vertroue** wees; en in **Domein B**, sal dit 'n **Inkomende vertroue** wees.
|
||||
As Domein A Domein B vertrou, is A die vertrouende domein en B is die betroubare een. Boonop, in **Domein A**, sal dit 'n **Uitgaande vertroue** wees; en in **Domein B**, sal dit 'n **Inkomende vertroue** wees.
|
||||
|
||||
**Verskillende vertrouensverhoudings**
|
||||
**Verskillende vertrouende verhoudings**
|
||||
|
||||
- **Ouers-Kind Vertroue**: Dit is 'n algemene opstelling binne dieselfde bos, waar 'n kind domein outomaties 'n twee-rigting transitive vertroue met sy ouerdomein het. Essensieel beteken dit dat autentisering versoeke naatloos tussen die ouer en die kind kan vloei.
|
||||
- **Kruiskoppel Vertroue**: Bekend as "kortpad vertroue," word hierdie tussen kind domeine gevestig om verwysingsprosesse te versnel. In komplekse bosse moet autentisering verwysings tipies tot by die boswortel reis en dan af na die teiken domein. Deur kruiskoppels te skep, word die reis verkort, wat veral voordelig is in geografies verspreide omgewings.
|
||||
- **Buitelandse Vertroue**: Hierdie word tussen verskillende, nie-verwante domeine opgestel en is van nature nie-transitief. Volgens [Microsoft se dokumentasie](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>), is buitelandse vertroue nuttig om toegang tot hulpbronne in 'n domein buite die huidige bos te verkry wat nie deur 'n bosvertroue verbind is nie. Sekuriteit word versterk deur SID filtrering met buitelandse vertroue.
|
||||
- **Boomwortel Vertroue**: Hierdie vertroue word outomaties gevestig tussen die bosworteldomein en 'n nuut bygevoegde boomwortel. Alhoewel dit nie algemeen teëgekom word nie, is boomwortel vertroue belangrik vir die byvoeging van nuwe domein bome aan 'n bos, wat hulle in staat stel om 'n unieke domeinnaam te handhaaf en twee-rigting transitiwiteit te verseker. Meer inligting kan in [Microsoft se gids](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>) gevind word.
|
||||
- **Ouers-Kind Vertroue**: Dit is 'n algemene opstelling binne dieselfde bos, waar 'n kinderdomein outomaties 'n twee-rigting transitive vertroue met sy ouerdomein het. Essensieel beteken dit dat autentisering versoeke naatloos tussen die ouer en die kind kan vloei.
|
||||
- **Kruiskoppel Vertroue**: Genoem "kortpad vertroue," hierdie word tussen kinderdomeine gevestig om verwysingsprosesse te versnel. In komplekse bosse moet autentisering verwysings tipies tot die boswortel reis en dan af na die teikendomein. Deur kruiskoppels te skep, word die reis verkort, wat veral voordelig is in geografies verspreide omgewings.
|
||||
- **Buitelandse Vertroue**: Hierdie word tussen verskillende, nie-verwante domeine opgestel en is nie-transitief van aard. Volgens [Microsoft se dokumentasie](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>), is buitelandse vertroue nuttig vir toegang tot hulpbronne in 'n domein buite die huidige bos wat nie deur 'n bosvertroue gekoppel is nie. Sekuriteit word versterk deur SID filtrering met buitelandse vertroue.
|
||||
- **Boomwortel Vertroue**: Hierdie vertroue word outomaties gevestig tussen die bosworteldomein en 'n nuut bygevoegde boomwortel. Alhoewel dit nie algemeen teëgekom word nie, is boomwortel vertroue belangrik vir die byvoeging van nuwe domein bome aan 'n bos, wat hulle in staat stel om 'n unieke domeinnaam te handhaaf en twee-rigting transitiwiteit te verseker. Meer inligting kan gevind word in [Microsoft se gids](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>).
|
||||
- **Bos Vertroue**: Hierdie tipe vertroue is 'n twee-rigting transitive vertroue tussen twee bosworteldomeine, wat ook SID filtrering afdwing om sekuriteitsmaatreëls te verbeter.
|
||||
- **MIT Vertroue**: Hierdie vertroue word gevestig met nie-Windows, [RFC4120-kompatible](https://tools.ietf.org/html/rfc4120) Kerberos domeine. MIT vertroue is 'n bietjie meer gespesialiseerd en dien omgewings wat integrasie met Kerberos-gebaseerde stelsels buite die Windows ekosisteem vereis.
|
||||
- **MIT Vertroue**: Hierdie vertroue word gevestig met nie-Windows, [RFC4120-kompatible](https://tools.ietf.org/html/rfc4120) Kerberos domeine. MIT vertroue is 'n bietjie meer gespesialiseerd en dien omgewings wat integrasie met Kerberos-gebaseerde stelsels buite die Windows-ekosisteem vereis.
|
||||
|
||||
#### Ander verskille in **vertrouensverhoudings**
|
||||
#### Ander verskille in **vertrouende verhoudings**
|
||||
|
||||
- 'n Vertrouensverhouding kan ook **transitief** wees (A vertrou B, B vertrou C, dan A vertrou C) of **nie-transitief** wees.
|
||||
- 'n Vertrouensverhouding kan ook **transitief** wees (A vertrou B, B vertrou C, dan vertrou A C) of **nie-transitief**.
|
||||
- 'n Vertrouensverhouding kan as **bidireksionele vertroue** (albei vertrou mekaar) of as **een-rigting vertroue** (slegs een van hulle vertrou die ander) opgestel word.
|
||||
|
||||
### Aanvalspad
|
||||
|
||||
1. **Enumerate** die vertrouensverhoudings
|
||||
1. **Enumerate** die vertrouende verhoudings
|
||||
2. Kyk of enige **sekuriteitsbeginsel** (gebruiker/groep/rekenaar) **toegang** tot hulpbronne van die **ander domein** het, dalk deur ACE inskrywings of deur in groepe van die ander domein te wees. Soek na **verhoudings oor domeine** (die vertroue is waarskynlik hiervoor geskep).
|
||||
1. kerberoast in hierdie geval kan 'n ander opsie wees.
|
||||
3. **Kompromitteer** die **rekeninge** wat deur domeine kan **pivot**.
|
||||
3. **Kompromitteer** die **rekening** wat deur domeine kan **pivot**.
|
||||
|
||||
Aanvallers kan toegang tot hulpbronne in 'n ander domein verkry deur drie primêre meganismes:
|
||||
|
||||
- **Plaaslike Groep Lidmaatskap**: Beginsels mag by plaaslike groepe op masjiene gevoeg word, soos die “Administrators” groep op 'n bediener, wat hulle beduidende beheer oor daardie masjien verleen.
|
||||
- **Plaaslike Groep Lidmaatskap**: Beginsels mag aan plaaslike groepe op masjiene, soos die “Administrators” groep op 'n bediener, bygevoeg word, wat hulle beduidende beheer oor daardie masjien verleen.
|
||||
- **Buitelandse Domein Groep Lidmaatskap**: Beginsels kan ook lede van groepe binne die buitelandse domein wees. Die doeltreffendheid van hierdie metode hang egter af van die aard van die vertroue en die omvang van die groep.
|
||||
- **Toegang Beheer Lyste (ACLs)**: Beginsels mag in 'n **ACL** gespesifiseer word, veral as entiteite in **ACEs** binne 'n **DACL**, wat hulle toegang tot spesifieke hulpbronne bied. Vir diegene wat die meganika van ACLs, DACLs, en ACEs verder wil verken, is die witpapier getiteld “[An ACE Up The Sleeve](https://specterops.io/assets/resources/an_ace_up_the_sleeve.pdf)” 'n onontbeerlike hulpbron.
|
||||
- **Toegang Beheer Lyste (ACLs)**: Beginsels mag in 'n **ACL** gespesifiseer word, veral as entiteite in **ACEs** binne 'n **DACL**, wat hulle toegang tot spesifieke hulpbronne bied. Vir diegene wat die meganika van ACLs, DACLs, en ACEs verder wil verken, is die witpapier getiteld “[An ACE Up The Sleeve](https://specterops.io/assets/resources/an_ace_up_the_sleeve.pdf)” 'n onskatbare hulpbron.
|
||||
|
||||
### Vind eksterne gebruikers/groepe met toestemmings
|
||||
|
||||
@ -568,7 +568,7 @@ Get-DomainForeignUser
|
||||
# Get groups inside a domain with users our
|
||||
Get-DomainForeignGroupMember
|
||||
```
|
||||
### Kind-naar-Ouder woud voorregte eskalasie
|
||||
### Kind-naar-Ouder woudprivilege eskalasie
|
||||
```bash
|
||||
# Fro powerview
|
||||
Get-DomainTrust
|
||||
@ -594,8 +594,8 @@ nltest /dclist:sub.domain.local
|
||||
nltest /server:dc.sub.domain.local /domain_trusts /all_trusts
|
||||
```
|
||||
> [!WARNING]
|
||||
> Daar is **2 vertroude sleutels**, een vir _Child --> Parent_ en nog een vir _Parent_ --> _Child_.\
|
||||
> U kan die een wat deur die huidige domein gebruik word, met:
|
||||
> Daar is **2 vertroude sleutels**, een vir _Child --> Parent_ en 'n ander een vir _Parent_ --> _Child_.\
|
||||
> Jy kan die een wat deur die huidige domein gebruik word, met:
|
||||
>
|
||||
> ```bash
|
||||
> Invoke-Mimikatz -Command '"lsadump::trust /patch"' -ComputerName dc.my.domain.local
|
||||
@ -636,11 +636,11 @@ Addisionele eksterne navorsing: [Golden gMSA Trust Attacks](https://improsec.com
|
||||
|
||||
Hierdie metode vereis geduld, terwyl daar gewag word vir die skepping van nuwe bevoorregte AD-objekte. Met SYSTEM regte kan 'n aanvaller die AD Schema wysig om enige gebruiker volledige beheer oor alle klasse te verleen. Dit kan lei tot ongemagtigde toegang en beheer oor nuutgeskepte AD-objekte.
|
||||
|
||||
Verdiepende leesstof is beskikbaar oor [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).
|
||||
Verder leeswerk is beskikbaar oor [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).
|
||||
|
||||
**Van DA na EA met ADCS ESC5**
|
||||
|
||||
Die ADCS ESC5 kwesbaarheid teiken beheer oor Publieke Sleutel Infrastruktuur (PKI) objekte om 'n sertifikaat sjabloon te skep wat autentisering as enige gebruiker binne die woud moontlik maak. Aangesien PKI objekte in die Konfigurasie NC woon, stel die kompromittering van 'n skryfbare kind DC die uitvoering van ESC5-aanvalle in staat.
|
||||
Die ADCS ESC5 kwesbaarheid teiken beheer oor Publieke Sleutel Infrastruktuur (PKI) objekten om 'n sertifikaat sjabloon te skep wat autentisering as enige gebruiker binne die woud moontlik maak. Aangesien PKI objekten in die Konfigurasie NC woon, stel die kompromittering van 'n skryfbare kind DC die uitvoering van ESC5-aanvalle in staat.
|
||||
|
||||
Meer besonderhede hieroor kan gelees word in [From DA to EA with ESC5](https://posts.specterops.io/from-da-to-ea-with-esc5-f9f045aa105c). In scenario's waar ADCS ontbreek, het die aanvaller die vermoë om die nodige komponente op te stel, soos bespreek in [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/).
|
||||
|
||||
@ -661,7 +661,7 @@ In hierdie scenario **word jou domein vertrou** deur 'n eksterne een wat jou **o
|
||||
external-forest-domain-oneway-inbound.md
|
||||
{{#endref}}
|
||||
|
||||
### Eksterne Bosdomein - Eenrigting (Uitgaand)
|
||||
### Eksterne Woud Domein - Eenrigting (Uitgaande)
|
||||
```bash
|
||||
Get-DomainTrust -Domain current.local
|
||||
|
||||
@ -684,7 +684,7 @@ external-forest-domain-one-way-outbound.md
|
||||
'n Ander manier om die vertroude domein te kompromitteer, is om 'n [**SQL vertroude skakel**](abusing-ad-mssql.md#mssql-trusted-links) te vind wat in die **teenoorgestelde rigting** van die domeinvertroue geskep is (wat nie baie algemeen is nie).
|
||||
|
||||
'n Ander manier om die vertroude domein te kompromitteer, is om te wag op 'n masjien waar 'n **gebruiker van die vertroude domein toegang kan verkry** om in te log via **RDP**. Dan kan die aanvaller kode in die RDP-sessieproses inspuit en **toegang verkry tot die oorspronklike domein van die slagoffer** van daar.\
|
||||
Boonop, as die **slagoffer sy hardeskyf gemonteer het**, kan die aanvaller **terugdeure** in die **opstartgids van die hardeskyf** stoor vanuit die **RDP-sessie** proses. Hierdie tegniek word **RDPInception** genoem.
|
||||
Boonop, as die **slagoffer sy hardeskyf gemonteer het**, kan die aanvaller vanuit die **RDP-sessie** proses **terugdeure** in die **opstartgids van die hardeskyf** stoor. Hierdie tegniek word **RDPInception** genoem.
|
||||
|
||||
{{#ref}}
|
||||
rdp-sessions-abuse.md
|
||||
@ -694,13 +694,13 @@ rdp-sessions-abuse.md
|
||||
|
||||
### **SID Filtrering:**
|
||||
|
||||
- Die risiko van aanvalle wat die SID-geskiedenisattribuut oor woudvertroue benut, word gemitigeer deur SID Filtrering, wat standaard geaktiveer is op alle inter-woudvertroue. Dit is gebaseer op die aanname dat intra-woudvertroue veilig is, met die woud, eerder as die domein, as die sekuriteitsgrens volgens Microsoft se standpunt.
|
||||
- Die risiko van aanvalle wat die SID-geskiedenisattribuut oor bosvertroue benut, word gemitigeer deur SID Filtrering, wat standaard geaktiveer is op alle inter-bosvertroue. Dit is gebaseer op die aanname dat intra-bosvertroue veilig is, met die bos, eerder as die domein, as die sekuriteitsgrens volgens Microsoft se standpunt.
|
||||
- Daar is egter 'n vang: SID filtrering kan toepassings en gebruikers toegang ontwrig, wat lei tot die af en toe deaktivering daarvan.
|
||||
|
||||
### **Selektiewe Verifikasie:**
|
||||
|
||||
- Vir inter-woudvertroue, verseker die gebruik van Selektiewe Verifikasie dat gebruikers van die twee woude nie outomaties geverifieer word nie. In plaas daarvan is eksplisiete toestemmings nodig vir gebruikers om toegang te verkry tot domeine en bedieners binne die vertrouende domein of woud.
|
||||
- Dit is belangrik om te noem dat hierdie maatreëls nie beskerm teen die uitbuiting van die skryfbare Konfigurasie Naam Konteks (NC) of aanvalle op die vertrou rekening nie.
|
||||
- Vir inter-bosvertroue, waarborg die gebruik van Selektiewe Verifikasie dat gebruikers van die twee bosse nie outomaties geverifieer word nie. In plaas daarvan is eksplisiete toestemmings nodig vir gebruikers om toegang te verkry tot domeine en bedieners binne die vertrouende domein of bos.
|
||||
- Dit is belangrik om op te let dat hierdie maatreëls nie beskerm teen die uitbuiting van die skryfbare Konfigurasie Naam Konteks (NC) of aanvalle op die vertrou rekening nie.
|
||||
|
||||
[**Meer inligting oor domeinvertroue in ired.team.**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/child-domain-da-to-ea-in-parent-domain)
|
||||
|
||||
@ -716,25 +716,25 @@ https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-move
|
||||
|
||||
### **Defensiewe Maatreëls vir Kredensiaalbeskerming**
|
||||
|
||||
- **Domein Administrateurs Beperkings**: Dit word aanbeveel dat Domein Administrateurs slegs toegelaat word om in te log op Domein Beheerders, en dat hulle nie op ander gasheer gebruik word nie.
|
||||
- **Diensrekening Privileges**: Dienste moet nie met Domein Administrateur (DA) privileges gedra word nie om sekuriteit te handhaaf.
|
||||
- **Tydelike Privilege Beperking**: Vir take wat DA privileges vereis, moet die duur daarvan beperk word. Dit kan bereik word deur: `Add-ADGroupMember -Identity ‘Domain Admins’ -Members newDA -MemberTimeToLive (New-TimeSpan -Minutes 20)`
|
||||
- **Domein Administrateurs Beperkings**: Dit word aanbeveel dat Domein Administrateurs slegs toegelaat word om in te log op Domein Beheerders, om hul gebruik op ander gasheer te vermy.
|
||||
- **Diensrekening Privileges**: Dienste moet nie met Domein Administrateur (DA) privileges gedra word om sekuriteit te handhaaf nie.
|
||||
- **Tydelike Privilege Beperking**: Vir take wat DA privileges vereis, moet hul duur beperk word. Dit kan bereik word deur: `Add-ADGroupMember -Identity ‘Domain Admins’ -Members newDA -MemberTimeToLive (New-TimeSpan -Minutes 20)`
|
||||
|
||||
### **Implementering van Misleidingstegnieke**
|
||||
|
||||
- Die implementering van misleiding behels die opstelling van lokvalle, soos lokgebruikers of rekenaars, met kenmerke soos wagwoorde wat nie verval nie of as Vertrou vir Delegasie gemerk is. 'n Gedetailleerde benadering sluit in om gebruikers met spesifieke regte te skep of hulle aan hoëprivilege groepe toe te voeg.
|
||||
- Implementering van misleiding behels die opstelling van lokvalle, soos lokgebruikers of rekenaars, met funksies soos wagwoorde wat nie verval nie of as Vertrou vir Delegasie gemerk is. 'n Gedetailleerde benadering sluit in om gebruikers met spesifieke regte te skep of hulle aan hoëprivilege groepe toe te voeg.
|
||||
- 'n Praktiese voorbeeld behels die gebruik van gereedskap soos: `Create-DecoyUser -UserFirstName user -UserLastName manager-uncommon -Password Pass@123 | DeployUserDeception -UserFlag PasswordNeverExpires -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose`
|
||||
- Meer oor die implementering van misleidingstegnieke kan gevind word by [Deploy-Deception on GitHub](https://github.com/samratashok/Deploy-Deception).
|
||||
|
||||
### **Identifisering van Misleiding**
|
||||
|
||||
- **Vir Gebruikerobjekte**: Verdagte aanduiders sluit ongewone ObjectSID, ongewone aanmeldings, skeppingsdatums, en lae slegte wagwoord tellings in.
|
||||
- **Algemene Aanduiders**: Die vergelyking van eienskappe van potensiële lokobjekte met dié van werklike kan inkonsekwensies onthul. Gereedskap soos [HoneypotBuster](https://github.com/JavelinNetworks/HoneypotBuster) kan help om sulke misleidings te identifiseer.
|
||||
- **Vir Gebruiker Voorwerpe**: Verdagte aanduiders sluit ongewone ObjectSID, ongewone aanmeldings, skeppingsdatums, en lae slegte wagwoord tellings in.
|
||||
- **Algemene Aanduiders**: Vergelyking van eienskappe van potensiële lokvoorwerpe met dié van werklike kan inkonsekwensies onthul. Gereedskap soos [HoneypotBuster](https://github.com/JavelinNetworks/HoneypotBuster) kan help om sulke misleidings te identifiseer.
|
||||
|
||||
### **Om Ontdekkingsisteme te Omseil**
|
||||
|
||||
- **Microsoft ATA Ontdekking Omseiling**:
|
||||
- **Gebruiker Enumerasie**: Vermy sessie-evaluasie op Domein Beheerders om ATA ontdekking te voorkom.
|
||||
- **Gebruiker Enumerasie**: Vermy sessie-evaluering op Domein Beheerders om ATA ontdekking te voorkom.
|
||||
- **Tiket Vervalsing**: Die gebruik van **aes** sleutels vir tiket skepping help om ontdekking te ontduik deur nie na NTLM af te gradeer nie.
|
||||
- **DCSync Aanvalle**: Dit word aanbeveel om van 'n nie-Domein Beheerder uit te voer om ATA ontdekking te vermy, aangesien direkte uitvoering vanaf 'n Domein Beheerder waarskuwings sal aktiveer.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Golden gMSA/dMSA Aanval (Offline Afleiding van Gemanagte Diensrekening Wagwoorde)
|
||||
# Golden gMSA/dMSA Aanval (Aflyn Derivatie van Gemanagte Diensrekening Wagwoorde)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
@ -7,16 +7,16 @@
|
||||
Windows Gemanagte Diensrekeninge (MSA) is spesiale prinsipes wat ontwerp is om dienste te laat loop sonder die behoefte om hul wagwoorde handmatig te bestuur.
|
||||
Daar is twee hoof variasies:
|
||||
|
||||
1. **gMSA** – groep Gemanagte Diensrekening – kan op verskeie gasheer gebruik word wat geoutoriseer is in sy `msDS-GroupMSAMembership` attribuut.
|
||||
1. **gMSA** – groep Gemanagte Diensrekening – kan op verskeie gasheer gebruik word wat gemagtig is in sy `msDS-GroupMSAMembership` attribuut.
|
||||
2. **dMSA** – gedelegeerde Gemanagte Diensrekening – die (voorskou) opvolger van gMSA, wat op dieselfde kriptografie staatmaak maar meer granular gedelegeerde scenario's toelaat.
|
||||
|
||||
Vir beide variasies is die **wagwoord nie gestoor** op elke Domeinbeheerder (DC) soos 'n gewone NT-hash nie. In plaas daarvan kan elke DC die huidige wagwoord **aflei** ter plaatse van:
|
||||
|
||||
* Die woud-wye **KDS Wortelsleutel** (`KRBTGT\KDS`) – lukraak gegenereerde GUID-genaamde geheim, gerepliceer na elke DC onder die `CN=Master Root Keys,CN=Group Key Distribution Service, CN=Services, CN=Configuration, …` houer.
|
||||
* Die woud-wye **KDS Wortelsleutel** (`KRBTGT\KDS`) – ewekansig gegenereerde GUID-genaamde geheim, wat na elke DC gerepliceer word onder die `CN=Master Root Keys,CN=Group Key Distribution Service, CN=Services, CN=Configuration, …` houer.
|
||||
* Die teikenrekening **SID**.
|
||||
* 'n per-rekening **ManagedPasswordID** (GUID) wat in die `msDS-ManagedPasswordId` attribuut gevind word.
|
||||
|
||||
Die afleiding is: `AES256_HMAC( KDSRootKey , SID || ManagedPasswordID )` → 240 byte blob uiteindelik **base64-gecodeer** en gestoor in die `msDS-ManagedPassword` attribuut.
|
||||
Die afleiding is: `AES256_HMAC( KDSRootKey , SID || ManagedPasswordID )` → 240 byte blob wat uiteindelik **base64-gecodeer** en in die `msDS-ManagedPassword` attribuut gestoor word.
|
||||
Geen Kerberos-verkeer of domeininteraksie is nodig tydens normale wagwoordgebruik nie – 'n lidgasheer lei die wagwoord plaaslik af solank dit die drie insette ken.
|
||||
|
||||
## Golden gMSA / Golden dMSA Aanval
|
||||
@ -27,12 +27,12 @@ As 'n aanvaller al drie insette **aflyn** kan verkry, kan hulle **geldige huidig
|
||||
* LDAP lees ouditering
|
||||
* Wagwoord verandering tydperke (hulle kan vooraf bereken)
|
||||
|
||||
Dit is analoog aan 'n *Golden Ticket* vir diensrekeninge.
|
||||
Dit is analoog aan 'n *Goue Kaartjie* vir diensrekeninge.
|
||||
|
||||
### Voorvereistes
|
||||
|
||||
1. **Woud-vlak kompromie** van **een DC** (of Enterprise Admin). `SYSTEM` toegang is genoeg.
|
||||
2. Vermoë om diensrekeninge te lys (LDAP lees / RID brute-force).
|
||||
2. Vermoë om diensrekeninge te tel (LDAP lees / RID brute-force).
|
||||
3. .NET ≥ 4.7.2 x64 werkstasie om [`GoldenDMSA`](https://github.com/Semperis/GoldenDMSA) of ekwivalente kode te loop.
|
||||
|
||||
### Fase 1 – Trek die KDS Wortelsleutel uit
|
||||
@ -46,7 +46,7 @@ reg save HKLM\SYSTEM system.hive
|
||||
mimikatz # lsadump::secrets
|
||||
mimikatz # lsadump::trust /patch # shows KDS root keys too
|
||||
```
|
||||
Die base64-string gemerk `RootKey` (GUID naam) is nodig in latere stappe.
|
||||
Die base64-string gemerk `RootKey` (GUID naam) is benodig in latere stappe.
|
||||
|
||||
### Fase 2 – Enumereer gMSA/dMSA objekten
|
||||
|
||||
@ -66,12 +66,13 @@ GoldendMSA.exe info -d example.local -m brute -r 5000 -u jdoe -p P@ssw0rd
|
||||
```
|
||||
### Fase 3 – Raai / Ontdek die ManagedPasswordID (wanneer dit ontbreek)
|
||||
|
||||
Sommige implementasies *verwyder* `msDS-ManagedPasswordId` van ACL-beskermde lees. Omdat die GUID 128-bis is, is naïewe bruteforce onmoontlik, maar:
|
||||
Sommige implementasies *verwyder* `msDS-ManagedPasswordId` van ACL-beskermde leeswerk.
|
||||
Omdat die GUID 128-bis is, is naïewe bruteforce onmoontlik, maar:
|
||||
|
||||
1. Die eerste **32 bits = Unix epocht tyd** van die rekening se skepping (minute resolusie).
|
||||
2. Gevolg deur 96 ewekansige bits.
|
||||
1. Die eerste **32 bis = Unix epocht tyd** van die rekening se skepping (minute resolusie).
|
||||
2. Gevolg deur 96 ewekansige bis.
|
||||
|
||||
Daarom is 'n **smal woordlys per rekening** (± paar uur) realisties.
|
||||
Daarom is 'n **smal woordlys per rekening** (± paar ure) realisties.
|
||||
```powershell
|
||||
GoldendMSA.exe wordlist -s <SID> -d example.local -f example.local -k <KDSKeyGUID>
|
||||
```
|
||||
@ -93,7 +94,7 @@ Die resulterende hashes kan ingespuit word met **mimikatz** (`sekurlsa::pth`) of
|
||||
|
||||
* Beperk **DC rugsteun en registrasie heuning lees** vermoëns tot Tier-0 administrateurs.
|
||||
* Monitor **Directory Services Restore Mode (DSRM)** of **Volume Shadow Copy** skepping op DC's.
|
||||
* Oudit lees / veranderinge aan `CN=Master Root Keys,…` en `userAccountControl` vlae van diens rekeninge.
|
||||
* Ouudit lees / veranderinge aan `CN=Master Root Keys,…` en `userAccountControl` vlae van diens rekeninge.
|
||||
* Ontdek ongewone **base64 wagwoord skrywe** of skielike diens wagwoord hergebruik oor gasheer.
|
||||
* Oorweeg om hoë-privilege gMSA's na **klassieke diens rekeninge** te omskep met gereelde ewekansige rotasies waar Tier-0 isolasie nie moontlik is nie.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user