HermeticWiper | Novo malware destrutivo usado em ataques cibernéticos na Ucrânia

0 0
Read Time:7 Minute, 59 Second

Resumo

  • Em 23 de fevereiro, a comunidade de inteligência de ameaças começou a observar uma nova amostra de malware que circulava em organizações ucranianas.
  • Nossa análise mostra que um driver assinado está sendo usado para implantar um limpador que tem como alvo dispositivos Windows, manipulando o MBR resultando em falha de inicialização subsequente.
  • Este blog inclui os detalhes técnicos do limpador, apelidado de HermeticWiper, e inclui IOCs para permitir que as organizações fiquem protegidas desse ataque.
  • Esta amostra está sendo usada ativamente contra organizações ucranianas, e este blog será atualizado à medida que mais informações forem disponibilizadas.
  • Também analisamos um ‘ransomware’, chamado PartyTicket, supostamente usado como isca durante operações de limpeza.
  • Os clientes do SentinelOne estão protegidos contra essa ameaça, nenhuma ação é necessária.

Fundo

Em 23 de fevereiro, nossos amigos da Symantec e da ESET, pesquisa, tuitaram hashes associados a um ataque de limpador na Ucrânia, incluindo um que não está disponível publicamente a partir desta redação.

Começamos a analisar esse novo malware do limpador, chamando-o de ‘HermeticWiper’ em referência ao certificado digital usado para assinar a amostra. O certificado digital é emitido sob o nome da empresa ‘Hermetica Digital Ltd’ e válido a partir de abril de 2021. Até agora, não vimos nenhum arquivo legítimo assinado com este certificado. É possível que os invasores usaram uma empresa de fachada ou se apropriaram de uma empresa extinta para emitir este certificado digital.

Assinatura digital HermeticWiper

Este é um esforço inicial para analisar a primeira amostra disponível de HermeticWiper. Reconhecemos que a situação em solo na Ucrânia está evoluindo rapidamente e esperamos que possamos contribuir com nossa pequena parte para o esforço de análise coletiva.

Análise Técnica

À primeira vista, o HermeticWiper parece ser um aplicativo personalizado com pouquíssimas funções padrão. A amostra de malware tem 114KBs de tamanho e cerca de 70% disso é composta de recursos. Os desenvolvedores estão usando uma técnica testada e testada de malware de limpador, abusando de um driver benigno de gerenciamento de partição, a fim de realizar os componentes mais prejudiciais de seus ataques. Tanto o Lazarus Group (Destover) quanto o APT33 (Shamoon) aproveitaram-se do Eldos Rawdisk para obter acesso direto ao sistema de arquivos sem chamar o Windows DE APIs. HermeticWiper usa uma técnica semelhante abusando de um motorista diferente, .empntdrv.sys

Recursos hermeticWiper contendo drivers do EaseUS Partition Manager

As cópias do motorista são recursos comprimidos por MS. O malware implanta um desses dependendo da versão do SISTEMA, bitness e redirecionamento SysWow64.

Seleção de recursos do driver EaseUS

O motorista benigno easeus é abusado para fazer uma parte justa do levantamento pesado quando se trata de acessar unidades físicas diretamente, bem como obter informações de partição. Isso aumenta a dificuldade de analisar o HermeticWiper, pois muitas funcionalidades são adiadas para chamadas com IOCTLs específicos.DeviceIoControl

Corrupção de MBR e Partição

HermeticWiper enumera várias vezes uma gama de unidades físicas, de 0 a 100. Para cada Unidade Física, o dispositivo é chamado para um número de dispositivo.\\.\EPMNTDRV\

O malware então se concentra em corromper os primeiros 512 bytes, o Master Boot Record (MBR) para cada Unidade Física. Embora isso deva ser suficiente para o dispositivo não inicializar novamente, o HermeticWiper passa a enumerar as partições para todas as unidades possíveis.

Eles então diferenciam entre partições FAT e NTFS. No caso de uma partição FAT, o malware chama o mesmo ‘violinista de bits’ para corromper a partição. Para o NTFS, o HermeticWiper analisa a Tabela de Arquivos Mestres antes de chamar essa mesma função de mexer de bit novamente.

MFT parsing e chamadas de bit fiddling

