Essa fraude tinha o objetivo de atingir os clientes do Banco Real Santander que utilizam o serviço de Internet Banking.
No dia 07/11/2010 recebi uma mensagem de spam phishing que continha os campos “De: atendimento@mail.real.com” e “Assunto: Atualização de Segurança Banco Real Santander.”.
Havia um link na mensagem que apontava para a URL:
http://www.danseavecnousbordeaux.com/includes/gal_079/medium/RealWebSecure/SecureWebReal.php?codcliente=72429
Ao clicar no link foi solicitado o download do arquivo:
Nome: Real-SecureWeb.exe (Trojan-Banker.Win32.Banker2.aew)
MD5: 2f0ece4c716a7be1d41d1b9803b27b05
O primeiro passo da análise foi identificar se o executável possuía algum tipo de compactador, isso pode ser feito utilizando o Exeinfo PE.
Como podemos ver, o arquivo Real-SecureWeb.exe foi compactado com o WinZip Sfx (Self-extracting). O módulo Sfx do WinZip permite descompactar arquivos automaticamente sem a necessidade de outros programas, o próprio executável carrega o módulo de descompactação.
Sendo assim possivelmente quando executado o Real-SecureWeb.exe deve descompactar outro(s) arquivo(s).
Para monitorar a execução do malware no sistema operacional, utilizei a ferramenta Process Monitor da Microsoft, anteriormente na Sysinternals.
Process Monitor é uma ferramenta de monitoramento para Windows que mostra em tempo real atividades de sistema, arquivos, registro, processos e threads. Com ela é possível criar filtros para exibir apenas determinados processos e obter muitas informações do que está acontecendo no ambiente.
Executei o Process Monitor, ativei a captura de todos os processos e executei o Real-SecureWeb.exe para descobrir suas interações com o sistema operacional.
O malware entrou em execução e apresentou três janelas:
Podemos ver que esse malware pretende capturar todas as informações possíveis das vítimas, até o Nome do Pai, Profissão e Empresa Atual.
Digitei informações fictícias em todas as telas e fui até o final, quando cliquei em “Confirmar” o malware exibiu uma mensagem de verificação dos dados e desapareceu.
Agora era hora de verificar os logs do Process Monitor para descobrir quais atividades ele executou no sistema operacional.
Foram gerados 1739 eventos relativos ao malware, o log com todos pode ser baixado aqui.
Analisarei apenas os principais eventos para entendermos o funcionamento do malware.
Conforme a imagem abaixo, vemos na janela do Process Monitor várias colunas:
Time of Day, Process Name, PID, Operation, Path, Result, Detail
Para facilitar a leitura listarei somente as colunas: Time of Day, Process Name e Operation. Path, Result e Detail serão exibidas quando necessárias.
Então vamos começar!
03:08:27,7929130,"Real-SecureWeb.exe","Process Start" 03:08:27,7929161,"Real-SecureWeb.exe","Thread Create" |
O processo é criado com o nome Real-SecureWeb.exe |
03:08:27,8509919,"Real-SecureWeb.exe","Load Image","C:\...\system32\kernel32.dll" 03:08:27,8523351,"Real-SecureWeb.exe","Load Image","C:\...\system32\advapi32.dll" 03:08:27,8525857,"Real-SecureWeb.exe","Load Image","C:\...\system32\rpcrt4.dll" 03:08:27,8528159,"Real-SecureWeb.exe","Load Image","C:\...\system32\secur32.dll" 03:08:27,8532408,"Real-SecureWeb.exe","Load Image","C:\..\system32\gdi32.dll" 03:08:27,8534743,"Real-SecureWeb.exe","Load Image","C:\...\system32\user32.dll" 03:08:27,8537814,"Real-SecureWeb.exe","Load Image","C:\...\system32\msvcrt.dll" |
O malware carrega algumas DLLs que irá utilizar, são os Imports. |
03:08:27,8822381,"Real-SecureWeb.exe","CreateFile", "C:\Documents and Settings\user\Configurações locais\Temp\IXP000.TMP", "NAME NOT FOUND","Desired Access: Read Attributes, Delete, Synchronize, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a" |
Apesar do nome dessa operação ser Create File, pelos detalhes vemos que a função desejada era de Abrir esse diretório. Como resposta o comando retornou que não foi encontrado. |
03:08:27,8825808,"Real-SecureWeb.exe","CreateFile", "C:\Documents and Settings\user\Configurações locais\Temp\IXP000.TMP", "SUCCESS","Desired Access: Read Data/List Directory, Synchronize, Disposition: Create, Options: Directory, Synchronous IO Non-Alert, Attributes: N, ShareMode: Read, Write, AllocationSize: 0, OpenResult: Created" |
Como não foi encontrado esse diretório anteriormente, dessa vez ele criou com sucesso. |
03:08:27,9536312,"Real-SecureWeb.exe","ReadFile", "C:\Documents and Settings\user\...\Real-SecureWeb.exe", "SUCCESS","Offset: 83.456, Length: 16.384, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O" |
Lê um determinado Offset do próprio arquivo Real-SecureWeb.exe |
03:08:27,9544827,"Real-SecureWeb.exe","QueryOpen", "C:\Documents and Settings\user\Configurações locais\Temp\IXP000.TMP\Real.exe", "NAME NOT FOUND","" |
Tenta abrir o arquivo Real.exe dentro do diretório criado anteriormente mas recebe mensagem que o arquivo não existe. |
03:08:27,9547230,"Real-SecureWeb.exe","CreateFile", "C:\Documents and Settings\user\Configurações locais\Temp\IXP000.TMP\Real.exe", "SUCCESS","Desired Access: Generic Write, Read Attributes, Disposition: OverwriteIf, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: None, AllocationSize: 0, OpenResult: Created" |
Cria o arquivo Real.exe com a opções de sobrescrever caso já exista. |
03:08:27,9553554,"Real-SecureWeb.exe","ReadFile","C:\Doc...\Real-SecureWeb.exe" 03:08:27,9572141,"Real-SecureWeb.exe","WriteFile","C:\...\Temp\IXP000.TMP\Real.exe" |
Esse tipo de evento ocorre várias vezes no log, lê o arquivo Real-SecureWeb.exe e escreve no Real.exe. O que podemos entender por isso? É o processo de descompactação do Winzip Sfx, está gerando outro arquivo a partir do arquivo original. |
03:08:27,9863432,"Real-SecureWeb.exe","ReadFile","C:\Doc...\Real-SecureWeb.exe" 03:08:27,9873914,"Real-SecureWeb.exe","WriteFile","C:\...\Temp\IXP000.TMP\Reals.exe" |
Está realizando o mesmo procedimento anterior, só que agora está criando um outro arquivo, o Reals.exe. Esse é o segundo arquivo que estava compactado no arquivo original. |
03:08:28,1146036,"Real-SecureWeb.exe","Process Create","C:\.\IXP000.TMP\Real.exe" 03:08:28,1146070,"Real.exe","Process Start","","SUCCESS","Parent PID: 3204" 03:08:28,1146095,"Real.exe","Thread Create","","SUCCESS","Thread ID: 3212" |
Aqui o processo original inicia um novo processo executando o arquivo Real.exe, o primeiro que foi descompactado, e então o Real.exe entra em ação exibindo a primeira janela do malware que já vimos anteriormente. Até aqui vemos que pela coluna de Time foi gasto menos de 1 segundo para realizar todas essas tarefas. |
03:10:45,1509465,"Real.exe","CreateFile","C:\indentificando.txt" 03:10:45,1523162,"Real.exe","WriteFile","C:\indentificando.txt" 03:10:45,1529191,"Real.exe","CloseFile","C:\indentificando.txt" |
O processo Real.exe cria o arquivo identificando.txt em C:\ |
03:10:51,6317191,"Real.exe","Thread Exit" 03:10:51,6328494,"Real.exe","Process Exit" |
Novamente pela coluna de Time dessa vez vemos que o processo se encerrou cerca de 2 minutos e 23 segundos após ser criado. Esse foi o tempo gasto para digitar as informações nas três telas do malware. |
03:10:51,6474898,"Real-SecureWeb.exe","Process Create","C:\.\IXP000.TMP\Reals.exe" 03:10:51,6474931,"Reals.exe","Process Start" 03:10:51,6474956,"Reals.exe","Thread Create" |
O Real-SecureWeb.exe reassume o controle e dessa vez executa o segundo arquivo descompactado Reals.exe. |
03:10:51,7250893,"Reals.exe","ReadFile","C:\indentificando.txt" 03:10:51,7263682,"Reals.exe","CloseFile","C:\indentificando.txt" |
O Reals.exe lê o arquivo identificando.txt que foi anteriormente criado pelo Real.exe. |
03:10:51,7282791,"Reals.exe","Load Image","C:\WINDOWS\system32\mswsock.dll" 03:10:51,7337214,"Reals.exe","Load Image","C:\WINDOWS\system32\wshtcpip.dll" 03:10:51,7371456,"Reals.exe","Load Image","C:\WINDOWS\system32\dnsapi.dll" |
São carregas várias DLLs referentes à funções de rede. |
03:10:51,7551440,"Reals.exe","SetDispositionInformationFile","C:\indentificando.txt", "SUCCESS","Delete: True" |
O arquivo identificando.txt é apagado. |
03:10:51,7663873,"Reals.exe","4016","Thread Exit" 03:10:51,7667714,"Reals.exe","4016","Process Exit" |
O processo Reals.exe é finalizado. |
03:10:51,7780824,"Real-SecureWeb.exe","SetDispositionInformationFile", "C:\...\Temp\IXP000.TMP\Real.exe","SUCCESS","Delete: True" |
Novamente o processo Real-SecureWeb.exe está no comando e apaga o arquivo Real.exe. |
03:10:51,7933921,"Real-SecureWeb.exe","CreateFile","C:\...\Temp\IXP000.TMP\Reals.exe", "SHARING VIOLATION","Desired Access: Read Attributes, Delete, Disposition: Open, Options: Non-Directory File, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a" |
Nesse evento dá erro quando malware tenta apagar o arquivo Reals.exe. |
03:10:51,7979427,"Real-SecureWeb.exe","SetDispositionInformationFile", "C:\...\Temp\IXP000.TMP","NOT EMPTY","Delete: True" |
Aqui também dá erro quando tenta apagar o diretório IXP000.TMP pois não estava vazio já que não conseguiu apagar o Reals.exe anteriormente. |
03:10:51,8033920,"Real-SecureWeb.exe","Thread Exit" 03:10:51,8037046,"Real-SecureWeb.exe","Process Exit" |
O processo principal Real-SecureWeb.exe é finalizado. |
Através do Process Monitor conseguimos obter muitas informações importantes. Basicamente ao ser executado o malware descompacta dois arquivos, o primeiro, Real.exe, é responsável por coletar as informações que o usuário digita em suas telas e possivelmente salvar em um arquivo TXT e o segundo, Reals.exe, possivelmente deve enviar o TXT pela Internet.
Após realizar todas essas funções o malware tenta limpar seus rastros apagando os arquivos envolvidos na fraude, mas como vimos existem algumas falhas.
Em uma segunda execução do malware, antes que fossem apagados capturei os três arquivos criados: Real.exe, Reals.exe e identificando.txt.
A análise do conteúdo deles estará na segunda parte do artigo, aguardem.
Leia a Parte 2 do artigo aqui.
Leia a Parte 2 do artigo aqui.
Ronaldo Lima
crimesciberneticos.com | twitter.com/crimescibernet
Muito bom, você a cada post se supera, muito didático. Tenho uma pergunta, esse caso estamos diante de uma análise dinâmica, com o malware rodando, diferente de outros posts que você mostrou uma análise estática, qual o mais recomendado? e se ambas levam podem levar ao mesma conclusão pontual?
ResponderExcluirAbs
Muito bom, Ronaldo! Aguardo pela segunda parte do post.
ResponderExcluirObrigado pelos comentários pessoal!
ResponderExcluirAnônimo,
Exatamente, essa foi uma análise dinâmica, um pouco diferente das anteriores.
As duas análises são recomendadas, as vezes podemos utilizar a dinâmica para comprovar o que encontramos na estática. Por exemplo encontramos um e-mail no código e usamos o wireshark para capturar o tráfego e comprovar que realmente o malware envia a mensagem para aquele e-mail.
Uma deve chegar a mesma conclusão que a outra. É interessantes conhecermos todas assim obteremos mais informações do malware.
Abraço!
Esperando pela segunda parte !!!
ResponderExcluirEsperando também a resolução do CrackMe - KeyGen
muito bom o blog :)
continue firme!!!
Na minha opinião, seu blog é o melhor da atualidade! Aproveito para compartilhar alguns e-mails de bankers, eles estavam em um malware que eu reportei para a Microsoft!
ResponderExcluir•emaildasorte2012@oi.com.br
•emaildasorte2011@gmail.com
•n3rv0s0001@gmail.com
•cibelebo@uol.com.br
•debora.nunes23@uol.com.br
•ilma.souza01@uol.com.br
•iranminerthal@uol.com.br
•irineu.bayer@uol.com.br
•jvosti@uol.com.br
•lucianogomes.45@uol.com.br
•lucienephadm@uol.com.br
•margo.rodrigues@uol.com.br
•marizaabr@uol.com.br
•oantunesoliveira@uol.com.br
•anapaulaffcunha@uol.com.br
•cibelebo@uol.com.br
•eleuterio.junior@uol.com.br
•marizaabr@uol.com.br
Url da análise:
http://www.microsoft.com/security/portal/Threat/Encyclopedia/Entry.aspx?Name=TrojanSpy%3aWin32%2fBanker.ACM
André - Defesa Digital
http://www.phishtank.com/user_submissions.php?username=DefesaDigital
andre.defesadigital@hotmail.com