O artigo de hoje será feito encima de um arquivo enviado por um seguidor meu do Instagram!! Se você não me acompanha, sugiro começar, pois no mesmo eu costumo compartilhar muito sobre a temática de Malwares.
| ||
O artigo de hoje será feito em cima de um arquivo enviado por um seguidor meu do Instagram!! Se você não me acompanha, sugiro começar, pois no mesmo eu costumo compartilhar muito sobre a temática de Malwares. | ||
Ok, Vamos para o que nos interessa! tenho que admitir, fui pego totalmente de surpresa pois não costumo analisar arquivos feitos em .NET, entretanto desafios são feitos para serem enfrentados confere!? | ||
Ao receber o arquivo malicioso, comecei a executar a etapa de identificação, para entender que tipo de ameaça eu estaria analisando. Então o arquivo foi enviado para ser analisado pelo Vírus Total, se o mesmo for identificado já sabemos que o mesmo é conhecido. | ||
| ||
E como já era esperado o nosso camarada é bem conhecido! muitos antivírus o classificaram como Trojan-Spy.Agent (Trojan = software malicioso que se disfarça como inofensivo, Spy.Agent = funciona como um software agente, sendo utilizado como coletor de informações) e também como Trojan.Win32.Generic ((Trojan = software malicioso que se disfarça como inofensivo,Win32 = Win32 é uma API desenvolvida para sistemas operacionais baseados no Windows NT (Windows XP, Windows 7, etc.) que oferece suporte à execução de aplicativos de 32 bits, .Generic = Trojan genérico). O mais interessante é que ele se denomina em sua descrição como uma ferramenta poderosa de "Data Recovery" (risos). | ||
| ||
Ao enviar esse arquivo ao DIE (Detect It Easy), foi possível identificar que o arquivo foi feito em .NET e tem ofuscação nas suas strings, logo a Engenharia Reversa desse arquivo será feita utilizando o dnSpy. | ||
| ||
| ||
Fazendo análise do arquivo dentro de uma Sandbox foi possível identificar algumas TTPs (táticas técnicas e procedimentos) que o mesmo utiliza, entre eles o que chama mais atenção é a utilização da técnica Process Hollowing (uma forma diferente de injetar carga útil na memória), além da Execução de um processo onde foi feita a injeção de código (evidenciado abaixo). | ||
| ||
O Process Hollowing ocorre quando um Malware esvazia o código legítimo da memória do processo de destino e sobrescreve este espaço de memória do processo (segundo a sandbox, no processo a850de0705c0f6095910aa1d.exe) com um executável malicioso. | ||
| ||
Análise Dinâmica | ||
Não satisfeito com as informações que as sandboxes utilizadas trouxeram de informação, foi executado então uma Análise Dinâmica manual do arquivo. | ||
Utilizando o Procmon foi possível mapear alguns pontos interessantes das ações que o arquivo fez ao ser executado. Abaixo podemos visualizar que o artefato em questão tenta buscar informações de E-mail e do Browser no computador. | ||
| ||
Pelo o que aparece o Malware em questão foca em roubar informações de login de Email e do Browser, utilizei então o Process Hacker para conseguir ter acesso as strings do arquivo em tempo real, dessa forma é possível visualizar praticamente todas as strings que o arquivo possui, pois a análise dos mesmos está sendo feita direta na memória do processo em execução. Se a análise de strings fosse feita de forma estática possivelmente não conseguiríamos visualizar tudo, visto que o arquivo tem ofuscação nas strings. | ||
Ao analisar as strings foi possível fortalecer as teorias de que o Malware tem como foco extrair informações de E-mail e senha dos Browser do computador: | ||
| ||
| ||
Mesmo depois de executar todo esse processo de análise, ainda não ficou claro do que realmente este arquivo é capaz. Então foi necessário executar uma Engenharia Reversa (minha parte favorita) no executável, afim de dar o diagnóstico final! | ||
Engenharia Reversa | ||
Ao colocar o arquivo no dnSpy podemos visualizar as informações iniciais do arquivo: | ||
| ||
Mas como já sabemos, essas informações não são verídicas, pois o arquivo é um Malware. Ao selecionar o ponto de entrada, o programa nos direciona para a main(), e aqui descobrimos todas as funções existentes dentro do artefato: | ||
| ||
Em cima é possível visualizar uma estrutura de um custom RAT, onde o atacante pode escolher quais funções ele quer ativar no executável. Entre todas essas funções apenas as funções abaixo estão ativadas: | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
Ao adentrar a função que captura informações do Outlook podemos visualizar uma função de redirecionamento (FandS) para captura de informações de E-mail, Password, Server e Application dos correios eletrônicos: | ||
| ||
| ||
Já ao adentrar alguma das funções focadas em navegadores podemos visualizar a função de redirecionamento (FandS) para captura de informações de User Name, Password, URL e nome do Web Browser: | ||
| ||
| ||
É possível visualizar na função acima uma outra função denominada Send.SendLog() que possui dentro dela uma variável denominada "P_Link", ao clicar nela o software nos redireciona a uma variável publica contendo uma URL [http://ziraat-helpdesk[.]com/components/com_content/limpopapa/], a mesma faz parte do Comando e Controle do Malware: | ||
| ||
Por meio de ferramentas de correlação foi possível visualizar a infraestrutura de Comando e Controle e outros arquivos maliciosos que se relacionam com essa infraestrutura: | ||
| ||
A URL encontrada dentro do Malware possui uma infraestrutura contendo correlações/resoluções para IPs da Alemanha, França e Estados Unidos, ambos correlacionados com vários arquivos e outras URLs maliciosas. | ||
Ao aprofundar no código, existe uma função chamada RecoverMail(), ela cita uma função denominada ReadMail(): | ||
| ||
E nela podemos visualizar a chamada ao arquivo "Mails.txt", visualizada anteriormente na etapa de Análise Dinâmica. | ||
| ||
E pode ser identificado que ele está tentando armazenar o conteúdo dos E-mails neste arquivo. Mas antes de armazenar, o programa precisa passar pelo processo de extração de informações dos E-mails. E pelo o que pude observar perante a estrutura a mesma aparenta ser uma rotina de descriptografia simétrica (mas infelizmente não consegui entrar em detalhes). | ||
Analisando o classe Send(), foi possível mapear a função SendLog(), que é responsável por mandar para o Comando e Controle as informações do teclado capturadas (tanto do que foi digitado quanto o que está na área de transferência), além das senhas extraídas. | ||
Obs: O desenvolvedor colocou varias strings de forma reversa para dificultar na hora de análises estáticas básicas. | ||
| ||
| ||
| ||
Conclusão | ||
Foi possível por meio desta análise evidenciar que o Malware em questão é categorizado como um RAT customizado, com funções de extração de informação de variados correios eletrônicos (Outlook, NetScape, Thunderbird, Eudora e Incredimail) e Browsers (Firefox, Chrome, InternetExplorer, Opera e Safari). | ||
Redes Sociais | ||
IOCs | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|