Quale vulnerabilità viene presa di mira da un referer HTTP che inizia con () {:;}; / bin / bash

23

Ho trovato questo codice, seguito da diversi comandi di bash che scaricavano e eseguivano un carico utile dal web, nel campo referer nei miei log degli errori di apache. L'attacco sembra funzionare convertendo un nome di comando in un nome funtion per il corpo della funzione vuota, (){ :; } .

Si sta chiaramente tentando di eseguire un'iniezione di comando bash. Quali server, configurazioni o moduli potrebbero essere vulnerabili a questo attacco?

    
posta Kylos 06.11.2015 - 17:13
fonte

2 risposte

36

Si tratta del bug di Shellshock (che ha anche il suo tag proprio ):

GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which allows remote attackers to execute arbitrary code via a crafted environment, as demonstrated by vectors involving the ForceCommand feature in OpenSSH sshd, the mod_cgi and mod_cgid modules in the Apache HTTP Server, scripts executed by unspecified DHCP clients, and other situations in which setting the environment occurs across a privilege boundary from Bash execution.

Sono interessati tutti i sistemi che eseguono una versione vulnerabile di Bash e un modo per un utente malintenzionato di iniettare una variabile di ambiente. Il caso più noto è Apache che imposta automaticamente determinate variabili d'ambiente dalla richiesta. Non hai bisogno di un Bash CGI. Leggi questo articolo sui Vettori di exploit di shell shock per un elenco completo .

Per difendersi da questo attacco devi aggiornare il tuo Bash. Per verificare se la tua versione di Bash è vulnerabile, puoi eseguire la seguente riga da @ La grande risposta di EliahKagan :

x='() { :;}; echo VULNERABLE' bash -c :

Vedi Tutto ciò che devi sapere sul bug di Shellshock Bash o il CVE corrispondente per ulteriori informazioni.

    
risposta data 06.11.2015 - 17:19
fonte
0

Sembra un payload dell'esecuzione di comandi remoti. La vulnerabilità legata all'esecuzione dei comandi in remoto viene utilizzata per l'esecuzione di comandi di sistema con lo stesso privilegio del server web dell'utente. Porta al totale compromesso del server. Guarda un articolo su questo per maggiori informazioni.

    
risposta data 06.11.2015 - 17:23
fonte

Leggi altre domande sui tag