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
6b2a263afd
commit
4e459a9998
@ -4,13 +4,13 @@
|
||||
|
||||
## Introduction
|
||||
|
||||
Universal links hutoa **mwelekeo usio na mshono** kwa watumiaji kwa kufungua moja kwa moja maudhui katika programu, bila ya kuhitaji mwelekeo wa Safari. Viungo hivi ni **vya kipekee** na salama, kwani haviwezi kudaiwa na programu nyingine. Hii inahakikishwa kwa kuhifadhi faili ya `apple-app-site-association` ya JSON katika saraka ya mizizi ya tovuti, ikianzisha kiungo kinachoweza kuthibitishwa kati ya tovuti na programu. Katika hali ambapo programu haijasanidiwa, Safari itachukua jukumu na kumwelekeza mtumiaji kwenye ukurasa wa wavuti, ikihifadhi uwepo wa programu.
|
||||
Universal links hutoa **mwelekeo usio na mshono** kwa watumiaji kwa kufungua moja kwa moja maudhui katika programu, bila ya kuhitaji mwelekeo wa Safari. Viungo hivi ni **vya kipekee** na salama, kwani haviwezi kudaiwa na programu nyingine. Hii inahakikishwa kwa kuhifadhi faili ya `apple-app-site-association` ya JSON katika saraka ya mizizi ya tovuti, ikianzisha kiungo kinachoweza kuthibitishwa kati ya tovuti na programu. Katika hali ambapo programu haijasanidiwa, Safari itachukua na kuelekeza mtumiaji kwenye ukurasa wa wavuti, ikihifadhi uwepo wa programu.
|
||||
|
||||
Kwa wapimaji wa penetration, faili ya `apple-app-site-association` ni ya umuhimu maalum kwani inaweza kufichua **njia nyeti**, huenda ikijumuisha zile zinazohusiana na vipengele ambavyo havijachapishwa.
|
||||
Kwa wapimaji wa penetration, faili ya `apple-app-site-association` ni ya umuhimu maalum kwani inaweza kufichua **njia nyeti**, ikiwa ni pamoja na zile zinazohusiana na vipengele ambavyo havijachapishwa.
|
||||
|
||||
### **Kuchambua Haki za Domains Zinazohusishwa**
|
||||
### **Kuchambua Haki za Domains Zinazohusiana**
|
||||
|
||||
Wakuu wa programu wanawezesha Universal Links kwa kusanidi **Domains Zinazohusishwa** katika tab ya Uwezo ya Xcode au kwa kukagua faili ya `.entitlements`. Kila domain ina anwani ya `applinks:`. Kwa mfano, usanidi wa Telegram unaweza kuonekana kama ifuatavyo:
|
||||
Wakuu wa programu wanawezesha Universal Links kwa kusanidi **Domains Zinazohusiana** katika tab ya Uwezo ya Xcode au kwa kukagua faili ya `.entitlements`. Kila domain ina anwani ya `applinks:`. Kwa mfano, usanidi wa Telegram unaweza kuonekana kama ifuatavyo:
|
||||
```xml
|
||||
<key>com.apple.developer.associated-domains</key>
|
||||
<array>
|
||||
@ -56,7 +56,7 @@ application.open(url, options: [:], completionHandler: nil)
|
||||
return true
|
||||
}
|
||||
```
|
||||
URLs zinapaswa kuchambuliwa na kuthibitishwa kwa makini, hasa ikiwa zinajumuisha vigezo, ili kujilinda dhidi ya uwezekano wa udanganyifu au data isiyo sahihi. API ya `NSURLComponents` ni ya manufaa kwa ajili hii, kama inavyoonyeshwa hapa chini:
|
||||
URLs zinapaswa kuchambuliwa na kuthibitishwa kwa makini, hasa ikiwa zinajumuisha vigezo, ili kujilinda dhidi ya uwezekano wa udanganyifu au data isiyo sahihi. API ya `NSURLComponents` ni ya manufaa kwa ajili ya hili, kama inavyoonyeshwa hapa chini:
|
||||
```swift
|
||||
func application(_ application: UIApplication,
|
||||
continue userActivity: NSUserActivity,
|
||||
@ -88,10 +88,10 @@ Kupitia **mipangilio na uthibitisho wa makini**, waendelezaji wanaweza kuhakikis
|
||||
|
||||
| # | Ukatili | Jinsi ya kupima | Utekelezaji / Athari |
|
||||
|---|----------|------------|-----------------------|
|
||||
| 1 | **`paths` / `components` za kupita kiasi** katika faili la AASA (mfano `"/": "*"` au wildcards kama `"/a/*"`). | • Kagua AASA iliyopakuliwa na uangalie `*`, slashes za mwisho, au sheria za `{"?": …}`.<br>• Jaribu kuomba rasilimali zisizojulikana ambazo bado zinakidhi sheria hiyo (`https://domain.com/a/evil?_p_dp=1`). | Utekwaji wa kiungo cha ulimwengu: programu mbaya ya iOS inayosajili kikoa sawa inaweza kudai viungo vyote hivyo na kuwasilisha UI ya udukuzi. Mfano halisi ni ripoti ya bug-bounty ya Temu.com ya Mei 2025 ambapo mshambuliaji angeweza kuelekeza njia yoyote ya `/a/*` kwa programu yao. |
|
||||
| 1 | **`paths` / `components` za kupita kiasi** katika faili la AASA (mfano `"/": "*"` au wildcards kama `"/a/*"`). | • Kagua AASA iliyopakuliwa na uangalie `*`, slashes za mwisho, au sheria za `{"?": …}`.<br>• Jaribu kuomba rasilimali zisizojulikana ambazo bado zinakidhi sheria hiyo (`https://domain.com/a/evil?_p_dp=1`). | Utekwaji wa kiungo cha ulimwengu: programu mbaya ya iOS inayosajili kikoa sawa inaweza kudai viungo vyote na kuwasilisha UI ya udukuzi. Mfano halisi ni ripoti ya bug-bounty ya Temu.com ya Mei 2025 ambapo mshambuliaji angeweza kuelekeza njia yoyote ya `/a/*` kwa programu yao. |
|
||||
| 2 | **Uthibitisho wa upande wa seva ulio missing** wa njia za deep-link. | Baada ya kubaini njia zinazoruhusiwa, tolea maombi ya `curl`/Burp kwa rasilimali zisizopo na uangalie misimbo ya hali ya HTTP. Kila kitu kingine isipokuwa `404` (mfano 200/302) ni cha kutia shaka. | Mshambuliaji anaweza kuhifadhi maudhui yasiyo na mipaka nyuma ya njia inayoruhusiwa na kuyatoa kupitia kikoa halali, kuongeza kiwango cha mafanikio cha udukuzi au wizi wa tokeni za kikao. |
|
||||
| 3 | **Kushughulikia URL upande wa programu bila orodha ya mikoa/jeshi** (CVE-2024-10474 – Mozilla Focus < 132). | Tafuta wito wa moja kwa moja wa `openURL:`/`open(_:options:)` au madaraja ya JavaScript yanayopitisha URL zisizokuwa na mipaka. | Kurasa za ndani zinaweza kupeleka `myapp://` au `https://` URLs ambazo zinapita ukaguzi wa usalama wa URL-bar wa kivinjari, na kusababisha udanganyifu au vitendo vya kibali visivyokusudiwa. |
|
||||
| 4 | **Matumizi ya sub-domains za wildcard** (`*.example.com`) katika haki. | `grep` kwa `*.` katika haki. | Ikiwa sub-domain yoyote itachukuliwa (mfano kupitia S3 bucket isiyotumika), mshambuliaji moja kwa moja anapata uhusiano wa Kiungo cha Ulimwengu. |
|
||||
| 3 | **Kushughulikia URL upande wa programu bila orodha ya mikoa/jeshi** (CVE-2024-10474 – Mozilla Focus < 132). | Tafuta wito wa moja kwa moja wa `openURL:`/`open(_:options:)` au madaraja ya JavaScript yanayopitisha URL zisizo na mipaka. | Kurasa za ndani zinaweza kupeleka `myapp://` au `https://` URLs ambazo zinapita ukaguzi wa usalama wa URL-bar wa kivinjari, na kusababisha udanganyifu au vitendo vya kibali visivyokusudiwa. |
|
||||
| 4 | **Matumizi ya sub-domains za wildcard** (`*.example.com`) katika haki. | `grep` kwa `*.` katika haki. | Ikiwa sub-domain yoyote itachukuliwa (mfano kupitia S3 bucket isiyotumika), mshambuliaji moja kwa moja anapata uhusiano wa Universal Link. |
|
||||
|
||||
### Orodha ya Haraka
|
||||
|
||||
@ -99,12 +99,12 @@ Kupitia **mipangilio na uthibitisho wa makini**, waendelezaji wanaweza kuhakikis
|
||||
* [ ] Pakua AASA kwa kila kipengee na ukaguzi wa wildcards.
|
||||
* [ ] Thibitisha kwamba seva ya wavuti inarudisha **404** kwa njia zisizofafanuliwa.
|
||||
* [ ] Katika binary, thibitisha kwamba **tu** mikoa/schemas zinazotambulika zinashughulikiwa.
|
||||
* [ ] Ikiwa programu inatumia sintaksia mpya ya `components` (iOS 11+), fuzz sheria za parameter za swali (`{"?":{…}}`).
|
||||
* [ ] Ikiwa programu inatumia sintaksia mpya ya `components` (iOS 11+), fuzz sheria za query-parameter (`{"?":{…}}`).
|
||||
|
||||
## Zana
|
||||
|
||||
- [GetUniversal.link](https://getuniversal.link/): Inasaidia kurahisisha upimaji na usimamizi wa Viungo vya Ulimwengu vya programu yako na faili la AASA. Ingiza tu kikoa chako ili kuthibitisha uhalali wa faili la AASA au tumia dashibodi maalum kupima tabia ya kiungo kwa urahisi. Zana hii pia inakusaidia kubaini wakati Apple itakapofanya index faili yako ya AASA.
|
||||
- [Knil](https://github.com/ethanhuang13/knil): Zana ya iOS ya chanzo wazi inayopata, inachambua na inakuwezesha **kupima** kila Kiungo cha Ulimwengu kilichotangazwa na kikoa moja kwa moja kwenye kifaa.
|
||||
- [Knil](https://github.com/ethanhuang13/knil): Zana ya iOS ya chanzo wazi inayopata, inachambua na inakuwezesha **tap-test** kila Kiungo cha Ulimwengu kilichotangazwa na kikoa moja kwa moja kwenye kifaa.
|
||||
- [universal-link-validator](https://github.com/urbangems/universal-link-validator): CLI / validator ya wavuti inayofanya ukaguzi mkali wa ufanano wa AASA na kuonyesha wildcards hatari.
|
||||
|
||||
## Marejeleo
|
||||
|
@ -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` itachota UUID, toleo, nyuzi za uhusiano (named-pipe / TCP / HTTP) na **mifano kamili ya taratibu** kwa kila kiolesura inachokutana nayo na kuifadhi katika `rpcServerData.json`.
|
||||
`Get-RpcServerData` itachota UUID, toleo, nyuzi za uhusiano (named-pipe / TCP / HTTP) na **mifano kamili ya taratibu** kwa kila kiolesura inachokutana nayo na kuzihifadhi katika `rpcServerData.json`.
|
||||
|
||||
### 2. Endesha fuzzer
|
||||
```powershell
|
||||
@ -139,9 +139,9 @@ Maswali ya Cypher yanaweza kutumika haraka kubaini taratibu hatari au kurudia mf
|
||||
⚠️ Fuzzer ni *destructive*: tarajia kuanguka kwa huduma na hata BSODs – daima ikimbie katika snapshot ya VM iliyotengwa.
|
||||
|
||||
|
||||
### Uainishaji wa Kiolesura wa Otomatiki & Uundaji wa Mteja wa Kijadi (NtObjectManager)
|
||||
### Uainishaji wa Kiolesura Kiotomatiki & Uundaji wa Mteja wa Kihisia (NtObjectManager)
|
||||
|
||||
Mtaalamu wa PowerShell **James Forshaw** alifunua sehemu nyingi za ndani za Windows RPC ndani ya moduli ya wazi–chanzo *NtObjectManager*. Kwa kutumia hii unaweza kubadilisha DLL / EXE ya seva yoyote ya RPC kuwa **stub ya mteja iliyo na vipengele vyote** ndani ya sekunde – hakuna IDL, MIDL au unmarshal wa mkono unaohitajika.
|
||||
Mtaalamu wa PowerShell **James Forshaw** alifunua sehemu nyingi za ndani za Windows RPC ndani ya moduli ya wazi–chanzo *NtObjectManager*. Kwa kutumia hii unaweza kubadilisha DLL / EXE ya seva yoyote ya RPC kuwa **stub ya mteja iliyo na vipengele vyote** ndani ya sekunde – hakuna IDL, MIDL au unmarshal wa mikono unahitajika.
|
||||
```powershell
|
||||
# Install the module once
|
||||
Install-Module NtObjectManager -Force
|
||||
@ -153,7 +153,7 @@ $rpcinterfaces | Format-Table Name,Uuid,Version,Procedures
|
||||
# Inspect a single procedure (opnum 0)
|
||||
$rpcinterfaces[0].Procedures[0] | Format-List *
|
||||
```
|
||||
Matokeo ya kawaida yanaonyesha aina za parameta kama zinavyoonekana katika **MIDL** (kwa mfano, `FC_C_WSTRING`, `FC_LONG`, `FC_BIND_CONTEXT`).
|
||||
Matokeo ya kawaida yanaonyesha aina za parameta kama zinavyoonekana katika **MIDL** (kwa mfano `FC_C_WSTRING`, `FC_LONG`, `FC_BIND_CONTEXT`).
|
||||
|
||||
Mara tu unavyojua kiolesura unaweza **kuunda mteja wa C# tayari kwa ajili ya kukusanya**:
|
||||
```powershell
|
||||
@ -177,7 +177,7 @@ 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)
|
||||
```
|
||||
Uthibitisho (Kerberos / NTLM) na viwango vya usimbaji (`PacketIntegrity`, `PacketPrivacy`, …) vinaweza kutolewa moja kwa moja kupitia cmdlet ya `Connect-RpcClient` – bora kwa **kupita Descriptors za Usalama** zinazolinda mabomba yenye majina ya haki za juu.
|
||||
Uthibitisho (Kerberos / NTLM) na viwango vya usimbaji (`PacketIntegrity`, `PacketPrivacy`, …) vinaweza kutolewa moja kwa moja kupitia cmdlet ya `Connect-RpcClient` – bora kwa **kupita Descriptors za Usalama** zinazolinda mabomba yenye haki za juu.
|
||||
|
||||
### Fuzzing ya RPC Inayojulikana kwa Muktadha (MS-RPC-Fuzzer)
|
||||
|
||||
@ -187,10 +187,10 @@ Maarifa ya kiolesura cha kudumu ni mazuri, lakini kile unachotaka kwa kweli ni *
|
||||
2. Tengeneza wateja wa dinamik kwa kila kiolesura (`Format-RpcClient`).
|
||||
3. Badilisha vigezo vya ingizo (urefu wa nyuzi pana, mipaka ya nambari, enums) huku ukiheshimu **aina ya NDR** ya awali.
|
||||
4. Fuata *mashughuliko ya muktadha* yanayorejeshwa na simu moja ili kutoa utaratibu wa kufuatilia kiotomatiki.
|
||||
5. Fanya simu zenye kiasi kikubwa dhidi ya usafirishaji uliochaguliwa (ALPC, TCP, HTTP au bomba lenye jina).
|
||||
6. Rekodi hali za kutoka / makosa / muda wa kupita na kusafirisha faili ya kuagiza **Neo4j** ili kuonyesha uhusiano wa *kiolesura → utaratibu → parameter* na makundi ya ajali.
|
||||
5. Fanya simu zenye kiasi kikubwa dhidi ya usafirishaji uliochaguliwa (ALPC, TCP, HTTP au bomba lililotajwa).
|
||||
6. Rekodi hali za kutoka / makosa / muda wa kupita na uagizie faili ya kuagiza **Neo4j** ili kuonyesha uhusiano wa *kiolesura → utaratibu → parameter* na makundi ya ajali.
|
||||
|
||||
Mfano wa kukimbia (lengo la bomba lenye jina):
|
||||
Mfano wa kukimbia (lengo la bomba lililotajwa):
|
||||
```powershell
|
||||
Invoke-MSRPCFuzzer -Pipe "\\.\pipe\efsrpc" -Auth NTLM `
|
||||
-MinLen 1 -MaxLen 0x400 `
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
**Active Directory** inatoa teknolojia ya msingi, ikiruhusu **wasimamizi wa mtandao** kuunda na kusimamia kwa ufanisi **doma**, **watumiaji**, na **vitu** ndani ya mtandao. Imeundwa ili kupanuka, ikirahisisha shirika la idadi kubwa ya watumiaji katika **makundi** na **subgroups** yanayoweza kudhibitiwa, huku ikidhibiti **haki za ufikiaji** katika ngazi mbalimbali.
|
||||
|
||||
Muundo wa **Active Directory** unajumuisha tabaka tatu kuu: **doma**, **miti**, na **misitu**. **Doma** inajumuisha mkusanyiko wa vitu, kama **watumiaji** au **vifaa**, vinavyoshiriki hifadhidata ya pamoja. **Miti** ni makundi ya hizi doma zilizounganishwa na muundo wa pamoja, na **msitu** unawakilisha mkusanyiko wa miti kadhaa, zilizounganishwa kupitia **uhusiano wa kuaminiana**, zikiforma tabaka la juu zaidi la muundo wa shirika. Haki maalum za **ufikiaji** na **mawasiliano** zinaweza kutolewa katika kila moja ya ngazi hizi.
|
||||
Muundo wa **Active Directory** unajumuisha tabaka tatu kuu: **doma**, **miti**, na **misitu**. **Doma** inajumuisha mkusanyiko wa vitu, kama **watumiaji** au **vifaa**, vinavyoshiriki hifadhidata ya pamoja. **Miti** ni makundi ya hizi doma zilizounganishwa na muundo wa pamoja, na **msitu** unawakilisha mkusanyiko wa miti kadhaa, zilizounganishwa kupitia **uhusiano wa kuaminiana**, zikiforma tabaka la juu zaidi la muundo wa shirika. Haki maalum za **ufikiaji** na **mawasiliano** zinaweza kutolewa katika kila moja ya hizi ngazi.
|
||||
|
||||
Mifano muhimu ndani ya **Active Directory** ni pamoja na:
|
||||
|
||||
@ -41,10 +41,10 @@ Unaweza kutembelea [https://wadcoms.github.io/](https://wadcoms.github.io) kupat
|
||||
|
||||
## Recon Active Directory (Hakuna creds/sessions)
|
||||
|
||||
Ikiwa una ufikiaji tu wa mazingira ya AD lakini huna akreditivu/sessions unaweza:
|
||||
Ikiwa una ufikiaji tu wa mazingira ya AD lakini huna akreditif/sessions unaweza:
|
||||
|
||||
- **Pentest mtandao:**
|
||||
- Scan mtandao, pata mashine na bandari wazi na jaribu **kutumia udhaifu** au **kuchota akreditivu** kutoka kwao (kwa mfano, [printa zinaweza kuwa malengo ya kuvutia sana](ad-information-in-printers.md).
|
||||
- Scan mtandao, pata mashine na port wazi na jaribu **kutumia udhaifu** au **kuchota akreditif** kutoka kwao (kwa mfano, [printa zinaweza kuwa malengo ya kuvutia sana](ad-information-in-printers.md).
|
||||
- Kuorodhesha DNS kunaweza kutoa taarifa kuhusu seva muhimu katika domain kama wavuti, printa, sehemu, vpn, media, nk.
|
||||
- `gobuster dns -d domain.local -t 25 -w /opt/Seclist/Discovery/DNS/subdomain-top2000.txt`
|
||||
- Angalia [**Pentesting Methodology**](../../generic-methodologies-and-resources/pentesting-methodology.md) kupata maelezo zaidi kuhusu jinsi ya kufanya hivi.
|
||||
@ -67,12 +67,12 @@ Ikiwa una ufikiaji tu wa mazingira ya AD lakini huna akreditivu/sessions unaweza
|
||||
{{#endref}}
|
||||
|
||||
- **Poison mtandao**
|
||||
- Kusanya akreditivu [**ukijifanya huduma kwa Responder**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
- Kusanya akreditif [**ukijifanya huduma kwa Responder**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
- Fikia mwenyeji kwa [**kudhulumu shambulio la relay**](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#relay-attack)
|
||||
- Kusanya akreditivu **ukifichua** [**huduma za UPnP za uongo na 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)
|
||||
- Kusanya akreditif **ukifichua** [**huduma za UPnP za uongo na 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):
|
||||
- Toa majina ya watumiaji/majina kutoka kwa nyaraka za ndani, mitandao ya kijamii, huduma (hasa wavuti) ndani ya mazingira ya domain na pia kutoka kwa yaliyopo hadharani.
|
||||
- Ikiwa unapata majina kamili ya wafanyakazi wa kampuni, unaweza kujaribu kanuni tofauti za **jina la mtumiaji wa AD** (**[**soma hii**](https://activedirectorypro.com/active-directory-user-naming-convention/)). Kanuni maarufu ni: _NameSurname_, _Name.Surname_, _NamSur_ (herufi 3 za kila moja), _Nam.Sur_, _NSurname_, _N.Surname_, _SurnameName_, _Surname.Name_, _SurnameN_, _Surname.N_, herufi 3 _za nasibu na nambari 3 za nasibu_ (abc123).
|
||||
- Ikiwa unapata majina kamili ya wafanyakazi wa kampuni, unaweza kujaribu mifumo tofauti ya **majina ya watumiaji AD** (**[**soma hii**](https://activedirectorypro.com/active-directory-user-naming-convention/)). Mifumo ya kawaida ni: _NameSurname_, _Name.Surname_, _NamSur_ (herufi 3 za kila moja), _Nam.Sur_, _NSurname_, _N.Surname_, _SurnameName_, _Surname.Name_, _SurnameN_, _Surname.N_, herufi 3 _za nasibu na nambari 3 za nasibu_ (abc123).
|
||||
- Zana:
|
||||
- [w0Tx/generate-ad-username](https://github.com/w0Tx/generate-ad-username)
|
||||
- [urbanadventurer/username-anarchy](https://github.com/urbanadventurer/username-anarchy)
|
||||
@ -81,7 +81,7 @@ Ikiwa una ufikiaji tu wa mazingira ya AD lakini huna akreditivu/sessions unaweza
|
||||
|
||||
- **Anonymous SMB/LDAP enum:** Angalia [**pentesting SMB**](../../network-services-pentesting/pentesting-smb/index.html) na [**pentesting LDAP**](../../network-services-pentesting/pentesting-ldap.md) kurasa.
|
||||
- **Kerbrute enum**: Wakati **jina la mtumiaji lisilo sahihi linapohitajika** seva itajibu kwa kutumia **kodi ya kosa la Kerberos** _KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN_, ikituruhusu kubaini kwamba jina la mtumiaji halikuwa sahihi. **Majina sahihi ya watumiaji** yatatoa ama **TGT katika jibu la AS-REP** au kosa _KRB5KDC_ERR_PREAUTH_REQUIRED_, ikionyesha kwamba mtumiaji anahitajika kufanya uthibitishaji wa awali.
|
||||
- **Hakuna Uthibitishaji dhidi ya MS-NRPC**: Kutumia kiwango cha uthibitishaji = 1 (Hakuna uthibitishaji) dhidi ya interface ya MS-NRPC (Netlogon) kwenye kudhibiti doma. Njia hii inaita kazi ya `DsrGetDcNameEx2` baada ya kuunganisha interface ya MS-NRPC ili kuangalia ikiwa mtumiaji au kompyuta ipo bila akreditivu yoyote. Zana ya [NauthNRPC](https://github.com/sud0Ru/NauthNRPC) inatekeleza aina hii ya kuorodhesha. Utafiti unaweza kupatikana [hapa](https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2024/05/22190247/A-journey-into-forgotten-Null-Session-and-MS-RPC-interfaces.pdf)
|
||||
- **Hakuna Uthibitishaji dhidi ya MS-NRPC**: Kutumia kiwango cha uthibitishaji = 1 (Hakuna uthibitishaji) dhidi ya interface ya MS-NRPC (Netlogon) kwenye kudhibiti doma. Njia hii inaita kazi ya `DsrGetDcNameEx2` baada ya kuunganisha interface ya MS-NRPC ili kuangalia ikiwa mtumiaji au kompyuta ipo bila akreditif zozote. Zana ya [NauthNRPC](https://github.com/sud0Ru/NauthNRPC) inatekeleza aina hii ya kuorodhesha. Utafiti unaweza kupatikana [hapa](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
|
||||
|
||||
@ -110,14 +110,14 @@ Get-GlobalAddressList -ExchHostname [ip] -UserName [domain]\[username] -Password
|
||||
> [!WARNING]
|
||||
> Unaweza kupata orodha za majina ya watumiaji katika [**hii github repo**](https://github.com/danielmiessler/SecLists/tree/master/Usernames/Names) na hii nyingine ([**statistically-likely-usernames**](https://github.com/insidetrust/statistically-likely-usernames)).
|
||||
>
|
||||
> Hata hivyo, unapaswa kuwa na **jina la watu wanaofanya kazi katika kampuni** kutoka hatua ya reconnaissance ambayo unapaswa kuwa umefanya kabla ya hii. Ukiwa na jina na jina la ukoo unaweza kutumia script [**namemash.py**](https://gist.github.com/superkojiman/11076951) kuunda majina ya watumiaji halali yanayoweza kuwa.
|
||||
> Hata hivyo, unapaswa kuwa na **jina la watu wanaofanya kazi katika kampuni** kutoka hatua ya reconnaissance ambayo unapaswa kuwa umefanya kabla ya hii. Kwa jina na jina la ukoo unaweza kutumia script [**namemash.py**](https://gist.github.com/superkojiman/11076951) kuunda majina ya watumiaji halali yanayoweza kuwa.
|
||||
|
||||
### Kujua jina moja au kadhaa la watumiaji
|
||||
### Kujua jina moja au kadhaa za watumiaji
|
||||
|
||||
Sawa, hivyo unajua tayari una jina halali la mtumiaji lakini hakuna nywila... Kisha jaribu:
|
||||
|
||||
- [**ASREPRoast**](asreproast.md): Ikiwa mtumiaji **hana** sifa _DONT_REQ_PREAUTH_ unaweza **kuomba ujumbe wa AS_REP** kwa mtumiaji huyo ambao utakuwa na data fulani iliyosimbwa kwa kutumia mchanganyiko wa nywila ya mtumiaji.
|
||||
- [**Password Spraying**](password-spraying.md): Hebu jaribu nywila **za kawaida zaidi** na kila mmoja wa watumiaji waliogunduliwa, labda mtumiaji fulani anatumia nywila mbaya (kumbuka sera ya nywila!).
|
||||
- [**ASREPRoast**](asreproast.md): Ikiwa mtumiaji **hana** sifa _DONT_REQ_PREAUTH_ unaweza **kuomba ujumbe wa AS_REP** kwa mtumiaji huyo ambao utakuwa na data fulani iliyosimbwa kwa derivation ya nywila ya mtumiaji.
|
||||
- [**Password Spraying**](password-spraying.md): Jaribu nywila **za kawaida zaidi** na kila mmoja wa watumiaji ulioyagundua, labda mtumiaji fulani anatumia nywila mbaya (kumbuka sera ya nywila!).
|
||||
- Kumbuka kwamba unaweza pia **spray OWA servers** kujaribu kupata ufikiaji wa seva za barua za watumiaji.
|
||||
|
||||
{{#ref}}
|
||||
@ -138,17 +138,17 @@ Ikiwa umeweza kuhesabu active directory utakuwa na **barua pepe zaidi na ufahamu
|
||||
|
||||
### Kuiba NTLM Creds
|
||||
|
||||
Ikiwa unaweza **kufikia kompyuta nyingine au sehemu** na **mtumiaji wa null au mgeni** unaweza **kweka faili** (kama faili ya SCF) ambayo ikiwa kwa namna fulani itafikiwa it **itazindua uthibitishaji wa NTLM dhidi yako** ili uweze **kuiba** **changamoto ya NTLM** ili kuivunja:
|
||||
Ikiwa unaweza **kufikia kompyuta nyingine au sehemu** na **mtumiaji wa null au mgeni** unaweza **kweka faili** (kama faili ya SCF) ambayo ikiwa kwa namna fulani itafikiwa it **trigger an NTLM authentication against you** ili uweze **kuiba** **NTLM challenge** ili kuivunja:
|
||||
|
||||
{{#ref}}
|
||||
../ntlm/places-to-steal-ntlm-creds.md
|
||||
{{#endref}}
|
||||
|
||||
## Kuorodhesha Active Directory KWA nywila/sessio
|
||||
## Kuorodhesha Active Directory KWA nywila/sessheni
|
||||
|
||||
Kwa hatua hii unahitaji kuwa **umevamia nywila au sessio ya akaunti halali ya kikoa.** Ikiwa una nywila halali au shell kama mtumiaji wa kikoa, **unapaswa kukumbuka kwamba chaguzi zilizotolewa hapo awali bado ni chaguzi za kuvamia watumiaji wengine**.
|
||||
Kwa hatua hii unahitaji kuwa **umevamia nywila au sessheni ya akaunti halali ya kikoa.** Ikiwa una nywila halali au shell kama mtumiaji wa kikoa, **unapaswa kukumbuka kwamba chaguzi zilizotolewa hapo awali bado ni chaguzi za kuhamasisha watumiaji wengine**.
|
||||
|
||||
Kabla ya kuanza kuorodhesha kwa uthibitisho unapaswa kujua ni nini **tatizo la Kerberos double hop.**
|
||||
Kabla ya kuanza kuorodhesha kwa uthibitisho unapaswa kujua ni nini **Kerberos double hop problem.**
|
||||
|
||||
{{#ref}}
|
||||
kerberos-double-hop-problem.md
|
||||
@ -156,7 +156,7 @@ kerberos-double-hop-problem.md
|
||||
|
||||
### Kuorodhesha
|
||||
|
||||
Kuwa na akaunti iliyovamiwa ni **hatua kubwa kuanza kuvamia kikoa zima**, kwa sababu utaweza kuanza **Kuorodhesha Active Directory:**
|
||||
Kuwa na akaunti iliyovamiwa ni **hatua kubwa kuanza kuhamasisha kikoa zima**, kwa sababu utaweza kuanza **Kuorodhesha Active Directory:**
|
||||
|
||||
Kuhusu [**ASREPRoast**](asreproast.md) sasa unaweza kupata kila mtumiaji anayeweza kuwa na udhaifu, na kuhusu [**Password Spraying**](password-spraying.md) unaweza kupata **orodha ya majina yote ya watumiaji** na kujaribu nywila ya akaunti iliyovamiwa, nywila tupu na nywila mpya zinazowezekana.
|
||||
|
||||
@ -164,23 +164,23 @@ Kuhusu [**ASREPRoast**](asreproast.md) sasa unaweza kupata kila mtumiaji anayewe
|
||||
- Unaweza pia kutumia [**powershell kwa reconnaissance**](../basic-powershell-for-pentesters/index.html) ambayo itakuwa ya siri zaidi
|
||||
- Unaweza pia [**kutumia powerview**](../basic-powershell-for-pentesters/powerview.md) kutoa taarifa zaidi za kina
|
||||
- Zana nyingine nzuri kwa ajili ya reconnaissance katika active directory ni [**BloodHound**](bloodhound.md). Si **ya siri sana** (kulingana na mbinu za ukusanyaji unazotumia), lakini **ikiwa hujali** kuhusu hilo, unapaswa kujaribu kabisa. Pata mahali ambapo watumiaji wanaweza RDP, pata njia za makundi mengine, nk.
|
||||
- **Zana nyingine za kiotomatiki za kuorodhesha AD ni:** [**AD Explorer**](bloodhound.md#ad-explorer)**,** [**ADRecon**](bloodhound.md#adrecon)**,** [**Group3r**](bloodhound.md#group3r)**,** [**PingCastle**](bloodhound.md#pingcastle)**.**
|
||||
- **Zana nyingine za kuorodhesha AD za kiotomatiki ni:** [**AD Explorer**](bloodhound.md#ad-explorer)**,** [**ADRecon**](bloodhound.md#adrecon)**,** [**Group3r**](bloodhound.md#group3r)**,** [**PingCastle**](bloodhound.md#pingcastle)**.**
|
||||
- [**Rekodi za DNS za AD**](ad-dns-records.md) kwani zinaweza kuwa na taarifa za kuvutia.
|
||||
- **Zana yenye GUI** ambayo unaweza kutumia kuorodhesha directory ni **AdExplorer.exe** kutoka **SysInternal** Suite.
|
||||
- Unaweza pia kutafuta katika database ya LDAP kwa **ldapsearch** kutafuta nywila katika maeneo _userPassword_ & _unixUserPassword_, au hata kwa _Description_. cf. [Nywila katika AD Maoni ya Mtumiaji kwenye PayloadsAllTheThings](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#password-in-ad-user-comment) kwa mbinu nyingine.
|
||||
- Unaweza pia kutafuta katika database ya LDAP kwa **ldapsearch** kutafuta nywila katika maeneo _userPassword_ & _unixUserPassword_, au hata kwa _Description_. cf. [Nywila katika AD User comment on PayloadsAllTheThings](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#password-in-ad-user-comment) kwa mbinu nyingine.
|
||||
- Ikiwa unatumia **Linux**, unaweza pia kuorodhesha kikoa kwa kutumia [**pywerview**](https://github.com/the-useless-one/pywerview).
|
||||
- Unaweza pia kujaribu zana za kiotomatiki kama:
|
||||
- [**tomcarver16/ADSearch**](https://github.com/tomcarver16/ADSearch)
|
||||
- [**61106960/adPEAS**](https://github.com/61106960/adPEAS)
|
||||
- **Kutoa majina yote ya watumiaji wa kikoa**
|
||||
|
||||
Ni rahisi sana kupata majina yote ya watumiaji wa kikoa kutoka Windows (`net user /domain`, `Get-DomainUser` au `wmic useraccount get name,sid`). Katika Linux, unaweza kutumia: `GetADUsers.py -all -dc-ip 10.10.10.110 domain.com/username` au `enum4linux -a -u "user" -p "password" <DC IP>`
|
||||
Ni rahisi sana kupata majina yote ya watumiaji wa kikoa kutoka Windows (`net user /domain` ,`Get-DomainUser` au `wmic useraccount get name,sid`). Katika Linux, unaweza kutumia: `GetADUsers.py -all -dc-ip 10.10.10.110 domain.com/username` au `enum4linux -a -u "user" -p "password" <DC IP>`
|
||||
|
||||
> Hata kama sehemu hii ya Kuorodhesha inaonekana ndogo hii ndiyo sehemu muhimu zaidi ya yote. Fikia viungo (hasa ile ya cmd, powershell, powerview na BloodHound), jifunze jinsi ya kuorodhesha kikoa na ufanye mazoezi hadi ujisikie vizuri. Wakati wa tathmini, hii itakuwa wakati muhimu wa kupata njia yako hadi DA au kuamua kwamba hakuna kinachoweza kufanywa.
|
||||
> Hata kama sehemu hii ya Kuorodhesha inaonekana ndogo hii ndiyo sehemu muhimu zaidi ya yote. Fikia viungo (hasa ile ya cmd, powershell, powerview na BloodHound), jifunze jinsi ya kuorodhesha kikoa na fanya mazoezi hadi ujisikie vizuri. Wakati wa tathmini, hii itakuwa wakati muhimu wa kupata njia yako hadi DA au kuamua kwamba hakuna kinachoweza kufanywa.
|
||||
|
||||
### Kerberoast
|
||||
|
||||
Kerberoasting inahusisha kupata **TGS tickets** zinazotumiwa na huduma zinazohusishwa na akaunti za watumiaji na kuvunja usimbaji wao—ambao unategemea nywila za watumiaji—**nje ya mtandao**.
|
||||
Kerberoasting inahusisha kupata **TGS tickets** zinazotumiwa na huduma zinazohusishwa na akaunti za watumiaji na kuvunja usimbaji wao—ambao unategemea nywila za watumiaji—**offline**.
|
||||
|
||||
Zaidi kuhusu hii katika:
|
||||
|
||||
@ -190,15 +190,15 @@ kerberoast.md
|
||||
|
||||
### Muunganisho wa mbali (RDP, SSH, FTP, Win-RM, nk)
|
||||
|
||||
Mara tu unapokuwa umepata nywila fulani unaweza kuangalia ikiwa una ufikiaji wa **mashine** yoyote. Kwa jambo hilo, unaweza kutumia **CrackMapExec** kujaribu kuungana kwenye seva kadhaa kwa kutumia protokali tofauti, kulingana na skana zako za port.
|
||||
Mara tu unapokuwa umepata baadhi ya nywila unaweza kuangalia ikiwa una ufikiaji wa **mashine** yoyote. Kwa jambo hilo, unaweza kutumia **CrackMapExec** kujaribu kuungana kwenye seva kadhaa kwa kutumia protokali tofauti, kulingana na skana zako za port.
|
||||
|
||||
### Kuinua Privilege za Mitaa
|
||||
|
||||
Ikiwa umevamia nywila au sessio kama mtumiaji wa kawaida wa kikoa na una **ufikiaji** na mtumiaji huyu kwa **mashine yoyote katika kikoa** unapaswa kujaribu kupata njia yako ya **kuinua mamlaka kwa ndani na kutafuta nywila**. Hii ni kwa sababu ni tu kwa mamlaka ya msimamizi wa ndani utaweza **dump hashes za watumiaji wengine** katika kumbukumbu (LSASS) na kwa ndani (SAM).
|
||||
Ikiwa umevamia nywila au sessheni kama mtumiaji wa kawaida wa kikoa na una **ufikiaji** na mtumiaji huyu kwa **mashine yoyote katika kikoa** unapaswa kujaribu kupata njia yako ya **kuinua mamlaka kwa ndani na kutafuta nywila**. Hii ni kwa sababu ni tu kwa mamlaka ya msimamizi wa ndani utaweza **dump hashes za watumiaji wengine** katika kumbukumbu (LSASS) na kwa ndani (SAM).
|
||||
|
||||
Kuna ukurasa kamili katika kitabu hiki kuhusu [**kuinua mamlaka ya ndani katika Windows**](../windows-local-privilege-escalation/index.html) na [**orodha ya ukaguzi**](../checklist-windows-privilege-escalation.md). Pia, usisahau kutumia [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite).
|
||||
|
||||
### Tiketi za Sessio za Sasa
|
||||
### Tiketi za Sessheni za Sasa
|
||||
|
||||
Ni **ngumu sana** kwamba utapata **tiketi** katika mtumiaji wa sasa **ukikupa ruhusa ya kufikia** rasilimali zisizotarajiwa, lakini unaweza kuangalia:
|
||||
```bash
|
||||
@ -220,7 +220,7 @@ Sasa kwamba una baadhi ya akidi za msingi unapaswa kuangalia kama unaweza **kupa
|
||||
|
||||
### Nyakua NTLM Creds
|
||||
|
||||
Ikiwa unaweza **kufikia PCs nyingine au shares** unaweza **kweka faili** (kama faili la SCF) ambayo ikiwa kwa namna fulani inafikiwa it **itazindua uthibitishaji wa NTLM dhidi yako** ili uweze **kuiba** **changamoto ya NTLM** ili kuifungua:
|
||||
Ikiwa unaweza **kufikia PCs nyingine au shares** unaweza **kweka faili** (kama faili la SCF) ambayo ikiwa kwa namna fulani itafikiwa it **itazindua uthibitishaji wa NTLM dhidi yako** ili uweze **kuiba** **changamoto ya NTLM** ili kuifungua:
|
||||
|
||||
{{#ref}}
|
||||
../ntlm/places-to-steal-ntlm-creds.md
|
||||
@ -228,7 +228,7 @@ Ikiwa unaweza **kufikia PCs nyingine au shares** unaweza **kweka faili** (kama f
|
||||
|
||||
### CVE-2021-1675/CVE-2021-34527 PrintNightmare
|
||||
|
||||
Ushahidi huu uliruhusu mtumiaji yeyote aliyeidhinishwa **kudhoofisha kidhibiti cha eneo**.
|
||||
Ushindi huu uliruhusu mtumiaji yeyote aliyeidhinishwa **kudhoofisha kidhibiti cha eneo**.
|
||||
|
||||
{{#ref}}
|
||||
printnightmare.md
|
||||
@ -252,7 +252,7 @@ Unahitaji kutumia **chombo** ambacho kitafanya **uthibitishaji wa NTLM kwa kutum
|
||||
|
||||
### Over Pass the Hash/Pass the Key
|
||||
|
||||
Shambulizi hili linakusudia **kutumia hash ya mtumiaji NTLM kuomba tiketi za Kerberos**, kama mbadala wa Pass The Hash juu ya itifaki ya NTLM. Hivyo, hii inaweza kuwa **na manufaa hasa katika mitandao ambapo itifaki ya NTLM imezimwa** na tu **Kerberos inaruhusiwa** kama itifaki ya uthibitishaji.
|
||||
Shambulizi hili linakusudia **kutumia hash ya mtumiaji wa NTLM kuomba tiketi za Kerberos**, kama mbadala wa Pass The Hash juu ya itifaki ya NTLM. Hivyo, hii inaweza kuwa **na manufaa hasa katika mitandao ambapo itifaki ya NTLM imezimwa** na tu **Kerberos inaruhusiwa** kama itifaki ya uthibitishaji.
|
||||
|
||||
{{#ref}}
|
||||
over-pass-the-hash-pass-the-key.md
|
||||
@ -280,8 +280,8 @@ crackmapexec smb --local-auth 10.10.10.10/23 -u administrator -H 10298e182387f9c
|
||||
### MSSQL Abuse & Trusted Links
|
||||
|
||||
Ikiwa mtumiaji ana mamlaka ya **kufikia mifumo ya MSSQL**, anaweza kuwa na uwezo wa kuitumia **kutekeleza amri** kwenye mwenyeji wa MSSQL (ikiwa inafanya kazi kama SA), **kuiba** NetNTLM **hash** au hata kufanya **shambulio la relay**.\
|
||||
Pia, ikiwa mfano wa MSSQL unakubaliwa (kiungo cha database) na mfano mwingine wa MSSQL. Ikiwa mtumiaji ana mamlaka juu ya database iliyoaminika, atakuwa na uwezo wa **kutumia uhusiano wa kuaminiana kutekeleza maswali pia kwenye mfano mwingine**. Uaminifu huu unaweza kuunganishwa na wakati fulani mtumiaji anaweza kuwa na uwezo wa kupata database iliyo na mipangilio isiyo sahihi ambapo anaweza kutekeleza amri.\
|
||||
**Viungo kati ya databases vinatumika hata katika uaminifu wa msitu.**
|
||||
Pia, ikiwa mfano wa MSSQL unakubaliwa (kiungo cha database) na mfano mwingine wa MSSQL. Ikiwa mtumiaji ana mamlaka juu ya database iliyoaminika, atakuwa na uwezo wa **kutumia uhusiano wa uaminifu kutekeleza maswali pia kwenye mfano mwingine**. Uaminifu huu unaweza kuunganishwa na kwa wakati fulani mtumiaji anaweza kuwa na uwezo wa kupata database iliyo na mipangilio isiyo sahihi ambapo anaweza kutekeleza amri.\
|
||||
**Viungo kati ya databases vinafanya kazi hata katika uaminifu wa msitu.**
|
||||
|
||||
{{#ref}}
|
||||
abusing-ad-mssql.md
|
||||
@ -289,9 +289,9 @@ abusing-ad-mssql.md
|
||||
|
||||
### Unconstrained Delegation
|
||||
|
||||
Ikiwa unapata kitu chochote cha Kompyuta chenye sifa [ADS_UF_TRUSTED_FOR_DELEGATION](<https://msdn.microsoft.com/en-us/library/aa772300(v=vs.85).aspx>) na una mamlaka ya kikoa kwenye kompyuta, utaweza kutoa TGTs kutoka kwenye kumbukumbu ya kila mtumiaji anayeingia kwenye kompyuta.\
|
||||
Hivyo, ikiwa **Msimamizi wa Kikoa anaingia kwenye kompyuta**, utaweza kutoa TGT yake na kumwakilisha kwa kutumia [Pass the Ticket](pass-the-ticket.md).\
|
||||
Shukrani kwa uwakilishi wa kizuizi unaweza hata **kuharibu Print Server** kiotomatiki (tunatumai itakuwa DC).
|
||||
Ikiwa unapata kitu chochote cha Kompyuta chenye sifa [ADS_UF_TRUSTED_FOR_DELEGATION](<https://msdn.microsoft.com/en-us/library/aa772300(v=vs.85).aspx>) na una mamlaka ya eneo katika kompyuta, utaweza kutoa TGTs kutoka kwenye kumbukumbu ya kila mtumiaji anayeingia kwenye kompyuta.\
|
||||
Hivyo, ikiwa **Msimamizi wa Eneo anaingia kwenye kompyuta**, utaweza kutoa TGT yake na kumwakilisha kwa kutumia [Pass the Ticket](pass-the-ticket.md).\
|
||||
Shukrani kwa uwakilishi wa kizuizi unaweza hata **kuathiri kiotomatiki Server ya Print** (tunatumai itakuwa DC).
|
||||
|
||||
{{#ref}}
|
||||
unconstrained-delegation.md
|
||||
@ -299,8 +299,8 @@ unconstrained-delegation.md
|
||||
|
||||
### Constrained Delegation
|
||||
|
||||
Ikiwa mtumiaji au kompyuta inaruhusiwa kwa "Constrained Delegation" itakuwa na uwezo wa **kumwakilisha mtumiaji yeyote ili kufikia huduma fulani kwenye kompyuta**.\
|
||||
Kisha, ikiwa **utaharibu hash** ya mtumiaji/hii kompyuta utaweza **kumwakilisha mtumiaji yeyote** (hata wasimamizi wa kikoa) ili kufikia huduma fulani.
|
||||
Ikiwa mtumiaji au kompyuta inaruhusiwa kwa "Constrained Delegation" itakuwa na uwezo wa **kumwakilisha mtumiaji yeyote kufikia huduma fulani kwenye kompyuta**.\
|
||||
Kisha, ikiwa **utavunja hash** ya mtumiaji/hii kompyuta utaweza **kumwakilisha mtumiaji yeyote** (hata wasimamizi wa eneo) kufikia huduma fulani.
|
||||
|
||||
{{#ref}}
|
||||
constrained-delegation.md
|
||||
@ -308,7 +308,7 @@ constrained-delegation.md
|
||||
|
||||
### Resourced-based Constrain Delegation
|
||||
|
||||
Kuwa na **WRITE** mamlaka kwenye kitu cha Active Directory cha kompyuta ya mbali kunaruhusu kupata utekelezaji wa msimbo wenye **mamlaka ya juu**:
|
||||
Kuwa na **WRITE** mamlaka kwenye kitu cha Active Directory cha kompyuta ya mbali kunaruhusu kupata utekelezaji wa msimbo kwa **mamlaka ya juu**:
|
||||
|
||||
{{#ref}}
|
||||
resource-based-constrained-delegation.md
|
||||
@ -316,7 +316,7 @@ resource-based-constrained-delegation.md
|
||||
|
||||
### Permissions/ACLs Abuse
|
||||
|
||||
Mtumiaji aliyeathirika anaweza kuwa na **mamlaka ya kuvutia juu ya vitu fulani vya kikoa** ambavyo vinaweza kukuruhusu **kuhamasisha** kwa upande/**kuinua** mamlaka.
|
||||
Mtumiaji aliyeathiriwa anaweza kuwa na **mamlaka ya kuvutia juu ya baadhi ya vitu vya eneo** ambavyo vinaweza kukuruhusu **kuhamasisha** kwa upande/**kuinua** mamlaka.
|
||||
|
||||
{{#ref}}
|
||||
acl-persistence-abuse/
|
||||
@ -324,7 +324,7 @@ acl-persistence-abuse/
|
||||
|
||||
### Printer Spooler service abuse
|
||||
|
||||
Kugundua **Spool service inasikiliza** ndani ya kikoa kunaweza **kutumika** ili **kupata akidi mpya** na **kuinua mamlaka**.
|
||||
Kugundua **Huduma ya Spool inayosikiliza** ndani ya eneo inaweza **kutumika** ili **kupata akidi mpya** na **kuinua mamlaka**.
|
||||
|
||||
{{#ref}}
|
||||
printers-spooler-service-abuse.md
|
||||
@ -332,7 +332,7 @@ printers-spooler-service-abuse.md
|
||||
|
||||
### Third party sessions abuse
|
||||
|
||||
Ikiwa **watumiaji wengine** **wanapata** mashine **iliyoathirika**, inawezekana **kukusanya akidi kutoka kwenye kumbukumbu** na hata **kuingiza beacons katika michakato yao** ili kuwawakilisha.\
|
||||
Ikiwa **watumiaji wengine** **wanapata** mashine **iliyoathiriwa**, inawezekana **kukusanya akidi kutoka kwenye kumbukumbu** na hata **kuingiza beacons katika michakato yao** ili kuwawakilisha.\
|
||||
Kawaida watumiaji wataingia kwenye mfumo kupitia RDP, hivyo hapa kuna jinsi ya kufanya mashambulizi kadhaa juu ya vikao vya RDP vya wahusika wengine:
|
||||
|
||||
{{#ref}}
|
||||
@ -341,7 +341,7 @@ rdp-sessions-abuse.md
|
||||
|
||||
### LAPS
|
||||
|
||||
**LAPS** inatoa mfumo wa kusimamia **neno la siri la Msimamizi wa ndani** kwenye kompyuta zilizounganishwa na kikoa, kuhakikisha ni **ya nasibu**, ya kipekee, na mara kwa mara **inabadilishwa**. Maneno haya ya siri yanahifadhiwa katika Active Directory na ufikiaji unadhibitiwa kupitia ACLs kwa watumiaji walioidhinishwa tu. Kwa mamlaka ya kutosha ya kufikia maneno haya ya siri, kuhamasisha kwa kompyuta nyingine kunakuwa na uwezekano.
|
||||
**LAPS** inatoa mfumo wa kusimamia **neno la siri la Msimamizi wa ndani** kwenye kompyuta zilizounganishwa na eneo, kuhakikisha kuwa ni **ya nasibu**, ya kipekee, na mara kwa mara **inabadilishwa**. Maneno haya ya siri yanahifadhiwa katika Active Directory na ufikiaji unadhibitiwa kupitia ACLs kwa watumiaji walioidhinishwa tu. Kwa mamlaka ya kutosha ya kufikia maneno haya ya siri, kuhamasisha kwa kompyuta nyingine kunakuwa na uwezekano.
|
||||
|
||||
{{#ref}}
|
||||
laps.md
|
||||
@ -349,7 +349,7 @@ laps.md
|
||||
|
||||
### Certificate Theft
|
||||
|
||||
**Kukusanya vyeti** kutoka kwenye mashine iliyoathirika kunaweza kuwa njia ya kuinua mamlaka ndani ya mazingira:
|
||||
**Kukusanya vyeti** kutoka kwenye mashine iliyoathiriwa inaweza kuwa njia ya kuinua mamlaka ndani ya mazingira:
|
||||
|
||||
{{#ref}}
|
||||
ad-certificates/certificate-theft.md
|
||||
@ -357,7 +357,7 @@ ad-certificates/certificate-theft.md
|
||||
|
||||
### Certificate Templates Abuse
|
||||
|
||||
Ikiwa **mifano ya hatari** imewekwa inawezekana kuzikandamiza ili kuinua mamlaka:
|
||||
Ikiwa **mipangilio ya template** iliyo hatarini imewekwa, inawezekana kuzikandamiza ili kuinua mamlaka:
|
||||
|
||||
{{#ref}}
|
||||
ad-certificates/domain-escalation.md
|
||||
@ -367,7 +367,7 @@ ad-certificates/domain-escalation.md
|
||||
|
||||
### Dumping Domain Credentials
|
||||
|
||||
Mara tu unapopata **Msimamizi wa Kikoa** au hata bora **Msimamizi wa Biashara** mamlaka, unaweza **kutoa** **database ya kikoa**: _ntds.dit_.
|
||||
Mara tu unapopata **Msimamizi wa Eneo** au hata bora **Msimamizi wa Biashara** mamlaka, unaweza **kutoa** **database ya eneo**: _ntds.dit_.
|
||||
|
||||
[**Taarifa zaidi kuhusu shambulio la DCSync inaweza kupatikana hapa**](dcsync.md).
|
||||
|
||||
@ -398,7 +398,7 @@ Add-DomainObjectAcl -TargetIdentity "DC=SUB,DC=DOMAIN,DC=LOCAL" -PrincipalIdenti
|
||||
|
||||
### Silver Ticket
|
||||
|
||||
Shambulio la **Silver Ticket** linaunda **tiketi halali ya Huduma ya Kutoa Tiketi (TGS)** kwa huduma maalum kwa kutumia **NTLM hash** (kwa mfano, **hash ya akaunti ya PC**). Mbinu hii inatumika ili **kufikia mamlaka ya huduma**.
|
||||
**Shambulio la Silver Ticket** linaunda **tiketi halali ya Huduma ya Kutoa Tiketi (TGS)** kwa huduma maalum kwa kutumia **hash ya NTLM** (kwa mfano, **hash ya akaunti ya PC**). Mbinu hii inatumika ili **kufikia mamlaka ya huduma**.
|
||||
|
||||
{{#ref}}
|
||||
silver-ticket.md
|
||||
@ -406,9 +406,9 @@ silver-ticket.md
|
||||
|
||||
### Golden Ticket
|
||||
|
||||
Shambulio la **Golden Ticket** linahusisha mshambuliaji kupata ufikiaji wa **NTLM hash ya akaunti ya krbtgt** katika mazingira ya Active Directory (AD). Akaunti hii ni maalum kwa sababu inatumika kusaini **Tiketi za Kutoa Tiketi (TGTs)**, ambazo ni muhimu kwa uthibitishaji ndani ya mtandao wa AD.
|
||||
**Shambulio la Golden Ticket** linahusisha mshambuliaji kupata ufikiaji wa **hash ya NTLM ya akaunti ya krbtgt** katika mazingira ya Active Directory (AD). Akaunti hii ni maalum kwa sababu inatumika kusaini **Tiketi za Kutoa Tiketi (TGTs)**, ambazo ni muhimu kwa uthibitishaji ndani ya mtandao wa AD.
|
||||
|
||||
Mara mshambuliaji anapopata hash hii, anaweza kuunda **TGTs** kwa akaunti yoyote anayotaka (shambulio la tiketi ya fedha).
|
||||
Mara mshambuliaji anapata hash hii, anaweza kuunda **TGTs** kwa akaunti yoyote anayotaka (shambulio la tiketi ya fedha).
|
||||
|
||||
{{#ref}}
|
||||
golden-ticket.md
|
||||
@ -416,7 +416,7 @@ golden-ticket.md
|
||||
|
||||
### Diamond Ticket
|
||||
|
||||
Hizi ni kama tiketi za dhahabu zilizoforgiwa kwa njia ambayo **inasababisha kupita mifumo ya kawaida ya kugundua tiketi za dhahabu.**
|
||||
Hizi ni kama tiketi za dhahabu zilizoforged kwa njia ambayo **inasababisha kupita mifumo ya kawaida ya kugundua tiketi za dhahabu.**
|
||||
|
||||
{{#ref}}
|
||||
diamond-ticket.md
|
||||
@ -432,7 +432,7 @@ ad-certificates/account-persistence.md
|
||||
|
||||
### **Certificates Domain Persistence**
|
||||
|
||||
**Kutumia vyeti pia kunawezekana kudumu kwa mamlaka ya juu ndani ya kikoa:**
|
||||
**Kutumia vyeti pia kunawezekana kudumu kwa mamlaka ya juu ndani ya eneo:**
|
||||
|
||||
{{#ref}}
|
||||
ad-certificates/domain-persistence.md
|
||||
@ -440,13 +440,13 @@ ad-certificates/domain-persistence.md
|
||||
|
||||
### AdminSDHolder Group
|
||||
|
||||
Kitu cha **AdminSDHolder** katika Active Directory kinahakikisha usalama wa **makundi yenye mamlaka** (kama Wasimamizi wa Kikoa na Wasimamizi wa Biashara) kwa kutumia **Orodha ya Udhibiti wa Ufikiaji (ACL)** ya kawaida kati ya makundi haya ili kuzuia mabadiliko yasiyoidhinishwa. Hata hivyo, kipengele hiki kinaweza kutumika vibaya; ikiwa mshambuliaji atabadilisha ACL ya AdminSDHolder ili kutoa ufikiaji kamili kwa mtumiaji wa kawaida, mtumiaji huyo anapata udhibiti mkubwa juu ya makundi yote yenye mamlaka. Kipimo hiki cha usalama, kilichokusudiwa kulinda, kinaweza hivyo kurudi nyuma, kuruhusu ufikiaji usio na haki isipokuwa kifuatachokifuatiliwe kwa karibu.
|
||||
Kitu cha **AdminSDHolder** katika Active Directory kinahakikisha usalama wa **makundi yenye mamlaka** (kama Wasimamizi wa Eneo na Wasimamizi wa Biashara) kwa kutumia **Orodha ya Udhibiti wa Ufikiaji (ACL)** ya kawaida kati ya makundi haya ili kuzuia mabadiliko yasiyoidhinishwa. Hata hivyo, kipengele hiki kinaweza kutumika vibaya; ikiwa mshambuliaji atabadilisha ACL ya AdminSDHolder ili kutoa ufikiaji kamili kwa mtumiaji wa kawaida, mtumiaji huyo anapata udhibiti mkubwa juu ya makundi yote yenye mamlaka. Kipimo hiki cha usalama, kilichokusudiwa kulinda, kinaweza hivyo kurudi nyuma, kuruhusu ufikiaji usio na haki isipokuwa ufuatiliwe kwa karibu.
|
||||
|
||||
[**Taarifa zaidi kuhusu Kundi la AdminDSHolder hapa.**](privileged-groups-and-token-privileges.md#adminsdholder-group)
|
||||
|
||||
### DSRM Credentials
|
||||
|
||||
Ndani ya kila **Msimamizi wa Kikoa (DC)**, kuna akaunti ya **msimamizi wa ndani**. Kwa kupata haki za admin kwenye mashine kama hiyo, hash ya Msimamizi wa ndani inaweza kutolewa kwa kutumia **mimikatz**. Baada ya hii, mabadiliko ya rejista yanahitajika ili **kuwezesha matumizi ya nenosiri hili**, kuruhusu ufikiaji wa mbali kwa akaunti ya Msimamizi wa ndani.
|
||||
Ndani ya kila **Msimamizi wa Eneo (DC)**, akaunti ya **msimamizi wa ndani** inapatikana. Kwa kupata haki za admin kwenye mashine kama hiyo, hash ya Msimamizi wa ndani inaweza kutolewa kwa kutumia **mimikatz**. Baada ya hapo, mabadiliko ya rejista yanahitajika ili **kuwezesha matumizi ya nenosiri hili**, kuruhusu ufikiaji wa mbali kwa akaunti ya Msimamizi wa ndani.
|
||||
|
||||
{{#ref}}
|
||||
dsrm-credentials.md
|
||||
@ -454,7 +454,7 @@ dsrm-credentials.md
|
||||
|
||||
### ACL Persistence
|
||||
|
||||
Unaweza **kutoa** baadhi ya **mamlaka maalum** kwa **mtumiaji** juu ya vitu fulani vya kikoa ambavyo vitamruhusu mtumiaji **kuinua mamlaka katika siku zijazo**.
|
||||
Unaweza **kutoa** baadhi ya **mamlaka maalum** kwa **mtumiaji** juu ya baadhi ya vitu maalum vya eneo ambavyo vitamruhusu mtumiaji **kuinua mamlaka katika siku zijazo**.
|
||||
|
||||
{{#ref}}
|
||||
acl-persistence-abuse/
|
||||
@ -462,7 +462,7 @@ acl-persistence-abuse/
|
||||
|
||||
### Security Descriptors
|
||||
|
||||
**Maelezo ya usalama** yanatumika kuhifadhi **mamlaka** ambayo **kitu** kina **juu ya** **kitu**. Ikiwa unaweza tu **kufanya** **mabadiliko madogo** katika **maelezo ya usalama** ya kitu, unaweza kupata mamlaka ya kuvutia sana juu ya hicho kitu bila kuhitaji kuwa mwanachama wa kundi lenye mamlaka.
|
||||
**Maelezo ya usalama** yanatumika kuhifadhi **mamlaka** ambayo **kitu** kina **juu ya** **kitu**. Ikiwa unaweza tu **kufanya** **mabadiliko madogo** katika **maelezo ya usalama** ya kitu, unaweza kupata mamlaka ya kuvutia juu ya hicho kitu bila kuhitaji kuwa mwanachama wa kundi lenye mamlaka.
|
||||
|
||||
{{#ref}}
|
||||
security-descriptors.md
|
||||
@ -470,7 +470,7 @@ security-descriptors.md
|
||||
|
||||
### Skeleton Key
|
||||
|
||||
Badilisha **LSASS** katika kumbukumbu ili kuanzisha **neno la siri la ulimwengu**, linalotoa ufikiaji kwa akaunti zote za kikoa.
|
||||
Badilisha **LSASS** katika kumbukumbu ili kuanzisha **neno la siri la ulimwengu**, linaloruhusu ufikiaji wa akaunti zote za eneo.
|
||||
|
||||
{{#ref}}
|
||||
skeleton-key.md
|
||||
@ -478,7 +478,7 @@ skeleton-key.md
|
||||
|
||||
### Custom SSP
|
||||
|
||||
[Jifunze ni nini SSP (Mtoa Huduma ya Usalama) hapa.](../authentication-credentials-uac-and-efs/index.html#security-support-provider-interface-sspi)\
|
||||
[Jifunze ni nini SSP (Mtoa Msaada wa Usalama) hapa.](../authentication-credentials-uac-and-efs/index.html#security-support-provider-interface-sspi)\
|
||||
Unaweza kuunda **SSP yako mwenyewe** ili **kukamata** kwa **maandishi wazi** **akidi** zinazotumika kufikia mashine.
|
||||
|
||||
{{#ref}}
|
||||
@ -487,7 +487,7 @@ custom-ssp.md
|
||||
|
||||
### DCShadow
|
||||
|
||||
Inasajili **Msimamizi mpya wa Kikoa** katika AD na inatumia ku **sukuma sifa** (SIDHistory, SPNs...) kwenye vitu vilivyotajwa **bila** kuacha **kumbukumbu** kuhusu **mabadiliko**. Unahitaji mamlaka ya DA na uwe ndani ya **kikoa cha mzizi**.\
|
||||
Inasajili **Msimamizi mpya wa Eneo** katika AD na inaitumia **kushinikiza sifa** (SIDHistory, SPNs...) kwenye vitu vilivyotajwa **bila** kuacha **kumbukumbu** kuhusu **mabadiliko**. Unahitaji mamlaka ya DA na uwe ndani ya **eneo la mzizi**.\
|
||||
Kumbuka kwamba ikiwa utatumia data mbaya, kumbukumbu mbaya sana zitaonekana.
|
||||
|
||||
{{#ref}}
|
||||
@ -505,60 +505,60 @@ laps.md
|
||||
|
||||
## Forest Privilege Escalation - Domain Trusts
|
||||
|
||||
Microsoft inaona **Msitu** kama mpaka wa usalama. Hii ina maana kwamba **kuharibu kikoa kimoja kunaweza kusababisha msitu mzima kuharibiwa**.
|
||||
Microsoft inaona **Msitu** kama mpaka wa usalama. Hii inamaanisha kwamba **kuathiri eneo moja kunaweza kusababisha msitu mzima kuathiriwa**.
|
||||
|
||||
### Basic Information
|
||||
|
||||
[**uaminifu wa kikoa**](<http://technet.microsoft.com/en-us/library/cc759554(v=ws.10).aspx>) ni mekanizma ya usalama inayowezesha mtumiaji kutoka kwenye **kikoa** kufikia rasilimali katika **kikoa** kingine. Kimsingi inaunda uhusiano kati ya mifumo ya uthibitishaji ya kikoa viwili, ikiruhusu uthibitishaji kuhamasika bila shida. Wakati makundi yanaanzisha uaminifu, wanabadilishana na kuhifadhi funguo maalum ndani ya **Msimamizi wao wa Kikoa (DCs)**, ambazo ni muhimu kwa uaminifu wa uhusiano.
|
||||
[**uaminifu wa eneo**](<http://technet.microsoft.com/en-us/library/cc759554(v=ws.10).aspx>) ni mekanismu ya usalama inayowezesha mtumiaji kutoka kwenye **eneo** moja kufikia rasilimali katika **eneo** lingine. Kimsingi inaunda uhusiano kati ya mifumo ya uthibitishaji ya maeneo mawili, ikiruhusu uthibitishaji wa verifications kuhamasika bila shida. Wakati maeneo yanapoweka uaminifu, wanabadilishana na kuhifadhi funguo maalum ndani ya **Msimamizi wao wa Eneo (DCs)**, ambazo ni muhimu kwa uaminifu wa uaminifu.
|
||||
|
||||
Katika hali ya kawaida, ikiwa mtumiaji anataka kufikia huduma katika **kikoa kilichoaminika**, lazima kwanza aombe tiketi maalum inayojulikana kama **inter-realm TGT** kutoka kwa DC ya kikoa chake mwenyewe. Hii TGT imefungwa kwa funguo ya pamoja ambayo makundi yote mawili yamekubaliana. Mtumiaji kisha anawasilisha hii TGT kwa **DC ya kikoa kilichoaminika** ili kupata tiketi ya huduma (**TGS**). Baada ya uthibitishaji wa mafanikio wa inter-realm TGT na DC ya kikoa kilichoaminika, inatoa TGS, ikimpa mtumiaji ufikiaji wa huduma.
|
||||
Katika hali ya kawaida, ikiwa mtumiaji anataka kufikia huduma katika **eneo lililoaminika**, lazima kwanza aombe tiketi maalum inayojulikana kama **inter-realm TGT** kutoka kwa DC ya eneo lake mwenyewe. Hii TGT imefungwa kwa **funguo** iliyoshirikiwa ambayo maeneo yote mawili yamekubaliana. Mtumiaji kisha anawasilisha TGT hii kwa **DC ya eneo lililoaminika** ili kupata tiketi ya huduma (**TGS**). Baada ya uthibitishaji wa mafanikio wa inter-realm TGT na DC ya eneo lililoaminika, inatoa TGS, ikimpa mtumiaji ufikiaji wa huduma.
|
||||
|
||||
**Hatua**:
|
||||
|
||||
1. **kompyuta ya mteja** katika **Kikoa 1** inaanza mchakato kwa kutumia **NTLM hash** yake kuomba **Tiketi ya Kutoa Tiketi (TGT)** kutoka kwa **Msimamizi wake wa Kikoa (DC1)**.
|
||||
2. DC1 inatoa TGT mpya ikiwa mteja ameidhinishwa kwa mafanikio.
|
||||
3. Mteja kisha anaomba **inter-realm TGT** kutoka DC1, ambayo inahitajika kufikia rasilimali katika **Kikoa 2**.
|
||||
4. Inter-realm TGT imefungwa kwa **funguo ya uaminifu** iliyoshirikiwa kati ya DC1 na DC2 kama sehemu ya uaminifu wa kikoa wa pande mbili.
|
||||
5. Mteja anachukua inter-realm TGT kwa **Msimamizi wa Kikoa 2 (DC2)**.
|
||||
6. DC2 inathibitisha inter-realm TGT kwa kutumia funguo yake ya uaminifu iliyoshirikiwa na, ikiwa ni halali, inatoa **Huduma ya Kutoa Tiketi (TGS)** kwa seva katika Kikoa 2 ambayo mteja anataka kufikia.
|
||||
7. Hatimaye, mteja anawasilisha hii TGS kwa seva, ambayo imefungwa kwa hash ya akaunti ya seva, ili kupata ufikiaji wa huduma katika Kikoa 2.
|
||||
1. **Kompyuta ya mteja** katika **Eneo 1** inaanza mchakato kwa kutumia **hash ya NTLM** kuomba **Tiketi ya Kutoa Tiketi (TGT)** kutoka kwa **Msimamizi wake wa Eneo (DC1)**.
|
||||
2. DC1 inatoa TGT mpya ikiwa mteja amethibitishwa kwa mafanikio.
|
||||
3. Mteja kisha anaomba **inter-realm TGT** kutoka DC1, ambayo inahitajika kufikia rasilimali katika **Eneo 2**.
|
||||
4. Inter-realm TGT imefungwa kwa **funguo ya uaminifu** iliyoshirikiwa kati ya DC1 na DC2 kama sehemu ya uaminifu wa eneo la pande mbili.
|
||||
5. Mteja anachukua inter-realm TGT kwa **Msimamizi wa Eneo 2 (DC2)**.
|
||||
6. DC2 inathibitisha inter-realm TGT kwa kutumia funguo yake ya uaminifu iliyoshirikiwa na, ikiwa ni halali, inatoa **Huduma ya Kutoa Tiketi (TGS)** kwa seva katika Eneo 2 ambayo mteja anataka kufikia.
|
||||
7. Hatimaye, mteja anawasilisha TGS hii kwa seva, ambayo imefungwa kwa hash ya akaunti ya seva, ili kupata ufikiaji wa huduma katika Eneo 2.
|
||||
|
||||
### Different trusts
|
||||
|
||||
Ni muhimu kutambua kwamba **uaminifu unaweza kuwa wa njia 1 au njia 2**. Katika chaguo la njia 2, makundi yote mawili yatakuwa na uaminifu kwa kila mmoja, lakini katika uhusiano wa **njia 1** moja ya makundi itakuwa **ya kuaminika** na nyingine itakuwa **ya kuamini**. Katika kesi ya mwisho, **utaweza tu kufikia rasilimali ndani ya kikoa kinachoamini kutoka kwenye kikoa kilichoaminika**.
|
||||
Ni muhimu kutambua kwamba **uaminifu unaweza kuwa wa njia 1 au njia 2**. Katika chaguo la njia 2, maeneo yote mawili yatakuwa na uaminifu kwa kila mmoja, lakini katika uhusiano wa **njia 1** moja ya maeneo itakuwa **ya kuaminika** na nyingine **ya kuamini**. Katika kesi ya mwisho, **utaweza tu kufikia rasilimali ndani ya eneo linaloamini kutoka eneo lililoaminika**.
|
||||
|
||||
Ikiwa Kikoa A kinakuamini Kikoa B, A ni kikoa kinachoamini na B ni kikoa kilichoaminika. Zaidi ya hayo, katika **Kikoa A**, hii itakuwa **uaminifu wa nje**; na katika **Kikoa B**, hii itakuwa **uaminifu wa ndani**.
|
||||
Ikiwa Eneo A linaamini Eneo B, A ni eneo linaloamini na B ni eneo lililoaminika. Zaidi ya hayo, katika **Eneo A**, hii itakuwa **Uaminifu wa Nje**; na katika **Eneo B**, hii itakuwa **Uaminifu wa Ndani**.
|
||||
|
||||
**Uhusiano tofauti wa kuamini**
|
||||
**Uhusiano tofauti wa uaminifu**
|
||||
|
||||
- **Uaminifu wa Mzazi-Mwana**: Hii ni mipangilio ya kawaida ndani ya msitu mmoja, ambapo kikoa cha mtoto kwa otomatiki kina uaminifu wa pande mbili na kikoa chake cha mzazi. Kimsingi, hii inamaanisha kwamba maombi ya uthibitishaji yanaweza kuhamasika bila shida kati ya mzazi na mtoto.
|
||||
- **Uaminifu wa Msalaba**: Inajulikana kama "uaminifu wa mkato," hizi zimeanzishwa kati ya makundi ya watoto ili kuharakisha michakato ya rufaa. Katika misitu ngumu, rufaa za uthibitishaji kwa kawaida zinahitaji kusafiri hadi mzizi wa msitu na kisha kushuka hadi kikoa lengwa. Kwa kuunda uaminifu wa msalaba, safari inafupishwa, ambayo ni faida hasa katika mazingira yaliyosambazwa kijiografia.
|
||||
- **Uaminifu wa Nje**: Hizi zimeanzishwa kati ya makundi tofauti, yasiyo na uhusiano na ni zisizo za kupitisha kwa asili. Kulingana na [nyaraka za Microsoft](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>), uaminifu wa nje ni muhimu kwa kufikia rasilimali katika kikoa kilicho nje ya msitu wa sasa ambacho hakijashikamana na uaminifu wa msitu. Usalama unaboreshwa kupitia kuchuja SID na uaminifu wa nje.
|
||||
- **Uaminifu wa Mti-Mzizi**: Uaminifu huu huanzishwa kwa otomatiki kati ya kikoa cha mzizi wa msitu na mti mpya ulioongezwa. Ingawa si kawaida kukutana, uaminifu wa mti-mzizi ni muhimu kwa kuongeza miti mipya ya kikoa kwenye msitu, ikiruhusu kudumisha jina la kipekee la kikoa na kuhakikisha kupitisha kwa pande mbili. Taarifa zaidi zinaweza kupatikana katika [mwongozo wa Microsoft](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>).
|
||||
- **Uaminifu wa Msitu**: Aina hii ya uaminifu ni uaminifu wa pande mbili kati ya makundi mawili ya mzizi wa msitu, pia ikilazimisha kuchuja SID ili kuboresha hatua za usalama.
|
||||
- **Uaminifu wa MIT**: Hizi zimeanzishwa na makundi yasiyo ya Windows, [RFC4120-inayofaa](https://tools.ietf.org/html/rfc4120) Kerberos. Uaminifu wa MIT ni maalum zaidi na unalenga mazingira yanayohitaji ushirikiano na mifumo ya Kerberos nje ya mfumo wa Windows.
|
||||
- **Uaminifu wa Mzazi-Mwana**: Hii ni mipangilio ya kawaida ndani ya msitu mmoja, ambapo eneo la mtoto kwa kawaida lina uaminifu wa pande mbili na eneo lake la mzazi. Kimsingi, hii inamaanisha kwamba maombi ya uthibitishaji yanaweza kuhamasika bila shida kati ya mzazi na mtoto.
|
||||
- **Uaminifu wa Cross-link**: Inajulikana kama "uaminifu wa mkato," hizi zimeanzishwa kati ya maeneo ya watoto ili kuharakisha michakato ya rufaa. Katika misitu ngumu, rufaa za uthibitishaji kwa kawaida zinahitaji kusafiri hadi mzizi wa msitu na kisha chini hadi eneo lengwa. Kwa kuunda viungo vya msalaba, safari inafupishwa, ambayo ni faida hasa katika mazingira yaliyosambazwa kijiografia.
|
||||
- **Uaminifu wa Nje**: Hizi zimeanzishwa kati ya maeneo tofauti, yasiyo na uhusiano na ni zisizo za kupitisha kwa asili. Kulingana na [nyaraka za Microsoft](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>), uaminifu wa nje ni muhimu kwa kufikia rasilimali katika eneo lililo nje ya msitu wa sasa ambalo halijashikamana na uaminifu wa msitu. Usalama unaboreshwa kupitia kuchujwa kwa SID na uaminifu wa nje.
|
||||
- **Uaminifu wa Mti-Mzizi**: Uaminifu huu umeanzishwa moja kwa moja kati ya eneo la mzizi wa msitu na mti mpya ulioongezwa. Ingawa haupatikani mara nyingi, uaminifu wa mti-mzizi ni muhimu kwa kuongeza miti mipya ya eneo kwenye msitu, ikiruhusu kudumisha jina la kipekee la eneo na kuhakikisha uhamasishaji wa pande mbili. Taarifa zaidi zinaweza kupatikana katika [mwongozo wa Microsoft](<https://technet.microsoft.com/en-us/library/cc773178(v=ws.10).aspx>).
|
||||
- **Uaminifu wa Msitu**: Aina hii ya uaminifu ni uaminifu wa pande mbili kati ya maeneo mawili ya mzizi wa msitu, pia ikilazimisha kuchujwa kwa SID ili kuboresha hatua za usalama.
|
||||
- **Uaminifu wa MIT**: Uaminifu huu umeanzishwa na maeneo ya Kerberos yasiyo ya Windows, [RFC4120-inayokubalika](https://tools.ietf.org/html/rfc4120). Uaminifu wa MIT ni maalum zaidi na unalenga mazingira yanayohitaji ushirikiano na mifumo ya Kerberos nje ya mfumo wa Windows.
|
||||
|
||||
#### Tofauti nyingine katika **uhusiano wa kuamini**
|
||||
#### Tofauti nyingine katika **uhusiano wa uaminifu**
|
||||
|
||||
- Uhusiano wa uaminifu unaweza pia kuwa **wa kupitisha** (A inamuamini B, B inamuamini C, basi A inamuamini C) au **usio wa kupitisha**.
|
||||
- Uhusiano wa uaminifu unaweza kuanzishwa kama **uaminifu wa pande mbili** (zote zinamuamini kila mmoja) au kama **uaminifu wa njia moja** (moja tu kati yao inamuamini mwingine).
|
||||
- Uhusiano wa uaminifu unaweza pia kuwa **wa kupitisha** (A inamuamini B, B inamuamini C, kisha A inamuamini C) au **usio wa kupitisha**.
|
||||
- Uhusiano wa uaminifu unaweza kuwekwa kama **uaminifu wa pande mbili** (wote wanajiamini) au kama **uaminifu wa njia moja** (moja tu kati yao inamuamini mwingine).
|
||||
|
||||
### Attack Path
|
||||
|
||||
1. **Tathmini** uhusiano wa kuamini
|
||||
2. Angalia ikiwa **kiongozi wa usalama** (mtumiaji/kundi/kompyuta) ana **ufikiaji** wa rasilimali za **kikoa kingine**, labda kupitia entries za ACE au kwa kuwa katika makundi ya kikoa kingine. Tafuta **uhusiano kati ya makundi** (uaminifu ulianzishwa kwa hili labda).
|
||||
1. **Tathmini** uhusiano wa uaminifu
|
||||
2. Angalia ikiwa **kiongozi wa usalama** (mtumiaji/kundi/kompyuta) ana **ufikiaji** wa rasilimali za **eneo lingine**, labda kwa njia ya entries za ACE au kwa kuwa katika makundi ya eneo lingine. Tafuta **uhusiano kati ya maeneo** (uaminifu ulianzishwa kwa hili labda).
|
||||
1. kerberoast katika kesi hii inaweza kuwa chaguo lingine.
|
||||
3. **Haribu** **akaunti** ambazo zinaweza **kuhamasisha** kupitia makundi.
|
||||
3. **Athiri** **akaunti** ambazo zinaweza **kuhamasisha** kupitia maeneo.
|
||||
|
||||
Wavamizi wanaweza kufikia rasilimali katika kikoa kingine kupitia mitambo mitatu kuu:
|
||||
Wavamizi wanaweza kufikia rasilimali katika eneo lingine kupitia mitambo mitatu kuu:
|
||||
|
||||
- **Uanachama wa Kundi la Mitaa**: Viongozi wanaweza kuongezwa kwenye makundi ya mitaa kwenye mashine, kama kundi la "Wasimamizi" kwenye seva, wakitoa udhibiti mkubwa juu ya mashine hiyo.
|
||||
- **Uanachama wa Kundi la Kikoa la Kigeni**: Viongozi pia wanaweza kuwa wanachama wa makundi ndani ya kikoa cha kigeni. Hata hivyo, ufanisi wa mbinu hii unategemea asili ya uaminifu na upeo wa kundi.
|
||||
- **Orodha za Udhibiti wa Ufikiaji (ACLs)**: Viongozi wanaweza kutajwa katika **ACL**, hasa kama viumbe katika **ACEs** ndani ya **DACL**, wakitoa ufikiaji kwa rasilimali maalum. Kwa wale wanaotaka kuingia kwa undani zaidi katika mitambo ya ACLs, DACLs, na ACEs, karatasi ya nyeupe iliyoitwa “[An ACE Up The Sleeve](https://specterops.io/assets/resources/an_ace_up_the_sleeve.pdf)” ni rasilimali muhimu.
|
||||
- **Uanachama wa Kundi la Mitaa**: Viongozi wanaweza kuongezwa kwenye makundi ya ndani kwenye mashine, kama kundi la "Wasimamizi" kwenye seva, wakipata udhibiti mkubwa juu ya mashine hiyo.
|
||||
- **Uanachama wa Kundi la Eneo la Kigeni**: Viongozi pia wanaweza kuwa wanachama wa makundi ndani ya eneo la kigeni. Hata hivyo, ufanisi wa mbinu hii unategemea asili ya uaminifu na upeo wa kundi.
|
||||
- **Orodha za Udhibiti wa Ufikiaji (ACLs)**: Viongozi wanaweza kutajwa katika **ACL**, hasa kama viumbe katika **ACEs** ndani ya **DACL**, wakipata ufikiaji wa rasilimali maalum. Kwa wale wanaotaka kuingia kwa undani zaidi katika mitambo ya ACLs, DACLs, na ACEs, karatasi ya nyeupe iliyoitwa “[An ACE Up The Sleeve](https://specterops.io/assets/resources/an_ace_up_the_sleeve.pdf)” ni rasilimali muhimu.
|
||||
|
||||
### Find external users/groups with permissions
|
||||
|
||||
Unaweza kuangalia **`CN=<user_SID>,CN=ForeignSecurityPrincipals,DC=domain,DC=com`** ili kupata viongozi wa usalama wa kigeni katika kikoa. Hizi zitakuwa mtumiaji/kundi kutoka **kikoa/msitu wa kigeni**.
|
||||
Unaweza kuangalia **`CN=<user_SID>,CN=ForeignSecurityPrincipals,DC=domain,DC=com`** ili kupata viongozi wa usalama wa kigeni katika eneo. Hizi zitakuwa mtumiaji/kundi kutoka **eneo/msitu wa kigeni**.
|
||||
|
||||
Unaweza kuangalia hii katika **Bloodhound** au kutumia powerview:
|
||||
```powershell
|
||||
@ -594,7 +594,7 @@ nltest /dclist:sub.domain.local
|
||||
nltest /server:dc.sub.domain.local /domain_trusts /all_trusts
|
||||
```
|
||||
> [!WARNING]
|
||||
> Kuna **funguo 2 za kuaminika**, moja kwa _Mtoto --> mzazi_ na nyingine kwa _Mzazi_ --> _Mtoto_.\
|
||||
> Kuna **funguo 2 za kuaminika**, moja kwa _Child --> Parent_ na nyingine kwa _Parent_ --> _Child_.\
|
||||
> Unaweza kutumia ile inayotumika na eneo la sasa kwa:
|
||||
>
|
||||
> ```bash
|
||||
@ -604,7 +604,7 @@ nltest /server:dc.sub.domain.local /domain_trusts /all_trusts
|
||||
|
||||
#### SID-History Injection
|
||||
|
||||
Pandisha kama msimamizi wa Enterprise hadi eneo la mtoto/mzazi kwa kutumia uaminifu na SID-History injection:
|
||||
Pandisha kama msimamizi wa Enterprise hadi eneo la mtoto/ mzazi kwa kutumia uaminifu na SID-History injection:
|
||||
|
||||
{{#ref}}
|
||||
sid-history-injection.md
|
||||
@ -612,11 +612,11 @@ sid-history-injection.md
|
||||
|
||||
#### Exploit writeable Configuration NC
|
||||
|
||||
Kuelewa jinsi Configuration Naming Context (NC) inavyoweza kutumika ni muhimu. Configuration NC inatumika kama hazina kuu ya data za usanidi katika msitu wa Active Directory (AD). Data hii inakopwa kwa kila Domain Controller (DC) ndani ya msitu, huku DC zinazoweza kuandikwa zikihifadhi nakala inayoweza kuandikwa ya Configuration NC. Ili kutumia hili, mtu lazima awe na **privileges za SYSTEM kwenye DC**, bora iwe DC ya mtoto.
|
||||
Kuelewa jinsi Configuration Naming Context (NC) inaweza kutumika ni muhimu. Configuration NC inatumika kama hazina kuu ya data za usanidi katika mazingira ya Active Directory (AD). Data hii inakopwa kwa kila Domain Controller (DC) ndani ya msitu, huku DC zinazoweza kuandikwa zikihifadhi nakala inayoweza kuandikwa ya Configuration NC. Ili kutumia hili, mtu lazima awe na **privileges za SYSTEM kwenye DC**, bora iwe DC ya mtoto.
|
||||
|
||||
**Link GPO to root DC site**
|
||||
|
||||
Konteina ya Sites ya Configuration NC inajumuisha taarifa kuhusu tovuti za kompyuta zote zilizounganishwa na eneo ndani ya msitu wa AD. Kwa kufanya kazi na privileges za SYSTEM kwenye DC yoyote, washambuliaji wanaweza kuunganisha GPOs kwenye tovuti za root DC. Kitendo hiki kinaweza kuhatarisha eneo la mzizi kwa kubadilisha sera zinazotumika kwenye tovuti hizi.
|
||||
Konteina ya Sites ya Configuration NC inajumuisha taarifa kuhusu tovuti za kompyuta zote zilizounganishwa na eneo ndani ya msitu wa AD. Kwa kufanya kazi na privileges za SYSTEM kwenye DC yoyote, washambuliaji wanaweza kuunganisha GPOs kwenye tovuti za root DC. Kitendo hiki kinaweza kuhatarisha eneo la mzazi kwa kubadilisha sera zinazotumika kwenye tovuti hizi.
|
||||
|
||||
Kwa taarifa za kina, mtu anaweza kuchunguza utafiti kuhusu [Bypassing SID Filtering](https://improsec.com/tech-blog/sid-filter-as-security-boundary-between-domains-part-4-bypass-sid-filtering-research).
|
||||
|
||||
@ -634,13 +634,13 @@ Utafiti wa ziada wa nje: [Golden gMSA Trust Attacks](https://improsec.com/tech-b
|
||||
|
||||
**Schema change attack**
|
||||
|
||||
Njia hii inahitaji uvumilivu, ikisubiri kuundwa kwa vitu vipya vya AD vyenye mamlaka. Kwa kuwa na privileges za SYSTEM, mshambuliaji anaweza kubadilisha Schema ya AD ili kumpa mtumiaji yeyote udhibiti kamili juu ya makundi yote. Hii inaweza kusababisha ufikiaji usioidhinishwa na udhibiti wa vitu vipya vya AD vilivyoundwa.
|
||||
Njia hii inahitaji uvumilivu, kusubiri kuundwa kwa vitu vipya vya AD vyenye mamlaka. Kwa kuwa na privileges za SYSTEM, mshambuliaji anaweza kubadilisha Schema ya AD ili kumpa mtumiaji yeyote udhibiti kamili juu ya makundi yote. Hii inaweza kusababisha ufikiaji usioidhinishwa na udhibiti wa vitu vipya vya AD vilivyoundwa.
|
||||
|
||||
Kusoma zaidi kunaweza kupatikana kwenye [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).
|
||||
|
||||
**From DA to EA with ADCS ESC5**
|
||||
|
||||
Ukatili wa ADCS ESC5 unalenga udhibiti wa vitu vya Public Key Infrastructure (PKI) ili kuunda kigezo cha cheti kinachowezesha uthibitisho kama mtumiaji yeyote ndani ya msitu. Kwa kuwa vitu vya PKI vinapatikana katika Configuration NC, kuhatarisha DC ya mtoto inayoweza kuandikwa kunaruhusu utekelezaji wa shambulio la ESC5.
|
||||
Ukatili wa ADCS ESC5 unalenga udhibiti wa vitu vya Public Key Infrastructure (PKI) ili kuunda kigezo cha cheti kinachowezesha uthibitisho kama mtumiaji yeyote ndani ya msitu. Kwa kuwa vitu vya PKI vinapatikana katika Configuration NC, kuhatarisha DC ya mtoto inayoweza kuandikwa kunaruhusu utekelezaji wa mashambulizi ya ESC5.
|
||||
|
||||
Maelezo zaidi kuhusu hili yanaweza kusomwa katika [From DA to EA with ESC5](https://posts.specterops.io/from-da-to-ea-with-esc5-f9f045aa105c). Katika hali zisizo na ADCS, mshambuliaji ana uwezo wa kuanzisha vipengele muhimu, kama ilivyojadiliwa katika [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/).
|
||||
|
||||
@ -684,7 +684,7 @@ external-forest-domain-one-way-outbound.md
|
||||
Njia nyingine ya kuathiri domeni inayokuamini ni kutafuta [**kiungo cha SQL kilichoaminika**](abusing-ad-mssql.md#mssql-trusted-links) kilichoundwa katika **mwelekeo kinyume** cha uaminifu wa domeni (ambayo si ya kawaida sana).
|
||||
|
||||
Njia nyingine ya kuathiri domeni inayokuamini ni kusubiri kwenye mashine ambapo **mtumiaji kutoka kwenye domeni inayokuamini anaweza kufikia** kuingia kupitia **RDP**. Kisha, mshambuliaji anaweza kuingiza msimbo katika mchakato wa kikao cha RDP na **kufikia domeni ya asili ya mwathirika** kutoka pale.\
|
||||
Zaidi ya hayo, ikiwa **mwathirika ameunganisha diski yake ngumu**, kutoka kwenye mchakato wa kikao cha **RDP** mshambuliaji anaweza kuhifadhi **backdoors** kwenye **kabrasha la kuanzisha la diski ngumu**. Mbinu hii inaitwa **RDPInception.**
|
||||
Zaidi ya hayo, ikiwa **mwathirika ameunganisha diski yake ngumu**, kutoka kwenye mchakato wa **kikao cha RDP** mshambuliaji anaweza kuhifadhi **backdoors** kwenye **kabrasha la kuanzisha la diski ngumu**. Mbinu hii inaitwa **RDPInception.**
|
||||
|
||||
{{#ref}}
|
||||
rdp-sessions-abuse.md
|
||||
@ -694,13 +694,13 @@ rdp-sessions-abuse.md
|
||||
|
||||
### **SID Filtering:**
|
||||
|
||||
- Hatari ya mashambulizi yanayotumia sifa ya historia ya SID katika uaminifu wa misitu inapunguziliwa mbali na SID Filtering, ambayo imewezeshwa kwa chaguo-msingi kwenye uaminifu wote wa kati ya misitu. Hii inategemea dhana kwamba uaminifu wa ndani ya msitu ni salama, ikizingatia msitu, badala ya domeni, kama mpaka wa usalama kulingana na mtazamo wa Microsoft.
|
||||
- Hatari ya mashambulizi yanayotumia sifa ya historia ya SID katika uaminifu wa misitu inapunguziliwa mbali na SID Filtering, ambayo imewezeshwa kwa chaguo-msingi kwenye uaminifu wote wa kati ya misitu. Hii inategemea dhana kwamba uaminifu wa ndani ya msitu ni salama, ikizingatia msitu, badala ya domeni, kama mpaka wa usalama kulingana na msimamo wa Microsoft.
|
||||
- Hata hivyo, kuna tatizo: SID filtering inaweza kuathiri programu na ufikiaji wa watumiaji, na kusababisha kuondolewa kwake mara kwa mara.
|
||||
|
||||
### **Uthibitishaji wa Chaguo:**
|
||||
|
||||
- Kwa uaminifu wa kati ya misitu, kutumia Uthibitishaji wa Chaguo kunahakikisha kwamba watumiaji kutoka kwenye misitu miwili hawathibitishwi moja kwa moja. Badala yake, ruhusa maalum zinahitajika kwa watumiaji kufikia domeni na seva ndani ya domeni au msitu unaokuamini.
|
||||
- Ni muhimu kutambua kwamba hatua hizi hazilinda dhidi ya unyakuzi wa Muktadha wa Jina la Mkononi (NC) unaoweza kuandikwa au mashambulizi kwenye akaunti ya uaminifu.
|
||||
- Kwa uaminifu wa kati ya misitu, kutumia Uthibitishaji wa Chaguo kunahakikisha kwamba watumiaji kutoka kwenye misitu miwili hawathibitishwi moja kwa moja. Badala yake, ruhusa wazi zinahitajika kwa watumiaji kufikia domeni na seva ndani ya domeni au msitu unaokuamini.
|
||||
- Ni muhimu kutambua kwamba hatua hizi hazilinda dhidi ya unyakuzi wa Muktadha wa Jina la Mwandiko (NC) unaoweza kuandikwa au mashambulizi kwenye akaunti ya uaminifu.
|
||||
|
||||
[**Taarifa zaidi kuhusu uaminifu wa domeni katika ired.team.**](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/child-domain-da-to-ea-in-parent-domain)
|
||||
|
||||
@ -712,9 +712,9 @@ https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-move
|
||||
|
||||
## Ulinzi wa Jumla
|
||||
|
||||
[**Jifunze zaidi kuhusu jinsi ya kulinda hati za siri hapa.**](../stealing-credentials/credentials-protections.md)
|
||||
[**Jifunze zaidi kuhusu jinsi ya kulinda akidi hapa.**](../stealing-credentials/credentials-protections.md)
|
||||
|
||||
### **Hatua za Kijamii za Ulinzi wa Hati za Siri**
|
||||
### **Hatua za Kijamii za Ulinzi wa Akidi**
|
||||
|
||||
- **Vikwazo vya Wasimamizi wa Domeni**: Inapendekezwa kwamba Wasimamizi wa Domeni wanapaswa kuruhusiwa kuingia tu kwenye Wasimamizi wa Domeni, kuepuka matumizi yao kwenye mwenyeji wengine.
|
||||
- **Mamlaka ya Akaunti ya Huduma**: Huduma hazipaswi kuendeshwa kwa mamlaka ya Wasimamizi wa Domeni (DA) ili kudumisha usalama.
|
||||
@ -722,21 +722,21 @@ https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-move
|
||||
|
||||
### **Kutekeleza Mbinu za Udanganyifu**
|
||||
|
||||
- Kutekeleza udanganyifu kunahusisha kuweka mitego, kama vile watumiaji wa kudanganya au kompyuta, zikiwa na sifa kama vile nenosiri ambazo hazitaisha au zimewekwa kama Zinazoaminika kwa Delegation. Njia ya kina inajumuisha kuunda watumiaji wenye haki maalum au kuwaongeza kwenye vikundi vya mamlaka ya juu.
|
||||
- Kutekeleza udanganyifu kunahusisha kuweka mitego, kama vile watumiaji wa kudanganya au kompyuta, zikiwa na sifa kama vile nenosiri ambazo hazitaisha au zimewekwa kama Zinazoaminika kwa Uwakilishi. Njia ya kina inajumuisha kuunda watumiaji wenye haki maalum au kuwaongeza kwenye vikundi vya mamlaka ya juu.
|
||||
- Mfano wa vitendo unahusisha kutumia zana kama: `Create-DecoyUser -UserFirstName user -UserLastName manager-uncommon -Password Pass@123 | DeployUserDeception -UserFlag PasswordNeverExpires -GUID d07da11f-8a3d-42b6-b0aa-76c962be719a -Verbose`
|
||||
- Zaidi kuhusu kutekeleza mbinu za udanganyifu yanaweza kupatikana kwenye [Deploy-Deception kwenye GitHub](https://github.com/samratashok/Deploy-Deception).
|
||||
|
||||
### **Kutambua Udanganyifu**
|
||||
|
||||
- **Kwa Vitu vya Mtumiaji**: Viashiria vya kutatanisha ni pamoja na ObjectSID isiyo ya kawaida, kuingia mara chache, tarehe za uundaji, na idadi ndogo ya nenosiri mbaya.
|
||||
- **Viashiria vya Jumla**: Kulinganisha sifa za vitu vya kudanganya vinavyoweza kuwa na zile za halisi kunaweza kufichua kutokuelewana. Zana kama [HoneypotBuster](https://github.com/JavelinNetworks/HoneypotBuster) zinaweza kusaidia katika kutambua udanganyifu kama huo.
|
||||
- **Viashiria vya Jumla**: Kulinganisha sifa za vitu vya kudanganya vinavyowezekana na zile za halali kunaweza kufichua kutokuelewana. Zana kama [HoneypotBuster](https://github.com/JavelinNetworks/HoneypotBuster) zinaweza kusaidia katika kutambua udanganyifu kama huu.
|
||||
|
||||
### **Kupita Mfumo wa Ugunduzi**
|
||||
|
||||
- **Kupita Ugunduzi wa Microsoft ATA**:
|
||||
- **Uhesabuji wa Watumiaji**: Kuepuka uhesabuji wa kikao kwenye Wasimamizi wa Domeni ili kuzuia ugunduzi wa ATA.
|
||||
- **Uigaji wa Tiketi**: Kutumia funguo za **aes** kwa ajili ya uundaji wa tiketi husaidia kuepuka ugunduzi kwa kutokudharau hadi NTLM.
|
||||
- **Mashambulizi ya DCSync**: Kutekeleza kutoka kwa Wasimamizi wa Domeni sio pendekezo, kwani kutekeleza moja kwa moja kutoka kwa Wasimamizi wa Domeni kutasababisha arifa.
|
||||
- **Uigaji wa Tiketi**: Kutumia funguo za **aes** kwa ajili ya uundaji wa tiketi husaidia kuepuka ugunduzi kwa kutoshuka hadi NTLM.
|
||||
- **Mashambulizi ya DCSync**: Kutekeleza kutoka kwa Wasimamizi wa Domeni sio pendekezo, kwani kutekeleza moja kwa moja kutoka kwa Wasimamizi wa Domeni kutasababisha alerts.
|
||||
|
||||
## Marejeleo
|
||||
|
||||
|
@ -7,13 +7,13 @@
|
||||
Windows Managed Service Accounts (MSA) ni wakala maalum walioundwa kuendesha huduma bila haja ya kusimamia nywila zao kwa mikono.
|
||||
Kuna ladha mbili kuu:
|
||||
|
||||
1. **gMSA** – kundi la Managed Service Account – linaweza kutumika kwenye mwenyeji wengi ambao wameidhinishwa katika sifa yake ya `msDS-GroupMSAMembership`.
|
||||
2. **dMSA** – delegated Managed Service Account – mrithi (preview) wa gMSA, ukitegemea usimbuaji sawa lakini ukiruhusu hali za ugawaji zenye granular zaidi.
|
||||
1. **gMSA** – kundi la Akaunti ya Huduma ya Usimamizi – inaweza kutumika kwenye mwenyeji wengi ambao wameidhinishwa katika sifa yake ya `msDS-GroupMSAMembership`.
|
||||
2. **dMSA** – Akaunti ya Huduma ya Usimamizi iliyotolewa – mrithi (preview) wa gMSA, inategemea usimbaji sawa lakini inaruhusu hali za ugawaji zenye granular zaidi.
|
||||
|
||||
Kwa toleo zote mbili **nywila haihifadhiwi** kwenye kila Domain Controller (DC) kama hash ya kawaida ya NT. Badala yake kila DC inaweza **kuvuta** nywila ya sasa kwa wakati kutoka:
|
||||
Kwa toleo zote mbili **nywila haihifadhiwi** kwenye Kituo cha Kikoa (DC) kama hash ya kawaida ya NT. Badala yake kila DC inaweza **kuvuta** nywila ya sasa kwa wakati kutoka:
|
||||
|
||||
* Funguo ya **KDS Root Key** ya msitu mzima (`KRBTGT\KDS`) – siri yenye jina la GUID iliyozalishwa kwa bahati nasibu, iliyorejelewa kwa kila DC chini ya kontena ya `CN=Master Root Keys,CN=Group Key Distribution Service, CN=Services, CN=Configuration, …`.
|
||||
* **SID** ya akaunti lengwa.
|
||||
* Funguo ya KDS Root Key ya msitu mzima (`KRBTGT\KDS`) – siri yenye jina la GUID iliyozalishwa kwa bahati nasibu, iliyorekebishwa kwa kila DC chini ya kontena ya `CN=Master Root Keys,CN=Group Key Distribution Service, CN=Services, CN=Configuration, …`.
|
||||
* Akaunti ya lengo **SID**.
|
||||
* **ManagedPasswordID** (GUID) ya kila akaunti inayopatikana katika sifa ya `msDS-ManagedPasswordId`.
|
||||
|
||||
Uchimbaji ni: `AES256_HMAC( KDSRootKey , SID || ManagedPasswordID )` → blob ya byte 240 hatimaye **imeandikwa kwa base64** na kuhifadhiwa katika sifa ya `msDS-ManagedPassword`.
|
||||
@ -23,7 +23,7 @@ Hakuna trafiki ya Kerberos au mwingiliano wa kikoa unahitajika wakati wa matumiz
|
||||
|
||||
Ikiwa mshambuliaji anaweza kupata ingizo zote tatu **offline** wanaweza kuhesabu **nywila halali za sasa na za baadaye** kwa **kila gMSA/dMSA katika msitu** bila kugusa DC tena, wakiepuka:
|
||||
|
||||
* Kurejelewa kwa Kerberos kabla ya uthibitishaji / kumbukumbu za ombi la tiketi
|
||||
* Kurejelewa kwa Kerberos / kumbukumbu za ombi la tiketi
|
||||
* Ukaguzi wa kusoma LDAP
|
||||
* Vipindi vya kubadilisha nywila (wanaweza kuhesabu mapema)
|
||||
|
||||
@ -31,13 +31,13 @@ Hii ni sawa na *Golden Ticket* kwa akaunti za huduma.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
1. **Kuathiriwa kwa kiwango cha msitu** cha **DC moja** (au Msimamizi wa Biashara). Upatikanaji wa `SYSTEM` unatosha.
|
||||
1. **Kuvunjika kwa kiwango cha msitu** cha **DC moja** (au Msimamizi wa Biashara). Upatikanaji wa `SYSTEM` unatosha.
|
||||
2. Uwezo wa kuorodhesha akaunti za huduma (kusoma LDAP / RID brute-force).
|
||||
3. .NET ≥ 4.7.2 x64 workstation ili kuendesha [`GoldenDMSA`](https://github.com/Semperis/GoldenDMSA) au msimbo sawa.
|
||||
|
||||
### Phase 1 – Extract the KDS Root Key
|
||||
|
||||
Dump kutoka DC yoyote (Volume Shadow Copy / raw SAM+SECURITY hives au siri za mbali):
|
||||
Dump kutoka kwa DC yoyote (Volume Shadow Copy / raw SAM+SECURITY hives au siri za mbali):
|
||||
```cmd
|
||||
reg save HKLM\SECURITY security.hive
|
||||
reg save HKLM\SYSTEM system.hive
|
||||
@ -46,17 +46,17 @@ reg save HKLM\SYSTEM system.hive
|
||||
mimikatz # lsadump::secrets
|
||||
mimikatz # lsadump::trust /patch # shows KDS root keys too
|
||||
```
|
||||
Mfuatano wa base64 uliopewa jina `RootKey` (jina la GUID) unahitajika katika hatua za baadaye.
|
||||
The base64 string labelled `RootKey` (GUID name) is required in later steps.
|
||||
|
||||
### Awamu ya 2 – Kuorodhesha vitu vya gMSA/dMSA
|
||||
### Phase 2 – Enumerate gMSA/dMSA objects
|
||||
|
||||
Pata angalau `sAMAccountName`, `objectSid` na `msDS-ManagedPasswordId`:
|
||||
Retrieve at least `sAMAccountName`, `objectSid` and `msDS-ManagedPasswordId`:
|
||||
```powershell
|
||||
# Authenticated or anonymous depending on ACLs
|
||||
Get-ADServiceAccount -Filter * -Properties msDS-ManagedPasswordId | \
|
||||
Select sAMAccountName,objectSid,msDS-ManagedPasswordId
|
||||
```
|
||||
[`GoldenDMSA`](https://github.com/Semperis/GoldenDMSA) inatekeleza njia za msaada:
|
||||
[`GoldenDMSA`](https://github.com/Semperis/GoldenDMSA) inatekeleza hali za msaada:
|
||||
```powershell
|
||||
# LDAP enumeration (kerberos / simple bind)
|
||||
GoldendMSA.exe info -d example.local -m ldap
|
||||
|
Loading…
x
Reference in New Issue
Block a user