Install Burp Certificate
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2Fpentest.eu%2FRENDER_WebSec_10fps_21sec_9MB_29042024.gif&width=768&dpr=4&quality=100&sign=bc0743d1&sv=1)
Na Virtuelnoj Mašini
Prvo što treba da uradite je da preuzmete Der sertifikat sa Burp-a. To možete uraditi u Proxy --> Options --> Import / Export CA certificate
Izvezite sertifikat u Der formatu i hajde da transformišemo to u oblik koji Android može da razume. Imajte na umu da da biste konfigurisali burp sertifikat na Android mašini u AVD-u morate pokrenuti ovu mašinu sa -writable-system
opcijom.
Na primer, možete je pokrenuti ovako:
Zatim, da konfigurišete burp sertifikat uradite:
Kada mašina završi sa ponovnim pokretanjem, Burp sertifikat će biti u upotrebi!
Korišćenje Magisc
Ako ste rootovali svoj uređaj sa Magisc (možda emulator), i ne možete da pratite prethodne korake za instalaciju Burp certifikata jer je fajl sistem samo za čitanje i ne možete ga ponovo montirati kao zapisiv, postoji drugi način.
Objašnjeno u ovom videu potrebno je da:
Instalirate CA sertifikat: Samo prevucite i ispustite DER Burp sertifikat menjajući ekstenziju u
.crt
na mobilnom uređaju tako da bude smešten u Downloads folder i idite naInstaliraj sertifikat
->CA sertifikat
Proverite da li je sertifikat ispravno smešten odlaskom na
Poverljivi podaci
->KORISNIK
Učinite ga sistemski poverljivim: Preuzmite Magisc modul MagiskTrustUserCerts (zip fajl), prevucite i ispustite ga na telefon, idite na Magics aplikaciju na telefonu u
Module
sekciju, kliknite naInstaliraj iz skladišta
, izaberite.zip
modul i nakon instalacije ponovo pokrenite telefon:
Nakon ponovnog pokretanja, idite na
Poverljivi podaci
->SISTEM
i proverite da li je Postswigger sertifikat tu
Post Android 14
U najnovijem izdanju Android 14, primećen je značajan pomak u upravljanju sistemski poverljivim sertifikatima sertifikacione vlasti (CA). Prethodno su ovi sertifikati bili smešteni u /system/etc/security/cacerts/
, dostupni i modifikovani od strane korisnika sa root privilegijama, što je omogućavalo trenutnu primenu širom sistema. Međutim, sa Android 14, lokacija skladištenja je premestena u /apex/com.android.conscrypt/cacerts
, direktorijum unutar /apex
putanje, koji je po prirodi nepromenljiv.
Pokušaji ponovnog montiranja APEX cacerts putanje kao zapisive se susreću sa neuspehom, jer sistem ne dozvoljava takve operacije. Čak ni pokušaji da se direktorijum odmontira ili preklopi sa privremenim fajl sistemom (tmpfs) ne zaobilaze nepromenljivost; aplikacije nastavljaju da pristupaju originalnim podacima sertifikata bez obzira na promene na nivou fajl sistema. Ova otpornost je rezultat toga što je /apex
montiranje konfigurisano sa PRIVATE propagacijom, osiguravajući da bilo kakve izmene unutar /apex
direktorijuma ne utiču na druge procese.
Inicijalizacija Android-a uključuje init
proces, koji, prilikom pokretanja operativnog sistema, takođe pokreće Zygote proces. Ovaj proces je odgovoran za pokretanje aplikacionih procesa sa novim montiranim imenskim prostorom koji uključuje privatno /apex
montiranje, čime se izoluje promene u ovom direktorijumu od drugih procesa.
Ipak, postoji rešenje za one koji trebaju da modifikuju sistemski poverljive CA sertifikate unutar /apex
direktorijuma. Ovo uključuje ručno ponovo montiranje /apex
kako bi se uklonila PRIVATE propagacija, čime se omogućava zapisivanje. Proces uključuje kopiranje sadržaja /apex/com.android.conscrypt
na drugo mesto, odmontiranje /apex/com.android.conscrypt
direktorijuma kako bi se eliminisala ograničenja samo za čitanje, a zatim vraćanje sadržaja na njihovu originalnu lokaciju unutar /apex
. Ovaj pristup zahteva brzu akciju kako bi se izbegli padovi sistema. Da bi se osigurala sistemska primena ovih izmena, preporučuje se ponovo pokretanje system_server
, što efikasno ponovo pokreće sve aplikacije i dovodi sistem u dosledno stanje.
Bind-mounting through NSEnter
Postavljanje pisivog direktorijuma: U početku, pisivi direktorijum se uspostavlja montiranjem
tmpfs
preko postojećeg direktorijuma sa sistemskim sertifikatima koji nije APEX. Ovo se postiže sledećom komandom:
Priprema CA sertifikata: Nakon postavljanja zapisive direktorijuma, CA sertifikate koje nameravate da koristite treba kopirati u ovaj direktorijum. To može uključivati kopiranje podrazumevanih sertifikata iz
/apex/com.android.conscrypt/cacerts/
. Važno je prilagoditi dozvole i SELinux oznake ovih sertifikata u skladu s tim.Bind Mounting za Zygote: Korišćenjem
nsenter
, ulazi se u Zygote-ov mount namespace. Zygote, kao proces odgovoran za pokretanje Android aplikacija, zahteva ovaj korak kako bi se osiguralo da sve aplikacije pokrenute od sada koriste novo konfigurisane CA sertifikate. Komanda koja se koristi je:
Ovo osigurava da će svaka nova aplikacija koja se pokrene poštovati ažuriranu postavku CA sertifikata.
Primena promena na aktivnim aplikacijama: Da bi se promene primenile na već pokrenutim aplikacijama,
nsenter
se ponovo koristi da uđe u namespace svake aplikacije pojedinačno i izvrši sličan bind mount. Neophodna komanda je:
Alternativni pristup - Soft reboot: Alternativna metoda uključuje izvođenje bind mount-a na
init
procesu (PID 1) nakon čega sledi soft reboot operativnog sistema sastop && start
komandama. Ovaj pristup bi propagirao promene kroz sve namespace-ove, izbegavajući potrebu da se pojedinačno obrađuje svaka aplikacija koja se izvršava. Međutim, ova metoda se generalno manje preferira zbog neprijatnosti reboot-a.
Reference
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2Fpentest.eu%2FRENDER_WebSec_10fps_21sec_9MB_29042024.gif&width=768&dpr=4&quality=100&sign=bc0743d1&sv=1)
Last updated