Principais conclusões
- O conjunto de intrusão REF2754 aproveita vários carregadores PE, backdoors e executores PowerShell
- SPECTRALVIPER é um backdoor x64 altamente ofuscado e não divulgado anteriormente que traz recursos de carregamento e injeção de PE, upload e download de arquivos, manipulação de arquivos e diretórios e representação de tokens.
- Estamos atribuindo REF2754 a um conjunto de intrusão baseado no Vietnã e alinhando com o ator de ameaça Canvas Cyclone/APT32/OceanLotus
Preâmbulo
O Elastic Security Labs vem rastreando um conjunto de intrusões direcionado a grandes empresas públicas vietnamitas há vários meses, REF2754. Durante esse período, nossa equipe descobriu um novo malware sendo usado de forma coordenada por um agente afiliado ao estado.
Esta pesquisa discute:
- O malware SPECTRALVIPER
- O carregador de malware P8LOADER
- O malware POWERSEAL
- Análise de campanha e intrusão do REF2754
Fluxo de execução
O primeiro evento registrado foi a criação de um arquivo (C:\Usuários\Público\Bibliotecas\dbg.config) pelo serviço do sistema descartado via SMB de um endpoint previamente comprometido. O adversário renomeou o utilitário SysInternals ProcDump, usado para coletar metadados de memória de processos em execução, para se disfarçar como o utilitário depurador do Windows ( windbg.exe ). Usando o aplicativo ProcDump renomeado com o sinalizador -md , o adversário carregou dbg.config , uma DLL não assinada contendo código malicioso.
Vale ressaltar que a técnica ProcDump LOLBAS requer um processo válido nos argumentos; portanto, embora winlogon.exe esteja sendo incluído nos argumentos, ele está sendo usado porque é um processo válido, não porque está sendo alvo de coleta pelo ProcDump.
A DLL não assinada (dbg.config) continha o shellcode DONUTLOADER que tentava injetar em sessionmsg.exe , o Microsoft Remote Session Message Server. O DONUTLOADER foi configurado para carregar o backdoor SPECTRALVIPER e, finalmente, as famílias de malware P8LOADER ou POWERSEAL, dependentes da situação. Abaixo está o fluxo de execução para o conjunto de intrusão REF2754.
Nossa equipe também observou um fluxo de trabalho semelhante ao descrito acima, mas com técnicas diferentes para representar sua execução maliciosa. Um exemplo utilizou o programa Internet Explorer ( ExtExport.exe ) para carregar uma DLL, enquanto outra técnica envolveu o carregamento lateral de uma DLL maliciosa ( dnsapi.dll ) usando um aplicativo legítimo ( nslookup.exe ).
Essas técnicas e famílias de malware compõem o conjunto de intrusão REF2754.
Análise de código SPECTRALVIPER
Overview
Durante nossa investigação, observamos uma família de malware backdoor ainda não descoberta, que estamos chamando de SPECTRALVIPER. SPECTRALVIPER é um backdoor de 64 bits do Windows codificado em C++ e altamente ofuscado. Ele opera com dois modos de comunicação distintos, permitindo receber mensagens via HTTP ou um pipe nomeado do Windows.
Por meio de nossa análise, identificamos as seguintes capacidades:
- Carregamento/Injeção de PE : O SPECTRALVIPER pode carregar e injetar arquivos executáveis, suportando arquiteturas x86 e x64. Esse recurso permite que ele execute código malicioso dentro de processos legítimos.
- Representação de token : o malware possui a capacidade de representar tokens de segurança, concedendo privilégios elevados e ignorando certas medidas de segurança. Isso permite acesso não autorizado e manipulação de recursos confidenciais.
- Download/upload de arquivos : O SPECTRALVIPER pode baixar e carregar arquivos de e para o sistema comprometido. Isso permite que o invasor extraia dados ou envie cargas maliciosas adicionais para a máquina infectada.
- Manipulação de arquivos/diretórios : o backdoor é capaz de manipular arquivos e diretórios no sistema comprometido. Isso inclui criar, excluir, modificar e mover arquivos ou diretórios, fornecendo ao invasor amplo controle sobre o sistema de arquivos da vítima.
Fluxo de execução
Executar
O SPECTRALVIPER pode ser compilado como um executável PE ou arquivo DLL. Iniciar o malware como um PE é simples, basta executar .\spectralviper.exe.
No entanto, quando o malware é uma DLL, ele tenta se disfarçar como uma biblioteca legítima com exportações conhecidas, como sqlite3 em nossa amostra observada.
O ponto de entrada SPECTRALVIPER está oculto nessas exportações. Para encontrar o correto, podemos chamá-lo por força bruta usando PowerShell e rundll-ng. O comando do PowerShell descrito abaixo chama cada exportação SPECTRALVIPER em um loop for até encontrarmos aquela que inicia os recursos de malware.
for($i=0; $i -lt 20; $i++){.\rundll-ng\rundll64-ng.exe ".\7e35ba39c2c77775b0394712f89679308d1a4577b6e5d0387835ac6c06e556cb.dll" "#$i"}
Durante a execução, o binário opera no modo HTTP ou no modo pipe, determinado por sua configuração codificada.
Modo de tubulação
No modo pipe, o SPECTRALVIPER abre um pipe nomeado com um nome codificado e aguarda comandos de entrada, neste exemplo \.\pipe\raSeCIR4gg.
Este pipe nomeado não possui nenhum atributo de segurança, o que significa que ele pode ser acessado por todos. Isso é interessante porque um pipe nomeado não seguro pode ser ultrapassado por um agente de ameaça co-residente (conhecido ou desconhecido pelo operador SPECTRALVIPER) ou equipes defensivas como uma forma de interromper esse modo de execução.
Entretanto, um protocolo específico é necessário para se comunicar com esse pipe. O SPECTRALVIPER implementa o protocolo de troca de chaves Diffie-Helman para trocar a chave necessária para criptografar e descriptografar comandos transmitidos pelo pipe nomeado, que é criptografado em AES.
HTTP mode
No modo HTTP, o malware enviará um sinal para seu C2 a cada n segundos. O intervalo é gerado aleatoriamente em um intervalo entre 10 e 99 segundos.
Usando um depurador, podemos forçar o binário a usar o canal HTTP em vez do pipe nomeado se o binário contiver um domínio codificado.
Abaixo está um exemplo de solicitação HTTP.
A solicitação contém um cabeçalho de cookie, “ euconsent-v2 ”, que contém informações coletadas pelo host. Essas informações são criptografadas usando criptografia assimétrica RSA1024 e codificadas em base64 usando Base64. Abaixo está um exemplo do conteúdo do cookie antes da criptografia.
Acreditamos que o primeiro valor, neste exemplo “ H9mktfe2k0ukk64nZjw1ow== ”, é a chave AES gerada aleatoriamente que é compartilhada com o servidor para criptografar dados de comunicação.
Comandos
Ao analisar amostras do SPECTRALVIPER, descobrimos que sua tabela de manipuladores de comando contém entre 33 e 36 manipuladores.
Abaixo está uma tabela listando os comandos que foram identificados.
ID | Nome |
---|---|
2 | BaixarArquivo |
3 | CarregarArquivo |
5 | Definir intervalos de Beacon |
8 | CreateRundll32ProcessAndHollow |
11 | InjectShellcodeInProcess |
12 | CreateProcessAndInjectShellcode |
13 | Injetar PE no Processo |
14 | CreateProcessAndHollow |
20 | CreateRundll32ProcessWithArgumentAndInjectPE |
81 | StealProcessToken |
82 | Representar usuário |
83 | Reverter para si mesmo |
84 | AdjustPrivileges |
85 | ObterNomeDeUsuárioAtual |
103 | ListarArquivos |
106 | ListarProcessosEmExecução |
108 | CopiarArquivo |
109 | ExcluirArquivo |
110 | CriarDiretório |
111 | Mover arquivo |
200 | ExecutarDLLEmProcessoPróprio |
Para acelerar o processo de interação com o SPECTRALVIPER, ignoramos os protocolos de comunicação e injetamos nosso próprio backdoor no binário. Este backdoor abrirá um soquete e chamará os manipuladores ao receber nossas mensagens.
Quando o comando AdjustPrivileges é executado, e dependendo do nível de privilégio atual do processo, o malware tentará definir a seguinte lista de privilégios.
Defense Evasion
Ofuscação de código
O código binário é fortemente ofuscado pela divisão de cada função em funções fictícias de vários níveis que encapsulam a lógica inicial. Além disso, o fluxo de controle dessas funções também é ofuscado usando o achatamento do fluxo de controle. O achatamento do fluxo de controle é uma técnica de ofuscação que remove estruturas limpas do programa e coloca os blocos próximos uns dos outros dentro de um loop com uma instrução switch para controlar o fluxo do programa.
Abaixo está um exemplo de uma função de identidade de segundo nível onde o parâmetro destacado p_a1 é retornado apesar da complexidade da função.
Ofuscação de strings
As strings do SPECTRALVIPER são ofuscadas usando uma estrutura personalizada e descriptografia AES. A chave é codificada ( "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" ) e o IV está contido na estrutura de string criptografada.
Podemos descriptografar as strings instrumentando o malware e chamando suas funções de descriptografia AES.
Resumo
SPECTRALVIPER é um backdoor x64 descoberto durante análise de intrusão pelo Elastic Security Labs. Ele pode ser compilado como um executável ou DLL, o que normalmente imita exportações binárias conhecidas.
Ele permite carregamento/injeção de processos, representação de tokens e manipulação de arquivos. Ele utiliza canais de comunicação criptografados (HTTP e pipe nomeado) com criptografia AES e troca de chaves Diffie-Hellman ou RSA1024.
Todas as amostras são fortemente ofuscadas usando o mesmo ofuscador com diferentes níveis de endurecimento.
Usando as informações que coletamos por meio de análises estáticas e dinâmicas, conseguimos identificar várias outras amostras no VirusTotal. Usando o processo de depuração descrito acima, também conseguimos coletar a infraestrutura C2 para essas amostras.
P8LOADER
Overview
O Portable Executable (PE) descrito abaixo é um carregador PE x64 do Windows, escrito em C++, que estamos nomeando P8LOADER em homenagem a uma de suas exportações, P8exit.
Descoberta
O P8LOADER foi descoberto inicialmente quando um alerta de shellcode sem backup foi gerado pela execução de um processo válido do Windows, RuntimeBroker.exe. Seções executáveis sem backup, ou código flutuante, são o resultado de tipos de seção de código definidos como “Privado” em vez de “Imagem”, como você veria quando o código é mapeado para um arquivo no disco. Threads que partem desses tipos de regiões de memória são anômalos e um bom indicador de atividade maliciosa.
Se você quiser saber mais sobre eventos executáveis sem backup, confira a publicação de pesquisa Hunting in Memory de Joe Desimone.
Fluxo de execução
O carregador exporta duas funções que têm a capacidade de carregar binários PE em sua própria memória de processo, seja de um arquivo ou da memória.
O PE a ser executado é carregado na memória usando o método VirtualAlloc com um algoritmo de carregamento de PE clássico (carregando seções, resolvendo importações e aplicando realocações).
Em seguida, um novo thread é alocado com o ponto de entrada do PE como endereço inicial.
Por fim, o identificador STDOUT do PE carregado é substituído por um pipe e um thread de pipe de leitura é criado como uma forma de redirecionar a saída do binário para o sistema de registro do carregador.
Além de redirecionar a saída PE carregada, o carregador usa um mecanismo de interceptação de API para conectar certas APIs do processo carregado, registrar todas as chamadas para ele e enviar os dados por meio de um pipe nomeado (com uma string UUID gerada aleatoriamente como nome).
A conexão da tabela de importação do PE é feita no momento da resolução da importação, substituindo os endereços de função importados originalmente por seu próprio stub.
Defense Evasion
Ofuscação de strings
O P8LOADER usa uma técnica de ofuscação baseada em modelo C++ para ocultar erros e depurar strings com um conjunto de algoritmos diferentes escolhidos aleatoriamente em tempo de compilação.
Essas sequências de caracteres são ofuscadas para dificultar a análise, pois fornecem informações valiosas sobre as funções e capacidades do carregador.
Resumo
P8LOADER é um carregador x64 do Windows recém-descoberto que é usado para executar um PE a partir de um arquivo ou da memória. Este malware é capaz de redirecionar a saída do PE carregada para seu sistema de registro e conectar as importações do PE às chamadas de importação de registro.
Análise de código POWERSEAL
Overview
Durante essa intrusão, observamos um executor leve do .NET PowerShell que chamamos de POWERSEAL com base em strings incorporadas. Após a implantação bem-sucedida do SPECTRALVIPER, o utilitário POWERSEAL seria usado para iniciar scripts ou comandos do PowerShell fornecidos. O malware utiliza syscalls ( NtWriteVirtualMemory ) para escapar de soluções defensivas (AMSI/ETW).
Defense Evasion
O Rastreamento de Eventos para Windows (ETW) fornece um mecanismo para rastrear e registrar eventos gerados por aplicativos em modo de usuário e drivers em modo kernel. A Anti Malware Scan Interface (AMSI) fornece proteção aprimorada contra malware para dados, aplicativos e cargas de trabalho. O POWERSEAL adota bypasses bem conhecidos e disponíveis publicamente para corrigir essas tecnologias na memória. Isso aumenta suas chances de sucesso e diminui sua pegada detectável.
Por exemplo, o POWERSEAL emprega abordagens comuns para desvincular e ignorar o AMSI para ignorar a assinatura do Microsoft Defender
Inicie o PowerShell
A função principal do POWERSEAL é executar o PowerShell. Na representação a seguir do código-fonte do POWERSEAL, podemos ver que o POWERSEAL usa o PowerShell para executar um script e argumentos ( comando ). O script e os argumentos são fornecidos pelo agente da ameaça e não foram observados no ambiente.
Resumo
POWERSEAL é um novo executor PowerShell desenvolvido especificamente para esse fim, que toma emprestado livremente de uma variedade de ferramentas de segurança ofensivas de código aberto, oferecendo recursos ofensivos em um pacote simplificado com evasão de defesa integrada.
Modelagem de campanha e adversário
Overview
REF2754 é uma campanha em andamento contra grandes empresas públicas de importância nacional no Vietnã. A cadeia de execução de malware nesta campanha é iniciada com DONUTLOADER, mas continua utilizando ferramentas não relatadas anteriormente.
- SPECTRALVIPER, um backdoor x64 ofuscado que traz carregamento e injeção de PE, upload e download de arquivos, manipulação de arquivos e diretórios, representação de tokens e comando e controle de pipe nomeado e HTTP
- P8LOADER, um carregador Windows PE ofuscado que permite ao invasor minimizar e ofuscar algum registro nos terminais da vítima e
- POWERSEAL, um executor do PowerShell com desvios ETW e AMSI integrados para evasão defensiva aprimorada ao usar ferramentas do PowerShell
O Elastic Security Labs conclui com moderada confiança que esta campanha é executada por uma ameaça afiliada ao estado vietnamita.
Vitimologia
Usando nossa assinatura SPECTRALVIPER YARA, identificamos dois endpoints em um segundo ambiente infectado com implantes SPECTRALVIPER. Esse ambiente foi discutido na pesquisa do Elastic Security Labs em 2022 que descreve REF4322.
A vítima do REF4322 é uma empresa de serviços financeiros sediada no Vietnã. O Elastic Security Labs falou pela primeira vez sobre esse grupo de vítimas e atividades em 2022.
A vítima do REF2754 foi identificada como uma grande agroindústria sediada no Vietnã.
Outras informações de inteligência de terceiros do VirusTotal, baseadas na busca retroativa das regras YARA disponíveis no final desta pesquisa, indicam vítimas adicionais no Vietnã. Houve oito acessos no total no Retrohunt:
- Todos foram confirmados manualmente como SPECTRALVIPER
- Todas as amostras tinham entre 1,59 MB e 1,77 MB de tamanho
- Todas as amostras do VirusTotal foram inicialmente enviadas do Vietname
Algumas amostras foram identificadas anteriormente em nossa primeira coleção, e algumas eram novas para nós.
Esteja ciente das limitações analíticas de confiar muito no “submissor VT”. Esse mecanismo de relatórios de terceiros pode estar sujeito a preocupações com relatórios circulares ou uso de VPN que modifique os GEOs usados e reforço inadvertido de uma hipótese. Neste caso, ele foi usado na tentativa de encontrar amostras com origens aparentemente não-VN, sem sucesso.
No momento da publicação, todas as vítimas conhecidas são grandes empresas públicas localizadas no Vietnã e que realizam negócios principalmente no país.
Análise de campanha
A sobreposição com o ambiente REF4322 ocorreu recentemente, em 20 de abril de 2023. Um desses endpoints foi previamente infectado com o implante PHOREAL, enquanto o outro endpoint foi comprometido com o PIPEDANCE.
Essas infecções do SPECTRALVIPER foram configuradas no modo pipe, em oposição aos domínios codificados definidos para aguardar a conexão de entrada por meio de um pipe nomeado ( \.\pipe\ydZb0bIrT ).
Esta atividade parece ser uma transferência de acesso ou troca de uma ferramenta por outra.
Se você estiver interessado em uma análise detalhada do malware PIPEDANCE, confira nossa pesquisa anterior e fique ligado, pois há mais por vir.
A coleta pós-exploração dos efeitos pretendidos tem sido limitada, no entanto, embora seja especulativa por natureza, uma avaliação de motivação baseada em malware, implante e capacidades técnicas aponta para a obtenção de acesso inicial, manutenção da persistência e operação como um backdoor para fins de coleta de inteligência.
Domínios de REF4322, REF2754 e de amostras coletadas do VirusTotal usadas para C2 foram todos registrados no ano passado, sendo o mais recente no final de abril de 2023.
Domínio: | Criado: |
---|---|
stablewindowsapp[.]com | 2022-02-10 |
webmanufacturers[.]com | 2022-06-10 |
toppaperservices[.]com | 2022-12-15 |
hosting-wordpress-services[.]com | 2023-03-15 |
appointmentmedia[.]com | 2023-04-26 |
Os GEOs para IPs associados a esses domínios são distribuídos globalmente e usam certificados Sectigo, Rapid SSL e Let's Encrypt. Uma análise mais aprofundada da infraestrutura não revelou nada de notável além da data de registro, o que nos dá um prazo para a campanha. Com base no registro recente de appointmentmedia[.]com, esta campanha ainda pode estar em andamento com novos domínios sendo registrados para futuras intrusões.
Associações de campanha
O Elastic Security Labs conclui com moderada confiança que os grupos de atividades REF4322 e REF2754 representam campanhas planejadas e executadas por uma ameaça afiliada ao estado vietnamita. Com base em nossa análise, esse grupo de atividades se sobrepõe aos relatórios anteriores dos grupos de ameaças Canvas Cyclone, APT32 e OCEANLOTUS.
Conforme declarado acima e em relatórios anteriores, a vítima do REF4322 é uma instituição financeira que administra capital para aquisições de negócios e antigas empresas estatais.
A vítima do REF2754 é uma grande agroindústria que é sistemicamente importante nas cadeias de fornecimento de produção e distribuição de alimentos do Vietnã. A urbanização contínua, a poluição, a pandemia de COVID-19 e as mudanças climáticas têm sido desafios para a segurança alimentar do Vietnã. Como dado, em março de 2023, o Primeiro Ministro do Vietnã aprovou o Plano de Ação Nacional para a Transformação dos Sistemas Alimentares em direção à Transparência, Responsabilidade e Sustentabilidade no Vietnã até 2030. Seu objetivo geral é transformar os sistemas alimentares, incluindo produção, processamento, distribuição e consumo, em direção à transparência, responsabilidade e sustentabilidade com base em vantagens locais; garantir a segurança alimentar e nutricional nacional; melhorar a renda e os padrões de vida das pessoas; prevenir e controlar desastres naturais e epidemias; proteger o meio ambiente e responder às mudanças climáticas; e, finalmente, contribuir para a implementação dos Objetivos de Desenvolvimento Sustentável do Vietnã e do Mundo até 2030. Tudo isso destaca que a segurança alimentar tem sido um ponto de ênfase da política nacional, o que também torna as vítimas do REF2754 um alvo atraente para agentes de ameaças devido à sua intersecção com os objetivos estratégicos do Vietnã.
Além dos interesses estratégicos nacionalmente alinhados das vítimas para REF4322 e REF2754, ambas as vítimas foram infectadas com as famílias de malware DONUTLOADER, P8LOADER, POWERSEAL e SPECTRALVIPER usando técnicas de implantação, gerenciamento de implantes e convenções de nomenclatura semelhantes em ambas as intrusões.
Um grupo de ameaças com acesso aos registros de transações financeiras disponíveis no REF4322, combinado com a política nacional estratégica de segurança alimentar para o REF2754, forneceria insights sobre competência de gestão, corrupção, influência estrangeira ou manipulações de preços, de outra forma indisponíveis por meio de relatórios regulatórios.
Modelo Diamante
O Elastic Security utiliza o Modelo Diamond para descrever relacionamentos de alto nível entre adversários, capacidades, infraestrutura e vítimas de intrusões. Embora o Modelo Diamante seja mais comumente usado com intrusões únicas e aproveitando o Activity Threading (seção 8) como uma forma de criar relacionamentos entre incidentes, um modelo centrado no adversário (seção 7.1.4) abordagem permite um único diamante (desorganizado).
Táticas e técnicas adversárias observadas
A Elastic usa a estrutura MITRE ATT&CK para documentar táticas, técnicas e procedimentos comuns que ameaças persistentes avançadas usam contra redes corporativas.
Táticas
As táticas representam o porquê de uma técnica ou subtécnica. É o objetivo tático do adversário: a razão para executar uma ação.
Técnicas/subtécnicas
Técnicas e subtécnicas representam como um adversário atinge um objetivo tático ao executar uma ação.
- Reúna informações do host
- Reúna informações sobre a rede de vítimas
- Descoberta de compartilhamento de rede
- Descoberta remota do sistema
- Descoberta de arquivos e diretórios
- Descoberta de processos
- Descoberta de serviço do sistema
- Descoberta do proprietário/usuário do sistema
- Injeção de processo
- Mascarando
- Protocolo da camada de aplicação: Protocolos da Web
- Manipulação de Token de Acesso: Criar e Representar Token
Lógica de detecção
Prevenções
Todos os malwares discutidos nesta publicação de pesquisa têm proteções incluídas no Elastic Defend.
YARA
O Elastic Security criou regras YARA para identificar essa atividade. Abaixo estão as regras YARA para identificar SPECTRALVIPER, POWERSEAL e P8LOADER
rule Windows_Trojan_SpectralViper_1 {
meta:
author = "Elastic Security"
creation_date = "2023-04-13"
last_modified = "2023-05-26"
os = "Windows"
arch = "x86"
category_type = "Trojan"
family = "SpectralViper"
threat_name = "Windows.Trojan.SpectralViper"
reference_sample = "7e35ba39c2c77775b0394712f89679308d1a4577b6e5d0387835ac6c06e556cb"
license = "Elastic License v2"
strings:
$a1 = { 13 00 8D 58 FF 0F AF D8 F6 C3 01 0F 94 44 24 26 83 FD 0A 0F 9C 44 24 27 4D 89 CE 4C 89 C7 48 89 D3 48 89 CE B8 }
$a2 = { 15 00 8D 58 FF 0F AF D8 F6 C3 01 0F 94 44 24 2E 83 FD 0A 0F 9C 44 24 2F 4D 89 CE 4C 89 C7 48 89 D3 48 89 CE B8 }
$a3 = { 00 8D 68 FF 0F AF E8 40 F6 C5 01 0F 94 44 24 2E 83 FA 0A 0F 9C 44 24 2F 4C 89 CE 4C 89 C7 48 89 CB B8 }
$a4 = { 00 48 89 C6 0F 29 30 0F 29 70 10 0F 29 70 20 0F 29 70 30 0F 29 70 40 0F 29 70 50 48 C7 40 60 00 00 00 00 48 89 C1 E8 }
$a5 = { 41 0F 45 C0 45 84 C9 41 0F 45 C0 EB BA 48 89 4C 24 08 89 D0 EB B1 48 8B 44 24 08 48 83 C4 10 C3 56 57 53 48 83 EC 30 8B 05 }
$a6 = { 00 8D 70 FF 0F AF F0 40 F6 C6 01 0F 94 44 24 25 83 FF 0A 0F 9C 44 24 26 89 D3 48 89 CF 48 }
$a7 = { 48 89 CE 48 89 11 4C 89 41 08 41 0F 10 01 41 0F 10 49 10 41 0F 10 51 20 0F 11 41 10 0F 11 49 20 0F 11 51 30 }
$a8 = { 00 8D 58 FF 0F AF D8 F6 C3 01 0F 94 44 24 22 83 FD 0A 0F 9C 44 24 23 48 89 D6 48 89 CF 4C 8D }
condition:
5 of them
}
rule Windows_Trojan_SpectralViper_2 {
meta:
author = "Elastic Security"
creation_date = "2023-05-10"
last_modified = "2023-05-10"
os = "Windows"
arch = "x86"
category_type = "Trojan"
family = "SpectralViper"
threat_name = "Windows.Trojan.SpectralViper"
reference_sample = "d1c32176b46ce171dbce46493eb3c5312db134b0a3cfa266071555c704e6cff8"
license = "Elastic License v2"
strings:
$a1 = { 18 48 89 4F D8 0F 10 40 20 0F 11 47 E0 0F 10 40 30 0F 11 47 F0 48 8D }
$a2 = { 24 27 48 83 C4 28 5B 5D 5F 5E C3 56 57 53 48 83 EC 20 48 89 CE 48 }
$a3 = { C7 84 C9 0F 45 C7 EB 86 48 8B 44 24 28 48 83 C4 30 5B 5F 5E C3 48 83 }
$s1 = { 40 53 48 83 EC 20 48 8B 01 48 8B D9 48 8B 51 10 48 8B 49 08 FF D0 48 89 43 18 B8 04 00 00 }
$s2 = { 40 53 48 83 EC 20 48 8B 01 48 8B D9 48 8B 49 08 FF D0 48 89 43 10 B8 04 00 00 00 48 83 C4 20 5B }
$s3 = { 48 83 EC 28 4C 8B 41 18 4C 8B C9 48 B8 AB AA AA AA AA AA AA AA 48 F7 61 10 48 8B 49 08 48 C1 EA }
condition:
2 of ($a*) or any of ($s*)
}
rule Windows_Trojan_PowerSeal_1 {
meta:
author = "Elastic Security"
creation_date = "2023-03-16"
last_modified = "2023-05-26"
os = "Windows"
arch = "x86"
category_type = "Trojan"
family = "PowerSeal"
threat_name = "Windows.Trojan.PowerSeal"
license = "Elastic License v2"
strings:
$a1 = "PowerSeal.dll" wide fullword
$a2 = "InvokePs" ascii fullword
$a3 = "amsiInitFailed" wide fullword
$a4 = "is64BitOperatingSystem" ascii fullword
condition:
all of them
}
rule Windows_Trojan_PowerSeal_2 {
meta:
author = "Elastic Security"
creation_date = "2023-05-10"
last_modified = "2023-05-10"
os = "Windows"
arch = "x86"
category_type = "Trojan"
family = "PowerSeal"
threat_name = "Windows.Trojan.PowerSeal"
license = "Elastic License v2"
strings:
$a1 = "[+] Loading PowerSeal"
$a2 = "[!] Failed to exec PowerSeal"
$a3 = "AppDomain: unable to get the name!"
condition:
2 of them
}
rule Windows_Trojan_P8Loader {
meta:
author = "Elastic Security"
creation_date = "2023-04-13"
last_modified = "2023-05-26"
os = "Windows"
arch = "x86"
category_type = "Trojan"
family = "P8Loader"
threat_name = "Windows.Trojan.P8Loader"
license = "Elastic License v2"
strings:
$a1 = "\t[+] Create pipe direct std success\n" fullword
$a2 = "\tPEAddress: %p\n" fullword
$a3 = "\tPESize: %ld\n" fullword
$a4 = "DynamicLoad(%s, %s) %d\n" fullword
$a5 = "LoadLibraryA(%s) FAILED in %s function, line %d" fullword
$a6 = "\t[+] No PE loaded on memory\n" wide fullword
$a7 = "\t[+] PE argument: %ws\n" wide fullword
$a8 = "LoadLibraryA(%s) FAILED in %s function, line %d" fullword
condition:
5 of them
}
Referências
Os seguintes itens foram referenciados ao longo da pesquisa acima:
- https://www.elastic.co/security-labs/hunting-memory
- https://www.elastic.co/security-labs/phoreal-malware-targets-the-southeast-asian-financial-sector
- https://www.elastic.co/security-labs/twice-around-the-dance-floor-with-pipedance
- https://www.microsoft.com/en-us/security/blog/2020/11/30/threat-actor-leverages-coin-miner-techniques-to-stay-under-the-radar-heres-how-to-spot-them/
- https://learn.microsoft.com/en-us/microsoft-365/security/intelligence/microsoft-threat-actor-naming
Observações
Todos os observáveis também estão disponíveis para download nos formatos ECS e STIX em um pacote zip combinado.
Os seguintes observáveis foram discutidos nesta pesquisa.
Observable | Tipo | Nome | Referência |
---|---|---|---|
56d2d05988b6c23232b013b38c49b7a9143c6649d81321e542d19ae46f4a4204 | SHA-256 | - | SPECTRALVIPER Relacionado a 1.dll abaixo |
d1c32176b46ce171dbce46493eb3c5312db134b0a3cfa266071555c704e6cff8 | SHA-256 | 1.dll | SPECTRALVIPER |
7e35ba39c2c77775b0394712f89679308d1a4577b6e5d0387835ac6c06e556cb | SHA-256 | asdgb.exe | SPECTRALVIPER |
4e3a88cf00e0b4718e7317a37297a185ff35003192e5832f5cf3020c4fc45966 | SHA-256 | Configurações.db | SPECTRALVIPER |
7b5e56443812eed76a94077763c46949d1e49cd7de79cde029f1984e0d970644 | SHA-256 | Microsoft.MicrosoftEdge_8wekyb3d8bbwe.pkg | SPECTRALVIPER |
5191fe222010ba7eb589e2ff8771c3a75ea7c7ffc00f0ba3f7d716f12010dd96 | SHA-256 | UpdateConfig.json | SPECTRALVIPER |
4775fc861bc2685ff5ca43535ec346495549a69891f2bf45b1fcd85a0c1f57f7 | SHA-256 | Microsoft.OneDriveUpdatePackage.mca | SPECTRALVIPER |
2482c7ececb23225e090af08feabc8dec8d23fe993306cb1a1f84142b051b621 | SHA-256 | ms-certificados.sst | SPECTRALVIPER |
stablewindowsapp[.]com | Domínio | N/D | C2 |
webmanufacturers[.]com | Domínio | N/D | C2 |
toppaperservices[.]com | Domínio | N/D | C2 |
hosting-wordpress-services[.]com | Domínio | N/D | C2 |
appointmentmedia[.]com | Domínio | N/D | C2 |