Tecnicamente, tudo sobre o maior ataque de ransomware
Durante a manhã do dia 12/05/2017, começamos a receber relatos sobre um ataque de Ransomware massivo que estava atingindo países da Europa, em especial a Espanha. Durante a análise das primeiras informações, muitas delas compiladas via Twitter com a comunidade de segurança pelo mundo, nos deparamos com um advisory divulgado pelo CERT da Espanha. As primeiras informações não eram nada boas e indicavam o uso de um ransomware da família WannaCrypt com funcionalidades de um worm (autoreplicação).
Imagem da infecção a partir de uma das amostras coletadas pelo Arcon Labs.
Para quem está atualizado com os acontecimentos recentes, logo percebeu a criticidade do problema. Em 14 de abril, um grupo autodenominado Shadow Brokers divulgou um dump de ferramentas e vulnerabilidades adquiridas através de um comprometimento de um servidor de infraestrutura da NSA. Este dump contém tanto material que vale, por si só, uma série de artigos, mas neste focaremos nas vulnerabilidades registrada no boletim da Microsoft MS17-010.
As ferramentas da NSA são datadas de 2013. Esta informação já deixa alguns questionamentos. Qual a capacidade da NSA e de outras agências desde então? Por que a NSA não informou os fabricantes sobre as falhas encontradas em seus softwares? Esta pergunta é um tanto óbvia dadas as questões geopolíticas envolvidas... Discutiremos isso também algum outro dia, apenas reflita sobre como a situação é ao mesmo tempo envolvente e complexa.
Voltando aos exploits. Uma das ferramentas, chamada de EternalBlue, tem a capacidade de explorar o protocolo SMBv1 (já obsoleto), permitindo a um cyber criminoso o acesso a uma máquina Windows sem necessidade de autenticação (RCE – Remote Code Execution). O próprio exploit da NSA dá algumas opções de configuração via XML para configuração de parâmetros de ataque. Quando estas ferramentas se tornaram públicas, muito se faltou sobre seu potencial destrutivo, por conta do uso do protocolo na grande maioria das organizações. Uma série de CVE’s estão associados a esta vulnerabilidade CVE-2017-0143, CVE-2017-0144, CVE-2017-0145, CVE-2017-0146, CVE-2017-0147 e CVE-2017-0148.
Outro fato interessante é que a Microsoft já havia divulgado uma correção em seu pacote de atualizações de março. Diversas outras perguntas surgiram. Como a Microsoft foi avisada? Pela NSA? Depois de anos tendo esta informação? Na página de agradecimentos da Microsoft não há citação para colaboradores do MS17-010.
Os fatos são: exploits destrutivos, o perigo de se misturar estas ferramentas com ameaças conhecidas (como foi o que ocorreu com o WannaCrypt) e os problemas de uso de softwares sem suporte aliados com a falta de atualizações de software.
Empresas que possuem um Network IPS bem implementado, que possuem programas de gerenciamento de vulnerabilidades e atualização de softwares em dia, certamente possuíam um risco menor de serem impactadas pelo WannaCrypt.
Wanna CryCertamente o dia 12/05/2017 entrará para a história como um dos cyber ataques mais bem sucedidos da história, em questão de impacto nas organizações e conotação mundial. A lista de países atacados chega a quase 150, de acordo com a EuroPol, e inclui diversas organizações de vários níveis e setores. Até mesmo hospitais no Reino Unido tiveram seu atendimento impactado.
Máquina do NHS com Ransomware WannaCrypt
No Brasil não foi diferente e há registros de diversas empresas que foram infectadas, até mesmo parando completamente suas operações.
Ataques deste tipo funcionam por dois pontos de entrada principais: e-mail e acesso a um web site infectado. Caso uma pessoa clique no material malicioso, inicia-se um processo de infecção do malware de pode durar cerca de 5 minutos. Há, paralelamente, o processo de disseminação (worm) pela rede pelo exploit EternalBlue. Em relação ao WannaCrypt, não foi identificado até o momento um e-mail que tenha caracterizado um vetor de entrada nas organizações. Certamente a infecção está ocorrendo a partir de IP’s válidos com a porta TCP/445 aberta.
Lenny Zeltser, renomado pesquisador de malwares, sobre a não confirmação de
vetores de infecção a partir de e-mail.
Nesse vídeo é possível ver o processo de infecção em um host. Veja que o ransomware demora cerca de 2 minutos entre iniciar sua ativação na sua máquina e se espalhar para uma outra. Após a infecção, o ransomware exige um pagamento de 300$ a 600$ em bitcoins, para liberar o acesso aos dados. Esteja avisado: mesmo fazendo o pagamento não há garantias que seus dados serão recuperados. Não faça o pagamento!
O ransomware utiliza ainda a rede Tor para fazer comunicação com seus Command and Control (C2) e suporta 28 línguas diferentes. Os arquivos criptografados possuem a extensão .wncry. Sobre a criptografia, utiliza um par de chaves RSA de 2048 bits, para cada infecção diferente. Os arquivos são criptografados com chaves AES-128-ECB e estas chaves, por sua vez, são criptografadas com o par RSA gerado no host.
O ransomware suporta 28 línguas diferentes
A infecção e disseminação ocorre via web e visa máquinas vulneráveis. O módulo de worm faz a criação de uma lista de IP’s web aleatória, que servirão de alvos no scan. O Ransomware possui um módulo que valida se o backdoor Double Pulsar, divulgado também pelo Shadow Brokers, está presente na máquina. Se estiver, o carregamento do malware é facilitado, caso contrário ocorre o exploit.
Módulo do WannaCry, checa a presença do backdoor DoublePulsar
Este link provê informações de análise dinâmica sobre o sample ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa (SHA-256). Uma análise dinâmica de um malware dá uma boa primeira impressão de suas capacidades:
Árvore de processos do ransomware, registrado pelo Hybrid Analysis
Este reporte nos fornece os arquivos utilizados pelo malware, suas assinaturas (HASH) e endereços IP’s utilizados em sua comunicação. São dados iniciais, mas suficientes, para se iniciar uma investigação e atualizar as tecnologias de segurança.
O malware faz um acesso ao endereço abaixo, onde ele apenas checa se o endereço está respondendo. Este é considerado um mecanismo de defesa, anti-sandbox ou killswitch, como ficou mais conhecido. Isto certamente foi intencional pelos criadores do malware, pois uma vez que o domínio responde ele sabe que está em uma sandbox e se desativa para evitar a continuidade da análise.
Este domínio não estava registrado e é comum derrubar uma infraestrutura de botnets ao se fazer o registro e direcionar o tráfego para um servidor de sinkhole. Foi exatamente isso que o pessoal MalwareTech fez, conforme foi relatado em seu blog.
Hxxp://[.]iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea[.]com
Metodologia padrão da MalwareTech para domínios que não possuem registro
Já o mapa que ficou mundialmente famoso por mostrar a geolocalização dos ataques foi gerado a partir dos dados coletados nesta Sinkhole:
Mapa de geolocalização dos ataques, gerado pela MalwareTech
Destaques
Há três grandes pontos a serem observados nesse ataque:
- Muito foi falado que o ataque foi contido com esta ação, o que está completamente errado. Apenas uma variante foi “contida” com esta ação. Já há registro de outras sendo geradas, inclusive com outros domínios para killswitch:
hxxp://ifferfsodp9ifjaposdfjhgosurijfaewrwergwea[.]com/
- O especialista Didier Stevens identificou e validou uma condição muito específica que invalida o killswitch: uso de um proxy. Com ele invalida-se a condição de saída do malware e o ataque continua.
O uso de um proxy, comum em organizações, anula o killswitch e o ataque continua.
- O número de infecções indica quantos IP’s públicos tentaram se conectar na Sinkhole da Malware Tech. Como é de conhecimento, um IP público pode estar por trás de uma organização com milhares de funcionários. Este número certamente é MUITO maior, pelas características do worm.
A análise do malware indica também as carteiras bitcoin por onde os cibercriminosos estão recebendo os pagamentos. Na última checagem, em 18/05/2017, havia sido acumulado um total de 46,13 bitcoins equivalentes a R$ 300 mil mas este número tende a aumentar nos próximos dias, à medida que o prazo para o resgate for diminuindo:
https://blockchain.info/address/13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94
https://blockchain.info/address/12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw
https://blockchain.info/address/115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn
Resumo do valor de uma das carteiras de bitcoin.
Arquivos alvo
O WannaCrypt criptografa arquivos com as seguintes extensões:
.doc, .docx, .xls, .xlsx, .ppt, .pptx, .pst, .ost, .msg, .eml, .vsd, .vsdx, .txt, .csv, .rtf, .123, .wks, .wk1, .pdf, .dwg, .onetoc2, .snt, .jpeg, .jpg, .docb, .docm, .dot, .dotm, .dotx, .xlsm, .xlsb, .xlw, .xlt, .xlm, .xlc, .xltx, .xltm, .pptm, .pot, .pps, .ppsm, .ppsx, .ppam, .potx, .potm, .edb, .hwp, .602, .sxi, .sti, .sldx, .sldm, .sldm, .vdi, .vmdk, .vmx, .gpg, .aes, .ARC, .PAQ, .bz2, .tbk, .bak, .tar, .tgz, .gz, .7z, .rar, .zip, .backup, .iso, .vcd, .bmp, .png, .gif, .raw, .cgm, .tif, .tiff, .nef, .psd, .ai, .svg, .djvu, .m4u, .m3u, .mid, .wma, .flv, .3g2, .mkv, .3gp, .mp4, .mov, .avi, .asf, .mpeg, .vob, .mpg, .wmv, .fla, .swf, .wav, .mp3, .sh, .class, .jar, .java, .rb, .asp, .php, .jsp, .brd, .sch, .dch, .dip, .pl, .vb, .vbs, .ps1, .bat, .cmd, .js, .asm, .h, .pas, .cpp, .c, .cs, .suo, .sln, .ldf, .mdf, .ibd, .myi, .myd, .frm, .odb, .dbf, .db, .mdb, .accdb, .sql, .sqlitedb, .sqlite3, .asc, .lay6, .lay, .mml, .sxm, .otg, .odg, .uop, .std, .sxd, .otp, .odp, .wb2, .slk, .dif, .stc, .sxc, .ots, .ods, .3dm, .max, .3ds, .uot, .stw, .sxw, .ott, .odt, .pem, .p12, .csr, .crt, .key, .pfx, .der
Infecção
Uma vez que o ransomware é executado, seu processo de infecção acontece da seguinte forma:
Infográfico da cadeia de infecção gerado pela EndGame.
Indicadores de comprometimento
Estas informações podem ser utilizadas para serviços de Threat Intelligence, atualização de detecção em tecnologias ou regras de bloqueio em firewalls, proxies e antivírus.
Identificação dos principais arquivos:
Filepath |
MD5 |
SHA-256 |
C:\taskse.exe |
8495400f199ac77853c53b5a3f278f3e |
2ca2d550e603d74dedda03156 |
C:\taskdl.exe |
4fef5e34143e646dbf9907c4374276f5 |
4a468603fdcb7a2eb5770705898cf9 |
C:\TaskData\Tor\tor.exe* |
fe7eb54691ad6e6af77f8a9a0b6de26d |
e48673680746fbe027e8982f62a83c2 |
C:\44651494617562.bat |
fefe6b30d0819f1a1775e14730a10e0e |
f01b7f52e3cb64f01ddc248eb6ae87177 |
WannaCry.exe |
84c82835a5d21bbcf75a61706d8ab549 |
ed01ebfbc9eb5bbea545af4d01bf5f107 |
*O tor browser não é um arquivo malicioso, mas é utilizado como parte da cadeia de infecção do ransomware. Talvez seja interessante procurar por ocorrências de uso em sua organização.
Este link possui mais indicadores dos samples analisados até o momento, enquanto este link possui samples do WannaCry para análise.
Domínios não registrados, encontrados dentro do malware.
Obs: Endereços registrados atualmente para Sandbox externas. Permita o tráfego para estes endereços e monitore qualquer comunicação para identificar potenciais infecções.
Domínio |
IP |
ayylmaotjhsstasdfasdfasdfasdfasdfasdfasdf.com |
207.154.243.152 |
ifferfsodp9ifjaposdfjhgosurijfaewrwergwea.com |
104.41.151.54 |
iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com |
104.17.37-41.137 |
iuqerfsodp9ifjaposdfjhgosurijfaewrwergweb.com |
59.106.222.173 |
iuqssfsodp9ifjaposdfjhgosurijfaewrwergwea.com |
217.182.141.137 |
Serviços criados:
mssecsvc2.0
Chaves de registro criadas ou alteradas:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\\ = “\tasksche.exe”
HKLM\SOFTWARE\WanaCrypt0r\\wd = “”
HKCU\Control Panel\Desktop\Wallpaper: “\@WanaDecryptor@.bmp”
Arquivos criados:
111.exe
%SystemRoot%\tasksche.exe
r.wnry
s.wnry
t.wnry
u.wnry
taskdl.exe
taskse.exe
00000000.eky
00000000.res
00000000.pky
@WanaDecryptor@.exe
m.vbs
@WanaDecryptor@.exe.lnk
qeriuwjhrf
Comando Shell para remoção do Volume Shadow Copy:
cmd.exe /c vssadmin delete shadows /all /quiet & wmic shadowcopy delete & bcdedit /set {default} bootstatuspolicy ignoreallfailures & bcdedit /set {default} recoveryenabled no & wbadmin delete catalog -quiet
Domínios .onion utilizados pelo Ransomware como C2:
gx7ekbenv2riucmf.onion
57g7spgrzlojinas.onion
Xxlvbrloxvriy2c5.onion
76jdd2ir2embyv47.onion
cwwnhwhlz52maqm7.onion
sqjolphimrr7jqw6.onion
No dia 15/05, algumas informações foram divulgadas sobre uma possível atribuição do ataque à Coréia do Norte. Isto por conta de similaridades do código do WannaCry com uma amostra do malware Contopee utilizado pelo chamado Lazarus Group.
As atividades deste grupo são datadas desde 2009 e é atribuído a eles a responsabilidade por uma campanha de espionagem contra a Coréia do Sul que ficou conhecida como Operation Troy/DarkSeoul, o roubo digital a um banco de Bagladesh pela rede SWIFT e o famoso ataque à Sony.
Similaridade entre WannaCry e Contopee
Um dos problemas sobre isto é que códigos com similaridades não podem ser fatores decisivos de atribuição. O Wikileaks divulgou materiais recentemente que evidenciam o uso pela CIA de códigos de outros malwares utilizados pelo mundo. Neste caso o pensamento é pela facilidade de se reutilizar um código efetivo ao invés de reescrever. Além disso, a CIA possui um framework chamado Marble que altera passagens de código para outras linguagens tentando exatamente se desvencilhar da investigação e uma possível atribuição sobre responsabilidades em cima do ataque.
Atribuição pode ser produzida, falsificada e consequentemente iludir uma investigação. As empresas que fizeram a análise indicaram que estas informações não são conclusivas.
Ferramenta para descriptografar os dados?Em 19/05, foi divulgado uma ferramenta que possibilita a recuperação dos dados, mas em situações muito específicas.
- A máquina não pode ter sido desligada/reiniciada desde a infecção;
- O segmento de memória de uma informação específica não pode ter sido realocado para outro processo na máquina.
Esta ferramenta funciona da seguinte forma. O WannaCry, durante seu processo de infecção, cria chaves de criptografia e as deleta posteriormente para pedir o resgate. O que foi descoberto é que os números primos base para geração da chave ficam em memória. Desta forma, é possível utilizar este seed no algoritmo de geração das chaves. Com um pouco de sorte o processo pode dar certo.
Recomendações
- O mais importante neste momento é instalar as atualizações para evitar que uma possível infecção se torne um desastre. A Microsoft liberou um patch extra para sistemas sem suporte como Windows XP e Windows Server 2003.
- Caso queira checar se uma máquina possui os KB’s de correção necessários, utilize o comando “wmic qfe list” e procure na saída o KB do S.O. O comando “find” pode ser utilizado para filtrar a saída.
- A maioria dos fabricantes já possuem assinaturas de detecção para suas tecnologias. No entanto, a mutação do malware será constante. Já há registro de novas ameaças que se aproveitam das mesmas vulnerabilidades utilizadas pelo WannaCry. Aplique os patches!!!
- Bloqueie ou desabilite o protocolo SMB onde for possível - Portas 137 e 138 UDP e TCP 139 e 445.
- Caso seja necessário parar a rede para evitar a disseminação do ransomware, faça de forma planejada: desligue a rede dos usuários (rede física e Wifi) focando na atualização dos servidores e, posteriormente, forçando a atualização das máquinas à medida em que elas são religadas.
- Este link oferece um script de detecção do backdow DoublePulsar, que é utilizado como modo de disseminação do WannaCry. É recomendado que algum tipo de scan seja executado nos servidores publicados e caso você não possua algum software para este fim específico, este script lhe ajudará.
- Tenha um processo de backup implementado e teste-o periodicamente.
- Trabalhe com segmentação de rede e faça testes de validação periódicos.
- Considere o uso de virtual patching para sistemas legados.
- Tecnologias como IPS já possuíam assinaturas de detecção do double pulsar, depois da divulgação das ferramentas em Abril. Mantenha as assinaturas sempre atualizadas e habilitadas para bloqueio.
- Monitore proativamente o tráfego da sua rede, desde e-mail, acessos web até DNS.
- Valide quais são os servidores web publicados e identifique potenciais vulnerabilidades presentes neles.
ATENÇÃO!!
Divulgaram uma senha “WNcry@2o17”durante o incidente e algumas pessoas estão tentando, equivocadamente, usá-la para descriptografar o ransomware. No entanto, ela serve apenas para liberar o payload do malware. Ou seja, o executável original possui recursos internos acessíveis a partir desta senha. Você pode fazer o teste, por exemplo, com o 7zip. Basta pedir para “descompactar” uma das amostras e ele solicitará esta senha.
Arquivos gerados após o uso da senha “WNcry@2o17” no binário do ransomware