Por Matías Porolli, publicado em 19 de julho de 2016 – 14:30h
Se tivéssemos observado um mapa de detecções de malware no Brasil há um ano, teríamos visto que as duas principais ameaças de computador eram downloaders que instalavam cavalos de troia de operações bancárias e os próprios cavalos de troia de operações bancárias. Hoje em dia, a situação permanece a mesma, mas com um ingrediente extra especial: enquanto as ameaças costumavam ser arquivos .exe do Windows, agora arquivos .jar Java, Scripts Visual Basic e JavaScripts estão entre as 10 principais ameaças.
Para compreendermos essa mudança nas plataformas utilizadas pelos criminosos cibernéticos, vamos analisar neste artigo uma ameaça JavaScript e também uma ameaça Java.
Mas, primeiro, vejamos quais foram as 10 principais detecções de ameaças no Brasil nos cinco primeiros meses de 2016. A mais predominante é uma detecção genérica de scripts ofuscados. Mesmo que a capacidade destrutiva final possa variar, veremos a seguir uma conexão entre esse tipo de detecção e os cavalos de troia de operações bancárias. Apesar de não entrarmos em detalhes sobre as outras nove ameaças neste artigo, é interessante notar as várias diferentes linguagens de programação e plataformas que estão sendo usadas em ataques atualmente direcionados ao Brasil.
Nome da ameaça | Nível de predominância |
VBS/Obfuscated.G | 10,52% |
JS/Danger.ScriptAttachment | 4,60% |
VBS/Kryptik.FN | 3,50% |
Win32/Toptools.A | 3,09% |
JS/TrojanDownloader.Iframe.NKE | 2,66% |
Java/TrojanDownloader.Banload.AK | 2,24% |
Java/TrojanDownloader.Banload.AE | 2,18% |
Win32/Toptools.D | 2,18% |
JS/Adware.Agent.L | 2,09% |
JS/Toolbar.Crossrider.G | 2,06% |
Em particular, no laboratório de pesquisas de malware da ESET na América Latina, vimos uma campanha de malware em que as ameaças estão sendo hospedadas no serviço de nuvem MEO, baseado em Portugal.
Na maioria dos casos, essas ameaças são cavalos de troia de operações bancárias.
O método de propagação é realizado por meio de e-mails com um link para baixar o malware.
Podemos usar um destes arquivos como exemplo: Boleto_NFe_1405201421.PDF.js, detectado pela ESET como VBS/Obfuscated.G.
Embora o código do script seja ofuscado, a criptografia usada é fácil de reverter. Mesmo sem descriptografia, podemos ver que um arquivo disfarçado como um arquivo .jpg é baixado na pasta ProgramData com o nome flashplayer.exe, que em seguida é executado.
Esse arquivo – flashplayer.exe – é, por sua vez, um downloader de cavalo de troia de operações bancárias, que baixa e executa um terceiro executável denominado Edge.exe.
Esse executável é detectado como uma variante de Win32/Spy.KeyLogger.NDW. Porém, além de registrar os eventos de pressionamento de teclas, ele tem todas as funcionalidades de um banker.
Entre suas muitas características, ele obtém o endereço do site que o usuário está visitando e o verifica com base em uma lista de sites de operações bancárias usando a tecnologia DDE, conforme descrevemos no artigo Cómo reconstruir lo que envía un troyano desde un sistema infectado (Como reconstruir o conteúdo que um cavalo de troia envia de um sistema infectado).
A diferença é que, desta vez, o cavalo de troia inclui código para um número maior de navegadores, incluindo:
As cadeias são criptografadas com um algoritmo personalizado com base em XOR. Algumas delas podem ser vistas abaixo. Ele está claramente tentando roubar credenciais de acesso a sites de operações bancárias brasileiros.
Podemos ver como o crime cibernético está evoluindo no Brasil, migrando para novas plataformas e usando várias linguagens de programação em suas tentativas de evitar a detecção. Seus objetivos, no entanto, não mudaram muito: roubar credenciais de operações bancárias ainda é a forma de ataque mais lucrativa e, portanto, a mais comum.
Agora, ao examinarmos os serviços de nuvem usados para hospedar o malware JavaScript, descobrimos que eles também estavam hospedando outras ameaças de computador encontradas entre as 10 principais do Brasil. Em particular, descobrimos várias atividades relacionadas a arquivos mal-intencionados que foram detectadas pela ESET como Java/TrojanDownloader.Banload.AK.
Esses arquivos são executáveis .jar, com nomes como Boleto_Cobranca, Pedido_Atualizacao ou Imprimir_Debitos. Uma vez descompilados, obtemos um código ofuscado com nomes e métodos de variáveis extremamente longos:
Apesar dessa ofuscação, podemos ver algumas das importações na imagem. As últimas cinco classes importadas têm a ver com criptografia, pois utilizam o algoritmo simétrico DES. Portanto, se formos capazes de identificar os métodos de descriptografia e substituir os nomes desses métodos e variáveis por alternativas mais representativas, teremos algo como isto (comentários também foram adicionados):
A chave usada para a descriptografia é o nome da classe Java. Portanto, se adaptarmos o código em main, poderemos fazer com que o malware descriptografe todas as suas cadeias para nós. Na verdade, podemos analisar a classe main para procurar essas cadeias e, em seguida, transmitir essa lista ao nosso código modificado para realizar o processo de descriptografia.
Por fim, veremos algumas cadeias criptografadas e outras descriptografadas:
Sublinhamos o endereço IP do servidor contatado pelo malware. Observe que o servidor C&C varia nas diferentes amostras que analisamos. Um arquivo de Script Visual Basic é então criado e executado por cscript.exe.
É interessante notar que os arquivos analisados também têm mais características, que podem ser encontradas em outras importações. Uma das características mais interessantes do malware é a sua capacidade de detectar ambientes virtualizados, após o que ele realizaria uma autodestruição. Algumas outras funções baixam arquivos da Internet, como também pode ser visto no restante das importações:
Embora a diversidade de linguagens e plataformas usadas nos ataques de malware no Brasil seja notável, os objetivos dos criminosos cibernéticos e seus métodos de propagação permanecem os mesmos.
Os dois downloaders analisados até agora estavam sendo hospedados por um serviço de nuvem baseado em Portugal. Entretanto, encontramos um terceiro downloader, hospedado em um serviço de compartilhamento de arquivos diferente. Esse último é um script Visual Basic, o que nos mostra a diversidade de linguagens e plataformas usadas em ataques de malware no Brasil.
Todas essas ameaças usam o mesmo método de propagação – e-mails fraudulentos que fingem ser legítimos de bancos. Após o download do arquivo .vbs, podemos ver que ele é ofuscado:
A rotina principal desse script codificada em hexadecimal e ofuscada em XOR pode ser facilmente restaurada para o seu código original em Script Visual Basic. Esse código baixa um arquivo morto protegido por senha que é então extraído com outro aplicativo, também baixado pelo malware: 7za.exe. Embora não seja mal-intencionado em si, ele é usado para obter um executável do arquivo .zip baixado, que é então executado pelo script:
No comentário “link do seu do modulo” do trecho do código original acima, a palavra seu chamou a nossa atenção, fazendo-nos pensar que o script foi criado com um gerador de script ou que o código foi copiado de algum código de exemplo em outros locais, uma vez que ele não indica meu módulo.
Em relação ao arquivo que foi extraído e executado pelo script, a ESET o detectou como uma variante de Win32/Packed.Autoit.R, introduzindo ainda outra linguagem de programação. O executável, gerado a partir de um script AutoIt, não tem outra finalidade senão injetar um cavalo de troia de operações bancárias na memória. Em primeiro lugar, é criado um processo em um estado suspenso. Em seguida, sua imagem é substituída na memória pelo malware e, por fim, sua execução é retomada (essa técnica é conhecida como RunPE).
O executável injetado é detectado pela ESET como Win32/Spy.Banker.ACSJ, um cavalo de troia de operações bancárias escrito em Delphi (que se costuma ver no Brasil). Ele tem cadeias codificadas que usam o mesmo algoritmo personalizado para descriptografia que o banker anteriormente mencionado (instalado pelo downloader JavaScript).
Apesar de não discutirmos os detalhes desse cavalo de troia de operações bancárias neste artigo, vale mencionar que ele não usa a DDE, como no caso do banker instalado pela ameaça JavaScript.
Em vez disso, ele importa funções de oleaut32.dll a fim de automatizar tarefas mal-intencionadas sempre que detecta que a vítima está navegando em determinados sites de operações bancárias usando o Internet Explorer.
Quando a vítima navega em um site visado, esse cavalo de troia de operações bancárias carrega formulários falsos com imagens que são muito parecidas com as usadas em sites legítimos, com o objetivo de coletar credenciais de operações bancárias e informações sobre contas.
Original: http://www.welivesecurity.com/2016/07/19/malicious-scripts-gaining-prevalence-brazil /