fechar
fechar
Sua Rede do Amanhã
Sua Rede do Amanhã
Planeje seu caminho rumo a uma rede mais rápida, segura e resiliente projetada para os aplicativos e usuários aos quais você oferece suporte.
          Experimente a Netskope
          Get Hands-on With the Netskope Platform
          Here's your chance to experience the Netskope One single-cloud platform first-hand. Sign up for self-paced, hands-on labs, join us for monthly live product demos, take a free test drive of Netskope Private Access, or join us for a live, instructor-led workshops.
            Líder em SSE. Agora é líder em SASE de fornecedor único.
            Líder em SSE. Agora é líder em SASE de fornecedor único.
            A Netskope estreia como líder no Quadrante Mágico™ do Gartner® para Single-Vendor SASE
              Protegendo a IA generativa para leigos
              Protegendo a IA generativa para leigos
              Learn how your organization can balance the innovative potential of generative AI with robust data security practices.
                Modern data loss prevention (DLP) for Dummies eBook
                Prevenção Contra Perda de Dados (DLP) Moderna para Leigos
                Get tips and tricks for transitioning to a cloud-delivered DLP.
                  Livro SD-WAN moderno para SASE Dummies
                  Modern SD-WAN for SASE Dummies
                  Pare de brincar com sua arquitetura de rede
                    Compreendendo onde estão os riscos
                    Advanced Analytics transforms the way security operations teams apply data-driven insights to implement better policies. With Advanced Analytics, you can identify trends, zero in on areas of concern and use the data to take action.
                        Os 6 casos de uso mais atraentes para substituição completa de VPN herdada
                        Os 6 casos de uso mais atraentes para substituição completa de VPN herdada
                        Netskope One Private Access is the only solution that allows you to retire your VPN for good.
                          A Colgate-Palmolive protege sua “propriedade intelectual "” com proteção de dados inteligente e adaptável
                          A Colgate-Palmolive protege sua “propriedade intelectual "” com proteção de dados inteligente e adaptável
                            Netskope GovCloud
                            Netskope obtém alta autorização do FedRAMP
                            Escolha o Netskope GovCloud para acelerar a transformação de sua agência.
                              Let's Do Great Things Together
                              A estratégia de comercialização da Netskope, focada em Parcerias, permite que nossos Parceiros maximizem seu crescimento e lucratividade enquanto transformam a segurança corporativa.
                                Netskope solutions
                                Netskope Cloud Exchange
                                Netskope Cloud Exchange (CE) provides customers with powerful integration tools to leverage investments across their security posture.
                                  Suporte Técnico Netskope
                                  Suporte Técnico Netskope
                                  Nossos engenheiros de suporte qualificados estão localizados em todo o mundo e têm diversas experiências em segurança de nuvem, rede, virtualização, fornecimento de conteúdo e desenvolvimento de software, garantindo assistência técnica de qualidade e em tempo hábil.
                                    Vídeo da Netskope
                                    Treinamento Netskope
                                    Os treinamentos da Netskope vão ajudar você a ser um especialista em segurança na nuvem. Conte conosco para ajudá-lo a proteger a sua jornada de transformação digital e aproveitar ao máximo as suas aplicações na nuvem, na web e privadas.

                                      O Netskope Threat Labs revela as técnicas furtivas do novo XWorm

                                      30 de setembro de 2024

                                      Sumário

                                      O XWorm é uma ferramenta versátil relativamente nova que foi descoberta em 2022. Ele permite que os invasores realizem uma variedade de funções, que incluem acessar informações confidenciais, obter acesso remoto e implantar malware adicional. A natureza multifacetada do xWorm é atraente para os agentes de ameaças, conforme evidenciado por seu suposto uso no início deste ano por agentes de ameaças como NullBulge e TA558.

                                      Por meio dos esforços de busca do Netskope Threat Labs, descobrimos a versão mais recente do XWorm na natureza. Nesta postagem do blog, detalharemos o seguinte:

                                      • A cadeia de infecção que leva à execução do XWorm.
                                      • Execução evasiva do carregador de DLL do xWorm por meio do carregamento reflexivo de código. 
                                      • A injeção do xWorm em um processo legítimo.
                                      • Os novos recursos do XWorm, que incluem a remoção de plug-ins e um comando de rede que informa o tempo de resposta do XWorm, junto com outros comandos notáveis.
                                      • Notificação do invasor após a infecção usando o Telegram.

                                      Fluxo de execução do XWorm

                                      A seguir está o resumo do fluxo de execução do xWorm:

                                      Fluxo de execução do XWorm
                                      1. A cadeia de infecção começa com o WSF baixando e executando um script PowerShell hospedado em paste.ee
                                      2. O script do PowerShell executa as seguintes ações:
                                        A. Cria três scripts, a saber, VSLabs.vbs, VsEnhance.bat, e VSlabsData.ps1.
                                        B. Cria uma tarefa agendada.
                                        C. Envia uma notificação do Telegram para o atacante.
                                      3. A tarefa agendada executa o VBScript chamado VSLabs.vbs.
                                      4. O VBScript executa um arquivo em lotes chamado VsEnhance.bat.
                                      5. O arquivo em lote executa um script do PowerShell chamado VSLabsData.ps1.
                                      6. O script do PowerShell carrega uma DLL maliciosa por meio do carregamento reflexivo de código.
                                      7. A DLL maliciosa injeta o XWorm em um processo legítimo e o executa.

                                      XWorm dropper entregue via Windows Script File (WSF)

                                      A cadeia de infecção começa com um Arquivo de Script do Windows (WSF), provavelmente entregue por meio de phishing. O arquivo do WSF começa com vários parágrafos sobre a Administração da Previdência Social por meio de uma série de linhas comentadas. No entanto, ele termina com um VBScript que baixa e executa um script do PowerShell usando o Wscript.Shell. Para evitar a detecção estática, o comando para baixar o script do PowerShell é codificado em hexadecimal e exige a concatenação de cadeias de caracteres.

                                      VBScript encontrado dentro do arquivo WSF
                                      Usando o Cyberchef para decodificar o VBScript

                                      Análise de scripts do PowerShell

                                      O VBScript baixa um script do PowerShell armazenado no Paste.ee, um site legítimo do Pastebin. Usar sites legítimos para armazenar códigos maliciosos ajuda os atacantes a passarem despercebidos pelo defensor. Para evitar a detecção remota, o script do PowerShell executa a ofuscação de várias cadeias de caracteres, incluindo caracteres de escape e concatenação de cadeias de caracteres. O script do PowerShell cria uma pasta chamada “Visuals” no caminho: “C:\ProgramData\Music\Visuals”. Depois, ele gera PowerShell, batch e VBScripts (VSlabsData.ps1, VsEnhance.bat, e VSLabs.vbs) e o armazena na pasta criada.

                                      O VBScript chamado VSLabs.vbs inicia a cadeia de execução executando um arquivo em lotes chamado VsEnhance.bat usando WScript.Shell. E o VsEnhance.bat executa o script do PowerShell chamado VSLabsData.ps1.

                                      VSLABS.vbs
                                      VsEnhance.bat

                                      Dados do VSlabs.ps1

                                      O VSlabsData.ps1 executa as seguintes ações:

                                      1. Defina duas cargas úteis como strings hexadecimais usando a variável $cake para xWorm (XClient3.exe) e $oven para o carregador de DLL (NewPE2).
                                      2. Crie uma tarefa agendada chamada 'MicrosoftVisualsUpdater'. 
                                      3. Envie uma notificação ao atacante via Telegram.
                                      4. Execute o carregador de DLL que injeta o XWorm em um processo legítimo.

                                      Vamos examinar mais de perto como o script do PowerShell realiza essas etapas.

                                      Persistence

                                      A persistência do XWorm é alcançada por meio de uma tarefa agendada chamada MicrosoftVisualUpdater. Essa tarefa é acionada um minuto depois de ser criada e continuará a ser acionada a cada 15 minutos. Ele está configurado para executar o VBScript VsEnhance.bat.

                                      Tarefa agendada como persistência pelo XWorm

                                      Notificação por telegrama

                                      Depois que o script do PowerShell VSlabsData.ps1 concluir sua rotina, ele enviará uma mensagem do Telegram ao atacante. A mensagem contém o endereço IP público da vítima com uma atribuição a “XYZCRYPTER” como atacante.

                                      Rotina para enviar mensagem do Telegram

                                      NewPE2 executado por meio do carregamento de código, injetando o XWorm em um processo legítimo

                                      Diferentemente das instâncias de XWorm relatadas anteriormente em que a carga foi baixada, o arquivo analisado armazena as cargas reais dentro do script do PowerShell usando as variáveis $cake e $oven. Para evitar a detecção estática, o XWorm e o NewPe2 são definidos como cadeias hexadecimais e separados por um sublinhado. Depois que os sublinhados são substituídos, o carregador é executado usando o carregamento de código refletivo.

                                      xWorm como variável $cake em VSlabsData.ps1
                                      Novo carregador PE2 como variável $oven em VSlabsData.ps1

                                      O carregamento reflexivo do código começa carregando os bytes na memória usando o método Load da classe Assembly. Em seguida, ele recupera o objeto Type para a classe 'PE' e o método 'Execute' dentro do namespace 'NewPE' do conjunto carregado.

                                      O método “Execute” do carregador é usado para injetar o XWorm em um processo legítimo (C:\Windows\Microsoft.Net\ Framework\ v4.0.30319\ RegSvcs.exe). Podemos observar esse comportamento após a detonação. Quando o RegSVCs é executado pelo método “Execute” do carregador, podemos ver o XWorm injetado no espaço de memória do processo legítimo.


                                      Quando a injeção estiver concluída e o xWorm estiver executando o processo legítimo, o carregador do PowerShell é encerrado, deixando apenas o processo legítimo com um arquivo assinado digitalmente pela Microsoft.

                                      Cadeia de execução do xWorm e seu carregador
                                      Binário XWorm injetado em RegSvcs.exe

                                      Análise xWorm

                                      O XWorm é um binário compilado.NET chamado XClient3.exe. O binário já foi detectado pelo DetectItEasy e por vários fornecedores de antivírus no Virustotal, o que pode ser o motivo pelo qual ele não foi gravado em disco em primeiro lugar.

                                      xWorm com detecção de DIE

                                      O aplicativo começa descriptografando a configuração do xWorm, incluindo domínio e porta C2, delimitador de comando, chave AES e a versão do xWorm. A partir das configurações incluídas, podemos confirmar que esse XWorm é da versão 5.6.

                                      Descriptografando a configuração do XWorm

                                      Essas configurações estão no formato base64 e são criptografadas com AES ECB. Para descriptografar essas configurações, ele usa o valor MD5 da string “rz2w67345hrmryrb” como chave. Precisamos acrescentar o hash MD5 ao seu valor original no 15º índice.

                                      Rotina para descriptografar a configuração do xWorm
                                      Usando o Cyberchef para decodificar a configuração criptografada AES

                                      Confirmação do xWorm

                                      Hostziadonfire [.] trabalho [.] gd (89,116.164,56)
                                      Porto7000
                                      Chave (chave de criptografia AES)
                                      SPL (delimitador)
                                      Groub (versão)XWorm V5.6
                                      USBNMUSB.exe

                                      Conexão C2 através de soquete

                                      O XWorm inicia a conexão de rede com o servidor C2 por meio do soquete. O construtor do soquete mostra que ele se conectaria ao C2 usando um endereço IP por meio de TCP. O endereço IP do domínio C2 é usado. Ele também está configurado para lidar com o envio e o recebimento de dados por meio de um soquete de cerca de 50 KB. Para manter a conexão, o xWorm envia um ping ao servidor C2 a cada 10-15 segundos e monitora uma resposta longa a cada milissegundo.

                                      Rotina para se conectar ao servidor xWorm por meio de soquete
                                      Tráfego C2 por xWorm

                                      Reconhecimento

                                      Depois de se conectar inicialmente, ele coletará e enviará as informações do dispositivo da vítima ao atacante. Isso fornece ao atacante as informações iniciais antes de realizar ações maliciosas. As informações coletadas incluem nome de host, nome de usuário, drivers, detalhes da CPU e da GPU, se o usuário for administrador, se o antivírus estiver instalado e um executável chamado “USB.exe”. As informações são vinculadas à string delimitadora e à versão do xWorm.

                                      Rotina para coletar informações do alvo

                                      Novos comandos na v5.6

                                      Alguns comandos são encontrados na versão 5.6 em comparação com as versões relatadas anteriormente. Uma delas é a capacidade de remover plug-ins armazenados. O XWorm é capaz de carregar e salvar plug-ins que podem realizar várias funções personalizadas. O comando “RemovePlugins” dá ao XWorm a capacidade de limpar as informações do plug-in armazenadas no registro, caso eles queiram limpar artefatos. O invasor será notificado assim que os plug-ins forem removidos.

                                      Rotina para remover plug-ins

                                      Enquanto isso, o comando “Pong” parece ser uma ferramenta de rede para atacantes que reporta o tempo de resposta do xWorm. A variável “Interval” é o número de milissegundos em que o xWorm recebe uma resposta Pong da função “Ping” do C2.

                                      Rotina de comando Pong

                                      Modificação do arquivo de hosts

                                      Outro comando notável do xWorm é sua capacidade de ler e modificar o arquivo hosts da vítima. Isso fornece um meio para o atacante realizar ataques relacionados ao DNS. O arquivo hosts no Windows é um arquivo de texto simples usado para mapear nomes de host para endereços IP manualmente. Ele substitui a resolução de DNS fornecida pela rede. O comando “Hosts” permite que o XWorm envie uma cópia do arquivo hosts para o atacante. Já o comando “Shosts” permite que o atacante envie seu próprio arquivo hosts e sobrescreva o da vítima. Depois de sobrescrito, ele enviará uma mensagem ao atacante confirmando seu sucesso.

                                      Rotina para coletar e modificar o arquivo hosts

                                      Lance um ataque DDoS

                                      Outro comando do xWorm é lançar um ataque de negação de serviço (DoS) a um alvo. Quando a vítima recebe um comando “StartDDoS”, ela inicialmente aborta qualquer atividade contínua de negação de serviço e, em seguida, gera um novo thread que envia uma solicitação POST usando o soquete a cada 2,5 segundos. O atacante fornecerá o endereço IP do alvo, o número da porta e a duração do ataque.

                                      Rotina para lançar um ataque DDoS

                                      Captura de tela

                                      Outra função do xWorm é coletar uma captura de tela da tela da vítima. Primeiro, ele recupera as dimensões da tela principal e as passa para criar um bitmap. Em seguida, ele captura o conteúdo da tela usando CopyFromScreen, que é armazenado na memória usando o MemoryStream no formato JPEG e é enviado ao atacante usando o soquete.

                                      Formato da mensagem:

                                      “#CAP”,

                                      <Xwormmm>

                                      Dados da vítima

                                      <Xwormmm>

                                      Base64 e imagem compactada

                                      Rotina para coletar capturas de tela

                                      Uma lista de todos os comandos encontrados no XWorm está listada abaixo:

                                      CommandDescription
                                      pongEnvia “pong” junto com o valor do intervalo de ping
                                      recReinicia o aplicativo
                                      FECHARFecha o aplicativo
                                      desinstalarExclui o arquivo executável deixado em vários caminhos de arquivo
                                      updateReinicia o aplicativo com novas informações do processo
                                      ORVALHOAceite o comando PowerShell, escreva o comando em um arquivo dentro da pasta temporária e execute-o
                                      FMExecuta um comando compactado e baseado em 64
                                      EMFaz o download de um arquivo e o executa
                                      UrlopenEnvia uma solicitação GET para um URL enviado do C2
                                      Ocultar URLEnvia uma solicitação GET para um URL enviado do C2, mas está oculto da vítima
                                      Desligamento do PCDesligue a máquina da vítima
                                      Reinicialização do PCReinicie a máquina da vítima
                                      PC LogoffDesconecta a vítima da máquina
                                      Execute o ShellExecuta um processo em segundo plano
                                      DDoSEnvie uma mensagem “DDoS” para o C2
                                      Inicie o DDoSInterrompe inicialmente qualquer atividade de DDoS. Depois, envia uma solicitação POST usando um soquete a cada 2,5 segundos usando um agente de usuário aleatório por solicitação.
                                      Pare os DDoSInterrompe qualquer atividade de DDoS do aplicativo
                                      Iniciar relatórioRecebe uma lista de nomes de processos do C2. Ele informa quais processos estão em execução.
                                      Relatório STOPAborta o envio do relatório
                                      XchatEnvia os seguintes dados para C2:


                                      Contagem de processadores
                                      Nome de usuário Nome do
                                      dispositivo Sistema operacional

                                      Formato da mensagem:
                                      “Dados do Xchat”
                                      AnfitriõesLeia e envie o conteúdo do arquivo hosts.

                                      Formato da mensagem:
                                      “Hosts”,

                                      (dados do Xchat) Caminho do arquivo
                                      Hosts O conteúdo do arquivo

                                      Hospeda
                                      ShostsModifica e salva um arquivo (que provavelmente é o arquivo hosts) e, em seguida, envia uma mensagem para confirmar que a alteração foi bem-sucedida.
                                      pluginColeta o plugin do C2
                                      Salvar plug-inSalva as informações do plugin no registro
                                      Remover plug-insExcluir informações do plugin no registro
                                      Off-line SetIsso envia uma mensagem de erro dizendo “Offlinekeylogger não ativado”
                                      $ capitalizaçãoCaptura uma captura de tela e a envia para o atacante

                                      Conclusões

                                      O XWorm é uma ferramenta multifacetada que pode fornecer uma ampla gama de funções ao atacante. Nesta postagem do blog, explicamos como um invasor pode entregar e executar furtivamente o XWorm, junto com suas funcionalidades e métodos. A cadeia de execução, a configuração do xWorm e os IOCs podem ajudar os defensores a identificar o xWorm em seu ambiente e buscar possíveis atualizações. O Netskope Threat Labs continuará monitorando o XWorm e outros malwares que executam técnicas semelhantes.

                                      Netskope Detection

                                      • Proteção Contra Ameaças Netskope
                                        • Gen: Variant.Jalapeno.683
                                      • Netskope Advanced Threat Protection provides proactive coverage against this threat.
                                        • Gen.detect.by.nscloudsandbox.tr
                                        • Código de bytes - MSIL.Backdoor.xworm

                                      IOCs

                                      All the IOCs related to this campaign can be found in our GitHub repository.

                                      author image
                                      Jan Michael Alcantara
                                      Jan Michael Alcantara é um atendente de incidentes experiente com experiência em perícia forense, caça a ameaças e análise de incidentes.
                                      Jan Michael Alcantara é um atendente de incidentes experiente com experiência em perícia forense, caça a ameaças e análise de incidentes.

                                      Mantenha-se informado!

                                      Assine para receber as últimas novidades do Blog da Netskope