Há dois anos atrás a ESET divulgou algumas informações sobre o vírus Win32/Induc.A que infectava ficheiros Delphi aquando da compilação. Apesar de não ser muito avançado de um ponto de vista técnico, o vírus não deixava de ser interessante, porque ao invés de infectar ficheiros executáveis directamente, tinha como alvo a biblioteca standard do popular ambiente de programação Delphi. Como resultado, qualquer aplicação compilada com um IDE Delphi infectado, estava comprometida. Talvez o criador deste vírus se tenha inspirado num documento de 1984, escrito por Ken Thompson, que descrevia uma infecção similar utilizando um método que modificava o compilador de C. 

Apesar deste malware apenas afectar instalações com o Delphi presente, começou a espalhar-se com sucesso por todo o mundo utilizando um número alargado de aplicações escritas nesta linguagem (incluindo, ironicamente alguns exemplos de malware).

Mas para alem de um curioso mecanismo de infecção, o vírus Induc.A não tinha qualquer outro payload malicioso.

Contudo, dois anos mais tarde tudo mudou, com o aparecimento de novas variantes.

Em Julho de 2011, a ESET detectou pela primeira vez o Induc.B. Esta versão era bastante similar à antecessora em virtude de continuar a não incluir um payload genuinamente malicioso. Contudo todo o código havia sido reescrito e existiam algumas alterações consideráveis.

À semelhança do Win32/Induc.A, o Win32/Induc.B afecta as versões 4.0 a 7.0 do Delphi. Porém, o Induc.B é mais inteligente a encontrar a pasta onde o ambiente de programação foi instalado, sendo a mesma localizada ainda que o IDE já não se chame Delphi. Para alem disso consegue também infectar o Borland Developer Studio (BDS) e Codegear BDS.

Foram também introduzidas algumas técnicas de anti-debugging. Foi utilizada alguma encriptação simples em XOR para “mascarar” o código, tornando a análise um pouco mais difícil.

Por outro lado, o mecanismo de infecção manteve-se o mesmo – recompilando a biblioteca standard Delphi SysConst.pas após introduzir o código do vírus.

Contudo, as ultimas variantes do vírus, Win32/Induc.C, introduziram alterações bastante mais significativas, tendo a ESET descoberto esta variante no passado mês de Agosto. O código é completamente diferente dos seus antecessores e a única semelhança reside no facto de infectar Delphi. Porém, o mecanismo de infecção mudou e se anteriormente apenas as aplicações em Delphi eram comprometidas (aquando da compilação), foi adicionado um novo vector de infecção que ataca os ficheiros executáveis (.exe). A mudança mais significativa é a presença de uma função que permite efectuar downloads. O Induc.C cria uma backdoor através da qual outro malware pode ser descarregado para o computador e executado, expandindo em larga escala as capacidades desta infecção.

Código malicioso introduzido no SysInit.pas

 

Em resumo, aqui estão algumas das novas funcionalidades e alterações no Win32/Induc.C:

  • O algoritmo que localiza a pasta de instalação Delphi foi alterado. Ao invés de obter o caminho através do Registo do Windows, conduz uma pesquisa pelos discos rígidos presentes no computador.
  • A biblioteca alvo para a infecção já não é a SysConst.pas, mas sim a SysInit.pas e os mecanismos de infecção são mais eficazes.
  • O Induc.C tem a capacidade de infectar ficheiros executáveis que não tenham sido compilados por um ambiente Delphi comprometido. Este vector de infecção é utilizado em executáveis presentes em dispositivos amovíveis, como pen drives, que poderão ajudar o vírus a espalhar-se de um modo mais global do que as versões anteriores.
  • O vírus foi programado para se tentar ligar a três URLs. O mecanismo de download foi implementado de um modo pouco ortodoxo. As ligações apontam para ficheiros JPG (avatars de utilizadores em fóruns de discussão), dentro dos quais está um URL encriptado. O URL é escondido dentro da secção EXIF da imagem JPG e aponta para malware adicional, executando-o à posteriori.
  • Um malware especifico que o Induc.C descarrega é um password stealer que a ESET detecta como Win32/PSW.Delf.NQS. Ele pode ser utilizado para a obtenção de acesso a servidores FTP privados, sendo capaz de extrair palavras-passe de diversas aplicações FTP.
  • O Induc.C envia um ID único do PC infectado para um computador remoto. Isto permite ao cibercriminoso acompanhar as infecções e criar uma botnet.
Um dos Avatars decarregados

 Posto isto, ao serem comparadas as diferentes versões do vírus, torna-se notório que as primeiras versões do Induc estavam numa espécie de fase Beta de desenvolvimento, em que o autor experimentou métodos inovadores de infecção. Por outro lado, a nova variante, Induc.C é um malware com objectivos notoriamente ilícitos.

Debug do código de infecção no OllyDbg

Como já havíamos referido, a família de malware Induc tem vindo a espalhar-se de uma forma activa, como se confirma pelas estatísticas obtidas através da tecnologia ESET Live Grid (uma versão optimizada do sistema ThreatSense.Net baseado na cloud).

Estatísticas de detecção para todas as variantes do Induc

Podemos verificar que o vírus se tem espalhado a nível global, sendo detectado mais vezes na Rússia, seguindo-se a China. Importa salientar que também se tem vindo a detectar um numero consideravelmente significativo nos Estados Unidos.

Com a nova variante, Win32/Induc.C, os números são diferentes e interessantes de se analisarem:

Estatísticas de detecção para a variante Induc.c

O numero mais alto de detecções desta infecção foi obtido na Eslováquia e na Rússia.

A ESET vai continuar a monitorizar a evolução deste vírus e a fornecer protecção para todas as variantes desta infecção. Esta ultima variante representa uma ameaça bastante mais significativa que os seus antecessores.

Robert Lipovsky – Malware Researcher

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

*