hacktricks/mobile-pentesting/android-app-pentesting/install-burp-certificate.md

19 KiB

Install Burp Certificate

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

{% embed url="https://websec.nl/" %}

On a Virtual Machine

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ Burp рд╕реЗ Der рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ Proxy --> Options --> Import / Export CA certificate рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Der рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ Android рджреНрд╡рд╛рд░рд╛ рд╕рдордЭреЗ рдЬрд╛рдиреЗ рдпреЛрдЧреНрдп рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ AVD рдореЗрдВ Android рдорд╢реАрди рдкрд░ burp рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕ рдорд╢реАрди рдХреЛ -writable-system рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

{% code overflow="wrap" %}

C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9" -http-proxy 192.168.1.12:8080 -writable-system

{% endcode %}

рдлрд┐рд░, рдмрд░реНрдк рдХреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

{% code overflow="wrap" %}

openssl x509 -inform DER -in burp_cacert.der -out burp_cacert.pem
CERTHASHNAME="`openssl x509 -inform PEM -subject_hash_old -in burp_cacert.pem | head -1`.0"
mv burp_cacert.pem $CERTHASHNAME #Correct name
adb root && sleep 2 && adb remount #Allow to write on /syste
adb push $CERTHASHNAME /sdcard/ #Upload certificate
adb shell mv /sdcard/$CERTHASHNAME /system/etc/security/cacerts/ #Move to correct location
adb shell chmod 644 /system/etc/security/cacerts/$CERTHASHNAME #Assign privileges
adb reboot #Now, reboot the machine

{% endcode %}

рдПрдХ рдмрд╛рд░ рдЬрдм рдорд╢реАрди рд░реАрдмреВрдЯ рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗ рддреЛ рдмрд░реНрдк рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реЛрдЧрд╛!

рдореИрдЬрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдпрджрд┐ рдЖрдкрдиреЗ рдореИрдЬрд┐рдХ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рд░реВрдЯ рдХрд┐рдпрд╛ рд╣реИ (рд╢рд╛рдпрдж рдПрдХ рдПрдореБрд▓реЗрдЯрд░), рдФрд░ рдЖрдк рдмрд░реНрдк рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓реЗ рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдФрд░ рдЖрдк рдЗрд╕реЗ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдлрд┐рд░ рд╕реЗ рдорд╛рдЙрдВрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рддреЛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИред

рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ:

  1. рдПрдХ CA рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ: рдмрд╕ рдЦреАрдВрдЪреЗрдВ рдФрд░ рдЫреЛрдбрд╝реЗрдВ DER рдмрд░реНрдк рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ .crt рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рдмрджрд▓рддреЗ рд╣реБрдП рдореЛрдмрд╛рдЗрд▓ рдореЗрдВ рддрд╛рдХрд┐ рдпрд╣ рдбрд╛рдЙрдирд▓реЛрдб рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛ рдЬрд╛рдП рдФрд░ Install a certificate -> CA certificate рдкрд░ рдЬрд╛рдПрдВред
  • рдпрд╣ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ Trusted credentials -> USER рдкрд░ рдЬрд╛рдХрд░ред
  1. рдЗрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдмрдирд╛рдПрдВ: рдореИрдЬрд┐рдХ рдореЙрдбреНрдпреВрд▓ MagiskTrustUserCerts (рдПрдХ .zip рдлрд╝рд╛рдЗрд▓) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдЗрд╕реЗ рдлреЛрди рдореЗрдВ рдЦреАрдВрдЪреЗрдВ рдФрд░ рдЫреЛрдбрд╝реЗрдВ, рдлреЛрди рдореЗрдВ рдореИрдЬрд┐рдХ рдРрдк рдкрд░ рдЬрд╛рдПрдВ рдФрд░ Modules рд╕реЗрдХреНрд╢рди рдореЗрдВ, Install from storage рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, .zip рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдПрдХ рдмрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рд░реАрдмреВрдЯ рдХрд░реЗрдВ:
  • рд░реАрдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, Trusted credentials -> SYSTEM рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ Postswigger рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╡рд╣рд╛рдВ рд╣реИред

рдПрдВрдбреНрд░реЙрдЗрдб 14 рдХреЗ рдмрд╛рдж

