1: si alguien tiene acceso a su servidor, nada de esto ayudará. Si la aplicación puede hacer una consulta a la base de datos, la aplicación puede cambiarse para hacer una consulta arbitraria.
Una cosa que puede hacer es usar cuentas de base de datos separadas para, por ejemplo, leer y escribir, o para información confidencial y no confidencial. Entonces, la inyección de SQL solo comprometerá a uno de ellos, aunque eso realmente no te compre mucho.
2: Alguien obtiene el privilegio de root de una cuenta de usuario mediante el uso de un "ataque de escalada de privilegios". Pueden explotar una vulnerabilidad de kernel o controlador, un programa setuid inseguro o adivinar la contraseña de root. Tenga en cuenta que un atacante no necesita necesariamente acceso a la raíz para causar daños: con una cuenta de usuario, generalmente pueden leer sus datos, configurar la persistencia, pasar a otros servidores, etc. Probablemente no puedan obtenga las contraseñas de su sistema operativo, instale un rootkit del kernel o borre los registros, así que definitivamente hay algunas ventajas para obtener root.
3: se trata de un hash de contraseña, no de cifrado de contraseña. Hashcat es probablemente la herramienta más popular, pero una herramienta más antigua que podrías investigar se llama "John the Ripper" (preferiblemente con el "parche Jumbo").