Malware em CPL

Transcrição

Malware em CPL
Um Relatório da Trend Micro
Malware em CPL
Itens de Painel de Controle Maliciosos
Fernando Mercês
Forward-Looking Threat Research Team
Trend Micro | Malware em CPL
Conteúdo
Introdução......................................................................................................................................3
Visão Geral do Ataque....................................................................................................................3
.Formato de Arquivo .CPL..............................................................................................................6
.Processo de Execução do .CPL........................................................................................6
Analisando Arquivos .CPL............................................................................................................10
Análise Estática................................................................................................................10
Análise Dinâmica..............................................................................................................11
Como os Cibercriminosos Usam os Arquivos .CPL.....................................................................13
No Brasil...........................................................................................................................13
No mundo.........................................................................................................................15
Conclusão....................................................................................................................................16
Apêndice......................................................................................................................................16
SOs Que Suportam a Execução dos Arquivos .CPL........................................................16
As 20 Principais Palavras Associadas com Cavalos de Troia Bancários em CPL...........17
AVISO LEGAL DA TREND MICRO
As informações fornecidas aqui são apenas para fins gerais e educacionais. Não se destinam e não devem ser interpretadas de forma a constituir um aconselhamento
jurídico. As informações aqui contidas podem não se aplicar a todas as situações e podem não refletir a situação mais atual. Nada aqui contido deve ser invocado ou
posto em prática sem o benefício da assistência jurídica com base nos fatos e circunstâncias específicos apresentados e nada aqui deve ser interpretado de outra
forma. A Trend Micro se reserva o direito de modificar o conteúdo desse documento a qualquer momento sem aviso prévio.
Traduções de qualquer material para outras línguas são apenas uma conveniência. A precisão da tradução não é garantida nem implícita. Se surgirem quaisquer
dúvidas relacionadas à precisão da tradução, consulte a versão oficial do documento na língua original. Quaisquer discrepâncias ou diferenças criadas na tradução
não são vinculativas e não têm efeito legal para efeitos de cumprimento ou imposição.
Apesar da Trend Micro fazer um esforço razoável para incluir informações precisas e atualizadas aqui, a Trend Micro não dá nenhuma garantia ou representação
de qualquer tipo para sua precisão, atualidade ou integridade. Você concorda que o acesso e uso e a confiança neste documento e ao seu conteúdo é por sua
conta e risco. A Trend Micro se isenta de todas as garantias de qualquer tipo, expressas ou implícitas. Nem a Trend Micro nem qualquer parte envolvida na criação,
produção e entrega desse documento é responsável por qualquer consequência, perda ou dano incluindo diretos, indiretos, especiais, consequentes, perda de
lucros comerciais ou danos especiais, por danos decorrentes de acesso, uso ou incapacidade de uso, ou em conexão com o uso deste documento, ou quaisquer
erros ou omissões no seu conteúdo. O uso dessas informações constitui uma aceitação para o uso em uma condição “como é”.
Trend Micro | Malware em CPL
Introdução
O CPL é um formato de arquivo executável que os cibercriminosos também usam para criar
malware atualmente. Existem arquivos .CPL não maliciosos, é claro, mas este trabalho de
pesquisa vai focar nos maliciosos, que a Trend Micro chama de “Malware em CPL”.
Decidimos estudar esse tópico devido ao número crescente de malware em CPL sendo criados
e distribuídos, especialmente no Brasil. Esses arquivos têm como principais alvos os clientes de
banco online (internet banking).
Visão Geral do Ataque
O Brasil é um produtor e alvo bem conhecido de Cavalos de Troia bancários, mais popularmente
conhecidos no país como “bankers”. Com base em relatórios e envios de ameaças de parceiros,
uma média de 40 novas ameaças visam clientes de bancos brasileiros todos os dias. Para escapar
das técnicas de detecção, os cibercriminosos parecem seguir esses passos quando lançam um
ataque envolvendo um malware em CPL:
1. Enviam um email falso (phishing) para potenciais vítimas. Os emails usam nomes de
organizações financeiras populares para induzir as potenciais vítimas a clicarem em um
link para baixar um recibo de pagamento, ver seu saldo de débitos ou
afins.
2. As vítimas baixam um arquivo comprimido (normalmente .ZIP) clicando
em um link presente no email. Os cibercriminosos usam links encurtados
que, quando clicados, baixam um arquivo no computador das vítimas.
E, como as versões recentes do Windows® são distribuídas com
programas nativos de descompressão, os usuários podem facilmente
abrir o aquivo anexado.
Figura 1: Exemplo
de arquivo .CPL
O arquivo comprimido pode conter um ou mais aquivos .CPL com
malicioso
nomes especialmente escolhidos para enganar os usuários e fazê-los
pensar que são legítimos. Esses nomes incluem as seguintes palavras em português
(veja o Apêndice com a lista das principais palavras relacionadas aos Cavalos de Troia
bancários em CPL):
•
Boleto/Fatura
•
NF-e: Sigla para “recibo eletrônico”, abreviação de “nota fiscal eletrônica”
•
Nota/Recibo: Recibo impresso
•
SPC: Organização responsável pela proteção de empresas contra inadimplentes
ou clientes que deixam de pagar suas dívidas
•
Serasa: Organização responsável exclusivamente por proteger os bancos contra
pessoas inadimplentes
1
Trend Micro | Malware em CPL
Figura 2: .Arquivos .CPL encontrados em um arquivo .ZIP que o Windows abre nativamente
3. As vítimas executam o arquivo .CPL. Um duplo clique em um arquivo .CPL pode ter vários
efeitos maliciosos. A maioria dos arquivos .CPL baixa variantes de Cavalos de Troia
bancários nos computadores das vítimas, mas alguns também contêm códigos maliciosos
completos, sem a necessidade de baixar novas ameaças.
Figura 3: Como o malware CPL trabalha
2
Trend Micro | Malware em CPL
Figura 4: Um email falso (phishing) acusando o destinatário de inadimplência com um link que, ao ser
clicado, baixa uma variante do TROJ_BANLOAD1
Apesar dos arquivos .CPL não serem novos, os analistas e o setor de segurança em geral sabem
muito pouco sobre eles.2 Mesmo a documentação oficial da Microsoft contém só umas poucas
páginas sobre o formato .CPL. A maioria das informações técnicas desse estudo foi obtida por
engenharia reversa de arquivos .CPL, loaders do Windows, e assim por diante.
1 Trend Micro Incorporated. (2014). Threat Encyclopedia. “TROJ_BANLOAD.” Último acesso em 7 de janeiro, 2014, http://aboutthreats.trendmicro.com/us/search.aspx?p=TROJ_BANLOAD.
2 Microsoft. (2014). Windows Dev Center—Desktop. “Implementing Control Panel Items.” Último acesso em 17 de janeiro, 2014,
http://msdn.microsoft.com/en-us/library/windows/desktop/cc144185%28v=vs.85%29.aspx.
3
Trend Micro | Malware em CPL
Formato de Arquivo .CPL
.CPL é a extensão do nome de arquivos de itens do Painel de Controle, ou dos ícones que
aparecem no Painel de Controle do Windows.3 Cada item ou ícone no painel de Controle do
Windows é usado para configurar uma parte do sistema. Os aplicativos do Windows hospedam
miniaplicativos (applets) CPL ou os miniprogramas que cada ícone do Painel de Controle executa.
Desde o Windows 3.x, alguns arquivos .CPL foram distribuídos com o SO, apesar dos
programadores poderem criar seus próprios arquivos .CPL para usar com seus programas.
Em resumo, um arquivo .CPL é uma biblioteca de vínculo dinâmico (.DLL) que:4
•
Usa o .CPL como nome de extensão do arquivo em vez do .DLL
•
Exporta uma função conhecida como “CPlApplet”5
•
Hospeda um ou mais miniaplicativos CPL
•
Cuida de mensagens especiais que a CplApplet recebe
Clicar duas vezes em um arquivo .DLL não resulta em execução porque os arquivos .DLL normais
precisam ser carregados por um programa. Porém, clicar duas vezes em um arquivo .CPL no
Windows automaticamente carrega um aplicativo.
Processo de execução do .CPL
Arquivos .CPL podem ser carregados no Windows através de diferentes métodos.
Primeiro, um usuário chama manualmente um arquivo .CPL usando a linha de comando
da interface, o principal arquivo executável do Painel de Controle ou control.exe, digitando
o seguinte:
control.exe file.cpl,@n,t
Na sintaxe acima, n se refere ao índice do miniaplicativo dentro do arquivo .cpl e o t
se refere ao índice da aba, usada nos miniaplicativos multiabas. Se você for abrir uma
segunda aba do primeiro miniaplicativo no main.cpl, o arquivo usado para configurar as
propriedades do mouse no Painel de Controle, você pode digitar o seguinte na linha no
Prompt de comando:
control.exe main.cpl,@0,1
3 Microsoft. (2014). Microsoft Support. “Description of Control Panel (.CPL) Files”. Último acesso em 7 de janeiro, 2014, http://
support.microsoft.com/kb/149648.
4 Microsoft. (2014). Microsoft Support. “What Is a DLL?” Último acesso em 7 de janeiro, 2014, https://support.microsoft.com/
kb/815065.
5 Microsoft. (2014). Windows | Dev Center—Desktop. “CPlApplet Entry Point”. Último acesso em 7 de janeiro, 2014, http://msdn.
microsoft.com/en-us/library/windows/desktop/bb776392(v=vs.85).aspx.
4
Trend Micro | Malware em CPL
O comando acima vai abrir a seguinte janela:
Figura 5: A segunda aba do miniaplicativo, aberta pelo control.exe
Um usuário também pode carregar um arquivo .CPL usando um script em VBScript como
o seguinte:
Dim obj
Set obj = CreateObject(“Shell.Application”)
obj.ControlPanelItem(“joy.cpl”)
O objeto shell possui um método ControlPanelItem que executa um item específico do
Painel de Controle (*.cpl). Se o aplicativo já estiver aberto, ele ativará a instância em
execução.
5
Trend Micro | Malware em CPL
Porém, os métodos de carregamento discutidos acima são manuais e podem não
ser os favoritos dos criadores de malware. Assim, a maioria dos arquivos .CPL são
automaticamente carregados com um duplo clique. O Windows tem funções não
documentadas como a “Control_RunDLL” e “Control_RunDLLAsUser” no shell32.dll que
carregam os arquivos .CPL nos computadores. O seguinte diagrama apresenta mais
detalhes:
Figura 6: O processo de carregamento do arquivo .CPL no Windows
O duplo clique em um arquivo .CPL também pode ser simulado emitindo o seguinte
comando:
rundll32.exe shell32.dll,Control_RunDLL file.cpl
A função Control_RunDLL tem os seguintes parâmetros:
•
Nome de arquivo .CPL
•
Índice do miniaplicativo
•
Índice da aba do miniaplicativo
A ideia da execução acima reflete uma execução não maliciosa, uma vez que o malware
em CPL não precisa abrir mais de um miniaplicativo ou miniaplicativos multiabas para
funcionar. Depois que o aplicativo é iniciado, o malware pode executar o código malicioso.
Antes de solicitar o índice do miniaplicativo CPL, a função CplApplet é chamada. Essa
função tem o seguinte protótipo:
LONG CPlApplet(
HWND hwndCPl,
UINT uMsg,
LPARAM lParam1,
LPARAM lParam2
);
6
Trend Micro | Malware em CPL
Note que o parâmetro uMSG é usado para enviar mensagens válidas, como as seguintes,
para a função CPlApplet que irá em seguida cuidar delas:
•
CPL_INIT
•
CPL_STOP
•
CPL_GETCOUNT
•
CPL_EXIT
•
CPL_INQUIRE
•
CPL_NEWINQUIRE
•
CPL_SELECT
•
CPL_STARTWPARMS
•
CPL_DBLCLK
A primeira mensagem enviada para a função CplApplet é a CPL_INIT. Depois de enviada,
um código dentro do arquivo .CPL é executado e deve retornar um valor diferente de
zero para a função chamadora, indicando uma inicialização bem sucedida. Todos os
códigos maliciosos podem residir dentro da função CPlApplet. O malware não precisa
mais continuar o processo de inicialização normal e esperar por diferentes mensagens.
Uma função CPIApplet não maliciosa, como a seguinte, deve cuidar de todas as
mensagens:
int CPlApplet(HWND hwndCPL, UINT message, LPARAM lParam1, LPARAM lParam2)
{
switch (message)
{
case CPL_INIT:
// run code;
return 1;
case CPL_GETCOUNT:
return 3; // 3 applets
case CPL_INQUIRE:
…
default:
return 0;
}
}
return 0;
O código malicioso, por sua vez, pode parecer com o seguinte:
int CPlApplet(HWND hwndCPL, UINT message, LPARAM lParam1, LPARAM lParam2)
{
// run malware code or drop another malware
return 1;
}
O código acima é válido do ponto de vista de programação. Ele ignora todos os parâmetros
recebidos e executa a parte maliciosa. Um analista de segurança deve entender todos os
conceitos acima para analisar adequadamente um arquivo .CPL malicioso.
7
Trend Micro | Malware em CPL
Já que um arquivo CPL é uma DLL, o malware não precisa esperar por uma chamada
à CplApplet. Sua função DllMain será chamada primeiramente pela função LoadLibrary,
portanto o código malicioso pode ser executado antes mesmo da CPlApplet, ainda na
DllMain:
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID
lpReserved)
{
// malicious code
return 0;
}
Alguns malwares em CPL comprimidos também usam o código dentro do DllMain para se
descomprimir.
Analisando os Arquivos .CPL
Análise Estática
Um arquivo .CPL é um arquivo .DLL, portanto, a especificação do formato PE32/PE32+
também funcionará com ele. Para identificar um arquivo .CPL, olhe para sua extensão
mesmo que isso pareça não confiável, já que é simplesmente parte do nome do arquivo
e pode não refletir seu tipo real. No entanto, sem a extensão .CPL, o arquivo não vai
carregar quando se clicar duas vezes nele.
Analisadores ou editores de arquivo PE comuns devem trabalhar bem com os arquivos
.CPL desde que não estejam comprimidos, criptografados ou usem técnicas de anti
engenharia reversa. Algumas funções CplApplet dos arquivos .CPL podem, por exemplo,
não serem exportadas adequadamente até que o arquivo seja carregado e descomprimido
em memória, no caso de arquivos comprimidos.
A análise estática deve ser similar à análise de um arquivo PE normal: as seções com
características estranhas podem ser verificadas, a entropia pode ser calculada, e assim
por diante. Não é comum ver um arquivo .CPL não malicioso criptografado ou comprimido.
Figura 7: Funções exportadas de um arquivo joy.cpl não malicioso nativo no Windows 7
8
Trend Micro | Malware em CPL
Análise Dinâmica
Apesar de poder ser um pouco complicado, é possível depurar o rundll32.exe ao chamar
a shell32.dll,Control_RunDLL para analisar o código dentro do arquivo .CPL. Para auxiliar
nesse esforço, criamos um programa com as seguintes opções:
Usage:
cpload [-m MESSAGE] <file.cpl>
If -m is present, MESSAGE should be:
Option
Message
------------------------init
CPL_INIT
getcount
CPL_GETCOUNT
inquire
CPL_INQUIRE
select
CPL_SELECT
dblclk
CPL_DBLCLK
stop
CPL_STOP
exit
CPL_EXIT
newinquire
CPL_NEWINQUIRE
startwparms
CPL_STARTWPARMS
Otherwise, cpload will send all messages to CPlApplet()
Usando o cpload, basta informar qual mensagem se deseja enviar para o arquivo CPL.
Outra opção é depurar o processo control.exe:
control.exe myfile.cpl
A vantagem do cpload é que o analista escolhe qual mensagem (ou sequência de
mensagens) quer enviar para o arquivo CPL.
9
Trend Micro | Malware em CPL
O cpload chama as funções LoadLibrary e CplApplet. Você precisa passar o caminho de
um arquivo .CPL como argumento e definir um breakpoint nas chamadas da LoadLibrary
ASCII e Unicode (isto é, BP LoadLibraryA e LoadLibraryW, respectivamente). Segue um
exemplo que usa o plug-in Command Bar do OllyDbg.
Figura 8: Caminho para um arquivo CPL passado como argumento. Breakpoint na chamada à
LoadLibraryW
A versão atual do cpload também é capaz de detectar a presença de um depurador e
parar automaticamente antes da chamada à função LoadLibrary.
10
Trend Micro | Malware em CPL
Como os Cibercriminosos Usam os Arquivos .CPL
Os arquivos .CPL são muito flexíveis. Eles podem ser usados para hospedar qualquer tipo de
aplicativo, malicioso ou não. Os cibercriminosos se aproveitam disso para espalhar diferentes
tipos de malware. Porém, a maioria dos malwares em CPL, especialmente no Brasil, atacam
clientes de bancos em busca de informações de contas.
Figura 9: Tipos de arquivos Cavalos de Troia bancários no Brasil,
recebidos entre março e novembro de 2013
A Trend Micro analisou e agora detecta mais de 4 milhões de diferentes arquivos .CPL maliciosos
através da infraestrutura da Trend Micro™ Smart Protection Network™. Observe os seguintes
dados interessantes sobre o este tipo de malware, entre 2011 e 2013.
Brasil
•
Primeira detecção de um malware em CPL genérico: 1º de maio, 2011
•
Primeira família de malware em CPL identificada: TROJ_SEFNIT6
•
Primeira amostra de TROJ_BANLOAD identificada: 18 de agosto, 2011
6 Trend Micro Incorporated. (2013). Threat Encyclopedia. “TROJ_SEFNIT.” Último acesso em 13 de janeiro, 2014, http://aboutthreats.trendmicro.com/Search.aspx?language=au&p=TROJ_SEFNIT.
11
Trend Micro | Malware em CPL
Figura 10: Número de detecções de malware em CPL no Brasil, de 2011 a 2013
Figura 11: Distribuição de famílias de malware em CPL, excluindo detecções genéricas, no Brasil, de
2011 a 2013
12
Trend Micro | Malware em CPL
No mundo
•
Primeira detecção de malware em CPL genérico: 1º de maio, 2011, no Japão
•
Primeira família de malware em CPL identificada: TROJ_KAZY nos EUA7
•
Número total de detecções de malware em CPL, inclusive genéricas, de 2011 a
2013: 20.697.046
•
Número de detecções de malware em CPL, excluindo genéricas, de 2011 a 2013:
12.410.977
Figura 12: Número de detecções de malware em CPL em todo o mundo de 2011 a 2013
Em um caso, um arquivo chamado “Cobrança.cpl”, detectado como o TROJ_BANLOAD.KMZ,
era baixado nos computadores depois que se clicava em um link presente num e-mail.8 O código
dentro do arquivo .CPL criava um arquivo chamado “taskhost.exe,” detectado como o TSPY_
BANKER.WAV.9 Esse malware se adicionava ao processo de autoinicialização do Windows e
abria o site da Microsoft. Na próxima vez que um computador fosse inicializado, o Cavalo de Troia
bancário também era executado.
7 Trend Micro Incorporated. (2013). Threat Encyclopedia. “TROJ_KAZY.” Último acesso em 13 de janeiro, 2014, http://aboutthreats.trendmicro.com/Search.aspx?language=au&p=TROJ_KAZY.
8 Trend Micro Incorporated. (2013). Threat Encyclopedia. “TROJ_BANLOAD.KMZ.” Último acesso em 13 de janeiro, 2014, http://
about-threats.trendmicro.com/malware.aspx?language=au&name=TROJ_BANLOAD.KMZ.
9 Trend Micro Incorporated. (2013). Threat Encyclopedia. “TSPY_BANKER.WAV.” Último acesso em 13 de janeiro, 2014, http://
about-threats.trendmicro.com/malware.aspx?language=au&name=TSPY_BANKER.WAV.
13
Trend Micro | Malware em CPL
Conclusão
Já vimos alguns surtos de malware em .SCR, .VBS e outros tipos de arquivos no Brasil antes.
Neste momento, estamos vendo um surto de malwares em CPL no país.
Como qualquer outro tipo de malware, as infecções podem ser evitadas. Observe as seguintes
características envolvendo arquivos .CPL:
•
Arquivos .CPL não são normalmente transferidos em rede.
•
Além dos aplicativos nativos do Windows, alguns fornecedores de drivers também enviam
com a instalação dos drivers arquivos .CPL para ter seus miniaplicativos no Painel de
Controle do Windows.
•
A maioria dos arquivos .CPL maliciosos que se originaram no Brasil parecem ter sido
escritos usando a linguagem de programação Delphi.
•
O malware em CPL é principalmente distribuído comprimido, usando o algoritmo Zip ou
RAR. Esses arquivos comprimidos, porém, normalmente só contêm arquivos .CPL. Mas
note que eles podem estar comprimidos ou criptografados quando distribuídos.
Como mostrado, a situação é crítica porque o número atual de arquivos .CPL maliciosos está
crescendo.
Os cibercriminosos podem fazer tudo com os arquivos .CPL. Eles podem distribuir de droppers a
instaladores de rootkits. Portanto, o .CPL é um formato de arquivo executável flexível com o qual
você deve se preocupar.
Apêndice
SOs Que Suportam a Execução dos Arquivos .CPL
•
Windows 2012
•
Windows XP
•
Windows 8
•
Windows ME
•
Windows 2008
•
Windows 98®
•
Windows 7
•
Windows NT
•
Windows 2003
•
Windows 95®
•
Windows Vista®
•
Windows 3.11
•
Windows CE
•
Windows 3.1
•
Windows 2000
14
Trend Micro | Malware em CPL
As 20 Principais Palavras Associadas aos Cavalos de Troia Bancários
em CPL
1. pdf
11.anexo
2. boleto
12.arqv
3. comprovante
13.fatura
4. fiscal
14.depósito
5. nf
15.cheque
6. nfe
16.via
7. nota
17.cobrança
8. visualizar
18.fotos
9. dsc (geralmente parte de nomes
arquivos de imagem como
“DSC0001.jpg”)
19.doc
10.eletrônica
20.comentariodevoz (comentário
de voz)
15
A Trend Micro Incorporated, líder global em software de segurança, se esforça
para tornar o mundo seguro para a troca de informações digitais. Nossas soluções
inovadoras para uso pessoal, empresas e governos fornecem segurança de conteúdo
em camadas para proteger informações em dispositivos móveis, endpoints, gateways,
servidores e nuvem. Todas as nossas soluções utilizam a tecnologia de inteligência
global de ameaças na nuvem, a Trend Micro™ Smart Protection Network™ e são
apoiadas por mais de 1.200 especialistas em ameaças em todo o mundo. Para mais
informações, visite www.trendmicro.com.br.
©2014, Trend Micro Incorporated. Todos os direitos reservados. Trend Micro e o logotipo
Trend Micro t-ball são denominações comerciais ou marcas registradas da Trend Micro
Incorporated. Todos os outros nomes de produtos ou empresas são denominações
comerciais ou marcas registradas de seus respectivos titulares

Documentos relacionados

clicando aqui - Trend Micro Simplesmente Segurança

clicando aqui - Trend Micro Simplesmente Segurança e podem não refletir a situação mais atual. Nada aqui contido deve ser invocado ou posto em prática sem o benefício da assistência jurídica com base nos fatos e circunstâncias específicos apresenta...

Leia mais