Come posso confermare che sono vulnerabile a OS X "rootpipe" (CVE-2015-1130)?

4

Ho letto post divulgazione di Emil Kvarnhammar di TrueSec ( API backdoor nascosta per i privilegi di root in Apple OS X ) e sto cercando di confermare se sono vulnerabile o meno.

Dopo aver creato uno script exploit.py con i contenuti del POC di exploit di Emil, eseguo:

$ python exploit.py /bin/bash root-bash
will write file /Users/dserodio/root-bash
Done!

Quindi posso vedere che un eseguibile suid root è stato effettivamente creato:

$ ls -l root-bash
-rwsrwxrwx  1 root  Domain Users  1228336 Apr 14 10:51 root-bash

Ma quando lo avvio, non sembra essere una shell di root:

$ exec ./root-bash
$ whoami
dserodio
$ touch foo
$ ls -l foo
-rw-r--r--  1 dserodi  Domain Users  0 Apr 14 11:01 foo 

Se uso uno script di shell che esegue id , crea file, ecc. invece di usare / bin / bash per creare una shell interattiva, i risultati sono gli stessi (es .: creati come root suid ma apparentemente senza root uscita).

Qualcuno può aiutarmi a capire cosa sta succedendo e se sono vulnerabile al bug "rootpipe" (CVE-2015-1130)?

    
posta Daniel Serodio 14.04.2015 - 16:08
fonte

2 risposte

2

Il tuo sistema è vulnerabile poiché il binario è scritto. Il motivo per cui non è possibile copiare semplicemente bash è perché il binario scritto verrà avviato con l'ID utente "reale" dserodio e l'ID utente "efficace" root. Per passare alla root dell'id utente reale, il binario deve chiamare setuid (0). Ho fornito un wrapper di codice C di esempio per questo nei commenti del mio articolo che hai linkato.

Un'altra opzione è copiare /usr/bin/python2.7 in / tmp / py e avviare / tmp / py. Da lì puoi fare 'import os' e sperimentare interattivamente con i metodi python os.geteuid (), os.getuid () e os.setuid (0). Dopo os.setuid (0) puoi avviare una bash di root con os.system ("/ bin / bash").

    
risposta data 14.04.2015 - 20:18
fonte
0

Un'opzione per testare questo potrebbe essere l'uso del metasploit modulo per lo sfruttamento di rootpipe

Uno dei vantaggi dei moduli Metasploit è che tendono ad essere ragionevolmente ben documentati e funzionano in modo affidabile, quindi vale la pena provarlo.

    
risposta data 14.04.2015 - 17:56
fonte

Leggi altre domande sui tag