рд╣рд╛рд▓ рдХреЗ рдПрдВрдбреНрд░реЙрдЗрдб 14 рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ, рд╕рд┐рд╕реНрдЯрдо-рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг (CA) рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрджрд▓рд╛рд╡ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓реЗ, рдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ /system/etc/security/cacerts/ рдореЗрдВ housed рдереЗ, рдЬрд┐рдиреНрд╣реЗрдВ рд░реВрдЯ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдПрдХреНрд╕реЗрд╕ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛, рдЬрд┐рд╕рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рддреБрд░рдВрдд рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдВрдбреНрд░реЙрдЗрдб 14 рдХреЗ рд╕рд╛рде, рд╕рдВрдЧреНрд░рд╣рдг рд╕реНрдерд╛рди рдХреЛ /apex/com.android.conscrypt/cacerts рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ /apex рдкрде рдХреЗ рднреАрддрд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ, рдЬреЛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИред

APEX cacerts рдкрде рдХреЛ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рд╡рд┐рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдРрд╕реА рд╕рдВрдЪрд╛рд▓рди рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ред рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА (tmpfs) рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдЕрдирдорд╛рдЙрдВрдЯ рдпрд╛ рдУрд╡рд░рд▓реЗ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рднреА рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛ рдХреЛ рдирд╣реАрдВ рд░реЛрдХрддреЗ; рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореВрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ рдЪрд╛рд╣реЗ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реНрддрд░ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдВ рдпрд╛ рди рд╣реЛрдВред рдпрд╣ рд▓рдЪреАрд▓рд╛рдкрди /apex рдорд╛рдЙрдВрдЯ рдХреЗ PRIVATE рдкреНрд░реЛрдкрдЧреЗрд╢рди рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ /apex рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рднреАрддрд░ рдХреЛрдИ рднреА рд╕рдВрд╢реЛрдзрди рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ред

рдПрдВрдбреНрд░реЙрдЗрдб рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХрдХрд░рдг init рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╢реБрд░реВ рдХрд░рдиреЗ рдкрд░ Zygote рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рднреА рдкреНрд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирдП рдорд╛рдЙрдВрдЯ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдирд┐рдЬреА /apex рдорд╛рдЙрдВрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИред

рдлрд┐рд░ рднреА, рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ /apex рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рднреАрддрд░ рд╕рд┐рд╕реНрдЯрдо-рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп CA рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ /apex рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рддрд╛рдХрд┐ PRIVATE рдкреНрд░реЛрдкрдЧреЗрд╢рди рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдП, рдЬрд┐рд╕рд╕реЗ рдЗрд╕реЗ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ /apex/com.android.conscrypt рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рдЕрдиреНрдп рд╕реНрдерд╛рди рдкрд░ рдХреЙрдкреА рдХрд░рдирд╛, рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдкреНрд░рддрд┐рдмрдВрдз рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП /apex/com.android.conscrypt рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдЕрдирдорд╛рдЙрдВрдЯ рдХрд░рдирд╛, рдФрд░ рдлрд┐рд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ /apex рдХреЗ рднреАрддрд░ рдЙрдирдХреЗ рдореВрд▓ рд╕реНрдерд╛рди рдкрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдкреНрд░рдгрд╛рд▓реА рдХреНрд░реИрд╢ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкреНрд░рдгрд╛рд▓реА-рд╡реНрдпрд╛рдкреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, system_server рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рд╕рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдПрдХ рд╕реБрд╕рдВрдЧрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд╛рддрд╛ рд╣реИред

# Create a separate temp directory, to hold the current certificates
# Otherwise, when we add the mount we can't read the current certs anymore.
mkdir -p -m 700 /data/local/tmp/tmp-ca-copy

