Install Burp Certificate
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
![](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)
On a Virtual Machine
Kwanza kabisa unahitaji kupakua cheti cha Der kutoka Burp. Unaweza kufanya hivyo katika Proxy --> Options --> Import / Export CA certificate
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3018635170-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FCtGnfY5n0YCGcWtBkgwe%252Fuploads%252Fgit-blob-ad88950d72ba52916d305d8bb5c938dd1f4cba70%252Fimage%2520%28367%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=f181d8de&sv=1)
Export cheti katika muundo wa Der na hebu kubadilisha kuwa fomu ambayo Android itaweza kuelewa. Kumbuka kwamba ili kuunda cheti cha burp kwenye mashine ya Android katika AVD unahitaji kuendesha mashine hii ikiwa na chaguo la -writable-system
.
Kwa mfano unaweza kuendesha kama:
Kisha, ili konfigura cheti cha burp fanya:
Mara mashine itakapokamilisha kuanzisha tena, cheti cha burp kitakuwa kinatumika!
Kutumia Magisc
Ikiwa umepata root kwenye kifaa chako kwa kutumia Magisc (labda emulators), na huwezi kufuata hatua zilizopita za kufunga cheti cha Burp kwa sababu faili ya mfumo ni ya kusoma tu na huwezi kuifunga tena kuwa ya kuandika, kuna njia nyingine.
Imeelezwa katika hii video unahitaji:
Kufunga cheti cha CA: Tu vuta na uachie cheti cha DER Burp ukibadilisha kiendelezi kuwa
.crt
kwenye simu ili kuhifadhiwa kwenye folda ya Downloads na nenda kwenyeInstall a certificate
->CA certificate
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3018635170-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FCtGnfY5n0YCGcWtBkgwe%252Fuploads%252Fgit-blob-a8cfa5b773303edb184e1e0eac4f0ba47f67677c%252Fimage%2520%2853%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=c54d6947&sv=1)
Hakikisha cheti kimehifadhiwa vizuri kwa kwenda kwenye
Trusted credentials
->USER
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3018635170-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FCtGnfY5n0YCGcWtBkgwe%252Fuploads%252Fgit-blob-0e554c193b3a470f5b1da38e3106da1e6d3ba244%252Fimage%2520%2854%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=92f66647&sv=1)
Fanya iwe ya kuaminika kwa Mfumo: Pakua moduli ya Magisc MagiskTrustUserCerts (faili .zip), vuta na uachie kwenye simu, nenda kwenye programu ya Magics kwenye simu kwenye sehemu ya
Modules
, bonyezaInstall from storage
, chagua moduli ya.zip
na mara itakapofungwa anzisha tena simu:
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3018635170-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FCtGnfY5n0YCGcWtBkgwe%252Fuploads%252Fgit-blob-8190e06a75ffa491e447ad9278cb40312d5e82b5%252Fimage%2520%2855%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=49a307a8&sv=1)
Baada ya kuanzisha tena, nenda kwenye
Trusted credentials
->SYSTEM
na hakikisha cheti cha Postswigger kiko hapo
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3018635170-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FCtGnfY5n0YCGcWtBkgwe%252Fuploads%252Fgit-blob-b98c9fbbc98929f4f21cab6c8d6d02d3844d23bd%252Fimage%2520%2856%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=210d364&sv=1)
Baada ya Android 14
Katika toleo la hivi karibuni la Android 14, mabadiliko makubwa yameonekana katika usimamizi wa cheti cha Mamlaka ya Cheti (CA) kinachokubalika na mfumo. Awali, vyeti hivi vilihifadhiwa katika /system/etc/security/cacerts/
, vinavyoweza kufikiwa na kubadilishwa na watumiaji wenye ruhusa za root, ambayo iliruhusu matumizi ya haraka katika mfumo mzima. Hata hivyo, na Android 14, mahali pa kuhifadhiwa kumehamishwa kwenda /apex/com.android.conscrypt/cacerts
, saraka ndani ya njia ya /apex
, ambayo ni isiyoweza kubadilishwa kwa asili.
Jaribio la kufunga tena njia ya APEX cacerts kuwa ya kuandika linakutana na kushindwa, kwani mfumo haukuruhusu operesheni kama hizo. Hata jaribio la kuondoa au kuweka saraka hiyo na mfumo wa faili wa muda (tmpfs) halipuuzi isiyoweza kubadilishwa; programu zinaendelea kufikia data za cheti asilia bila kujali mabadiliko katika kiwango cha mfumo wa faili. Uthabiti huu unatokana na /apex
kufungwa kwa usambazaji wa PRIVATE, kuhakikisha kwamba mabadiliko yoyote ndani ya saraka ya /apex
hayaathiri michakato mingine.
Kuanza kwa Android kunahusisha mchakato wa init
, ambao, unapozindua mfumo wa uendeshaji, pia huanzisha mchakato wa Zygote. Mchakato huu unawajibika kwa kuzindua michakato ya programu na nafasi mpya ya kufunga ambayo inajumuisha kufunga binafsi ya /apex
, hivyo kuzuia mabadiliko katika saraka hii kutoka kwa michakato mingine.
Hata hivyo, kuna njia mbadala kwa wale wanaohitaji kubadilisha vyeti vya CA vinavyokubalika na mfumo ndani ya saraka ya /apex
. Hii inahusisha kufunga tena kwa mikono /apex
ili kuondoa usambazaji wa PRIVATE, hivyo kuifanya iwe ya kuandika. Mchakato huu unajumuisha nakala ya maudhui ya /apex/com.android.conscrypt
kwenda mahali pengine, kuondoa saraka ya /apex/com.android.conscrypt
ili kuondoa kizuizi cha kusoma tu, na kisha kurejesha maudhui kwenye mahali pake pa asili ndani ya /apex
. Njia hii inahitaji hatua za haraka ili kuepuka kuanguka kwa mfumo. Ili kuhakikisha matumizi ya mabadiliko haya katika mfumo mzima, inapendekezwa kuanzisha tena system_server
, ambayo kwa ufanisi inaanzisha tena programu zote na kuleta mfumo katika hali thabiti.
Bind-mounting through NSEnter
Kuweka Saraka Inayoweza Kuandikwa: Kwanza, saraka inayoweza kuandikwa inaanzishwa kwa kufunga
tmpfs
juu ya saraka ya cheti ya mfumo isiyo ya APEX iliyopo. Hii inafanywa kwa amri ifuatayo:
Kuweka Vyeti vya CA: Baada ya kuanzisha saraka inayoweza kuandikwa, vyeti vya CA ambavyo mtu anakusudia kutumia vinapaswa kunakiliwa kwenye saraka hii. Hii inaweza kujumuisha kunakili vyeti vya kawaida kutoka
/apex/com.android.conscrypt/cacerts/
. Ni muhimu kurekebisha ruhusa na lebo za SELinux za vyeti hivi ipasavyo.Kufunga Mount kwa Zygote: Kwa kutumia
nsenter
, mtu anaingia kwenye eneo la mount la Zygote. Zygote, ikiwa ni mchakato unaohusika na kuzindua programu za Android, inahitaji hatua hii ili kuhakikisha kwamba programu zote zinazozinduliwa kuanzia sasa zinatumia vyeti vya CA vilivyowekwa upya. Amri inayotumika ni:
Hii inahakikisha kwamba kila programu mpya inayozinduliwa itafuata mipangilio ya cheti cha CA kilichosasishwa.
Kuweka Mabadiliko kwa Programu Zinazoendesha: Ili kuweka mabadiliko kwa programu ambazo tayari zinaendesha,
nsenter
inatumika tena kuingia kwenye eneo la jina la kila programu kibinafsi na kufanya mtego wa kufunga sawa. Amri inayohitajika ni:
Njia Mbadala - Upya wa Laini: Njia mbadala inahusisha kufanya bind mount kwenye mchakato wa
init
(PID 1) ikifuatiwa na upya wa laini wa mfumo wa uendeshaji kwa kutumia amristop && start
. Njia hii itasambaza mabadiliko katika majimbo yote, ikiepuka hitaji la kushughulikia kila programu inayofanya kazi kwa kibinafsi. Hata hivyo, njia hii kwa ujumla haitafutwa sana kutokana na usumbufu wa kuanzisha upya.
Marejeo
![](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)
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated