Um pouco de fundo: Acabamos de invadir nosso sistema de PBX. O servidor em si parece seguro (sem acesso não autorizado ao console - SSH etc), mas de alguma forma os hackers conseguiram injetar um novo usuário administrador no software PBX (FreePBX, suportado pelo MySQL). Os logs do Apache sugerem que os hackers conseguiram adicionar o usuário sem usar a interface da web (ou qualquer exploração na interface da web).
Agora, eu descobri que o MySQL estava rodando sem uma senha root (!!) e abertamente ligado ao endereço IP externo (Obviamente, eu bloqueei isso agora). No entanto, o único usuário de nível raiz no MySQL era 'root'@'localhost'
e 'root'@'127.0.0.1'
, sendo que ambos deveriam estar acessíveis apenas localmente.
Então, minha pergunta é a seguinte:
Existe uma maneira de falsificar uma conexão com o MySQL para permitir a conexão com o usuário 'root' @ 'localhost' a partir de um endereço IP remoto, SEM executar qualquer outra exploração localmente?
Para referência, a caixa é Centos 5 (Linux 2.6.10) executando o Mysql 5.0.95.