Nós me refricamos eufemisticamente à função de mexer bit no interesse da brevidade. Olhando através dele, vemos chamadas para APIs do Windows para adquirir um provedor de contexto criptográfico e gerar bytes aleatórios. É provável que isso esteja sendo usado para uma implementação cripto inlina e sobrescrição de byte, mas o mecanismo não está totalmente claro no momento.

Outra funcionalidade refere-se a campos MFT interessantes (), e fluxos NTFS (, , . O malware também enumera pastas comuns (‘Meus documentos’, ‘Desktop’, ‘AppData’), faz referências ao registro (‘ntuser’) e logs de eventos do Windows (). Nossa análise está em andamento para determinar como essa funcionalidade está sendo usada, mas é claro que já tendo corrompido o MBR e partições para todas as unidades, o sistema de vítimas deve ser inoperável a esta altura da execução.$bitmap$logfile$DATA$I30$INDEX_ALLOCATION"\\\\?\\C:\\Windows\\System32\\winevt\\Logs"

Ao longo do caminho, as operações mais mundanas da HermeticWiper nos fornecem mais IOCs para monitorar. Isso inclui a criação momentânea do motorista abusado, bem como um serviço de sistema. Ele também modifica várias chaves de registro, incluindo a configuração da chave para 0, efetivamente desativando despejos de acidentes antes que a execução do motorista abusado comece. SYSTEM\CurrentControlSet\Control\CrashControl CrashDumpEnabled

Desativando crashDumps através do registro

Finalmente, o malware espera em roscas para dormir antes de iniciar um desligamento do sistema, finalizando o efeito devastador do malware.

Um Decoy Ransomware – PartyTicket

Em 24 de fevereiro de 2022, pesquisadores da Symantec apontaram para um novo ransomware Go sendo usado como isca, juntamente com a implantação do HermeticWiper. Durante a análise out decidimos nomeá-lo PartyTicket com base em algumas das strings usadas pelos desenvolvedores de malware:

A ideia de usar um ransomware como isca para um limpador é contra-intuitiva. Em particular, um ransomware tão mal codificado quanto o PartyTicket é mais provável que amarre recursos durante a execução de um limpador de outro lado eficiente.

Como acontece frequentemente com desenvolvedores amadores do Go, o malware tem pouco controle sobre seus threads simultâneos e os comandos que ele tenta executar. Isso leva a centenas de threads e eventos gerados em nossos consoles. Ou seja, é um ransomware muito alto e ineficaz que deve disparar alertas para a esquerda e para a direita.

A organização da pasta e as convenções de nomeação de funções dentro do binário mostram a intenção do desenvolvedor de insultar o governo dos EUA e a administração Biden.

Pastas de projeto e nomes de funções referentes à Administração Biden

Provocações semelhantes podem ser encontradas na nota de resgate após a execução:

Ao tentar entender o fluxo de execução do PartyTicket, vemos a função recursivamente enumerando pastas:403forBiden.wHiteHousE.primaryElectionProcess()

PartyTicket looping sobre pastas não-sistema

O número resultante de pastas será usado como uma entrada superior para threads simultâneos, um erro dos devs Go, pois isso efetivamente vincula todos os recursos do sistema. Enquanto os arquivos encontrados estão todos na fila em um canal para os threads fazerem referência.

PartyTicket gerando threads simultâneos

A função indiretamente chamada para cada segmento é . Ele, por sua vez, pega um nome de arquivo, faz uma cópia com um nome e exclui o arquivo original. Em seguida, esperamos um segundo loop para aliviar essa fila de arquivos e executar cada um através de uma implementação cripto Go AES padrão. No entanto, é improvável que a execução seja tão longe com o projeto atual do PartyTicket.main.subscribeNewPartyMember()<UUID>.exe

(Obrigado a Joakim Kennedy (Intezer) por apontar esta chamada indireta)

Crypto routine for files queued in the ‘salary’ channel

Overall our analysis of PartyTicket indicates it to be a rather simple, poorly coded, and loud malware. Its possible role as a decoy ransomware deployed alongside HermeticWiper is more likely to be effective for its accidental hogging of the victim organization’s system resources rather than the encryption of files itself. IOCs and Yara rules have been added below.

Conclusão

Após uma semana de desfigurações e crescentes ataques DDoS, a proliferação de operações de sabotagem através de malware de limpador é uma escalada esperada e lamentável. Neste momento, temos uma pequena fatia de abertura nos ataques na Ucrânia e subsequente repercussão em países vizinhos e aliados. Se há um lado bom para uma situação tão difícil, é ver a colaboração aberta entre equipes de pesquisa de inteligência de ameaças, pesquisadores independentes e jornalistas que procuram esclarecer a história. Nossos agradecimentos aos pesquisadores da Symantec, ESET, Stairwell e RedCanary, entre outros que contribuíram com amostras, tempo e experiência.

Clientes SentinelOne Protegidos

Indicadores de Compromisso

(Atualizado em 28 de fevereiro de 2022)

ms-comprimido recursosSHA1
RCDATA_DRV_X645ceebaf1cbb0c10b95f7edd458804a646c6f215e
RCDATA_DRV_X860231721ef4519ec776ff7d1f25c937545ce9f4
RCDATA_DRV_XP_X649c2e465e8dfdfc1c0c472e0a34a7614d796294af
RCDATA_DRV_XP_X86ee764632adedf6bb4cf4075a20b4f6a79b8f94c0
HermeticWiperSHA1
Win32 EXE0d8cc992f279ec45e8b8dfd05a700ff1f0437f29
Win32 EXE61b25d11392172e587d8da3045812a66c3385451
Win32 EXE912342f1c840a42f6b74132f8a7c4ffe7d40fb77
Win32 EXE9518e4ae0862ae871cf9fb634b50b07c66a2c379
Win32 EXEd9a3596af0463797df4ff25b799184946e3bfa2
PartyTicketSHA-1
Win32 EXEf32d791ec9e6385a91b45942c230f52aff1626df

Regras yara

(https://github.com/SentineLabs/yara/blob/main/APT_ZZ_Unknown_HermeticWiper.yar)

rule MAL_HERMETIC_WIPER {
    meta:
      desc = "Hermetic Wiper - broad hunting rule"
      author = "Hegel @ SentinelLabs"
      version = "1.0"
      last_modified = "02.23.2022"
      hash = "1bc44eef75779e3ca1eefb8ff5a64807dbc942b1e4a2672d77b9f6928d292591"
      reference = "https://www.sentinelone.com/labs/hermetic-wiper-ukraine-under-attack/"
    strings:
        $string1 = "DRV_XP_X64" wide ascii nocase
        $string2 = "EPMNTDRV\\%u" wide ascii nocase
        $string3 = "PhysicalDrive%u" wide ascii nocase
        $cert1 = "Hermetica Digital Ltd" wide ascii nocase
    condition:
      uint16(0) == 0x5A4D and
      all of them
}

rule MAL_PARTY_TICKET {
    meta:
      desc = "PartyTicket Golang Ransomware - associated with HermeticWiper campaign"
      author = "Hegel @ SentinelLabs"
      version = "1.0"
      last_modified = "02.24.2022"
      hash = "4dc13bb83a16d4ff9865a51b3e4d24112327c526c1392e14d56f20d6f4eaf382"
      reference = "https://twitter.com/juanandres_gs/status/1496930731351805953"
    strings:
        $string1 = "/403forBiden/" wide ascii nocase
        $string2 = "/wHiteHousE/" wide ascii 
        $string3 = "vote_result." wide ascii
        $string4 = "partyTicket." wide ascii
        $buildid1 = "Go build ID: \"qb0H7AdWAYDzfMA1J80B/nJ9FF8fupJl4qnE4WvA5/PWkwEJfKUrRbYN59_Jba/2o0VIyvqINFbLsDsFyL2\"" wide ascii
        $project1 = "C:/projects/403forBiden/wHiteHousE/" wide ascii
    condition:
      uint16(0) == 0x5A4D and
      (2 of ($string*) or 
        any of ($buildid*) or 
        any of ($project*))
}

Regras do SentinelOne STAR

EventType = "Process Creation" and TgtProcPublisher = "HERMETICA DIGITAL LTD"
( SrcProcSignedStatus = "signed"  AND IndicatorPersistenceCount = "2"  AND RegistryValue = "4"  AND RegistryKeyPath = "MACHINE\SYSTEM\ControlSet001\Services\VSS\Start" ) AND SrcProcImagePath !~ "devsetup64.exe"

FONTE: SENTINEL ONE

POSTS RELACIONADOS