A região de destino e a sobreposição de comportamento e código sugerem que a ferramenta é usada pelo infame grupo APT alinhado à Coreia do Norte
Pesquisadores da ESET descobriram uma das cargas úteis do Downloader Wslink que descobrimos em 2021. Chamamos essa carga útil de WinorDLL64 com base em seu nome de arquivo WinorDLL64.dll. Wslink, que tinha o nome de arquivo WinorLoaderDLL64.dll, é um carregador para binários do Windows que, ao contrário de outros carregadores, é executado como um servidor e executa os módulos recebidos na memória. Como o texto sugere, um carregador serve como uma ferramenta para carregar uma carga, ou o malware real, no sistema já comprometido. O vetor de comprometimento Wslink inicial não foi identificado.
A carga inicialmente desconhecida do Wslink foi carregada no VirusTotal da Coréia do Sul logo após a publicação de nosso blogpost e atingiu uma de nossas regras YARA com base no nome exclusivo do Wslink WinorDLL64GenericName. Em relação ao Wslink, a telemetria da ESET teve apenas algumas detecções – na Europa Central, América do Norte e Oriente Médio.
A WinorDLL64GenericName A carga útil serve como um backdoor que, principalmente, adquire informações extensas do sistema, fornece meios para manipulação de arquivos, como exfiltração, substituição e remoção de arquivos e executa comandos adicionais. Curiosamente, ele se comunica por meio de uma conexão já estabelecida pelo carregador Wslink.
Em 2021, não encontramos nenhum dado que sugerisse que o Wslink é uma ferramenta de um agente de ameaças conhecido. No entanto, após uma extensa análise da carga útil, atribuímos WinorDLL64GenericName ao grupo Lazarus APT com baixa confiança com base na região de destino e uma sobreposição em comportamento e código com amostras conhecidas do Lazarus.
Ativo desde pelo menos 2009, esse infame grupo alinhado à Coreia do Norte é responsável por incidentes de alto nível, como o Corte da Sony Pictures Entertainment e dezenas de milhões de dólares roubos cibernéticos em 2016, WannaCryptor (também conhecido como WannaCry) em 2017 e um longo histórico de ataques disruptivos contra Infraestrutura pública e crítica sul-coreana desde pelo menos 2011. O US-CERT e o FBI chamam esse grupo de COBRA OCULTA.
Com base em nosso conhecimento extenso das atividades e operações desse grupo, acreditamos que o Lazarus é composto por uma grande equipe sistematicamente organizada, bem preparada e composta por vários subgrupos que utilizam um grande conjunto de ferramentas. No ano passado, nós descobriu uma ferramenta Lazarus que aproveitou o CVE-2021-21551 vulnerabilidade para atingir um funcionário de uma empresa aeroespacial na Holanda e um jornalista político na Bélgica. Foi o primeiro abuso registrado da vulnerabilidade; em combinação, a ferramenta e a vulnerabilidade levaram ao bloqueio do monitoramento de todas as soluções de segurança nas máquinas comprometidas. Também fornecemos uma descrição extensa do estrutura da máquina virtual usado em amostras de Wslink.
Este blogpost explica a atribuição do WinorDLL64 ao Lazarus e fornece uma análise da carga útil.
Links para Lázaro
Descobrimos sobreposições tanto no comportamento quanto no código com amostras do Lazarus de Operação GhostSecret e os votos de Implante de Bankshot descrito pela McAfee. A descrição dos implantes nos artigos GhostSecret e Bankshot contém sobreposições na funcionalidade com WinorDLL64 e encontramos algumas sobreposições de código nas amostras. Nesta postagem do blog, usaremos apenas o FE887FCAB66D7D7F79F05E0266C0649F0114BA7C amostra do GhostSecret para comparação com WinorDLL64 (1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F), a menos que especificado.
Os detalhes a seguir resumem os fatos de suporte para nossa atribuição de baixa confiança a Lazarus:
1. Vitimologia
- Colegas pesquisadores do AhnLab confirmaram vítimas sul-coreanas de Wslink em sua telemetria, o que é um indicador relevante considerando os alvos tradicionais do Lazarus e que observamos apenas alguns acertos.
2. Malware
- A amostra mais recente do GhostSecret relatada pela McAfee (FE887FCAB66D7D7F79F05E0266C0649F0114BA7C) é de fevereiro de 2018; vimos a primeira amostra do Wslink no final de 2018 e outros pesquisadores relataram acessos em agosto de 2018, que divulgaram após nossa publicação. Portanto, essas amostras foram localizadas com um período de tempo relativamente curto.
- A cabeçalhos enriquecidos PE indicam que o mesmo ambiente de desenvolvimento e projetos de tamanho semelhante foram usados em várias outras amostras conhecidas do Lazarus (por exemplo, 70DE783E5D48C6FBB576BC494BAF0634BC304FD6; 8EC9219303953396E1CB7105CDB18ED6C568E962). Encontramos essa sobreposição usando as seguintes regras que cobrem apenas essas amostras Wslink e Lazarus, que é um indicador com baixo peso. Nós os testamos em Caça retro do VirusTotal e nosso corpus de arquivo interno.
rich_signature.length == 80 e
pe.rich_signature.toolid(175, 30319) == 7 e
pe.rich_signature.toolid(155, 30319) == 1 e
pe.rich_signature.toolid(158, 30319) == 10 e
pe.rich_signature.toolid(170, 30319) >= 90 e
pe.rich_signature.toolid(170, 30319) <= 108
Essa regra pode ser traduzida para a seguinte notação que é mais legível e usada pelo VirusTotal, onde é possível ver a versão do produto e o ID da compilação (VS2010 compilação 30319), número e tipo de arquivos de origem/objeto usados ([LTCGC++] onde LTCG significa Link Time Code Generation, [ASM], [C]), e número de exportações ([EXP]) na regra:
[LTCG C++] VS2010 compilação 30319 contagem = 7
[EXP] VS2010 compilação 30319 contagem = 1
[ASM] VS2010 compilação 30319 contagem = 10
[ C ] VS2010 build 30319 conta em [ 90 .. 108 ]
- O artigo do GhostSecret descreveu “um componente exclusivo de coleta de dados e instalação de implantes que escuta na porta 443 para conexões de servidor de controle de entrada” que também é executado como um serviço. Esta é uma descrição precisa do comportamento do downloader Wslink, além do número da porta, que pode variar com base na configuração. Resumindo, mesmo que a implementação seja diferente, ambos servem ao mesmo propósito.
- O loader é virtualizado pelo Code Virtualizer da Oreans, que é um protetor comercial que é usado freqüentemente por Lázaro.
- O carregador usa o Módulo de memória biblioteca para carregar módulos diretamente da memória. A biblioteca não é comumente usada por malware, mas é bastante popular entre grupos alinhados à Coreia do Norte, como Lazarus e Kimsuky.
- Sobreposição no código entre WinorDLL64 e GhostSecret que encontramos durante nossa análise. Os resultados e a significância na atribuição estão listados na Tabela 1.
Tabela 1. Semelhanças entre WinorDLL64 e GhostSecret e sua importância na atribuição de ambos ao mesmo ator de ameaça
Outras semelhanças entre WinorDLL64 e GhostSecret | Impacto |
---|---|
Sobreposição de código no código responsável por obter a arquitetura do processador | Baixo |
Sobreposição de código na manipulação do diretório atual | Baixo |
Sobreposição de código na obtenção da lista de processos | Baixo |
Sobreposição de código no envio de arquivos | Baixo |
Sobreposição de comportamento em processos de listagem | Baixo |
Sobreposição de comportamento na manipulação do diretório atual | Baixo |
Sobreposição de comportamento na listagem de arquivos e diretórios | Baixo |
Sobreposição de comportamento na listagem de volumes | Baixo |
Sobreposição de comportamento na leitura/gravação de arquivos | Baixo |
Sobreposição de comportamento na criação de processos | Baixo |
Considerável sobreposição de comportamento na remoção segura de arquivos | Baixo |
Considerável sobreposição de comportamento no encerramento de processos | Baixo |
Considerável sobreposição de comportamento na coleta de informações do sistema | Baixo |
A sobreposição de código na funcionalidade de envio de arquivo é destacada na Figura 2 e na Figura 3.
Análise técnica
O WinorDLL64 serve como um backdoor que, principalmente, adquire informações extensas do sistema, fornece meios para manipulação de arquivos e executa comandos adicionais. Curiosamente, ele se comunica por uma conexão TCP que já foi estabelecida por seu carregador e usa algumas das funções do carregador.
O backdoor é uma DLL com uma única exportação sem nome que aceita um parâmetro – uma estrutura de comunicação que já foi descrita em nosso postagem anterior do blog. A estrutura contém um contexto TLS – soquete, chave, IV – e retornos de chamada para enviar e receber mensagens criptografadas com AES-CBC de 256 bits que permitem que o WinorDLL64 troque dados com segurança com a operadora em uma conexão já estabelecida.
Os seguintes fatos nos levam a acreditar com alta confiança que a biblioteca realmente faz parte do Wslink:
- A estrutura única é usada em todos os lugares da maneira esperada, por exemplo, o contexto TLS e outros parâmetros significativos são fornecidos na ordem antecipada para os retornos de chamada corretos.
- O nome da DLL é WinorDLL64.dll e o nome de Wslink era WinorLoaderDLL64.dll.
WinorDLL64 aceita vários comandos. A Figura 5 exibe o loop que recebe e manipula comandos. Cada comando está vinculado a um ID exclusivo e aceita uma configuração que contém parâmetros adicionais.
A lista de comandos, com nossos rótulos, está na Figura 6.
A Tabela 2 contém um resumo dos comandos WinorDLL64, onde as categorias modificadas e antigas referem-se ao relacionamento com a funcionalidade do GhostSecret documentada anteriormente. Destacamos apenas mudanças significativas na categoria modificada.
Tabela 2. Visão geral dos comandos backdoor
Categoria | Código do comando | Funcionalidade | Descrição |
---|---|---|---|
Novo | 0x03 | Executar um comando do PowerShell | WinorDLL64 instrui o interpretador do PowerShell a executar sem restrições e a ler comandos da entrada padrão. Depois disso, o backdoor passa o comando especificado para o interpretador e envia a saída para o operador. |
0x09 | Compactar e baixar um diretório | WinorDLL64 itera recursivamente em um diretório especificado. O conteúdo de cada arquivo e diretório é compactado separadamente e gravado em um arquivo temporário que é posteriormente enviado ao operador e removido com segurança. | |
0x0D | Desconectar uma sessão | Desconecta um usuário conectado especificado da sessão de Serviços de Área de Trabalho Remota do usuário. O comando também pode executar diferentes funcionalidades com base no parâmetro. | |
0x0D | Listar sessões | Adquire vários detalhes sobre todas as sessões no dispositivo da vítima e os envia ao operador. O comando também pode executar diferentes funcionalidades com base no parâmetro. | |
0x0E | Meça o tempo de conexão | Usa a API do Windows Gettickcount para medir o tempo necessário para se conectar a um host especificado. | |
Modificado | 0x01 | Obter informações do sistema | Adquire detalhes abrangentes sobre o sistema da vítima e os envia ao operador. |
0x0A | Remova arquivos com segurança | Sobrescreve os arquivos especificados com um bloco de dados aleatórios, renomeia cada arquivo para um nome aleatório e, finalmente, os remove com segurança um por um. | |
0x0C | Matar processos | Encerra todos os processos cujos nomes correspondem a um padrão fornecido e/ou com um PID específico. | |
Velho | 0x02/0x0B | Crie um processo | Cria um processo como o usuário atual ou especificado e, opcionalmente, envia sua saída para o operador. |
0x05 | Definir/Obter diretório atual | Tenta definir e subsequentemente adquirir o caminho do diretório de trabalho atual. | |
0x06 | Listar volumes | Itera sobre as unidades de C: a Z: e adquire o tipo de unidade e o nome do volume. O comando também pode executar diferentes funcionalidades com base no parâmetro. | |
0x06 | Listar arquivos em um diretório | Itera sobre arquivos no diretório especificado e adquire informações como nomes, atributos, etc. O comando também pode executar diferentes funcionalidades com base no parâmetro. | |
0x07 | Gravar em um arquivo | Faz o download e anexa a quantidade declarada de dados ao arquivo especificado. | |
0x08 | Ler de um arquivo | O arquivo especificado é lido e enviado ao operador. | |
0x0C | Listar processos | Obtém detalhes sobre todos os processos em execução no dispositivo da vítima e, adicionalmente, envia o ID do processo atual. |
Conclusão
A carga útil do Wslink é dedicada a fornecer meios para manipulação de arquivos, execução de código adicional e obtenção de informações abrangentes sobre o sistema subjacente que possivelmente podem ser aproveitadas posteriormente para movimentação lateral, devido ao interesse específico em sessões de rede. O carregador Wslink escuta em uma porta especificada na configuração e pode atender clientes de conexão adicionais e até mesmo carregar várias cargas úteis.
O WinorDLL64 contém uma sobreposição no ambiente de desenvolvimento, comportamento e código com vários exemplos do Lazarus, o que indica que pode ser uma ferramenta do vasto arsenal desse grupo APT alinhado à Coreia do Norte.
IoCs
SHA-1 | nome de detecção ESET | Descrição |
---|---|---|
1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F | Win64/Wslink.A | Despejo de memória da carga Wslink descoberta WinorDll64. |
Técnicas MITER ATT e CK
Esta tabela foi construída usando versão 12 da estrutura ATT&CK. Não mencionamos as técnicas do carregador novamente, apenas a carga útil.
Tática | ID | Nome | Descrição |
---|---|---|---|
Desenvolvimento de Recursos | T1587.001 | Desenvolver recursos: malware | WinorDLL64 é uma ferramenta personalizada. |
Execução | T1059.001 | Interpretador de comandos e scripts: PowerShell | WinorDLL64 pode executar comandos arbitrários do PowerShell. |
T1106 | API nativa | WinorDLL64 pode executar outros processos usando o Criar Processo W e CreateProcessAsUserW APIs. | |
Evasão de Defesa | T1134.002 | Manipulação de token de acesso: criar processo com token | WinorDLL64 pode chamar APIs WTSQueryUserToken e CreateProcessAsUserW para criar um processo sob um usuário representado. |
T1070.004 | Remoção do Indicador: Exclusão de Arquivo | WinorDLL64 pode remover com segurança arquivos arbitrários. | |
Discovery | T1087.001 | Descoberta de conta: conta local | WinorDLL64 pode enumerar sessões e listar usuários associados e nomes de clientes, entre outros detalhes. |
T1087.002 | Descoberta de conta: conta de domínio | WinorDLL64 pode enumerar sessões e listar nomes de domínio associados – entre outros detalhes. | |
T1083 | Descoberta de arquivos e diretórios | WinorDLL64 pode obter listagens de arquivos e diretórios. | |
T1135 | Descoberta de compartilhamento de rede | WinorDLL64 pode descobrir unidades de rede compartilhadas. | |
T1057 | Descoberta de Processo | WinorDLL64 pode coletar informações sobre processos em execução. | |
T1012 | Registro de consulta | WinorDLL64 pode consultar o registro do Windows para coletar informações do sistema. | |
T1082 | Descoberta de informações do sistema | O WinorDLL64 pode obter informações como nome do computador, sistema operacional e versão mais recente do service pack, arquitetura do processador, nome do processador e quantidade de espaço em unidades fixas. | |
T1614 | Descoberta de localização do sistema | WinorDLL64 pode obter o nome do país padrão da vítima usando o GetLocaleInfoW API. | |
T1614.001 | Descoberta de localização do sistema: Descoberta de idioma do sistema | WinorDLL64 pode obter o idioma padrão da vítima usando o GetLocaleInfoW API. | |
T1016 | Descoberta de configuração de rede do sistema | WinorDLL64 pode enumerar informações do adaptador de rede. | |
T1049 | Descoberta de Conexões de Rede do Sistema | WinorDLL64 pode coletar uma lista de portas de escuta. | |
T1033 | Proprietário do sistema/descoberta de usuário | O WinorDLL64 pode enumerar sessões e listar nomes de usuários, domínios e clientes associados – entre outros detalhes. | |
Coleção | T1560.002 | Arquivar dados coletados: arquivar via biblioteca | WinorDLL64 pode compactar e exfiltrar diretórios usando o rápido biblioteca. |
T1005 | Dados do sistema local | O WinorDLL64 pode coletar dados no dispositivo da vítima. | |
Impacto | T1531 | Remoção de acesso à conta | WinorDLL64 pode desconectar um usuário conectado de sessões especificadas. |
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. Acesse aqui.
- Fonte: https://www.welivesecurity.com/2023/02/23/winordll64-backdoor-vast-lazarus-arsenal/
- 1
- 10
- 2011
- 2017
- 2018
- 2021
- 7
- 9
- a
- Sobre
- abuso
- Aceita
- Acesso
- preciso
- adquirir
- Adquire
- atividades
- Adicional
- Adicionalmente
- Vantagem
- Indústria aeroespacial
- Depois de
- contra
- alinhado
- Todos os Produtos
- já
- América
- entre
- quantidade
- análise
- e
- Antecipado
- à parte
- api
- APIs
- APT
- arquitetura
- arquivo
- Arsenal
- artigo
- artigos
- associado
- Ataques
- atributos
- AGOSTO
- em caminho duplo
- Porta dos fundos
- baseado
- Bélgica
- Acreditar
- entre
- Bloquear
- obrigado
- construir
- construído
- C + +
- chamada
- capacidades
- Categorias
- Categoria
- central
- a Europa Central
- CGI
- Alterações
- CISA
- cliente
- clientes
- código
- coletar
- Coleta
- combinação
- comercial
- geralmente
- Comunicação
- Empresa
- comparação
- componente
- compreensivo
- compromisso
- Comprometido
- computador
- confiança
- Configuração
- CONFIRMADO
- CONTATE-NOS
- Conexão de
- da conexão
- Coneções
- considerando
- contém
- conteúdo
- ao controle
- país
- cobrir
- crio
- Criar
- crítico
- Atual
- personalizadas
- dados,
- dedicado
- Padrão
- descrito
- descrição
- área de trabalho
- detalhes
- Desenvolvimento
- dispositivo
- DID
- diferente
- diretamente
- diretórios
- descobrir
- descoberto
- descoberta
- monitores
- disruptivo
- domínio
- NOMES DE DOMÍNIO
- download
- distância
- despejar
- durante
- cada
- Leste
- ou
- Empregado
- permitir
- criptografada
- Entretenimento
- Meio Ambiente
- estabelecido
- etc.
- Europa
- Mesmo
- exchange
- executar
- Executa
- execução
- esperado
- Explica
- exportar
- exportações
- extenso
- fbi
- Fevereiro
- companheiro
- poucos
- Figura
- Envie o
- Arquivos
- Finalmente
- Encontre
- Primeiro nome
- fixado
- seguinte
- encontrado
- Quadro
- da
- funcionalidade
- funções
- mais distante
- geração
- ter
- obtendo
- Grupo
- Do grupo
- Alças
- Alta
- de alto perfil
- Destaques
- Destaque
- história
- Acertar
- acessos
- hospedeiro
- Contudo
- HTTPS
- identificado
- implementação
- in
- indicam
- indicam
- Indicador
- infame
- INFORMAÇÕES
- do estado inicial,
- inicialmente
- entrada
- Inteligência
- interesse
- interno
- IT
- jornalista
- Chave
- conhecido
- Coréia
- Coreana
- Rótulos
- língua
- grande
- Sobrenome
- Ano passado
- Atrasado
- mais recente
- Lázaro
- conduzir
- levou
- Comprimento
- Biblioteca
- LINK
- Lista
- Listado
- Escuta
- listagem
- Anúncios
- carregar
- carregador
- local
- localização
- longo
- Baixo
- máquinas
- moldadas
- a Principal
- malwares
- Manipulação
- Match
- max-width
- Mcafee
- significativo
- significa
- a medida
- Memória
- mensagens
- Coração
- Médio Oriente
- poder
- modificada
- Módulos
- monitoração
- mais
- a maioria
- movimento
- nome
- Nomeado
- nomes
- Nederland
- rede
- Norte
- América do Norte
- notavelmente
- número
- obter
- obtendo
- Oferece
- Velho
- ONE
- Operações
- operador
- ordem
- Organizado
- OS
- Outros
- de outra forma
- surto
- Visão geral
- Pack
- parâmetro
- parâmetros
- parte
- passes
- caminho
- padrão
- realizar
- significativo
- FOTOS
- platão
- Inteligência de Dados Platão
- PlatãoData
- político
- Popular
- portas
- PowerShell
- preparado
- anteriormente
- privado
- processo
- processos
- Subcontratante
- Produto
- projetos
- fornecido
- fornece
- fornecendo
- público
- Publicação
- propósito
- acaso
- Leia
- recebido
- recebe
- receber
- gravado
- em relação a
- região
- registro
- relacionamento
- relativamente
- relevante
- remoto
- remoção
- remover
- Removido
- removendo
- Informou
- Relatórios
- requeridos
- pesquisa
- investigador
- pesquisadores
- responsável
- Resultados
- Rico
- Regra
- regras
- Execute
- corrida
- mesmo
- seguro
- firmemente
- segurança
- envio
- separadamente
- servir
- serve
- serviço
- Serviços
- Sessão
- sessões
- conjunto
- vários
- Partilhar
- compartilhado
- Baixo
- Em breve
- significado
- periodo
- semelhante
- semelhanças
- desde
- solteiro
- Tamanho
- Soluções
- alguns
- Sul
- Coreia do Sul
- Sul-coreano
- Espaço
- específico
- especificada
- padrão
- fica
- estabelecido
- estrutura
- Subseqüentemente
- tal
- Sugere
- resumir
- RESUMO
- fornecidas
- Apoiar
- .
- mesa
- Target
- visadas
- tem como alvo
- Profissionais
- técnicas
- temporário
- A
- Países Baixos
- deles
- ameaça
- tempo
- para
- token
- ferramenta
- tradicional
- para
- subjacente
- único
- SEM NOME
- carregado
- us
- usar
- Utilizador
- utilizar
- vário
- Grande
- versão
- via
- Vítima
- vítimas
- Virtual
- visualização
- volume
- vulnerabilidade
- peso
- qual
- Largo
- precisarão
- Windows
- redação
- trabalhar
- seria
- escrito
- ano
- zefirnet