Debido a una vulnerabilidad en la forma en que se instaló PHP (VPS compartido con PHP instalado como un módulo de Apache en lugar de CGI) y, por lo tanto, cómo se configuró OSCommerce (con la seguridad de 777 en ciertos directorios), encontré una serie de scripts PHP en un servidor web de amigos que había sido cargado por hackers. El código real se ocultó utilizando varias capas de cifrado. Tenían un archivo PHP con una gran cadena asignada a una variable $ str. Luego utilizaron la siguiente línea para descifrar la cadena en un código PHP malicioso e intentaron ejecutarlo visitando la página. La declaración utilizada para descifrar la cadena codificada fue eval(gzinflate(str_rot13(base64_decode($str))));
No pueden ejecutar el código desde este directorio ahora porque hay un archivo .htaccess que impide la ejecución de los scripts de esa carpeta que se colocó desde que descubrimos que el sistema estaba comprometido, esta es una solución temporal, pero probablemente no la mejor.
Ejecuté este script en un vm de Linux que se ejecuta en mi Mac al mismo tiempo que modificaba la declaración anterior a echo(gzinflate(str_rot13(base64_decode($str))));
para que pudiera ver el código fuente. Lo puse en pastebin por el interés de la gente aquí.
Pegue la fuente de la página pirateada
Por lo que puedo deducir, este parece ser un script bastante sofisticado que intenta todo tipo de trucos para obtener acceso a su servidor, pero no estoy lo suficientemente familiarizado con PHP para identificar todas las vulnerabilidades que esto podría intentar explotar. ¿Qué controles debo realizar en mi sistema si puedo asumir que lograron ejecutar esto en algún momento en el pasado?