Estoy de acuerdo con el comentario anterior, una vez que el servidor haya sido comprometido, debe comenzar considerando todos los datos, archivos y procesos en el servidor como contaminados. Y como se mencionó anteriormente, reinicia otra vez.
Si puede identificar exactamente lo que se ha comprometido (de lo que no lo ha hecho), entonces probablemente podría realizar una restauración parcial. Pero si este no es el caso, apégate a la recomendación anterior.
En términos de datos (texto), es de esperar que tengas una copia de seguridad que no haya sido manipulada por el ataque. Pero tenga mucho cuidado de no confiar en los datos (texto), ya que he visto páginas web que incluyen comandos bot, disfrazadas de etiquetas html.
Para analizar un sitio web, piense primero en los diferentes componentes que utiliza. Como se indica: PHP, CPanel, base de datos (como mencionó inyección SQL). Luego agregue los otros componentes, como el servidor web (¿está ejecutando Apache web, Tomcat o algo más?), El proceso de autenticación que está utilizando (es la autenticación de resumen HTTP o puede estar usando LDAP). ¿Cuál es la política de contraseña para su sitio web? Una vez que tenga una lista de los diferentes componentes, verifique su configuración y / o estado de parches (¿todo actualizado?).
Para adoptar un enfoque más completo para revisar la seguridad de su sitio web, también acepto comentarios anteriores sobre el uso del sitio web de OWASP. Tienen muy buenos documentos y herramientas para ayudarte. Comenzaría con el OWASP Top 10 Web Security Security Risks para brindarle una idea general de los problemas que se encuentran comúnmente en los sitios web. Luego usaría la Guía de prueba de OWASP mencionada anteriormente, que es más detallada y enumera herramientas y ejemplos de ataques.
También considere usar OpenVAS Vulnerability Scanner (openvas.org) y NMAP Security Scanner (nmap.org). Estas herramientas son muy potentes y fáciles de configurar. NMAP le proporcionará una lista de puertos abiertos en su servidor web (de modo que puede preguntar si esos puertos deberían estar abiertos y qué procesos se están ejecutando en los puertos), mientras que OpenVAS prueba las vulnerabilidades en esos puertos (también puede ejecutar OpenVAS localmente para busque problemas no relacionados con el puerto).
Por último, busque primero los problemas de 'fruta baja'. Comience a preguntar si hay una contraseña débil o un servicio mal configurado que puede ser utilizado por el atacante para dañar su servidor. Los atacantes usualmente buscan estas cosas primero ... y desafortunadamente funcionan muchas veces.
Buena suerte,