diff --git a/src/SUMMARY.md b/src/SUMMARY.md index cac3fa3dc..5835e6c1e 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -288,7 +288,6 @@ - [PsExec/Winexec/ScExec](windows-hardening/lateral-movement/psexec-and-winexec.md) - [RDPexec](windows-hardening/lateral-movement/rdpexec.md) - [SCMexec](windows-hardening/lateral-movement/scmexec.md) - - [SmbExec/ScExec](windows-hardening/lateral-movement/smbexec.md) - [WinRM](windows-hardening/lateral-movement/winrm.md) - [WmiExec](windows-hardening/lateral-movement/wmiexec.md) - [Pivoting to the Cloud$$external:https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/index.html$$]() diff --git a/src/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md b/src/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md index 781e77072..6d844a2e4 100644 --- a/src/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md +++ b/src/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md @@ -8,7 +8,7 @@ Gebruikers teëkom TCC wanneer toepassings toegang tot beskermde funksies versoek. Dit is sigbaar deur 'n prompt wat gebruikers toelaat om **toegang goed te keur of te weier**. Verder akkommodeer TCC direkte gebruikers aksies, soos **slepen en laat val van lêers in 'n toepassing**, om toegang tot spesifieke lêers te verleen, wat verseker dat toepassings slegs toegang het tot wat eksplisiet toegelaat word. -![An example of a TCC prompt](https://rainforest.engineering/images/posts/macos-tcc/tcc-prompt.png?1620047855) +!['n Voorbeeld van 'n TCC-prompt](https://rainforest.engineering/images/posts/macos-tcc/tcc-prompt.png?1620047855) **TCC** word hanteer deur die **daemon** geleë in `/System/Library/PrivateFrameworks/TCC.framework/Support/tccd` en geconfigureer in `/System/Library/LaunchDaemons/com.apple.tccd.system.plist` (wat die mach diens `com.apple.tccd.system` registreer). @@ -29,14 +29,14 @@ Die toestemmings/ontkennings word dan in sommige TCC-databasisse gestoor: - Die stelselswye databasis in **`/Library/Application Support/com.apple.TCC/TCC.db`**. - Hierdie databasis is **SIP beskerm**, so slegs 'n SIP omseiling kan daarin skryf. - Die gebruiker TCC databasis **`$HOME/Library/Application Support/com.apple.TCC/TCC.db`** vir per-gebruiker voorkeure. -- Hierdie databasis is beskerm, so slegs prosesse met hoë TCC bevoegdhede soos Volledige Skyf Toegang kan daarin skryf (maar dit is nie deur SIP beskerm nie). +- Hierdie databasis is beskerm, so slegs prosesse met hoë TCC voorregte soos Volledige Skyf Toegang kan daarin skryf (maar dit is nie deur SIP beskerm nie). > [!WARNING] -> Die vorige databasisse is ook **TCC beskerm vir lees toegang**. So jy **sal nie in staat wees om** jou gewone gebruiker TCC databasis te lees tensy dit van 'n TCC bevoegde proses is. +> Die vorige databasisse is ook **TCC beskerm vir lees toegang**. So jy **sal nie in staat wees om te lees** jou gewone gebruiker TCC databasis tensy dit van 'n TCC voorregte proses is. > -> Onthou egter dat 'n proses met hierdie hoë bevoegdhede (soos **FDA** of **`kTCCServiceEndpointSecurityClient`**) in staat sal wees om in die gebruikers TCC databasis te skryf. +> Onthou egter dat 'n proses met hierdie hoë voorregte (soos **FDA** of **`kTCCServiceEndpointSecurityClient`**) in staat sal wees om in die gebruikers TCC databasis te skryf. -- Daar is 'n **derde** TCC databasis in **`/var/db/locationd/clients.plist`** om kliënte aan te dui wat toegelaat word om **toegang tot liggingdienste** te hê. +- Daar is 'n **derde** TCC databasis in **`/var/db/locationd/clients.plist`** om kliënte aan te dui wat toegelaat word om **toegang tot ligging dienste** te hê. - Die SIP beskermde lêer **`/Users/carlospolop/Downloads/REG.db`** (ook beskerm teen lees toegang met TCC), bevat die **ligging** van al die **geldige TCC databasisse**. - Die SIP beskermde lêer **`/Users/carlospolop/Downloads/MDMOverrides.plist`** (ook beskerm teen lees toegang met TCC), bevat meer TCC toegewyde toestemmings. - Die SIP beskermde lêer **`/Library/Apple/Library/Bundles/TCC_Compatibility.bundle/Contents/Resources/AllowApplicationsList.plist`** (maar leesbaar deur enige iemand) is 'n toelaat lys van toepassings wat 'n TCC uitsondering vereis. @@ -174,7 +174,7 @@ echo "X'$REQ_HEX'" Jy kan ook **reeds gegee toestemmings** aan toepassings in `System Preferences --> Security & Privacy --> Privacy --> Files and Folders` nagaan. > [!TIP] -> Gebruikers _kan_ **reëls verwyder of navraag doen** met **`tccutil`**. +> Gebruikers _kan_ **reëls verwyder of navraag doen** met **`tccutil`** . #### Stel TCC-toestemmings terug ```bash @@ -199,14 +199,14 @@ csreq -t -r /tmp/telegram_csreq.bin (anchor apple generic and certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "6N38VWS5BX") and identifier "ru.keepcoder.Telegram" ``` > [!WARNING] -> Daarom sal ander toepassings wat dieselfde naam en bundel-ID gebruik nie toegang hê tot die toestemmings wat aan ander toepassings gegee is nie. +> Daarom sal ander toepassings wat dieselfde naam en bundel-ID gebruik nie in staat wees om toegang te verkry tot die toestemmings wat aan ander toepassings gegee is nie. ### Regte & TCC Toestemmings Toepassings **hoef nie net** te **versoek** en het **toegang gegee** tot sommige hulpbronne nie, hulle moet ook **die relevante regte hê**.\ -Byvoorbeeld **Telegram** het die reg `com.apple.security.device.camera` om **toegang tot die kamera** te versoek. 'n **toepassing** wat **nie** hierdie **reg het nie, sal nie in staat wees** om toegang tot die kamera te verkry (en die gebruiker sal nie eens vir die toestemmings gevra word nie). +Byvoorbeeld **Telegram** het die reg `com.apple.security.device.camera` om **toegang tot die kamera** te versoek. 'n **toepassing** wat **nie** hierdie **reg het nie, sal nie in staat wees** om toegang tot die kamera te verkry (en die gebruiker sal selfs nie vir die toestemmings gevra word nie). -However, vir toepassings om **toegang** tot **sekere gebruikersmappies** te hê, soos `~/Desktop`, `~/Downloads` en `~/Documents`, hoef hulle **nie** enige spesifieke **regte te hê nie.** Die stelsel sal toegang deursigtig hanteer en **die gebruiker** soos nodig vra. +Echter, om toegang tot **sekere gebruikersmappies** te **verkry**, soos `~/Desktop`, `~/Downloads` en `~/Documents`, hoef hulle **nie** enige spesifieke **regte te hê nie.** Die stelsel sal toegang deursigtig hanteer en **die gebruiker** soos nodig vra. Apple se toepassings **sal nie pop-ups genereer** nie. Hulle bevat **vooraf-gegewe regte** in hul **regte** lys, wat beteken hulle sal **nooit 'n pop-up genereer**, **nog** sal hulle in enige van die **TCC databasisse** verskyn. Byvoorbeeld: ```bash @@ -222,7 +222,7 @@ codesign -dv --entitlements :- /System/Applications/Calendar.app Dit sal verhoed dat Kalender die gebruiker vra om toegang tot herinneringe, kalender en die adresboek te verkry. > [!TIP] -> Behalwe vir 'n paar amptelike dokumentasie oor regte, is dit ook moontlik om onoffisiële **interessante inligting oor regte in** [**https://newosxbook.com/ent.jl**](https://newosxbook.com/ent.jl) te vind. +> Behalwe vir 'n paar amptelike dokumentasie oor regte, is dit ook moontlik om onoffisiële **interessante inligting oor regte te vind in** [**https://newosxbook.com/ent.jl**](https://newosxbook.com/ent.jl) Sommige TCC-toestemmings is: kTCCServiceAppleEvents, kTCCServiceCalendar, kTCCServicePhotos... Daar is geen openbare lys wat al hulle definieer nie, maar jy kan hierdie [**lys van bekende**](https://www.rainforestqa.com/blog/macos-tcc-db-deep-dive#service) nagaan. @@ -232,7 +232,7 @@ Sommige TCC-toestemmings is: kTCCServiceAppleEvents, kTCCServiceCalendar, kTCCSe - $HOME/.ssh, $HOME/.aws, ens. - /tmp -### Gebruiker Intentie / com.apple.macl +### Gebruiker se Intent / com.apple.macl Soos vroeër genoem, is dit moontlik om **toegang aan 'n App tot 'n lêer te verleen deur dit te sleep en te laat val**. Hierdie toegang sal nie in enige TCC-databasis gespesifiseer word nie, maar as 'n **verlengde** **attribuut van die lêer**. Hierdie attribuut sal die **UUID** van die toegelate app **stoor**: ```bash @@ -254,13 +254,13 @@ uuid 769FD8F1-90E0-3206-808C-A8947BEBD6C3 > > Let ook daarop dat as jy 'n lêer wat die UUID van 'n toepassing op jou rekenaar toelaat, na 'n ander rekenaar skuif, omdat dieselfde toepassing verskillende UIDs sal hê, dit nie toegang aan daardie toepassing sal verleen nie. -Die uitgebreide attribuut `com.apple.macl` **kan nie verwyder** word nie soos ander uitgebreide attribuut omdat dit **beskerm word deur SIP**. Dit is egter moontlik om dit te deaktiveer **deur die lêer te zip**, **dit te verwyder** en **dit weer te unzip** soos [**in hierdie pos verduidelik**](https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/). +Die uitgebreide attribuut `com.apple.macl` **kan nie verwyder** word soos ander uitgebreide attribuut nie omdat dit **beskerm word deur SIP**. Dit is egter moontlik om dit te deaktiveer **deur die lêer te zip, dit te verwyder en dit weer uit te pak**, soos [**in hierdie pos verduidelik**](https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/). ## TCC Privesc & Bypasses ### Voeg in by TCC -As jy op 'n stadium skryftoegang oor 'n TCC-databasis kan kry, kan jy iets soos die volgende gebruik om 'n inskrywing toe te voeg (verwyder die kommentaar): +As jy op 'n stadium skrywe toegang tot 'n TCC-databasis kan kry, kan jy iets soos die volgende gebruik om 'n inskrywing toe te voeg (verwyder die kommentaar):
@@ -308,7 +308,7 @@ strftime('%s', 'now') -- last_reminded with default current timestamp ### TCC Payloads -As jy daarin geslaag het om in 'n app met 'n paar TCC-toestemmings te kom, kyk na die volgende bladsy met TCC payloads om dit te misbruik: +As jy daarin geslaag het om in 'n app met sommige TCC-toestemmings te kom, kyk die volgende bladsy met TCC payloads om dit te misbruik: {{#ref}} macos-tcc-payloads.md @@ -361,7 +361,7 @@ EOD Jy kan dit misbruik om **jou eie gebruiker TCC databasis te skryf**. > [!WARNING] -> Met hierdie toestemming sal jy in staat wees om **Finder te vra om toegang tot TCC-beperkte vouers** te verkry en jou die lêers te gee, maar sover ek weet, **sal jy nie in staat wees om Finder te laat uitvoer van willekeurige kode** om sy FDA-toegang ten volle te misbruik nie. +> Met hierdie toestemming sal jy in staat wees om **Finder te vra om toegang tot TCC-beperkte vouers** te verkry en jou die lêers te gee, maar sover ek weet, **sal jy nie in staat wees om Finder te laat uitvoer nie** willekeurige kode om sy FDA-toegang ten volle te misbruik. > > Daarom sal jy nie in staat wees om die volle FDA vermoëns te misbruik nie. @@ -370,7 +370,7 @@ Dit is die TCC-prompt om outomatiseringsprivileges oor Finder te verkry:
> [!CAUTION] -> Let daarop dat omdat die **Automator** app die TCC-toestemming **`kTCCServiceAppleEvents`** het, dit **enige app** kan **beheer**, soos Finder. So deur die toestemming om Automator te beheer, kan jy ook die **Finder** met 'n kode soos die een hieronder beheer: +> Let daarop dat omdat die **Automator** app die TCC-toestemming **`kTCCServiceAppleEvents`** het, dit **enige app kan beheer**, soos Finder. So, as jy die toestemming het om Automator te beheer, kan jy ook die **Finder** met 'n kode soos die een hieronder beheer:
@@ -400,7 +400,7 @@ Die selfde gebeur met die **Script Editor app,** dit kan Finder beheer, maar met ### Outomatisering (SE) na sommige TCC -**Sisteemgebeurtenisse kan Folder Actions skep, en Folder actions kan toegang tot sommige TCC-mappe hê** (Bureaublad, Dokumente & Aflaaie), so 'n script soos die volgende kan gebruik word om hierdie gedrag te misbruik: +**Sisteemgebeurtenisse kan Folder Actions skep, en Folder actions kan toegang tot sommige TCC-gidse hê** (Bureaublad, Dokumente & Aflaaie), so 'n script soos die volgende kan gebruik word om hierdie gedrag te misbruik: ```bash # Create script to execute with the action cat > "/tmp/script.js" <