¿Qué tipo de ataque puede restablecer los privilegios de MySQL y desmontar unidades remotas sin root o shell?

4

VECTOR DE ATAQUE
Golpes mensuales a través de un ataque DDoS global. Resuelto con Cloudflare.

El atacante ahora puede desmontar de alguna manera los enlaces de unidad de red y restablecer los permisos de usuario de MySQL para aplicaciones.

El ataque se resuelve simplemente emitiendo estos comandos:

GRANT ALL PRIVILEGES ON application.* TO application_user;
FLUSH PRIVILEGES;

También necesito volver a montar la unidad remota usando sshfs

DESCRIPCIÓN DEL SISTEMA
Mi sistema funciona con 2 servidores.

Un servidor tiene MySQL, Memcache, Nginx y una gran cantidad de contenido estático.
El servidor B tiene Apache, PHP5-FPM y monta la unidad estática desde A para servir contenido compartido. Esto es para fines de imagen.

Un servidor y un servidor B solo hablan en los puertos 80 y 443 a Cloudflare porque hemos sido DDoS'd antes. Que yo sepa, sus verdaderas direcciones IP son desconocidas.

Un servidor NO permite conexiones externas en 3306 para CUALQUIER usuario.
Todas las contraseñas de MySQL tienen 32 caracteres de longitud e incluyen caracteres no alfanuméricos ($ @ _ '")
Las contraseñas de los usuarios NO cambian y el atacante NUNCA ha podido proporcionarme pruebas de que puede leer la base de datos.

Los servidores A y B no aceptan SSH en el puerto 22 y sus contraseñas tienen 64 caracteres no alfanuméricos. Nunca he visto registros que muestren que se haya realizado una conexión desconocida.

Los usuarios de nivel de aplicación no tienen la capacidad de acceder a mysql.user y no pueden realizar cambios en esta tabla. Es poco probable que se produzca una inyección de SQL porque el atacante no elimina las tablas.

    
pregunta Josh 04.03.2015 - 05:06
fuente

1 respuesta

1

Un reinicio del servidor A .

¿Cuál es el tiempo de actividad del servidor A? ¿Es posible que esté teniendo un error de disco / se reinicie? En ese caso, el montaje sshfs obviamente requeriría un nuevo montaje. Y a veces hay scripts de arranque que podrían restablecer algunas credenciales a las predeterminadas ...

PS: no necesitas el FLUSH PRIVILEGES cuando usas la instrucción GRANT . Solo cuando se cambia directamente la tabla mysql.user ( INSERT , UPDATE ...) es necesario.

    
respondido por el Ángel 25.05.2015 - 22:54
fuente

Lea otras preguntas en las etiquetas