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
70918c4975
commit
30348b9d6c
@ -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 internog interfejsa
|
||||
* Opcioni Kali NetHunter chroot za pokretanje klasičnih bežičnih alata (aircrack-ng, wifite, mdk4 …) direktno protiv unutrašnjeg interfejsa
|
||||
|
||||
Ista tehnika se primenjuje na bilo koji uređaj koji ima javno dostupni NexMon patch (Pixel 1, Nexus 6P, Galaxy S7/S8, itd.).
|
||||
|
||||
@ -40,7 +40,7 @@ sha1sum $(which nexutil)
|
||||
---
|
||||
|
||||
## Konfigurisanje Hijacker-a
|
||||
Hijacker može automatski prebaciti režim monitora pre pokretanja `airodump`, `wifite`, itd. U **Podešavanja -> Napredno** dodajte sledeće unose (izmenite putanju biblioteke ako se vaš modul razlikuje):
|
||||
Hijacker može automatski prebaciti režim monitora pre pokretanja `airodump`, `wifite`, itd. U **Podešavanja -> Napredno** dodajte sledeće unose (izmenite putanju biblioteke ako se vaš modul razlikuje):
|
||||
```
|
||||
Prefix:
|
||||
LD_PRELOAD=/data/user/0/com.hijacker/files/lib/libnexmon.so
|
||||
@ -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 deljeni objekat u chroot:
|
||||
1. Kopirajte unapred izgrađeni zajednički objekat u chroot:
|
||||
```bash
|
||||
cp /sdcard/Download/kalilibnexmon.so <chroot>/lib/
|
||||
```
|
||||
@ -102,7 +102,7 @@ Pošto firmware već obrađuje radiotap injekciju, alati u korisničkom prostoru
|
||||
---
|
||||
|
||||
## Tipični mogući napadi
|
||||
Kada je monitor + TX aktivan možete:
|
||||
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.
|
||||
@ -114,8 +114,8 @@ 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 hard-blokiraju kanale; pokušajte `nexutil -c <channel>` ili `iwconfig wlan0 channel <n>`.
|
||||
* `nexutil: ioctl(PRIV_MAGIC) failed` – biblioteka nije unapred uč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>`.
|
||||
* SELinux blokira biblioteku – postavite uređaj na *Permissive* ili popravite kontekst modula: `chcon u:object_r:system_lib_file:s0 libnexmon.so`.
|
||||
|
||||
---
|
||||
|
||||
BIN
src/images/discount.jpeg
Normal file
BIN
src/images/discount.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 186 KiB |
@ -65,7 +65,7 @@ Obratite posebnu pažnju na **firebase URL-ove** i proverite da li je loše konf
|
||||
|
||||
**Ranjivosti** identifikovane iz **Manifest.xml** uključuju:
|
||||
|
||||
- **Debuggable aplikacije**: Aplikacije postavljene kao debuggable (`debuggable="true"`) u _Manifest.xml_ datoteci predstavljaju rizik jer omogućavaju veze koje mogu dovesti do eksploatacije. Za dalje razumevanje kako iskoristiti debuggable aplikacije, pogledajte tutorijal o pronalaženju i eksploataciji debuggable aplikacija na uređaju.
|
||||
- **Debuggable aplikacije**: Aplikacije postavljene kao debuggable (`debuggable="true"`) u _Manifest.xml_ datoteci predstavljaju rizik jer omogućavaju veze koje mogu dovesti do eksploatacije. Za dalju pomoć o tome kako iskoristiti debuggable aplikacije, pogledajte tutorijal o pronalaženju i eksploataciji debuggable aplikacija na uređaju.
|
||||
- **Podešavanja rezervne kopije**: Atribut `android:allowBackup="false"` treba eksplicitno postaviti za aplikacije koje se bave osetljivim informacijama kako bi se sprečile neovlašćene rezervne kopije podataka putem adb, posebno kada je usb debugging omogućen.
|
||||
- **Mrežna sigurnost**: Prilagođene konfiguracije mrežne sigurnosti (`android:networkSecurityConfig="@xml/network_security_config"`) u _res/xml/_ mogu specificirati sigurnosne detalje kao što su pinovi sertifikata i podešavanja HTTP saobraćaja. Primer je omogućavanje HTTP saobraćaja za određene domene.
|
||||
- **Izvezene aktivnosti i servisi**: Identifikacija izvezenih aktivnosti i servisa u manifestu može istaknuti komponente koje bi mogle biti zloupotrebljene. Dalja analiza tokom dinamičkog testiranja može otkriti kako iskoristiti ove komponente.
|
||||
@ -103,7 +103,7 @@ android-task-hijacking.md
|
||||
U Androidu, datoteke **smeštene** u **interno** skladište su **dizajnirane** da budu **pristupačne** isključivo od strane **aplikacije** koja ih je **napravila**. Ova sigurnosna mera je **sprovedena** od strane Android operativnog sistema i obično je adekvatna za sigurnosne potrebe većine aplikacija. Međutim, programeri ponekad koriste režime kao što su `MODE_WORLD_READABLE` i `MODE_WORLD_WRITABLE` da **omoguće** deljenje datoteka između različitih aplikacija. Ipak, ovi režimi **ne ograničavaju pristup** ovim datotekama od strane drugih aplikacija, uključujući potencijalno maliciozne.
|
||||
|
||||
1. **Staticka analiza:**
|
||||
- **Osigurajte** da se korišćenje `MODE_WORLD_READABLE` i `MODE_WORLD_WRITABLE` **pažljivo ispita**. Ovi režimi **mogu potencijalno izložiti** datoteke **neprikladnom ili neovlašćenom pristupu**.
|
||||
- **Osigurajte** da se korišćenje `MODE_WORLD_READABLE` i `MODE_WORLD_WRITABLE` **pažljivo ispituje**. Ovi režimi **mogu potencijalno izložiti** datoteke **neprikladnom ili neovlašćenom pristupu**.
|
||||
2. **Dinamička analiza:**
|
||||
- **Proverite** **dozvole** postavljene na datotekama koje kreira aplikacija. Konkretno, **proverite** da li su neke datoteke **postavljene da budu čitljive ili zapisive globalno**. Ovo može predstavljati značajan sigurnosni rizik, jer bi omogućilo **bilo kojoj aplikaciji** instaliranoj na uređaju, bez obzira na njen izvor ili nameru, da **čita ili modifikuje** ove datoteke.
|
||||
|
||||
@ -133,20 +133,20 @@ Eksterno skladište može biti **pristupano** u `/storage/emulated/0`, `/sdcard`
|
||||
|
||||
### Slomljeni TLS
|
||||
|
||||
**Prihvati sve sertifikate**
|
||||
**Prihvatanje svih sertifikata**
|
||||
|
||||
Iz nekog razloga, ponekad programeri prihvataju sve sertifikate čak i ako, na primer, ime hosta ne odgovara sa linijama koda poput sledeće:
|
||||
```java
|
||||
SSLSocketFactory sf = new cc(trustStore);
|
||||
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
|
||||
```
|
||||
Dobar način da se ovo testira je da pokušate da uhvatite saobraćaj koristeći neki proxy kao što je Burp bez autorizacije Burp CA unutar uređaja. Takođe, možete generisati sa Burp-om sertifikat za drugačije ime hosta i koristiti ga.
|
||||
Dobar način da testirate ovo je da pokušate da uhvatite saobraćaj koristeći neki proxy kao što je Burp bez autorizacije Burp CA unutar uređaja. Takođe, možete generisati sa Burp-om sertifikat za drugačije ime hosta i koristiti ga.
|
||||
|
||||
### Slomljena Kriptografija
|
||||
|
||||
**Loši Procesi Upravljanja Ključevima**
|
||||
|
||||
Neki programeri čuvaju osetljive podatke u lokalnoj memoriji i šifruju ih ključem koji je hardkodiran/predvidljiv u kodu. Ovo ne bi trebalo da se radi jer bi neki proces obrnute inženjeringa mogao omogućiti napadačima da izvuku poverljive informacije.
|
||||
Neki programeri čuvaju osetljive podatke u lokalnoj memoriji i šifruju ih sa ključem koji je hardkodiran/predvidljiv u kodu. Ovo ne bi trebalo da se radi jer bi neki proces obrnute inženjeringa mogao omogućiti napadačima da izvuku poverljive informacije.
|
||||
|
||||
**Korišćenje Nesigurnih i/ili Zastarelih Algoritama**
|
||||
|
||||
@ -157,7 +157,7 @@ Programeri ne bi trebali koristiti **zastarele algoritme** za obavljanje **prove
|
||||
- Preporučuje se da se **obfuskira APK** kako bi se otežao rad obrnute inženjeringa napadačima.
|
||||
- Ako je aplikacija osetljiva (kao što su bankarske aplikacije), trebala bi da izvrši **svoje provere da vidi da li je mobilni uređaj root-ovan** i da deluje u skladu s tim.
|
||||
- Ako je aplikacija osetljiva (kao što su bankarske aplikacije), trebala bi da proveri da li se koristi **emulator**.
|
||||
- Ako je aplikacija osetljiva (kao što su bankarske aplikacije), trebala bi da **proveri svoju integritet pre izvršavanja** da bi proverila da li je modifikovana.
|
||||
- Ako je aplikacija osetljiva (kao što su bankarske aplikacije), trebala bi da **proveri svoju integritet pre izvršavanja** da bi proverila da li je izmenjena.
|
||||
- Koristite [**APKiD**](https://github.com/rednaga/APKiD) da proverite koji je kompajler/paker/obfuskator korišćen za izgradnju APK-a.
|
||||
|
||||
### React Native Aplikacija
|
||||
@ -182,7 +182,7 @@ Prema ovom [**blog postu**](https://clearbluejar.github.io/posts/desuperpacking-
|
||||
|
||||
### Automatizovana Staticka Analiza Koda
|
||||
|
||||
Alat [**mariana-trench**](https://github.com/facebook/mariana-trench) je sposoban da pronađe **ranjivosti** skeniranjem **koda** aplikacije. Ovaj alat sadrži niz **poznatih izvora** (koji ukazuju alatu na **mesta** gde je **ulaz** **kontrolisan od strane korisnika**), **sinks** (koji ukazuju alatu na **opasna** **mesta** gde bi zlonamerni korisnički ulaz mogao izazvati štetu) i **pravila**. Ova pravila ukazuju na **kombinaciju** **izvora-sinks** koja ukazuje na ranjivost.
|
||||
Alat [**mariana-trench**](https://github.com/facebook/mariana-trench) je sposoban da pronađe **ranjivosti** skeniranjem **koda** aplikacije. Ovaj alat sadrži niz **poznatih izvora** (koji ukazuju alatu na **mesta** gde je **ulaz** **kontrolisan od strane korisnika**), **sinks** (koji ukazuju alatu na **opasna** **mesta** gde zlonamerni korisnički ulaz može izazvati štetu) i **pravila**. Ova pravila ukazuju na **kombinaciju** **izvora-sinks** koja ukazuje na ranjivost.
|
||||
|
||||
Sa ovim znanjem, **mariana-trench će pregledati kod i pronaći moguće ranjivosti u njemu**.
|
||||
|
||||
@ -219,7 +219,7 @@ content-protocol.md
|
||||
|
||||
### Online Dinamička analiza
|
||||
|
||||
Možete napraviti **besplatan nalog** na: [https://appetize.io/](https://appetize.io). Ova platforma vam omogućava da **otpremite** i **izvršite** APK-ove, tako da je korisna za gledanje kako se apk ponaša.
|
||||
Možete napraviti **besplatan nalog** na: [https://appetize.io/](https://appetize.io). Ova platforma vam omogućava da **otpremite** i **izvršite** APK-ove, tako da je korisna da vidite kako se apk ponaša.
|
||||
|
||||
Možete čak i **videti logove vaše aplikacije** na vebu i povezati se putem **adb**.
|
||||
|
||||
@ -242,13 +242,13 @@ avd-android-virtual-device.md
|
||||
- [**Nox**](https://es.bignox.com) (Besplatno, ali ne podržava Frida ili Drozer).
|
||||
|
||||
> [!TIP]
|
||||
> Kada kreirate novi emulator na bilo kojoj platformi, zapamtite da što je veći ekran, emulator će sporije raditi. Dakle, izaberite male ekrane ako je moguće.
|
||||
> Kada kreirate novi emulator na bilo kojoj platformi, zapamtite da što je veći ekran, emulator će sporije raditi. Dakle, odaberite male ekrane ako je moguće.
|
||||
|
||||
Da biste **instalirali google usluge** (kao što je AppStore) u Genymotion-u, potrebno je da kliknete na crveno označeno dugme na sledećoj slici:
|
||||
|
||||
.png>)
|
||||
|
||||
Takođe, primetite da u **konfiguraciji Android VM u Genymotion-u** možete izabrati **Bridge Network mode** (ovo će biti korisno ako ćete se povezivati na Android VM iz različitog VM-a sa alatima).
|
||||
Takođe, primetite da u **konfiguraciji Android VM u Genymotion-u** možete odabrati **Bridge Network mode** (ovo će biti korisno ako ćete se povezivati na Android VM iz različitog VM-a sa alatima).
|
||||
|
||||
#### Koristite fizički uređaj
|
||||
|
||||
@ -275,17 +275,17 @@ Programeri bi trebali biti oprezni da ne izlažu **informacije za debagovanje**
|
||||
|
||||
**Keširanje Copy/Paste Bafera**
|
||||
|
||||
Androidov **okvir zasnovan na clipboard-u** omogućava funkcionalnost kopiranja i lepljenja u aplikacijama, ali predstavlja rizik jer **druge aplikacije** mogu **pristupiti** clipboard-u, potencijalno izlažući osetljive podatke. Ključno je **onemogućiti copy/paste** funkcije za osetljive delove aplikacije, kao što su podaci o kreditnim karticama, kako bi se sprečila curenja podataka.
|
||||
Androidov **okvir zasnovan na clipboard-u** omogućava funkcionalnost kopiranja i lepljenja u aplikacijama, ali predstavlja rizik jer **druge aplikacije** mogu **pristupiti** clipboard-u, potencijalno izlažući osetljive podatke. Ključno je **onemogućiti copy/paste** funkcije za osetljive delove aplikacije, poput podataka o kreditnim karticama, kako bi se sprečila curenja podataka.
|
||||
|
||||
**Logovi Rušenja**
|
||||
|
||||
Ako aplikacija **pada** i **čuva logove**, ovi logovi mogu pomoći napadačima, posebno kada aplikaciju nije moguće obrnuti inženjeringom. Da biste umanjili ovaj rizik, izbegavajte logovanje prilikom rušenja, a ako logovi moraju biti preneseni preko mreže, osigurajte da se šalju putem SSL kanala radi sigurnosti.
|
||||
Ako aplikacija **pada** i **čuva logove**, ovi logovi mogu pomoći napadačima, posebno kada aplikaciju nije moguće obrnuti inženjering. Da biste umanjili ovaj rizik, izbegavajte logovanje prilikom rušenja, a ako logovi moraju biti preneseni preko mreže, osigurajte da se šalju putem SSL kanala radi sigurnosti.
|
||||
|
||||
Kao pentester, **pokušajte da pogledate ove logove**.
|
||||
|
||||
**Podaci o Analitici Poslati Trećim Stranama**
|
||||
|
||||
Aplikacije često integrišu usluge poput Google Adsense, što može nenamerno **procuriti osetljive podatke** zbog nepravilne implementacije od strane programera. Da biste identifikovali potencijalna curenja podataka, preporučuje se da **presretnete saobraćaj aplikacije** i proverite da li se šalju osetljive informacije trećim stranama.
|
||||
Aplikacije često integrišu usluge poput Google Adsense, što može nenamerno **izložiti osetljive podatke** zbog nepravilne implementacije od strane programera. Da biste identifikovali potencijalna curenja podataka, preporučuje se da **presretnete saobraćaj aplikacije** i proverite da li se šalju osetljive informacije trećim stranama.
|
||||
|
||||
### SQLite DBs
|
||||
|
||||
@ -298,7 +298,7 @@ Enumerišite tabele koristeći `.tables` i enumerišite kolone tabela koristeći
|
||||
|
||||
### Drozer (Eksploatacija Aktivnosti, Pružatelja Sadržaja i Usluga)
|
||||
|
||||
Iz [Drozer Docs](https://labs.mwrinfosecurity.com/assets/BlogFiles/mwri-drozer-user-guide-2015-03-23.pdf): **Drozer** vam omogućava da **preuzmete ulogu Android aplikacije** i interagujete sa drugim aplikacijama. Može raditi **sve što instalirana aplikacija može raditi**, kao što je korišćenje Android-ovog mehanizma međuprocesne komunikacije (IPC) i interakcija sa osnovnim operativnim sistemom.\
|
||||
Iz [Drozer Docs](https://labs.mwrinfosecurity.com/assets/BlogFiles/mwri-drozer-user-guide-2015-03-23.pdf): **Drozer** vam omogućava da **preuzmete ulogu Android aplikacije** i interagujete sa drugim aplikacijama. Može učiniti **sve što instalirana aplikacija može učiniti**, kao što je korišćenje Android-ovog mehanizma međuprocesne komunikacije (IPC) i interakcija sa osnovnim operativnim sistemom.\
|
||||
Drozer je koristan alat za **eksploataciju eksportovanih aktivnosti, eksportovanih usluga i Pružatelja Sadržaja** kao što ćete naučiti u sledećim sekcijama.
|
||||
|
||||
### Eksploatacija eksportovanih Aktivnosti
|
||||
@ -319,7 +319,7 @@ Takođe možete pokrenuti eksportovanu aktivnost iz adb:
|
||||
```bash
|
||||
adb shell am start -n com.example.demo/com.example.test.MainActivity
|
||||
```
|
||||
**NAPOMENA**: MobSF će detektovati kao zlonamerno korišćenje _**singleTask/singleInstance**_ kao `android:launchMode` u aktivnosti, ali zbog [ovoga](https://github.com/MobSF/Mobile-Security-Framework-MobSF/pull/750), očigledno je da je to opasno samo na starim verzijama (API verzije < 21).
|
||||
**NAPOMENA**: MobSF će detektovati kao zlonameran korišćenje _**singleTask/singleInstance**_ kao `android:launchMode` u aktivnosti, ali zbog [ovoga](https://github.com/MobSF/Mobile-Security-Framework-MobSF/pull/750), očigledno je da je to opasno samo na starim verzijama (API verzije < 21).
|
||||
|
||||
> [!TIP]
|
||||
> Imajte na umu da zaobilaženje autorizacije nije uvek ranjivost, to zavisi od načina na koji zaobilaženje funkcioniše i koje informacije su izložene.
|
||||
@ -400,17 +400,17 @@ Fokusiraćemo se na **verifikaciju sertifikata**. Integritet sertifikata servera
|
||||
|
||||
#### SSL Pinning
|
||||
|
||||
SSL Pinning je mera sigurnosti gde aplikacija proverava sertifikat servera u odnosu na poznatu kopiju smeštenu unutar same aplikacije. Ova metoda je ključna za sprečavanje MITM napada. Implementacija SSL Pinninga se snažno preporučuje za aplikacije koje obrađuju osetljive informacije.
|
||||
SSL Pinning je mera sigurnosti gde aplikacija proverava sertifikat servera u odnosu na poznatu kopiju smeštenu unutar same aplikacije. Ova metoda je ključna za sprečavanje MITM napada. Implementacija SSL Pinning-a se snažno preporučuje za aplikacije koje obrađuju osetljive informacije.
|
||||
|
||||
#### Inspekcija saobraćaja
|
||||
|
||||
Da biste inspekciju HTTP saobraćaja, potrebno je **instalirati sertifikat alata za proxy** (npr. Burp). Bez instalacije ovog sertifikata, šifrovani saobraćaj možda neće biti vidljiv kroz proxy. Za vodič o instalaciji prilagođenog CA sertifikata, [**kliknite ovde**](avd-android-virtual-device.md#install-burp-certificate-on-a-virtual-machine).
|
||||
|
||||
Aplikacije koje ciljaju **API nivo 24 i više** zahtevaju izmene u Network Security Config kako bi prihvatile CA sertifikat proksija. Ovaj korak je ključan za inspekciju šifrovanog saobraćaja. Za uputstva o izmeni Network Security Config, [**pogledajte ovaj tutorijal**](make-apk-accept-ca-certificate.md).
|
||||
Aplikacije koje cilјaju **API nivo 24 i više** zahtevaju izmene u Network Security Config-u kako bi prihvatile CA sertifikat proksija. Ovaj korak je ključan za inspekciju šifrovanog saobraćaja. Za uputstva o izmeni Network Security Config-a, [**pogledajte ovaj tutorijal**](make-apk-accept-ca-certificate.md).
|
||||
|
||||
Ako se koristi **Flutter**, potrebno je da pratite uputstva na [**ovoj stranici**](flutter.md). To je zato što, samo dodavanje sertifikata u skladište neće raditi jer Flutter ima svoju listu važećih CA.
|
||||
|
||||
#### Zaobilaženje SSL Pinninga
|
||||
#### Zaobilaženje SSL Pinning-a
|
||||
|
||||
Kada je SSL Pinning implementiran, zaobilaženje postaje neophodno za inspekciju HTTPS saobraćaja. Različite metode su dostupne za ovu svrhu:
|
||||
|
||||
@ -426,7 +426,7 @@ Važno je takođe tražiti uobičajene web ranjivosti unutar aplikacije. Detaljn
|
||||
|
||||
### Frida
|
||||
|
||||
[Frida](https://www.frida.re) je alat za dinamičku instrumentaciju za programere, inženjere obrnutog inženjeringa i istraživače sigurnosti.\
|
||||
[Frida](https://www.frida.re) je alat za dinamičku instrumentaciju za programere, inženjere obrnutog inženjeringa i istraživače bezbednosti.\
|
||||
**Možete pristupiti pokrenutim aplikacijama i povezati metode u vreme izvođenja da promenite ponašanje, promenite vrednosti, izdvojite vrednosti, pokrenete različit kod...**\
|
||||
Ako želite da testirate Android aplikacije, morate znati kako koristiti Frida.
|
||||
|
||||
@ -494,7 +494,7 @@ Opasnost leži u omogućavanju napadačima da aktiviraju neizvezene komponente a
|
||||
### Essential Takeaways
|
||||
|
||||
- **Intent Injection** je sličan problemu Open Redirect na webu.
|
||||
- Eksploati uključuju prosleđivanje `Intent` objekata kao dodataka, koji mogu biti preusmereni da izvrše nesigurne operacije.
|
||||
- Eksploati uključuju prosleđivanje `Intent` objekata kao dodataka, koji se mogu preusmeriti da izvrše nesigurne operacije.
|
||||
- Može izložiti neizvezene komponente i provajdere sadržaja napadačima.
|
||||
- Konverzija URL-a u `Intent` u `WebView` može olakšati nepredviđene radnje.
|
||||
|
||||
@ -504,7 +504,7 @@ Verovatno znate o ovim vrstama ranjivosti sa weba. Morate biti posebno oprezni s
|
||||
|
||||
- **SQL Injection:** Kada se bavite dinamičkim upitima ili Content-Providers, osigurajte da koristite parametarske upite.
|
||||
- **JavaScript Injection (XSS):** Proverite da li je podrška za JavaScript i Plugin onemogućena za bilo koje WebViews (onemogućena po defaultu). [More info here](webview-attacks.md#javascript-enabled).
|
||||
- **Local File Inclusion:** WebViews bi trebale imati onemogućen pristup sistemu datoteka (omogućen po defaultu) - `(webview.getSettings().setAllowFileAccess(false);)`. [More info here](webview-attacks.md#javascript-enabled).
|
||||
- **Local File Inclusion:** WebViews bi trebale imati onemogućen pristup fajl sistemu (omogućen po defaultu) - `(webview.getSettings().setAllowFileAccess(false);)`. [More info here](webview-attacks.md#javascript-enabled).
|
||||
- **Eternal cookies**: U nekoliko slučajeva kada Android aplikacija završi sesiju, kolačić nije opozvan ili može čak biti sačuvan na disku.
|
||||
- [**Secure Flag** in cookies](../../pentesting-web/hacking-with-cookies/index.html#cookies-flags)
|
||||
|
||||
@ -526,14 +526,14 @@ docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
|
||||
Obratite pažnju da MobSF može analizirati **Android**(apk)**, IOS**(ipa) **i Windows**(apx) aplikacije (_Windows aplikacije moraju biti analizirane sa MobSF instaliranim na Windows hostu_).\
|
||||
Takođe, ako kreirate **ZIP** datoteku sa izvorni kodom **Android** ili **IOS** aplikacije (idite u korenski folder aplikacije, izaberite sve i kreirajte ZIP datoteku), moći će da je analizira.
|
||||
|
||||
MobSF takođe omogućava **diff/Compare** analizu i integraciju sa **VirusTotal** (biće potrebno da postavite svoj API ključ u _MobSF/settings.py_ i omogućite ga: `VT_ENABLED = TRUE` `VT_API_KEY = <Vaš API ključ>` `VT_UPLOAD = TRUE`). Takođe možete postaviti `VT_UPLOAD` na `False`, tada će **hash** biti **upload** umesto datoteke.
|
||||
MobSF takođe omogućava **diff/Compare** analizu i integraciju **VirusTotal** (biće potrebno da postavite svoj API ključ u _MobSF/settings.py_ i omogućite ga: `VT_ENABLED = TRUE` `VT_API_KEY = <Vaš API ključ>` `VT_UPLOAD = TRUE`). Takođe možete postaviti `VT_UPLOAD` na `False`, tada će **hash** biti **upload** umesto datoteke.
|
||||
|
||||
### Pomoćna dinamička analiza sa MobSF
|
||||
|
||||
**MobSF** može biti veoma koristan za **dinamičku analizu** u **Android**, ali u tom slučaju ćete morati da instalirate MobSF i **genymotion** na vašem hostu (VM ili Docker neće raditi). _Napomena: Prvo treba da **pokrenete VM u genymotion** a **zatim MobSF.**_\
|
||||
**MobSF dinamički analizer** može:
|
||||
|
||||
- **Dump podataka aplikacije** (URL-ovi, logovi, clipboard, screenshot-ovi koje ste napravili, screenshot-ovi koje je napravio "**Exported Activity Tester**", emailovi, SQLite baze podataka, XML datoteke i druge kreirane datoteke). Sve ovo se radi automatski osim za screenshot-ove, morate pritisnuti kada želite screenshot ili morate pritisnuti "**Exported Activity Tester**" da biste dobili screenshot-ove svih izvezenih aktivnosti.
|
||||
- **Dump podataka aplikacije** (URL-ovi, logovi, clipboard, screenshot-ovi koje ste napravili, screenshot-ovi koje je napravio "**Exported Activity Tester**", emailovi, SQLite baze podataka, XML datoteke i druge kreirane datoteke). Sve ovo se radi automatski osim za screenshot-ove, morate pritisnuti kada želite screenshot ili morate pritisnuti "**Exported Activity Tester**" da biste dobili screenshot-ove svih eksportovanih aktivnosti.
|
||||
- Zabeležiti **HTTPS saobraćaj**
|
||||
- Koristiti **Frida** za dobijanje **runtime** **informacija**
|
||||
|
||||
@ -542,7 +542,7 @@ Od android **verzija > 5**, automatski će **pokrenuti Frida** i postaviće glob
|
||||
**Frida**
|
||||
|
||||
Po defaultu, takođe će koristiti neke Frida skripte za **obići SSL pinning**, **detekciju root-a** i **detekciju debagera** i za **monitorisanje zanimljivih API-ja**.\
|
||||
MobSF takođe može **pozvati izvezene aktivnosti**, uhvatiti **screenshot-ove** njih i **sačuvati** ih za izveštaj.
|
||||
MobSF takođe može **pozvati eksportovane aktivnosti**, uhvatiti **screenshot-ove** njih i **sačuvati** ih za izveštaj.
|
||||
|
||||
Da **počnete** dinamičko testiranje pritisnite zeleni dugme: "**Start Instrumentation**". Pritisnite "**Frida Live Logs**" da biste videli logove generisane Frida skriptama i "**Live API Monitor**" da biste videli sve pozive ka uhvaćenim metodama, prosleđene argumente i vraćene vrednosti (ovo će se pojaviti nakon pritiska na "Start Instrumentation").\
|
||||
MobSF takođe omogućava da učitate svoje **Frida skripte** (da biste poslali rezultate svojih Frida skripti u MobSF koristite funkciju `send()`). Takođe ima **several pre-written scripts** koje možete učitati (možete dodati više u `MobSF/DynamicAnalyzer/tools/frida_scripts/others/`), samo **izaberite ih**, pritisnite "**Load**" i pritisnite "**Start Instrumentation**" (moći ćete da vidite logove tih skripti unutar "**Frida Live Logs**").
|
||||
@ -558,7 +558,7 @@ Pored toga, imate neke pomoćne Frida funkcionalnosti:
|
||||
- **Search Class Pattern**: Pretražuje klase po obrascu
|
||||
- **Trace Class Methods**: **Prati** celu **klasu** (vidi ulaze i izlaze svih metoda klase). Zapamtite da po defaultu MobSF prati nekoliko zanimljivih Android API metoda.
|
||||
|
||||
Kada izaberete pomoćni modul koji želite da koristite, potrebno je da pritisnete "**Start Instrumentation**" i videćete sve izlaze u "**Frida Live Logs**".
|
||||
Kada odaberete pomoćni modul koji želite da koristite, potrebno je da pritisnete "**Start Instrumentation**" i videćete sve izlaze u "**Frida Live Logs**".
|
||||
|
||||
**Shell**
|
||||
|
||||
@ -598,7 +598,7 @@ Ovo je **sjajan alat za izvođenje statičke analize sa GUI-jem**
|
||||
|
||||
### [Qark](https://github.com/linkedin/qark)
|
||||
|
||||
Ovaj alat je dizajniran da traži nekoliko **ranjivosti vezanih za sigurnost Android aplikacija**, bilo u **izvor kodu** ili **pakovanim APK-ima**. Alat je takođe **sposoban da kreira "Proof-of-Concept" deployable APK** i **ADB komande**, da bi iskoristio neke od pronađenih ranjivosti (Izložene aktivnosti, intencije, tapjacking...). Kao i sa Drozer-om, nije potrebno root-ovati test uređaj.
|
||||
Ovaj alat je dizajniran da traži nekoliko **ranjivosti vezanih za bezbednost Android aplikacija**, bilo u **izvor kodu** ili **pakovanim APK-ima**. Alat je takođe **sposoban da kreira "Proof-of-Concept" deployable APK** i **ADB komande**, da bi iskoristio neke od pronađenih ranjivosti (Izložene aktivnosti, intencije, tapjacking...). Kao i sa Drozer-om, nije potrebno root-ovati test uređaj.
|
||||
```bash
|
||||
pip3 install --user qark # --user is only needed if not using a virtualenv
|
||||
qark --apk path/to/my.apk
|
||||
@ -618,9 +618,9 @@ reverse-apk relative/path/to/APP.apk
|
||||
```
|
||||
### [SUPER Android Analyzer](https://github.com/SUPERAndroidAnalyzer/super)
|
||||
|
||||
SUPER je aplikacija za komandnu liniju koja se može koristiti na Windows, MacOS X i Linux, koja analizira _.apk_ datoteke u potrazi za ranjivostima. To radi dekompresovanjem APK-ova i primenom niza pravila za otkrivanje tih ranjivosti.
|
||||
SUPER je aplikacija za komandnu liniju koja se može koristiti na Windows, MacOS X i Linux, koja analizira _.apk_ fajlove u potrazi za ranjivostima. To radi dekompresovanjem APK-ova i primenom niza pravila za otkrivanje tih ranjivosti.
|
||||
|
||||
Sva pravila su fokusirana u `rules.json` datoteci, a svaka kompanija ili tester može kreirati svoja pravila za analizu onoga što im je potrebno.
|
||||
Sva pravila su fokusirana u `rules.json` fajlu, a svaka kompanija ili tester može kreirati svoja pravila za analizu onoga što im je potrebno.
|
||||
|
||||
Preuzmite najnovije binarne datoteke sa [strane za preuzimanje](https://superanalyzer.rocks/download.html)
|
||||
```
|
||||
@ -630,7 +630,7 @@ super-analyzer {apk_file}
|
||||
|
||||
.png>)
|
||||
|
||||
StaCoAn je **crossplatform** alat koji pomaže programerima, lovcima na greške i etičkim hakerima da izvrše [static code analysis](https://en.wikipedia.org/wiki/Static_program_analysis) na mobilnim aplikacijama.
|
||||
StaCoAn je **crossplatform** alat koji pomaže programerima, lovcima na greške i etičkim hakerima u izvođenju [static code analysis](https://en.wikipedia.org/wiki/Static_program_analysis) na mobilnim aplikacijama.
|
||||
|
||||
Koncept je da prevučete i ispustite datoteku vaše mobilne aplikacije (datoteka .apk ili .ipa) na StaCoAn aplikaciju i ona će generisati vizuelni i prenosivi izveštaj za vas. Možete prilagoditi postavke i liste reči kako biste dobili prilagođeno iskustvo.
|
||||
|
||||
@ -689,31 +689,31 @@ ProGuard se distribuira kao deo Android SDK-a i pokreće se prilikom izgradnje a
|
||||
|
||||
Pronađite vodič korak po korak za deobfuskaciju apk-a na [https://blog.lexfo.fr/dexguard.html](https://blog.lexfo.fr/dexguard.html)
|
||||
|
||||
(Prema tom vodiču) Poslednji put kada smo proveravali, način rada Dexguard-a je bio:
|
||||
(Prema tom vodiču) Poslednji put kada smo proveravali, način rada Dexguard-a bio je:
|
||||
|
||||
- učitati resurs kao InputStream;
|
||||
- proslediti rezultat klasi koja nasleđuje FilterInputStream da bi ga dekriptovali;
|
||||
- proslediti rezultat klasi koja nasleđuje FilterInputStream da bi ga dekriptovala;
|
||||
- uraditi neku beskorisnu obfuskaciju da bi se izgubilo nekoliko minuta vremena od reverzera;
|
||||
- proslediti dekriptovani rezultat ZipInputStream-u da bi dobili DEX datoteku;
|
||||
- proslediti dekriptovani rezultat ZipInputStream-u da bi se dobio DEX fajl;
|
||||
- konačno učitati dobijeni DEX kao Resurs koristeći metodu `loadDex`.
|
||||
|
||||
### [DeGuard](http://apk-deguard.com)
|
||||
|
||||
**DeGuard obrnuto izvršava proces obfuskacije koji su izvršili alati za obfuskaciju Android-a. Ovo omogućava brojne analize bezbednosti, uključujući inspekciju koda i predikciju biblioteka.**
|
||||
**DeGuard obrnuta proces obfuskacije koji izvode Android alati za obfuskaciju. Ovo omogućava brojne analize bezbednosti, uključujući inspekciju koda i predikciju biblioteka.**
|
||||
|
||||
Možete da otpremite obfuskovani APK na njihovu platformu.
|
||||
|
||||
### [Deobfuscate android App](https://github.com/In3tinct/deobfuscate-android-app)
|
||||
### [Deobfuscate android App]https://github.com/In3tinct/deobfuscate-android-app
|
||||
|
||||
Ovo je LLM alat za pronalaženje potencijalnih bezbednosnih ranjivosti u android aplikacijama i deobfuskaciju koda android aplikacija. Koristi Google-ov javni API Gemini.
|
||||
Ovo je LLM alat za pronalaženje potencijalnih bezbednosnih ranjivosti u android aplikacijama i deobfuskaciju koda android aplikacija. Koristi Google-ov Gemini javni API.
|
||||
|
||||
### [Simplify](https://github.com/CalebFenton/simplify)
|
||||
|
||||
To je **generički android deobfuskator.** Simplify **virtuelno izvršava aplikaciju** da razume njeno ponašanje i zatim **pokušava da optimizuje kod** tako da se ponaša identično, ali je lakše za razumevanje ljudima. Svaka vrsta optimizacije je jednostavna i generička, tako da nije važno koja specifična vrsta obfuskacije se koristi.
|
||||
To je **generički android deobfuskator.** Simplify **virtuelno izvršava aplikaciju** da bi razumeo njeno ponašanje i zatim **pokušava da optimizuje kod** tako da se ponaša identično, ali je lakše za razumevanje ljudima. Svaka vrsta optimizacije je jednostavna i generička, tako da nije važno koja specifična vrsta obfuskacije se koristi.
|
||||
|
||||
### [APKiD](https://github.com/rednaga/APKiD)
|
||||
|
||||
APKiD vam daje informacije o **kako je APK napravljen**. Identifikuje mnoge **kompilatore**, **pakere**, **obfuskatore** i druge čudne stvari. To je [_PEiD_](https://www.aldeid.com/wiki/PEiD) za Android.
|
||||
APKiD vam daje informacije o **kako je APK napravljen**. Identifikuje mnoge **kompilatore**, **pakere**, **obfuskatore**, i druge čudne stvari. To je [_PEiD_](https://www.aldeid.com/wiki/PEiD) za Android.
|
||||
|
||||
### Manual
|
||||
|
||||
@ -729,7 +729,7 @@ AndroL4b je Android bezbednosna virtuelna mašina zasnovana na ubuntu-mate koja
|
||||
|
||||
- [https://owasp.org/www-project-mobile-app-security/](https://owasp.org/www-project-mobile-app-security/)
|
||||
- [https://appsecwiki.com/#/](https://appsecwiki.com/#/) To je odlična lista resursa
|
||||
- [https://maddiestone.github.io/AndroidAppRE/](https://maddiestone.github.io/AndroidAppRE/) Brzi kurs o Android-u
|
||||
- [https://maddiestone.github.io/AndroidAppRE/](https://maddiestone.github.io/AndroidAppRE/) Brzi kurs o Androidu
|
||||
- [https://manifestsecurity.com/android-application-security/](https://manifestsecurity.com/android-application-security/)
|
||||
- [https://github.com/Ralireza/Android-Security-Teryaagh](https://github.com/Ralireza/Android-Security-Teryaagh)
|
||||
- [https://www.youtube.com/watch?v=PMKnPaGWxtg\&feature=youtu.be\&ab_channel=B3nacSec](https://www.youtube.com/watch?v=PMKnPaGWxtg&feature=youtu.be&ab_channel=B3nacSec)
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
Shizuku je open-source servis koji **pokreće privilegovani Java proces koristeći `app_process`** i izlaže odabrane **Android sistemske API-je preko Bindera**. Pošto se proces pokreće sa istim **`shell` UID sposobnostima koje koristi ADB**, svaka aplikacija (ili terminal) koja se povezuje na izvezeni AIDL interfejs može izvesti mnoge radnje koje obično zahtevaju **`WRITE_SECURE_SETTINGS`, `INSTALL_PACKAGES`, ulaz/izlaz fajlova unutar `/data`,** itd. – **bez root-ovanja uređaja**.
|
||||
Shizuku je open-source servis koji **pokreće privilegovani Java proces koristeći `app_process`** i izlaže odabrane **Android sistemske API-je preko Bindera**. Pošto se proces pokreće sa istim **`shell` UID sposobnostima koje koristi ADB**, svaka aplikacija (ili terminal) koja se povezuje na izvezeni AIDL interfejs može izvršiti mnoge radnje koje obično zahtevaju **`WRITE_SECURE_SETTINGS`, `INSTALL_PACKAGES`, ulaz/izlaz fajlova unutar `/data`,** itd. – **bez root-ovanja uređaja**.
|
||||
|
||||
Tipični slučajevi korišćenja:
|
||||
Tipični slučajevi upotrebe:
|
||||
* Bezbednosno audiranje sa uređaja koji nije root-ovan
|
||||
* Uklanjanje bloatware-a / debloating sistemskih aplikacija
|
||||
* Prikupljanje logova, Wi-Fi ključeva, informacija o procesima i soketima za plavi tim/DFIR
|
||||
@ -72,7 +72,7 @@ whoami # ➜ shell
|
||||
id # uid=2000(shell) gid=2000(shell) groups=... context=u:r:shell:s0
|
||||
```
|
||||
### 3.1 Korisne komande iz rish shell-a
|
||||
* Prikazivanje aktivnih procesa datog paketa:
|
||||
* Prikazivanje pokrenutih procesa datog paketa:
|
||||
```bash
|
||||
ps -A | grep com.facebook.katana
|
||||
```
|
||||
|
||||
@ -4,11 +4,11 @@
|
||||
|
||||
## Glavna ideja
|
||||
|
||||
Aplikacije potpisane sa **entitlement `get_task_allow`** omogućavaju trećim aplikacijama da pokrenu funkciju nazvanu **`task_for_pid()`** sa ID-jem procesa inicijalne aplikacije kao argumentom kako bi dobile port zadatka (da bi mogle da ga kontrolišu i pristupe njegovoj memoriji).
|
||||
Aplikacije potpisane sa **entitlement `get_task_allow`** omogućavaju trećim aplikacijama da pokrenu funkciju nazvanu **`task_for_pid()`** sa ID-jem procesa inicijalne aplikacije kao argumentom kako bi dobile port zadatka nad njom (da bi mogle da je kontrolišu i pristupe njenoj memoriji).
|
||||
|
||||
Međutim, nije tako lako kao samo preuzeti IPA, ponovo ga potpisati sa entitlement-om i vratiti ga na svoj uređaj. To je zbog FairPlay zaštite. Kada se potpis aplikacije promeni, DRM (Digital Rights Management) ključ je **nevažeći i aplikacija neće raditi**.
|
||||
Međutim, nije tako lako kao samo preuzimanje IPA, ponovo potpisivanje sa entitlement-om i vraćanje na vaš uređaj. To je zbog FairPlay zaštite. Kada se potpis aplikacije promeni, DRM (Digital Rights Management) ključ je **nevažeći i aplikacija neće raditi**.
|
||||
|
||||
Sa starim jailbroken uređajem, moguće je instalirati IPA, **dekriptovati ga koristeći omiljeni alat** (kao što su Iridium ili frida-ios-dump), i preuzeti ga nazad sa uređaja. Ipak, ako je moguće, preporučuje se da jednostavno pitate klijenta za dekriptovani IPA.
|
||||
Sa starim jailbroken uređajem, moguće je instalirati IPA, **dekriptovati je koristeći vaš omiljeni alat** (kao što su Iridium ili frida-ios-dump), i preuzeti je nazad sa uređaja. Ipak, ako je moguće, preporučuje se da jednostavno pitate klijenta za dekriptovani IPA.
|
||||
|
||||
|
||||
## Dobijanje dekriptovanog IPA
|
||||
@ -19,7 +19,7 @@ Sa starim jailbroken uređajem, moguće je instalirati IPA, **dekriptovati ga ko
|
||||
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.
|
||||
5. Nakon što kliknete na Dodaj, Configurator će preuzeti IPA sa Apple-a i pokušati da ga pošalje na vaš uređaj. Ako ste pratili moju preporuku ranije i već instalirali IPA, pojaviće se prozor koji vas pita da ponovo instalirate aplikaciju.
|
||||
5. Nakon što kliknete na Dodaj, Configurator će preuzeti IPA sa Apple-a i pokušati da je pošalje na vaš uređaj. Ako ste pratili moju preporuku ranije i već instalirali IPA, pojaviće se prozor koji vas pita da ponovo instalirate aplikaciju.
|
||||
6. IPA bi trebala biti preuzeta unutar `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps` odakle je možete uzeti.
|
||||
|
||||
Proverite [https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed](https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed) za detaljnije informacije o ovom procesu.
|
||||
@ -27,9 +27,9 @@ Proverite [https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed](htt
|
||||
|
||||
### Dekriptovanje aplikacije
|
||||
|
||||
Da bismo dekriptovali IPA, instaliraćemo ga. Međutim, ako imate stariji jailbroken iPhone, potencijalno njegova verzija neće biti podržana od strane aplikacije, jer obično aplikacije podržavaju samo najnovije verzije.
|
||||
Da bismo dekriptovali IPA, instaliraćemo je. Međutim, ako imate stariji jailbroken iPhone, potencijalno njegova verzija neće biti podržana od strane aplikacije, jer obično aplikacije podržavaju samo najnovije verzije.
|
||||
|
||||
Dakle, da biste ga instalirali, jednostavno raspakujte IPA:
|
||||
Dakle, da biste je instalirali, jednostavno raspakujte IPA:
|
||||
```bash
|
||||
unzip redacted.ipa -d unzipped
|
||||
```
|
||||
@ -50,7 +50,7 @@ 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 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.
|
||||
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 tako što se navodi IPA za ponovo potpisivanje, da se **postavi `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`.
|
||||
|
||||
@ -72,7 +72,7 @@ Režim programera ostaje aktivan dok ga ne onemogućite ili ne obrišete telefon
|
||||
|
||||
### Savremene opcije sideloadinga
|
||||
|
||||
Sada postoji nekoliko zrelih načina za sideloading i održavanje ponovo potpisanih IPA-a ažurnim bez jailbreak-a:
|
||||
Sada postoji nekoliko zrelih načina za sideloading i održavanje ponovo potpisanih IPA-a ažuriranim bez jailbreak-a:
|
||||
|
||||
| Alat | Zahtevi | Snage | Ograničenja |
|
||||
|------|--------------|-----------|-------------|
|
||||
@ -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 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:
|
||||
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-MobSF/) može instrumentisati 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, snimanjem 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 & 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.
|
||||
* **Lockdown Mode** (Podešavanja → Privatnost i 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
|
||||
|
||||
@ -17,7 +17,7 @@ Telnet je mrežni protokol koji korisnicima pruža nesiguran način pristupa ra
|
||||
```bash
|
||||
nc -vn <IP> 23
|
||||
```
|
||||
Sve zanimljive enumeracije mogu se izvršiti pomoću **nmap**:
|
||||
Sve zanimljivo enumerisanje može se izvršiti pomoću **nmap**:
|
||||
```bash
|
||||
nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
|
||||
```
|
||||
@ -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 trajnim 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 postojanim DoS nakon nekoliko rušenja.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
### Snimanje Akreditiva & Man-in-the-Middle
|
||||
|
||||
@ -85,7 +85,7 @@ sudo tcpdump -i eth0 -A 'tcp port 23 and not src host $(hostname -I | cut -d" "
|
||||
# Wireshark display filter
|
||||
tcp.port == 23 && (telnet.data || telnet.option)
|
||||
```
|
||||
Za aktivni MITM, kombinujte ARP spoofing (npr. `arpspoof`/`ettercap`) sa istim filtrima za sniffing kako biste prikupili lozinke na preklopljenim mrežama.
|
||||
Za aktivni MITM, kombinujte ARP spoofing (npr. `arpspoof`/`ettercap`) sa istim filtrima za snimanje kako biste prikupili lozinke na preklopnim mrežama.
|
||||
|
||||
### Automatizovani Brute-force / Password Spraying
|
||||
```bash
|
||||
@ -111,10 +111,10 @@ Metasploit ima nekoliko korisnih modula:
|
||||
|
||||
Nakon što se dobije shell, zapamtite da su **TTY obično glupi**; nadogradite sa `python -c 'import pty;pty.spawn("/bin/bash")'` ili koristite [HackTricks TTY trikove](/generic-hacking/reverse-shells/full-ttys.md).
|
||||
|
||||
### Ojačavanje i Detekcija (plavi tim)
|
||||
### 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 wrappers (`/etc/hosts.allow`).
|
||||
2. Ako je Telnet neophodan, povežite ga samo sa upravljačkim VLAN-ovima, primenite ACL-ove i obavijte demon sa TCP wrapper-ima (`/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.
|
||||
|
||||
|
||||
@ -63,7 +63,7 @@ sed -n 's/.*@@END@@\(.*\)/\1/p'
|
||||
## 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
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
# Information in Printers
|
||||
# Informacije u štampačima
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
Postoji nekoliko blogova na Internetu koji **ističu opasnosti ostavljanja štampača konfiguranih sa LDAP sa podrazumevanim/slabim** lozinkama. \
|
||||
To je zato što bi napadač mogao **da prevari štampač da se autentifikuje protiv lažnog LDAP servera** (obično je `nc -vv -l -p 389` ili `slapd -d 2` dovoljno) i uhvati **akreditive štampača u čistom tekstu**.
|
||||
To je zato što bi napadač mogao **da prevari štampač da se autentifikuje protiv lažnog LDAP servera** (obično je `nc -vv -l -p 389` ili `slapd -d 2` dovoljno) i uhvati **lozinke štampača u čistom tekstu**.
|
||||
|
||||
Takođe, nekoliko štampača će sadržati **logove sa korisničkim imenima** ili čak moći da **preuzmu sva korisnička imena** sa Kontrolera domena.
|
||||
Takođe, nekoliko štampača će sadržati **logove sa korisničkim imenima** ili čak mogu biti u mogućnosti da **preuzmu sva korisnička imena** sa Kontrolera domena.
|
||||
|
||||
Sve ove **osetljive informacije** i uobičajeni **nedostatak sigurnosti** čine štampače veoma zanimljivim za napadače.
|
||||
|
||||
@ -15,16 +15,16 @@ Neki uvodni blogovi o ovoj temi:
|
||||
- [https://medium.com/@nickvangilder/exploiting-multifunction-printers-during-a-penetration-test-engagement-28d3840d8856](https://medium.com/@nickvangilder/exploiting-multifunction-printers-during-a-penetration-test-engagement-28d3840d8856)
|
||||
|
||||
---
|
||||
## Printer Configuration
|
||||
## Konfiguracija štampača
|
||||
|
||||
- **Location**: Lista LDAP servera se obično nalazi u veb interfejsu (npr. *Mreža ➜ LDAP Podešavanje ➜ Podešavanje LDAP-a*).
|
||||
- **Behavior**: Mnogi ugrađeni veb serveri omogućavaju izmene LDAP servera **bez ponovnog unošenja akreditiva** (karakteristika upotrebljivosti → sigurnosni rizik).
|
||||
- **Exploit**: Preusmerite adresu LDAP servera na host koji kontroliše napadač i koristite dugme *Test Connection* / *Address Book Sync* da primorate štampač da se poveže sa vama.
|
||||
- **Lokacija**: Lista LDAP servera se obično nalazi u veb interfejsu (npr. *Mreža ➜ LDAP Podešavanje ➜ Podešavanje LDAP-a*).
|
||||
- **Ponašanje**: Mnogi ugrađeni veb serveri omogućavaju izmene LDAP servera **bez ponovnog unošenja lozinki** (karakteristika upotrebljivosti → bezbednosni rizik).
|
||||
- **Eksploatacija**: Preusmerite adresu LDAP servera na host koji kontroliše napadač i koristite dugme *Testiraj vezu* / *Sinhronizacija adresara* da primorate štampač da se poveže sa vama.
|
||||
|
||||
---
|
||||
## Capturing Credentials
|
||||
## Hvatanje lozinki
|
||||
|
||||
### Method 1 – Netcat Listener
|
||||
### Metod 1 – Netcat Listener
|
||||
```bash
|
||||
sudo nc -k -v -l -p 389 # LDAPS → 636 (or 3269)
|
||||
```
|
||||
@ -52,10 +52,10 @@ Pass-back *nije* teoretski problem – dobavljači nastavljaju da objavljuju oba
|
||||
|
||||
### Xerox VersaLink – CVE-2024-12510 & CVE-2024-12511
|
||||
|
||||
Firmware ≤ 57.69.91 Xerox VersaLink C70xx MFP-a omogućio je autentifikovanom administratoru (ili bilo kome kada podrazumevani kredencijali ostanu) da:
|
||||
Firmware ≤ 57.69.91 Xerox VersaLink C70xx MFP-ova omogućio je autentifikovanom administratoru (ili bilo kome kada su podrazumevani kredencijali ostali) da:
|
||||
|
||||
* **CVE-2024-12510 – LDAP pass-back**: promeni adresu LDAP servera i pokrene pretragu, uzrokujući da uređaj otkrije konfigurisane Windows kredencijale na hostu koji kontroliše napadač.
|
||||
* **CVE-2024-12511 – SMB/FTP pass-back**: identičan problem preko *scan-to-folder* odredišta, otkrivajući NetNTLMv2 ili FTP kredencijale u čistom tekstu.
|
||||
* **CVE-2024-12510 – LDAP pass-back**: promeni adresu LDAP servera i pokrene pretragu, uzrokujući da uređaj otkrije konfigurisane Windows kredencijale na hostu pod kontrolom napadača.
|
||||
* **CVE-2024-12511 – SMB/FTP pass-back**: identičan problem putem *scan-to-folder* odredišta, otkrivajući NetNTLMv2 ili FTP kredencijale u čistom tekstu.
|
||||
|
||||
Jednostavan slušalac kao što je:
|
||||
```bash
|
||||
@ -69,7 +69,7 @@ Canon je potvrdio **SMTP/LDAP pass-back** slabost u desetinama Laser & MFP proiz
|
||||
|
||||
Preporuke proizvođača izričito sugerišu:
|
||||
|
||||
1. Ažuriranje na zakrpljenu verziju firmvera čim postane dostupna.
|
||||
1. Ažuriranje na zakrpljeni firmware čim postane dostupan.
|
||||
2. Korišćenje jakih, jedinstvenih administratorskih lozinki.
|
||||
3. Izbegavanje privilegovanih AD naloga za integraciju štampača.
|
||||
|
||||
@ -81,17 +81,17 @@ Preporuke proizvođača izričito sugerišu:
|
||||
| **PRET** (Printer Exploitation Toolkit) | Zloupotreba PostScript/PJL/PCL, pristup fajl sistemu, provera podrazumevanih kredencijala, *SNMP otkrivanje* | `python pret.py 192.168.1.50 pjl` |
|
||||
| **Praeda** | Prikupljanje konfiguracije (uključujući adresare i LDAP kredencijale) putem HTTP/HTTPS | `perl praeda.pl -t 192.168.1.50` |
|
||||
| **Responder / ntlmrelayx** | Hvatanje i preusmeravanje NetNTLM hash-eva iz SMB/FTP pass-back | `responder -I eth0 -wrf` |
|
||||
| **impacket-ldapd.py** | Lagana rogue LDAP usluga za primanje veza u čistom tekstu | `python ldapd.py -debug` |
|
||||
| **impacket-ldapd.py** | Lagana rogue LDAP usluga za primanje clear-text veza | `python ldapd.py -debug` |
|
||||
|
||||
---
|
||||
## Ojačavanje i detekcija
|
||||
|
||||
1. **Zakrpiti / ažurirati firmver** MFP-ove odmah (proveriti PSIRT biltene proizvođača).
|
||||
1. **Patch / ažuriranje firmware-a** MFP-ova odmah (proverite PSIRT biltene proizvođača).
|
||||
2. **Računi usluga sa najmanjim privilegijama** – nikada ne koristiti Domain Admin za LDAP/SMB/SMTP; ograničiti na *samo za čitanje* OU opsege.
|
||||
3. **Ograničiti pristup upravljanju** – staviti web/IPP/SNMP interfejse štampača u upravljački VLAN ili iza ACL/VPN.
|
||||
4. **Onemogućiti neiskorišćene protokole** – FTP, Telnet, raw-9100, stariji SSL šifri.
|
||||
5. **Omogućiti audit logovanje** – neki uređaji mogu syslogovati LDAP/SMTP greške; korelirati neočekivane veze.
|
||||
6. **Pratiti veze u čistom tekstu za LDAP** sa neobičnih izvora (štampači obično komuniciraju samo sa DC-ima).
|
||||
5. **Omogućiti audit logovanje** – neki uređaji mogu syslog-ovati LDAP/SMTP greške; korelirati neočekivane veze.
|
||||
6. **Pratiti clear-text LDAP veze** sa neobičnih izvora (štampači obično komuniciraju samo sa DC-ima).
|
||||
7. **SNMPv3 ili onemogućiti SNMP** – zajednica `public` često otkriva konfiguraciju uređaja i LDAP.
|
||||
|
||||
---
|
||||
@ -99,6 +99,6 @@ Preporuke proizvođača izričito sugerišu:
|
||||
|
||||
- [https://grimhacker.com/2018/03/09/just-a-printer/](https://grimhacker.com/2018/03/09/just-a-printer/)
|
||||
- Rapid7. “Xerox VersaLink C7025 MFP Pass-Back Attack Vulnerabilities.” februar 2025.
|
||||
- Canon PSIRT. “Mitigacija ranjivosti protiv SMTP/LDAP passback za laserske štampače i multifunkcionalne štampače za mala preduzeća.” maj 2025.
|
||||
- Canon PSIRT. “Mitigacija ranjivosti protiv SMTP/LDAP passback za laserske štampače i male multifunkcionalne štampače.” maj 2025.
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user