Shell PHP y Python en servidores vulnerados (I)
Como vimos en el post sobre Phishing a MercadoPago y Banco Francés, un par de delincuentes tomaron el control de un servidor para alojar las páginas falsas de los sitios mencionados y además almacenar los datos personales y de tarjetas robados.
Ahora continuaremos analizando, los otros archivos que fueron encontrados en el servidor vulnerado, correspondiente a Shell PHP y Python.
El primero de varios archivos encontrados corresponde a una Shell PHP típica, que permite subir, descargar y modificar archivos en el servidor vulnerado, un FreeBSD en este caso:
Esta Shell no tiene nada de extraño y simplemente se puede señalar que su código está codificado y ofuscado para "evitar" su detección y análisis aunque de todos modos el archivo es detectado por algunos antivirus (18/46), motivo por el cual siempre hay que instalar un antivirus en Linux y BSD, no sólo en Windows.
A continuación procederemos a decodificar el archivo. Analizando la primera parte del mismo se ve lo siguiente:
Es fácil ver que la primera y última parte de la cadena enviada a la función "preg_replace" corresponde a código hexadecimal, por lo que procedemos a decodificarlo y pasarlo a formato string.
Lo que decodificado corresponde a:
Ahora ya sabemos que la cadena está comprimida con GZ/ZLIB y posteriormente codificada en Base64 por lo que es sencillo revertir el proceso (con gzinflate(base64_decode()) o crear una pequeña aplicación que permita obtener el código fuente original del archivo PHP.
Luego de desofuscar el código, el resultado es el siguiente:
Paradójicamente, el archivo decodificado es detectado por menos antivirus (13/46) que la versión comprimida.
Así como esta Shell PHP, el servidor contenía otra Shell Python, mucho más interesante y poderosa que analizaremos en detalle en la próxima entrega.
Cristian de la Redacción de Segu-Info
Ahora continuaremos analizando, los otros archivos que fueron encontrados en el servidor vulnerado, correspondiente a Shell PHP y Python.
El primero de varios archivos encontrados corresponde a una Shell PHP típica, que permite subir, descargar y modificar archivos en el servidor vulnerado, un FreeBSD en este caso:
Esta Shell no tiene nada de extraño y simplemente se puede señalar que su código está codificado y ofuscado para "evitar" su detección y análisis aunque de todos modos el archivo es detectado por algunos antivirus (18/46), motivo por el cual siempre hay que instalar un antivirus en Linux y BSD, no sólo en Windows.
A continuación procederemos a decodificar el archivo. Analizando la primera parte del mismo se ve lo siguiente:
Es fácil ver que la primera y última parte de la cadena enviada a la función "preg_replace" corresponde a código hexadecimal, por lo que procedemos a decodificarlo y pasarlo a formato string.
preg_replace("/.*/e","\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\x74\x65\x28\x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F\x64\x65\x28'7b1tVxs50jD8OXvO9R9Er3fanhhjm2
...
...
...
toyadLX6Dl6tDg3WxVxFoHhkj6Yn/xc='\x29\x29\x29\x3B",".");
Lo que decodificado corresponde a:
65 76 61 6C 28 67 7A 69 6E 66 6C 61 74 65 28 62 61 73 65 36 34 5F 64 65 63 6F 64 65 28 --> eval(gzinflate(base64_decode(
Ahora ya sabemos que la cadena está comprimida con GZ/ZLIB y posteriormente codificada en Base64 por lo que es sencillo revertir el proceso (con gzinflate(base64_decode()) o crear una pequeña aplicación que permita obtener el código fuente original del archivo PHP.
Luego de desofuscar el código, el resultado es el siguiente:
Paradójicamente, el archivo decodificado es detectado por menos antivirus (13/46) que la versión comprimida.
Así como esta Shell PHP, el servidor contenía otra Shell Python, mucho más interesante y poderosa que analizaremos en detalle en la próxima entrega.
Cristian de la Redacción de Segu-Info
Hola, me gustaría saber como hacen ese tipo de intrusión .. quizá me pueden enviar algún link para poder hacerlo !
ResponderBorrarCreo que ya a pasado un poco de tiempo de este post, pero me gustaría leer la segunda entrada referente a esto y si hay una tercer ya seria genial. Un saludo a Cristian
ResponderBorrar2da parte:
ResponderBorrarhttp://blog.segu-info.com.ar/2013/08/shell-python-weevely-en-servidores.html
Cristian
buena disculpe i otra forma de poder bajar el shell php porq es raro buscarlo donde tenerlo
ResponderBorrar