Install Burp Certificate
Na virtuelnoj mašini
Prvo morate preuzeti Der sertifikat sa Burp-a. To možete uraditi u Proxy --> Options --> Import / Export CA certificate
Izvezite sertifikat u Der formatu i pretvorite ga u oblik koji će Android moći da razume. Imajte na umu da kako biste konfigurisali burp sertifikat na Android mašini u AVD-u morate pokrenuti ovu mašinu sa opcijom -writable-system
.
Na primer, možete je pokrenuti ovako:
Zatim, da biste konfigurisali burpov sertifikat uradite:
Kada mašina završi ponovno pokretanje, sertifikat burp će biti u upotrebi!
Korišćenje Magiska
Ako ste rutirali uređaj pomoću Magiska (možda emulator), i ne možete pratiti prethodne korake za instalaciju Burp sertifikata jer je datotečni sistem samo za čitanje i ne možete ga ponovo montirati kao zapisiv, postoji drugi način.
Objašnjeno u ovom videu trebate:
Instalirati CA sertifikat: Samo prevucite i otpustite DER Burp sertifikat menjajući ekstenziju u
.crt
na mobilnom uređaju tako da bude smešten u fascikli za preuzimanje i idite naInstaliraj sertifikat
->CA sertifikat
Proverite da li je sertifikat pravilno smešten odlaskom na
Poverljivi certifikati
->KORISNIK
Učinite ga sistemski poverljivim: Preuzmite Magisk modul MagiskTrustUserCerts (
.zip
datoteka), prevucite i otpustite je na telefon, idite na Magisk aplikaciju na telefonu u odeljkuModuli
, kliknite naInstaliraj sa skladišta
, izaberite.zip
modul i jednom kada se instalira, ponovo pokrenite telefon:
Nakon ponovnog pokretanja, idite na
Poverljivi certifikati
->SISTEM
i proverite da li je Postswigger sertifikat tamo
Nakon Android 14
U najnovijem Android 14 izdanju, primećen je značajan pomak u rukovanju sistemski poverljivim sertifikatima sertifikacionih tela (CA). Ranije su ovi sertifikati bili smešteni u /system/etc/security/cacerts/
, pristupačni i modifikovani od strane korisnika sa administratorskim privilegijama, što je omogućavalo trenutnu primenu širom sistema. Međutim, sa Androidom 14, lokacija skladištenja je premeštena u /apex/com.android.conscrypt/cacerts
, direktorijum unutar putanje /apex
, 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 i pokušaji demontiranja ili preklapanja direktorijuma sa privremenim fajl sistemom (tmpfs) ne zaobilaze nepromenljivost; aplikacije i dalje pristupaju originalnim podacima sertifikata bez obzira na promene na nivou fajl sistema. Ova otpornost je posledica toga što je montiranje /apex
konfigurisano sa PRIVATNOM propagacijom, osiguravajući da bilo kakve modifikacije unutar direktorijuma /apex
ne utiču na druge procese.
Inicijalizacija Androida uključuje init
proces, koji, prilikom pokretanja operativnog sistema, takođe pokreće Zygote proces. Ovaj proces je odgovoran za pokretanje procesa aplikacija sa novim montažnim prostorom koji uključuje privatno montiranje /apex
, čime se izoluju promene u ovom direktorijumu od drugih procesa.
Ipak, postoji način za one koji trebaju da modifikuju sistemski poverljive CA sertifikate unutar direktorijuma /apex
. To uključuje ručno ponovno montiranje /apex
kako bi se uklonila PRIVATNA propagacija, čime se čini zapisivim. Proces uključuje kopiranje sadržaja /apex/com.android.conscrypt
na drugu lokaciju, demontiranje direktorijuma /apex/com.android.conscrypt
kako bi se eliminisalo ograničenje samo za čitanje, a zatim vraćanje sadržaja na originalnu lokaciju unutar /apex
. Ovaj pristup zahteva brzu akciju kako bi se izbegli padovi sistema. Da bi se osigurala sistematska primena ovih promena, preporučuje se ponovno pokretanje system_server
, što efikasno ponovo pokreće sve aplikacije i dovodi sistem u konzistentno stanje.
Bind-montiranje putem NSEnter
Postavljanje direktorijuma za pisanje: Prvo se uspostavlja direktorijum za pisanje montiranjem
tmpfs
preko postojećeg direktorijuma za sistemske sertifikate koji nisu APEX. To se postiže sledećom komandom:
Priprema CA sertifikata: Nakon podešavanja upisivog direktorijuma, CA sertifikati koje nameravate koristiti treba da budu kopirani u ovaj direktorijum. To može uključivati kopiranje podrazumevanih sertifikata iz
/apex/com.android.conscrypt/cacerts/
. Bitno je prilagoditi dozvole i SELinux oznake ovih sertifikata prema potrebi.Bind montiranje za Zygote: Korišćenjem
nsenter
, ulazi se u Zygote-ov namespace za montiranje. Zygote, kao proces odgovoran za pokretanje Android aplikacija, zahteva ovaj korak kako bi se osiguralo da sve aplikacije pokrenute od tog trenutka koriste novo konfigurisane CA sertifikate. Komanda koja se koristi je:
Ovo osigurava da će svaka nova pokrenuta aplikacija poštovati ažurirani CA sertifikat setup.
Primenjivanje promena na pokrenute aplikacije: Da biste primenili promene na već pokrenute aplikacije, ponovo se koristi
nsenter
da biste pojedinačno ušli u namespace svake aplikacije i izvršili sličan bind mount. Neophodna komanda je:
Alternativni pristup - Soft Reboot: Alternativna metoda uključuje izvođenje bind mounta na
init
procesu (PID 1), praćeno soft restartovanjem operativnog sistema pomoćustop && start
komandi. Ovaj pristup će proširiti promene preko svih namespace-ova, izbegavajući potrebu da se pojedinačno adresiraju svaka pokrenuta aplikacija. Međutim, ovaj metod je generalno manje preferiran zbog neugodnosti restartovanja.
Reference
Last updated