Análise do MPack

A Panda Labs publicou no mês passado uma análise detalhada do MPack, a ferramenta por trás do comprometimento de 10 mil Web sites este mês na Itália e que está se espalhando em sites da Europa. Os detalhes técnicos estão todos no relatório completo que vale ser a pena ser lido, mas abaixo vai um resumo do seu funcionamento e como sempre os meus comentários.

O MPack é uma aplicação Web, escrita em PHP e MySQL, que funciona como uma central de distribuição de malware. Ele foi desenvolvido na Rússia (onde mais?), e encontrado pela primeira vez no mercado underground em dezembro de 2006. Desde então novas versões tem sido encontradas todos os meses, produzidas aparentemente pelos mesmos autores. O código é de qualidade profissional e inclui até um "painel de controle" com as estatísticas das infecções realizadas com sucesso.

Painel de Controle do MPack. Fonte: Panda Labs 

Um ataque com o MPack funciona da seguinte forma:

1. Sites web populares são invadidos, usando uma vulnerabilidade qualquer, e o invasor acrescenta nas páginas Web um frame inline (IFRAME) com um link para o site do MPack. Note que assim nenhum software malicioso fica hospedado no site invadido.

2. Quando o usuário acessa o site Web ele recebe o IFRAME, e automaticamente (e de forma invisível) acessa o servidor do MPack.

3. O MPack identifica o browser e o sistema operacional usados usuário e tenta invadí-los enviando um conjunto de ataques. O MPack é capaz de identificar os principais browsers e sistemas do mercado, e tem um banco de dados com os exploits que podem ser usados para cada combinação.

4. Se o ataque é bem sucedido, o MPack envia o malware que ele quiser para ser instalado no computador da vítima. O pacote do MPack vendido pelos russos (US$ 1000) contém também o DreamDownloader, uma ferramenta que permite criar o executável que faz o download do malware.

O MPack é uma séria ameaça porque com ele é possível criar e gerenciar de forma fácil uma vasta rede de distribuição de malware,  composta de sites teoricamente legítimos. Da mesma forma que o dono de uma botnet comanda uma multidão de computadores escravos, o MPack pode controlar centenas ou milhares de páginas infectadas. Com isso por exemplo a velocidade com que novos exploits vão começar a ser usados aumenta muito. Depois que alguma vulnerabilidade é divulgada, os atacantes simplesmente precisam incluir o novo ataque no banco de dados do seu servidor MPack e voilà! todos os sites Web da sua rede de distribuição já estão atualizados com o novo tipo de ataque.

Outra consequência é a de que agora o custo para atacar combinações menos populares de navegador e sistema operacional cai bastante. Para atacar a nova vulnerabilidade do browser X ou Y basta eu acrescentar o exploit no banco de dados do MPack. Por sinal vale lembrar que o atacante nem precisa se preocupar em desenvolver o exploit - os criadores do MPack vendem uma assinatura mensal onde eles enviam aos clientes atualizações regulares com os novos ataques.

Os ataques do MPack têm duas vítimas. A primeira é o dono do Web site, que provavelmente nem suspeita que a sua página está sendo usada como meio de distribuição de software malicioso. E como o software malicioso não fica no site Web a detecção do ataque fica muito difícil - como suspeitar de um inocente IFRAME colocado no emaranhado de código HTML?

A outra vítima, é claro, é o usuário que tem o seu computador invadido. Para este ficam duas lições. A primeira é que não existem mais sites "confiáveis", se é que um dia eles existiram, e o conselho de "somente navegue em sites confiáveis" perdeu totalmente o sentido. Todo site é potencialmente hostil. A segunda e mais importante é que todo software instalado no seu computador precisa ser mantido atualizado. Um dos exploits mais efetivos usados pelo MPack explora uma vulnerabilidade no WinZip, corrigida em novembro de 2006 mas ainda muito popular porque o WinZip não tem nenhum mecanismo de auto-atualização.

Falando nisso, quando foi a última vez que você atualizou o seu WinZip?