Sumário
Grandes eventos esportivos, como a Copa do Mundo ou as Olimpíadas, geralmente são alvos de cibercriminosos que se aproveitam da sua popularidade. Durante a Copa do Mundo de 2018, por exemplo, um documento infectado disfarçado de "previsão de jogo" entregou um malware que roubava dados confidenciais de suas vítimas, incluindo keystrokes e capturas de tela.
Uma nova ameaça de malware surgiu pouco antes da cerimônia de abertura dos Jogos Olímpicos de Tóquio 2020, capaz de danificar um sistema infectado ao fazer o wipe dos arquivos. Neste caso, o malware se disfarça como um documento PDF contendo informações sobre ataques cibernéticos associados às Olimpíadas de Tóquio. O componente wiper exclui documentos criados com o Ichitaro, um processador de texto popular no Japão. Este wiper é muito mais simples do que o “Olympic Destroyer”, usado nos Jogos Olímpicos de Inverno de 2018.
Ameaça
O arquivo foi distribuído com o nome 【至急】東京オリンピック開催に伴うサイバー攻撃等発生に関する被害報告について”, que pode ser traduzido como “[Urgente] Relatórios de danos relativos à ocorrência de ataques cibernéticos, etc. associados às Olimpíadas de Tóquio”.
O arquivo está compactado com UPX e foi aparentemente compilado em “2021” às “22:52:05” e, embora esta informação não possa ser 100% confiável, esta data é apenas um dia antes de sua primeira aparição pública.
O desenvolvedor incluiu muitas técnicas de anti-análise e anti-depuração. O primeiro é um truque simples que detecta se o arquivo está sendo executado em uma sandbox usando as APIs GetTickCount64
e Sleep
.
Primeiro, o malware obtém o carimbo de data/hora atual com o GetTicketCount64
e depois fica inativo por 16 segundos. Em seguida, ele ativa o GetTicketCount64
novamente e verifica quanto tempo o código realmente demorou na função Sleep
. Se o tempo for inferior a 16 segundos, o malware é encerrado, pois é provável que a função Sleep
tenha sido ignorada por um ambiente de sandbox.
Se o ambiente de sandbox não foi detectado neste ponto, o malware verifica se há ferramentas de análise listando todos os processos em execução no sistema operacional comparando com ferramentas conhecidas, como “wireshark.exe
” ou “idaq64.exe
”.
As strings relacionadas a esses processos são todas criptografadas dentro do binário e podem ser facilmente descriptografadas usando uma operação bitwise:
Usando a mesma lógica, criamos um script para extrair e descriptografar todas as strings automaticamente, revelando um comportamento importante do malware:
Outra técnica interessante usada por esse malware para verificar se está sendo depurado é a verificação de pontos de interrupção. ara quem não está familiarizado com o que acontece “por debaixo dos panos”, quando você cria um ponto de interrupção de software, o depurador substitui o bytecode onde você deseja interromper, por meio da instrução de um byte int3
, que é representada pelo opcode 0xCC
. Portanto, quando o processador encontra essa instrução, o programa para e o controle é transferido de volta para o depurador, que substitui a instrução novamente pelo byte original.
Assim, este malware verifica a presença da instrução int3
no ponto de entrada de certas funções, comparando o byte com 0xCC
.
Também encontramos verificações para outras instruções além de int3
, como call
e jmp
, demonstrando que o desenvolvedor foi ainda mais longe para verificar as modificações no código original.
Posteriormente, o malware também verifica se o processo está sendo depurado por meio das APIs IsDebuggerPresent
e CheckRemoteDebuggerPresent
.
Além disso, a ameaça verifica se o ambiente está sendo executado em uma máquina virtual, verificando a porta de I/O implementada pelo hypervisor da VMware.
Se qualquer sandbox, máquina virtual ou ferramenta de análise for detectada, o malware ativa uma função que executa uma linha de comando que se exclui.
cmd.exe /C ping 1.1.1.1 -n 1 -w 3000 > Nul & Del /f /q "C:/Users/username/Desktop/wiper.exe"
Apesar de todos esses truques de anti-análise e anti-depuração, o único objetivo do malware é executar uma sequência de comandos que procura e exclui arquivos com extensões específicas:
- .csv
- .doc
- .docm
- .docx
- .ponto
- .dotm
- .dotx
- .exe
- .jtd
- .jtdc
- .jtt
- .jttc
- .registro
- .ppt
- .pptm
- .pptx
- .txt
- .xls
- .xlsm
- .xlsx
Enquanto esses comandos estão sendo executados, o malware também tenta executar o programa “curl” para solicitar um site pornográfico, provavelmente para enganar a análise forense na máquina.
Proteção
O Netskope Threat Labs está monitorando ativamente esta campanha e garantiu cobertura para todos os indicadores de ameaças e cargas conhecidas.
- Proteção Contra Ameaças Netskope
Trojan.GenericKD.46658860
Trojan.GenericKD.37252721
Trojan.GenericKD.46666779
Gen:Variant.Razy.861585
- A Netskope Advanced Protection oferece cobertura proativa contra essa ameaça.
Gen.Malware.Detect.By.StHeur
indica uma amostra que foi detectada usando análise estáticaGen.Malware.Detect.By.Sandbox
indica uma amostra que foi detectada por nosso sandbox na nuvem
Amostras de hashes
Nome | sha256 |
---|---|
wiper.exe | fb80dab592c5b2a1dcaaf69981c6d4ee7dbf6c1f25247e2ab648d4d0dc115a97 |
wiper_unpacked.exe | 295d0aa4bf13befebafd7f5717e7e4b3b41a2de5ef5123ee699d38745f39ca4f |
wiper2.exe | c58940e47f74769b425de431fd74357c8de0cf9f979d82d37cdcf42fcaaeac32 |
wiper2_unpacked.exe | 6cba7258c6316e08d6defc32c341e6cfcfd96672fd92bd627ce73eaf795b8bd2 |
Uma lista completa de amostras de hashes, strings descriptografadas, regra Yara e uma ferramenta para extrair e descriptografar as strings de uma amostra do Olympics Wiper está disponível em nosso repositório Git.