# Copy out the existing certificates
cp /apex/com.android.conscrypt/cacerts/* /data/local/tmp/tmp-ca-copy/

# Create the in-memory mount on top of the system certs folder
mount -t tmpfs tmpfs /system/etc/security/cacerts

# Copy the existing certs back into the tmpfs, so we keep trusting them
mv /data/local/tmp/tmp-ca-copy/* /system/etc/security/cacerts/

# Copy our new cert in, so we trust that too
mv $CERTIFICATE_PATH /system/etc/security/cacerts/

# Update the perms & selinux context labels
chown root:root /system/etc/security/cacerts/*
chmod 644 /system/etc/security/cacerts/*
chcon u:object_r:system_file:s0 /system/etc/security/cacerts/*

# Deal with the APEX overrides, which need injecting into each namespace:

# First we get the Zygote process(es), which launch each app
ZYGOTE_PID=$(pidof zygote || true)
ZYGOTE64_PID=$(pidof zygote64 || true)
# N.b. some devices appear to have both!

# Apps inherit the Zygote's mounts at startup, so we inject here to ensure
# all newly started apps will see these certs straight away:
for Z_PID in "$ZYGOTE_PID" "$ZYGOTE64_PID"; do
if [ -n "$Z_PID" ]; then
nsenter --mount=/proc/$Z_PID/ns/mnt -- \
/bin/mount --bind /system/etc/security/cacerts /apex/com.android.conscrypt/cacerts
fi
done

# Then we inject the mount into all already running apps, so they
# too see these CA certs immediately:

# Get the PID of every process whose parent is one of the Zygotes:
APP_PIDS=$(
echo "$ZYGOTE_PID $ZYGOTE64_PID" | \
xargs -n1 ps -o 'PID' -P | \
grep -v PID
)

# Inject into the mount namespace of each of those apps:
for PID in $APP_PIDS; do
nsenter --mount=/proc/$PID/ns/mnt -- \
/bin/mount --bind /system/etc/security/cacerts /apex/com.android.conscrypt/cacerts &
done
wait # Launched in parallel - wait for completion here

echo "System certificate injected"

Bind-mounting through NSEnter

  1. рдПрдХ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗрдЯ рдХрд░рдирд╛: рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдПрдХ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рдореМрдЬреВрджрд╛ рдЧреИрд░-APEX рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ tmpfs рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдХреЗ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
mount -t tmpfs tmpfs /system/etc/security/cacerts
  1. CA рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рддреИрдпрд╛рд░реА: рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕реЗрдЯрдЕрдк рдХреЗ рдмрд╛рдж, CA рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдореЗрдВ /apex/com.android.conscrypt/cacerts/ рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрди рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдФрд░ SELinux рд▓реЗрдмрд▓ рдХреЛ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
  2. Zygote рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯрд┐рдВрдЧ: nsenter рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХреЛрдИ Zygote рдХреЗ рдорд╛рдЙрдВрдЯ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред Zygote, рдЬреЛ Android рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ, рдЗрд╕ рдХрджрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддрд╛рдХрд┐ рд╕рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЬреЛ рдЖрдЧреЗ рд╢реБрд░реВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдирдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП CA рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХрдорд╛рдВрдб рд╣реИ:
nsenter --mount=/proc/$ZYGOTE_PID/ns/mnt -- /bin/mount --bind /system/etc/security/cacerts /apex/com.android.conscrypt/cacerts

рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдирдпрд╛ рдРрдк рдЬреЛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЕрдкрдбреЗрдЯреЗрдб CA рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╕реЗрдЯрдЕрдк рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдЧрд╛ред

  1. рдЪрд▓ рд░рд╣реЗ рдРрдкреНрд╕ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░рдирд╛: рдкрд╣рд▓реЗ рд╕реЗ рдЪрд▓ рд░рд╣реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, nsenter рдХрд╛ рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдРрдк рдХреЗ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рдПрдХ рд╕рдорд╛рди рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЖрд╡рд╢реНрдпрдХ рдХрдорд╛рдВрдб рд╣реИ:
nsenter --mount=/proc/$APP_PID/ns/mnt -- /bin/mount --bind /system/etc/security/cacerts /apex/com.android.conscrypt/cacerts
  1. рд╡реИрдХрд▓реНрдкрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг - рд╕реЙрдлреНрдЯ рд░реАрдмреВрдЯ: рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рдзрд┐ init рдкреНрд░рдХреНрд░рд┐рдпрд╛ (PID 1) рдкрд░ рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╕реЙрдлреНрдЯ рд░реАрдмреВрдЯ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ stop && start рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рднреА рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдлреИрд▓рд╛рдПрдЧрд╛, рдкреНрд░рддреНрдпреЗрдХ рдЪрд▓ рд░рд╣реЗ рдРрдк рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдмрдЪрддреЗ рд╣реБрдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рд░реАрдмреВрдЯ рдХрд░рдиреЗ рдХреА рдЕрд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдХрд╛рд░рдг рдХрдо рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдВрджрд░реНрдн

{% embed url="https://websec.nl/" %}

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}