Como a porra do bug do MySQL ferrou com o meu final de semana

Tags: , , , , , , , , ,

A galera que trabalha com segurança, servidores Web e bancos de dados ficou estarrecida quando soube que era possível acessar como ROOT um banco de dados MySQL, e remotamente, com o seguinte comando:

$ for i in `seq 1 1000`; do mysql -u root –password=bad -h 127.0.0.1 2>/dev/null; done

Mas como assim ?! Um simples for  dava acesso ao MySQL ? A resposta era sim e uma série de testes foram feitos. Muita gente teve o seu banco de dados MySQL comprometido, perdendo dados e mais dados.

Empresas de hosting iniciaram algumas horas depois da divulgação da vulnerabilidade uma verdadeira operação de guerra. Vários de seus colaboradores tinham começado o processo de bloqueio remoto aos bancos de dados – Deny all 3306. Agendaram janelas de manutenção para implementação de patches de correção liberados pela Oracle – hoje, detentora do MySQL e aí começou o inferno de muita gente.

Colocar uma regra no firewall – Deny all 3306 de uma hora para outra é simples, o problema é que uma série de aplicações fazem acesso remoto ao banco. E aí, o que fazer ? Mapear IP por IP que deverá acesso o banco e isso, meus amigos, é um trabalho de corno, para o cão que chupa manga.

Validar ip por ip em uma cama de milhões é um porre, mas tivemos que fazer. O mais engraçado foi a implementação do patch, pois descobrimos uma porrada de banco em back level, e aí foi um Deus nos acuda.

Mas agora está tudo mais calma, sem grandes incidentes, mas com uma certeza – ainda tem muita vulnerabilidade tosca que será descoberta por aí e que conseguirá te dar um puta trabalho. 🙂

COMPARTILHE ESTE ARTIGO

COMENTÁRIOS

6 comentários em “Como a porra do bug do MySQL ferrou com o meu final de semana

  1. Marcos

    Esse comando seria usado aonde? url do site? ssh?

    É o comando final de um exploit?

    Não entendi..

  2. Thiago

    Comigo isso nao funcionou, mesmo em ambientes que a função memcmp retornam inteiros fora da faixa de -128 a 127. Porque esse exploit é por conta da verificação de hash que o mysql faz.

  3. Marcos

    Testei aqui e o exploit não funcionou.. o que pode ser?

    Erro que da: /bin/sh: mysql: not found

    Tem que por o IP juntamente da porta?

DEIXAR UM COMENTÁRIO

MENU