¿Estoy seguro si estoy buscando en / cgi-bin / return HTTP 403?

4

Me pregunto si mi servidor podría ser vulnerable a ShellShock (o mejor: era vulnerable). La prueba de shell revela que soy vulnerable:

$ export evil='() { :;}; echo vulnerable'; bash -c echo;
vulnerable

No necesito CGI para ninguno de mis sitios web, pero para estar seguro, probé grep -i "cgi" * en mi carpeta de archivos de configuración de Apache. Desafortunadamente, he descubierto que algunos de mis sitios tienen entradas CGI de todos modos, como esto:

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

Sin embargo, no hay archivos en /usr/lib/cgi-bin

$ ll /usr/lib/cgi-bin/
total 0

Y después de una prueba, obtengo un error HTTP 403:

$ curl -i -X HEAD "http://example.com/cgi-bin/" -A '() { :;}; echo "Warning: Server Vulnerable"'
HTTP/1.1 403 Forbidden
Date: Thu, 25 Sep 2014 22:22:32 GMT
Server: Apache/2.2.14 (Ubuntu)
Vary: Accept-Encoding
Content-Type: text/html; charset=iso-8859-1

¿Puedo concluir de manera segura que mi servidor no es vulnerable a un ataque CGI en este caso? Si no, ¿un comando curl diferente mostraría la vulnerabilidad? ¿Y sería suficiente eliminar las definiciones /cgi-bin/ de los archivos de configuración de Apache?

    
pregunta Thomas Weller 26.09.2014 - 00:36
fuente

1 respuesta

5

No, no puedes concluir que del error 403. Si el servidor devuelve un error 403 para un directorio, eso simplemente significa que no se le permite listar el contenido del directorio, o que el directorio tiene una página de índice a la que no se le permite acceder; esto es muy común para los directorios cgi-bin .

Sin embargo, puede concluir que no es vulnerable porque no hay archivos en el directorio /cgi-bin/ : cualquier intento de invocar la vulnerabilidad "shellshock" simplemente hará que Apache responda al atacante con un "404 No encontrado "error.

Puede (y probablemente debería) deshabilitar CGI, pero eso es simplemente porque deshabilitar la funcionalidad no utilizada es una buena práctica de seguridad en general, en lugar de responder a una amenaza específica.

    
respondido por el Mark 26.09.2014 - 00:52
fuente

Lea otras preguntas en las etiquetas