mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
124 lines
5.4 KiB
Markdown
124 lines
5.4 KiB
Markdown
# Shizuku Privileged API
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|
||
|
||
Shizuku is 'n oop-bron diens wat **'n bevoorregte Java-proses genereer met behulp van `app_process`** en stel geselekteerde **Android-stelsels API's oor Binder** beskikbaar. Omdat die proses met dieselfde **`shell` UID vermoëns wat ADB gebruik**, enige toepassing (of terminal) wat aan die uitgevoerde AIDL-koppelvlak bind, kan baie aksies uitvoer wat normaalweg **`WRITE_SECURE_SETTINGS`, `INSTALL_PACKAGES`, lêer I/O binne `/data`,** ens. vereis – **sonder om die toestel te root**.
|
||
|
||
Tipiese gebruiksgevalle:
|
||
* Sekuriteitsouditing vanaf 'n nie-ge-root toestel
|
||
* Verwydering van bloatware / debloating stelsels toepassings
|
||
* Versameling van logs, Wi-Fi sleutels, proses en sokketinligting vir blue-team/DFIR
|
||
* Outomatisering van toestelkonfigurasie vanaf pasgemaakte toepassings of shell skripte
|
||
|
||
---
|
||
## 1. Starting the privileged service
|
||
|
||
`moe.shizuku.privileged.api` kan op drie verskillende maniere begin word – die resulterende Binder-diens gedra dieselfde in al drie.
|
||
|
||
### 1.1 Wireless ADB (Android 11+)
|
||
1. Aktiveer **Ontwikkelaarsopsies ➜ Draadlose foutopsporing** en koppel die toestel.
|
||
2. Binne die Shizuku-toepassing kies **“Begin via Draadlose foutopsporing”** en kopieer die paar kode.
|
||
3. Die diens oorleef tot die volgende herlaai (draadlose-foutopsporing sessies word op opstart skoongemaak).
|
||
|
||
### 1.2 USB / local ADB one-liner
|
||
```bash
|
||
adb push start.sh \
|
||
/storage/emulated/0/Android/data/moe.shizuku.privileged.api/
|
||
|
||
# spawn the privileged process
|
||
adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh
|
||
```
|
||
Die dieselfde skrip kan oor 'n **network ADB**-verbinding uitgevoer word (`adb connect <IP>:5555`).
|
||
|
||
### 1.3 Geroote toestelle
|
||
As die toestel reeds geroote is, voer uit:
|
||
```bash
|
||
su -c sh /data/adb/shizuku/start.sh
|
||
```
|
||
### 1.4 Verifieer dat dit loop
|
||
```bash
|
||
adb shell dumpsys activity service moe.shizuku.privileged.api | head
|
||
```
|
||
'n Succesvolle begin keer `Running services (1)` saam met die PID van die bevoorregte proses terug.
|
||
|
||
---
|
||
## 2. Binding vanaf 'n toepassing
|
||
Derdeparty-apps het net die volgende binne hul `AndroidManifest.xml` nodig:
|
||
```xml
|
||
<uses-permission android:name="moe.shizuku.manager.permission.API"/>
|
||
```
|
||
By uitvoering verkry hulle die binder:
|
||
```java
|
||
IBinder binder = ShizukuProvider.getBinder();
|
||
IPackageManager pm = IPackageManager.Stub.asInterface(binder);
|
||
```
|
||
Vanaf hierdie oomblik kan die app enige metode aanroep wat die **`shell` gebruiker** mag aanroep – byvoorbeeld :
|
||
```java
|
||
pm.installPackage(new Uri("file:///sdcard/app.apk"), null, 0, null);
|
||
Settings.Global.putInt(resolver, Settings.Global.ADB_ENABLED, 1);
|
||
```
|
||
'n Gekure lys van meer as **170 Shizuku-geaktiveerde toepassings** word by [awesome-shizuku](https://github.com/timschneeb/awesome-shizuku) onderhou.
|
||
|
||
---
|
||
## 3. Rish – verhoogde skulp binne Termux
|
||
Die Shizuku instellingskerm stel **“Gebruik Shizuku in terminal toepassings”** bloot. Om dit te aktiveer, laai dit *rish* (`/data/local/tmp/rish`) af.
|
||
```bash
|
||
pkg install wget
|
||
wget https://rikka.app/rish/latest -O rish && chmod +x rish
|
||
|
||
# start elevated shell (inherits the binder connection)
|
||
./rish
|
||
whoami # ➜ shell
|
||
id # uid=2000(shell) gid=2000(shell) groups=... context=u:r:shell:s0
|
||
```
|
||
### 3.1 Nuttige opdragte van die rish-skaal
|
||
* Lys lopende prosesse van 'n gegewe pakket:
|
||
```bash
|
||
ps -A | grep com.facebook.katana
|
||
```
|
||
* Enumereer luisterende sokke en koppel hulle aan pakkette (bv. **CVE-2019-6447 ES File Explorer**):
|
||
```bash
|
||
netstat -tuln
|
||
for pid in $(lsof -nP -iTCP -sTCP:LISTEN -t); do
|
||
printf "%s -> %s\n" "$pid" "$(cat /proc/$pid/cmdline)";
|
||
done
|
||
```
|
||
* Dump elke toepassing se logs:
|
||
```bash
|
||
logcat -d | grep -iE "(error|exception)"
|
||
```
|
||
* Lees gestoor Wi-Fi geloofsbriewe (Android 11 +):
|
||
```bash
|
||
cat /data/misc/wifi/WifiConfigStore.xml | grep -i "<ConfigKey>"
|
||
```
|
||
* Massiewe debloat (voorbeeld):
|
||
```bash
|
||
pm uninstall --user 0 com.miui.weather2
|
||
```
|
||
|
||
---
|
||
## 4. Sekuriteits oorwegings / opsporing
|
||
1. Shizuku benodig **ADB-foutopsporing** regte, daarom moet _Ontwikkelaar Opsies → USB/Draadlose foutopsporing_ **geaktiveer** wees.
|
||
Organisasies kan dit blokkeer deur 'n MDM of via `settings put global development_settings_enabled 0`.
|
||
2. Die diens registreer homself onder die naam `moe.shizuku.privileged.api`.
|
||
'n Eenvoudige `adb shell service list | grep shizuku` (of Endpoint Security-reël) detecteer sy teenwoordigheid.
|
||
3. Vermoëns is beperk tot wat die `shell` gebruiker reeds kan doen – dit is **nie root** nie.
|
||
Sensitiewe API's wat die `system` of `root` gebruiker vereis, is steeds ontoeganklik.
|
||
4. Sessies oorleef **nie 'n herbegin** nie, tensy die toestel ge-root is en Shizuku as 'n opstart-daeemon geconfigureer is.
|
||
|
||
---
|
||
## 5. Versagting
|
||
* Deaktiveer USB/Draadlose foutopsporing op produksietoestelle.
|
||
* Monitor vir Binder dienste wat `moe.shizuku.privileged.api` blootstel.
|
||
* Gebruik SELinux-beleide (Android enterprise) om die AIDL-koppelvlak van nie-gemandeerde toepassings te blokkeer.
|
||
|
||
---
|
||
## Verwysings
|
||
|
||
- [Blog – Shizuku: Ontsluiting van Gevorderde Android Vermoëns Sonder Root](https://www.mobile-hacker.com/2025/07/14/shizuku-unlocking-advanced-android-capabilities-without-root/)
|
||
- [Shizuku Amptelike Dokumentasie](https://shizuku.rikka.app/)
|
||
- [awesome-shizuku – lys van ondersteunde toepassings](https://github.com/timschneeb/awesome-shizuku)
|
||
- [rish shell (privileged reverse-adb shell)](https://github.com/RikkaApps/Shizuku/blob/master/RISH.md)
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|