
Bad Spin: Android Binder Exploit di escalation dei privilegi (CVE-2022-20421)
Autore: Moshe Kol
Exploit di escalation dei privilegi da unstrusted_app per la vulnerabilità del Binder Android (CVE-2022-20421). La vulnerabilità è corretta nel bollettino sulla sicurezza di Android di ottobre 2022. L'exploit funziona su dispositivi con versioni del kernel 5.4.x e 5.10.x e ottiene primitive complete di lettura/scrittura del kernel. Per il Google Pixel 6, ottiene anche root completo e bypass di SELinux.
Puoi trovare l'articolo completo qui.
libbadspin.so digitando make push nella directory src/. Questo caricherà anche la libreria su /data/local/tmp.adb shell.LD_PRELOAD=/data/local/tmp/libbadspin.so sleep 1. Questo caricherà la libreria e avvierà l'exploit.libbadspin.so digitando make push nella directory src/. Questo copierà la libreria nella directory assets per l'app demo Android.app/. (Potresti aver bisogno di Android Studio per farlo.)adb logcat -s BADSPINPuoi passare le seguenti variabili a make:
VERBOSE=1 per aumentare la verbosità.TEST_VULN=1 per testare la vulnerabilità senza procedere con l'exploit.$ make list
0: Samsung Galaxy S22, Android 12 (6/2022), kernel 5.10.81
1: Samsung Galaxy S21 Ultra, Android 12 (3/2022), kernel 5.4.129
2: Google Pixel 6, Android 12 (5/2022), kernel 5.10.66
3: Google Pixel 6, Android 13 (9/2022), kernel 5.10.107
Non è difficile adattare l'exploit e supportare un nuovo dispositivo.
Assicurati che il tuo nuovo dispositivo esegua una versione del kernel 5.4.x o 5.10.x e che il suo livello di patch di sicurezza Android sia precedente a ottobre 2022.
Aggiungi le proprietà del tuo dispositivo a dev_config.h.
Specifica due puntatori a funzione:
kimg_to_lm(): Converte un puntatore virtuale dell'immagine del kernel nel mappaggio lineare.find_kbase(): Trova l'indirizzo di base del kernel da un puntatore trapelato di anon_pipe_buf_ops.Puoi usare le funzioni già fornite per questo. (Se il tuo vendor non è Samsung e non sei sicuro, usa le stesse funzioni del Pixel 6.)
Compila ed esegui.
Se funziona, invia una pull request.