Espionagem de longo prazo contra diplomatas, aproveitando protocolos C&C baseados em e-mail, backdoors modulares C++ e ataques de adversário no meio (AitM)… Parece o infame Turla? Pense de novo!
MoustachedBouncer é um grupo de ciberespionagem descoberto pela ESET Research e divulgado publicamente pela primeira vez neste blogpost. O grupo está ativo desde pelo menos 2014 e visa apenas embaixadas estrangeiras na Bielo-Rússia. Desde 2020, o MoustachedBouncer provavelmente conseguiu realizar ataques de adversário no meio (AitM) no nível do ISP, na Bielo-Rússia, a fim de comprometer seus alvos. O grupo usa dois conjuntos de ferramentas separados que chamamos de NightClub e Disco.
Pontos-chave deste relatório:
- O MoustachedBouncer está em operação desde pelo menos 2014.
- Avaliamos com confiança média que eles estão alinhados com os interesses da Bielorrússia.
- MoustachedBouncer é especializado na espionagem de embaixadas estrangeiras na Bielorrússia.
- MoustachedBouncer usa a técnica do adversário no meio desde 2020 para redirecionar as verificações do portal cativo para um servidor C&C e fornecer plug-ins de malware por meio de compartilhamentos SMB.
- Acreditamos que MoustachedBouncer usa um sistema de interceptação legal (como SORM) para conduzir suas operações AitM.
- Avaliamos com pouca confiança que MoustachedBouncer está cooperando estreitamente com Winter Vivern, outro grupo visando diplomatas europeus, mas usando TTPs diferentes.
- Desde 2014, o grupo opera uma estrutura de malware que chamamos de NightClub. Ele usa os protocolos SMTP e IMAP (e-mail) para comunicações C&C.
- A partir de 2020, o grupo vem utilizando, paralelamente, um segundo framework de malware que batizamos de Disco.
- Tanto o NightClub quanto o Disco oferecem suporte a plug-ins de espionagem adicionais, incluindo um capturador de tela, um gravador de áudio e um ladrão de arquivos.
Vitimologia
De acordo com a telemetria da ESET, o grupo tem como alvo embaixadas estrangeiras na Bielo-Rússia, e identificamos quatro países diferentes cujos funcionários da embaixada foram alvejados: dois da Europa, um do sul da Ásia e um da África. As datas-chave são mostradas na Figura 1.
Atribuição
Enquanto rastreamos o MoustachedBouncer como um grupo separado, encontramos elementos que nos fazem avaliar com pouca confiança que eles estão colaborando estreitamente com outro grupo conhecido como Winter Vivern. Este último foi descoberto em 2021 e ainda está ativo em 2023. Em março de 2023, Winter Vivern usou uma conhecida vulnerabilidade XSS ( CVE-2022-27926 ) no portal de correio Zimbra para roubar credenciais de webmail de diplomatas de vários países europeus. Esta campanha foi divulgada publicamente pelos pesquisadores da Proofpoint.
A atividade do MoustachedBouncer vai de 2014 a 2022 e os TTPs do grupo evoluíram ao longo do tempo. Por exemplo, vimos pela primeira vez eles usarem ataques AitM apenas em 2020. No entanto, a vertical direcionada permaneceu a mesma.
A Tabela 1 apresenta as características de cada campanha. Dados esses elementos, avaliamos com alta confiança que todos eles estão vinculados ao MoustachedBouncer.
Tabela 1. Conexões entre as campanhas do MoustachedBouncer
VirusTotal (2014) |
Vítima A (2017) | Vítima B (2020-2022) |
Vítima C (2020-2022) |
Vítima D (2021-2022) |
|
Implante de boate | x | x | x | ||
plug-ins Nightclub | x | x | x | ||
implante de disco | x | x | |||
Conta-gotas SharpDisco | x | ||||
Compromisso via AitM | ? | ? | ? | ? | x |
Entrega de malware via AitM em ações SMB | x | x | |||
Vítimas: embaixadas estrangeiras na Bielorrússia | ? | x | x | x | x |
Vetor de compromisso: AitM
Nesta seção, detalhamos o acesso inicial ao Disco. Ainda não sabemos o método de acesso inicial que o MoustachedBouncer usa para instalar o NightClub.
Atualização falsa do Windows
Para comprometer seus alvos, os operadores do MoustachedBouncer adulteram o acesso à Internet de suas vítimas, provavelmente no nível do ISP, para fazer o Windows acreditar que está por trás de um portal cativo. O Windows 10 verifica se é possível acessar a Internet com uma solicitação HTTP para http://www.msftconnecttest.com/connecttest.txt. Caso a resposta não seja Microsoft Connect Test, uma janela do navegador será aberta para http://www.msftconnecttest.com/redirect. Para intervalos de IP visados pelo MoustachedBouncer, o tráfego de rede é adulterado no nível do ISP e o último URL redireciona para um URL do Windows Update aparentemente legítimo, mas falso, http://updates.microsoft[.]com/. Portanto, a página falsa do Windows Update será exibida para uma vítima em potencial na conexão de rede. A página de atualização falsa é mostrada na Figura 2. O texto que observamos está em russo, provavelmente porque esse é o principal idioma usado na Bielo-Rússia, mas é possível que existam versões em outros idiomas. A página indica que há atualizações críticas de segurança do sistema que devem ser instaladas.
Observe que ele está usando HTTP não criptografado e não HTTPS, e que o subdomínio updates.microsoft[.]com não existe nos servidores de nomes da Microsoft, portanto, não resolve na Internet aberta. Durante o ataque, esse domínio foi resolvido para 5.45.121[.]106 na máquina do alvo. Este endereço IP é usado para estacionamento de domínios e não está relacionado à Microsoft. Embora este seja um endereço IP roteável pela Internet, o tráfego para esse IP nunca chega à Internet enquanto o ataque AitM está em andamento. Tanto as resoluções DNS quanto as respostas HTTP foram injetadas em trânsito, provavelmente no nível do ISP.
Um ponto importante é que a técnica do adversário no meio (AitM) ocorre apenas contra algumas organizações selecionadas (talvez apenas embaixadas), não em todo o país. Não é possível reproduzir o redirecionamento simplesmente saindo de um endereço IP aleatório na Bielo-Rússia.
Entrega de malware
A página HTML, mostrada na Figura 2, carrega o código JavaScript de http://updates.microsoft[.]com/jdrop.js. Esse script primeiro chama setTimeout para executar a função jdrop um segundo após o carregamento da página. Essa função (veja a Figura 3) exibe uma janela modal com um botão chamado Получить обновления (tradução: Obter atualizações).
Um clique no botão executa a função de atualização , mostrada na Figura 4.
Esta função aciona o download de um falso instalador do Windows Update a partir do URL aparentemente legítimo http://updates.microsoft[.]com/MicrosoftUpdate845255.zip. Ele também exibe algumas instruções para instalar a atualização: Для установки обновлений, скачайте и запустите “MicrosoftUpdate845255.msi”. (tradução: Para instalar atualizações, baixe e execute “MicrosoftUpdate845255.msi”).
Não foi possível recuperar o arquivo MicrosoftUpdate845255.zip baixado, mas nossa telemetria mostra que ele contém um executável malicioso chamado MicrosoftUpdate845255.exe .
Escrito em Go, ele cria uma tarefa agendada que executa \\35.214.56[.]2\OfficeBroker\OfficeBroker.exe a cada minuto. Como o caminho sugere, ele busca o executável via SMB de 35.214.56[.]2 . Esse endereço IP pertence a um cliente do Google Cloud, mas, assim como o servidor HTTP, acreditamos que as respostas SMB são injetadas instantaneamente via AitM e que os invasores não controlam o endereço IP real roteável pela Internet.
Também observamos os seguintes servidores SMB, interceptados via AitM:
- \\209.19.37[.]184
- \\38.9.8[.]78
- \\59.6.8[.]25
Observamos esse comportamento em duas redes ISP separadas: Unitary Enterprise A1 e Beltelecom. Isso sugere que esses ISPs podem não fornecer total confidencialidade e integridade dos dados. Recomendamos enfaticamente que as organizações estrangeiras na Bielo-Rússia usem um túnel VPN criptografado de ponta a ponta, idealmente fora da banda (ou seja, não do endpoint), fornecendo conectividade com a Internet a partir de uma rede confiável.
A Figura 5 representa nossa hipótese sobre o vetor de comprometimento e a interceptação de tráfego.
AITM – Considerações gerais
O cenário AitM nos lembra dos agentes de ameaças Turla e StrongPity que criaram instaladores de software trojanizados em tempo real no nível do ISP.
Normalmente, esse método de acesso inicial é usado por agentes de ameaças que operam em seu próprio país porque requer acesso significativo dentro dos provedores de serviços de Internet ou de seus provedores upstream. Em muitos países, os serviços de segurança estão autorizados a realizar a chamada “interceptação legal” usando dispositivos especiais instalados nas instalações dos ISPs.
Na Rússia, uma lei de 2014 exige que os ISPs instalem dispositivos chamados SORM-3 que permitem que o Serviço Federal de Segurança (FSB) conduza vigilância direcionada. Os dispositivos têm recursos de inspeção profunda de pacotes (DPI) e provavelmente foram usados pela Turla em sua campanha Mosquito.
Em 2018, o Citizen Lab revelou que dispositivos DPI desenvolvidos pela empresa canadense Sandvine foram usados para modificar o tráfego HTTP na Turquia e no Egito. Na Turquia, os dispositivos foram supostamente usados para redirecionar os usuários da Internet para um servidor malicioso quando tentavam baixar certos aplicativos do Windows, o que está de acordo com as atividades do StrongPity. No Egito, esses dispositivos foram supostamente usados para injetar anúncios e scripts de mineração de criptomoedas para gerar dinheiro.
Em 2020, um artigo da Bloomberg revelou que o National Traffic Exchange Center da Bielorrússia comprou o mesmo equipamento Sandvine DPI, mas de acordo com um artigo da Cyberscoop o contrato foi cancelado em setembro de 2020.
De acordo com um relatório da Anistia Internacional publicado em 2021, “De acordo com a lei bielorrussa, todos os provedores de telecomunicações do país devem tornar seu hardware compatível com o sistema SORM”. Eles também afirmam que “o sistema SORM permite às autoridades acesso direto e por controle remoto a todas as comunicações do usuário e dados associados sem notificar o provedor”. Avaliamos com baixa confiança que o MoustachedBouncer usa esse sistema SORM para conduzir suas operações.
Embora o comprometimento de roteadores para conduzir AitM em redes de embaixadas não possa ser totalmente descartado, a presença de recursos de interceptação legal na Bielo-Rússia sugere que a confusão de tráfego está acontecendo no nível do ISP e não nos roteadores dos alvos.
Implantes: Boate e Discoteca
Desde 2014, as famílias de malware usadas pelo MoustachedBouncer evoluíram e uma grande mudança aconteceu em 2020, quando o grupo começou a usar ataques AitM. Ao mesmo tempo, passou a utilizar ferramentas muito mais simples desenvolvidas em .NET e Go. Em referência ao NightClub, demos a este novo conjunto de ferramentas o nome de Disco.
O MoustachedBouncer opera as duas famílias de implantes em paralelo, mas em uma determinada máquina, apenas um é implantado por vez. Acreditamos que o Disco é usado em conjunto com ataques AitM, enquanto o NightClub é usado para vítimas em que a interceptação de tráfego no nível do ISP não é possível devido a uma mitigação, como o uso de uma VPN criptografada de ponta a ponta, onde o tráfego da Internet é roteado fora da Bielorrússia.
Discoteca
Conforme mencionado na seção anterior, uma página falsa do Windows Update fornece o primeiro estágio (SHA-1: E65EB4467DDB1C99B09AE87BA0A964C36BAB4C30 ). Este é um conta-gotas simples escrito em Go que cria uma tarefa agendada para executar \\35.214.56[.]2\OfficeBroker\OfficeBroker.exe a cada minuto. O OfficeBroker.exe é baixado pelo protocolo SMB por meio do ataque AitM. A função principal do conta-gotas é mostrada na Figura 6.
MoustachedBouncer é um grupo de ciberespionagem descoberto pela ESET Research e divulgado publicamente pela primeira vez neste blogpost. O grupo está ativo desde pelo menos 2014 e visa apenas embaixadas estrangeiras na Bielo-Rússia. Desde 2020, o MoustachedBouncer provavelmente conseguiu realizar ataques de adversário no meio (AitM) no nível do ISP, na Bielo-Rússia, a fim de comprometer seus alvos. O grupo usa dois conjuntos de ferramentas separados que chamamos de NightClub e Disco.
Pontos-chave deste relatório:
- O MoustachedBouncer está em operação desde pelo menos 2014.
- Avaliamos com confiança média que eles estão alinhados com os interesses da Bielorrússia.
- MoustachedBouncer é especializado na espionagem de embaixadas estrangeiras na Bielorrússia.
- MoustachedBouncer usa a técnica do adversário no meio desde 2020 para redirecionar as verificações do portal cativo para um servidor C&C e fornecer plug-ins de malware por meio de compartilhamentos SMB.
- Acreditamos que MoustachedBouncer usa um sistema de interceptação legal (como SORM) para conduzir suas operações AitM.
- Avaliamos com pouca confiança que MoustachedBouncer está cooperando estreitamente com Winter Vivern, outro grupo visando diplomatas europeus, mas usando TTPs diferentes.
- Desde 2014, o grupo opera uma estrutura de malware que chamamos de NightClub. Ele usa os protocolos SMTP e IMAP (e-mail) para comunicações C&C.
- A partir de 2020, o grupo vem utilizando, paralelamente, um segundo framework de malware que batizamos de Disco.
- Tanto o NightClub quanto o Disco oferecem suporte a plug-ins de espionagem adicionais, incluindo um capturador de tela, um gravador de áudio e um ladrão de arquivos.
Vitimologia
De acordo com a telemetria da ESET, o grupo tem como alvo embaixadas estrangeiras na Bielo-Rússia, e identificamos quatro países diferentes cujos funcionários da embaixada foram alvejados: dois da Europa, um do sul da Ásia e um da África. As datas-chave são mostradas na Figura 1.
Figura 1 . Linha do tempo das atividades do MoustachedBouncer
Atribuição
Enquanto rastreamos o MoustachedBouncer como um grupo separado, encontramos elementos que nos fazem avaliar com pouca confiança que eles estão colaborando estreitamente com outro grupo conhecido como Winter Vivern. Este último foi descoberto em 2021 e ainda está ativo em 2023. Em março de 2023, Winter Vivern usou uma conhecida vulnerabilidade XSS (CVE-2022-27926) no portal de correio Zimbra para roubar credenciais de webmail de diplomatas de vários países europeus. Esta campanha foi divulgada publicamente pelos pesquisadores da Proofpoint.
A atividade do MoustachedBouncer vai de 2014 a 2022 e os TTPs do grupo evoluíram ao longo do tempo. Por exemplo, vimos pela primeira vez eles usarem ataques AitM apenas em 2020. No entanto, a vertical direcionada permaneceu a mesma.
A Tabela 1 apresenta as características de cada campanha. Dados esses elementos, avaliamos com alta confiança que todos eles estão vinculados ao MoustachedBouncer.
Tabela 1. Conexões entre as campanhas do MoustachedBouncer
VirusTotal (2014) |
Vítima A (2017) | Vítima B (2020-2022) |
Vítima C (2020-2022) |
Vítima D (2021-2022) |
|
Implante de boate | x | x | x | ||
plug-ins Nightclub | x | x | x | ||
implante de disco | x | x | |||
Conta-gotas SharpDisco | x | ||||
Compromisso via AitM | ? | ? | ? | ? | x |
Entrega de malware via AitM em ações SMB | x | x | |||
Vítimas: embaixadas estrangeiras na Bielorrússia | ? | x | x | x | x |
Vetor de compromisso: AitM
Nesta seção, detalhamos o acesso inicial ao Disco. Ainda não sabemos o método de acesso inicial que o MoustachedBouncer usa para instalar o NightClub.
Atualização falsa do Windows
Para comprometer seus alvos, os operadores do MoustachedBouncer adulteram o acesso à Internet de suas vítimas, provavelmente no nível do ISP, para fazer o Windows acreditar que está por trás de um portal cativo. O Windows 10 verifica se é possível acessar a Internet com uma solicitação HTTP para http://www.msftconnecttest.com/connecttest.txt. Caso a resposta não seja Microsoft Connect Test, uma janela do navegador será aberta para http://www.msftconnecttest.com/redirect. Para intervalos de IP visados pelo MoustachedBouncer, o tráfego de rede é adulterado no nível do ISP e o último URL redireciona para um URL do Windows Update aparentemente legítimo, mas falso, http://updates.microsoft[.]com/. Portanto, a página falsa do Windows Update será exibida para uma vítima em potencial na conexão de rede. A página de atualização falsa é mostrada na Figura 2. O texto que observamos está em russo, provavelmente porque esse é o principal idioma usado na Bielo-Rússia, mas é possível que existam versões em outros idiomas. A página indica que há atualizações críticas de segurança do sistema que devem ser instaladas.
Figura 2 . Página falsa do Windows Update
Observe que ele está usando HTTP não criptografado e não HTTPS, e que o subdomínio updates.microsoft[.]com não existe nos servidores de nomes da Microsoft, portanto, não resolve na Internet aberta. Durante o ataque, esse domínio foi resolvido para 5.45.121[.]106 na máquina do alvo. Este endereço IP é usado para estacionamento de domínios e não está relacionado à Microsoft. Embora este seja um endereço IP roteável pela Internet, o tráfego para esse IP nunca chega à Internet enquanto o ataque AitM está em andamento. Tanto as resoluções DNS quanto as respostas HTTP foram injetadas em trânsito, provavelmente no nível do ISP.
Um ponto importante é que a técnica do adversário no meio (AitM) ocorre apenas contra algumas organizações selecionadas (talvez apenas embaixadas), não em todo o país. Não é possível reproduzir o redirecionamento simplesmente saindo de um endereço IP aleatório na Bielo-Rússia.
Entrega de malware
A página HTML, mostrada na Figura 2, carrega o código JavaScript de http://updates.microsoft[.]com/jdrop.js . Esse script primeiro chama setTimeout para executar a função jdrop um segundo após o carregamento da página. Essa função (veja a Figura 3) exibe uma janela modal com um botão chamado Получить обновления (tradução: Obter atualizações).
Figura 3 . função jdrop
Um clique no botão executa a função de atualização , mostrada na Figura 4.
Figura 4 . função de atualização
Esta função aciona o download de um falso instalador do Windows Update a partir do URL aparentemente legítimo http://updates.microsoft[.]com/MicrosoftUpdate845255.zip . Ele também exibe algumas instruções para instalar a atualização: Для установки обновлений, скачайте и запустите “MicrosoftUpdate845255.msi” . (tradução: Para instalar atualizações, baixe e execute “MicrosoftUpdate845255.msi”).
Não foi possível recuperar o arquivo MicrosoftUpdate845255.zip baixado , mas nossa telemetria mostra que ele contém um executável malicioso chamado MicrosoftUpdate845255.exe.
Escrito em Go, ele cria uma tarefa agendada que executa \\35.214.56[.]2\OfficeBroker\OfficeBroker.exe a cada minuto. Como o caminho sugere, ele busca o executável via SMB de 35.214.56[.]2 . Esse endereço IP pertence a um cliente do Google Cloud, mas, assim como o servidor HTTP, acreditamos que as respostas SMB são injetadas instantaneamente via AitM e que os invasores não controlam o endereço IP real roteável pela Internet.
Também observamos os seguintes servidores SMB, interceptados via AitM:
- \\209.19.37[.]184
- \\38.9.8[.]78
- \\59.6.8[.]25
Observamos esse comportamento em duas redes ISP separadas: Unitary Enterprise A1 e Beltelecom. Isso sugere que esses ISPs podem não fornecer total confidencialidade e integridade dos dados. Recomendamos enfaticamente que as organizações estrangeiras na Bielo-Rússia usem um túnel VPN criptografado de ponta a ponta, idealmente fora da banda (ou seja, não do endpoint), fornecendo conectividade com a Internet a partir de uma rede confiável.
A Figura 5 representa nossa hipótese sobre o vetor de comprometimento e a interceptação de tráfego.
Figura 5 . Compromisso via cenário AitM
AITM – Considerações gerais
O cenário AitM nos lembra dos agentes de ameaças Turla e StrongPity que criaram instaladores de software trojanizados em tempo real no nível do ISP.
Normalmente, esse método de acesso inicial é usado por agentes de ameaças que operam em seu próprio país porque requer acesso significativo dentro dos provedores de serviços de Internet ou de seus provedores upstream. Em muitos países, os serviços de segurança estão autorizados a realizar a chamada “interceptação legal” usando dispositivos especiais instalados nas instalações dos ISPs.
Na Rússia, uma lei de 2014 exige que os ISPs instalem dispositivos chamados SORM-3 que permitem que o Serviço Federal de Segurança (FSB) conduza vigilância direcionada . Os dispositivos têm recursos de inspeção profunda de pacotes (DPI) e provavelmente foram usados pela Turla em sua campanha Mosquito.
Em 2018, o Citizen Lab revelou que dispositivos DPI desenvolvidos pela empresa canadense Sandvine foram usados para modificar o tráfego HTTP na Turquia e no Egito. Na Turquia, os dispositivos foram supostamente usados para redirecionar os usuários da Internet para um servidor malicioso quando tentavam baixar certos aplicativos do Windows, o que está de acordo com as atividades do StrongPity. No Egito, esses dispositivos foram supostamente usados para injetar anúncios e scripts de mineração de criptomoedas para gerar dinheiro.
Em 2020, um artigo da Bloomberg revelou que o National Traffic Exchange Center da Bielorrússia comprou o mesmo equipamento Sandvine DPI, mas de acordo com um artigo da Cyberscoop o contrato foi cancelado em setembro de 2020.
De acordo com um relatório da Anistia Internacional publicado em 2021, “De acordo com a lei bielorrussa, todos os provedores de telecomunicações do país devem tornar seu hardware compatível com o sistema SORM”. Eles também afirmam que “o sistema SORM permite às autoridades acesso direto e por controle remoto a todas as comunicações do usuário e dados associados sem notificar o provedor”. Avaliamos com baixa confiança que o MoustachedBouncer usa esse sistema SORM para conduzir suas operações.
Embora o comprometimento de roteadores para conduzir AitM em redes de embaixadas não possa ser totalmente descartado, a presença de recursos de interceptação legal na Bielo-Rússia sugere que a confusão de tráfego está acontecendo no nível do ISP e não nos roteadores dos alvos.
Implantes: Boate e Discoteca
Desde 2014, as famílias de malware usadas pelo MoustachedBouncer evoluíram e uma grande mudança aconteceu em 2020, quando o grupo começou a usar ataques AitM. Ao mesmo tempo, passou a utilizar ferramentas muito mais simples desenvolvidas em .NET e Go. Em referência ao NightClub, demos a este novo conjunto de ferramentas o nome de Disco.
O MoustachedBouncer opera as duas famílias de implantes em paralelo, mas em uma determinada máquina, apenas um é implantado por vez. Acreditamos que o Disco é usado em conjunto com ataques AitM, enquanto o NightClub é usado para vítimas em que a interceptação de tráfego no nível do ISP não é possível devido a uma mitigação, como o uso de uma VPN criptografada de ponta a ponta, onde o tráfego da Internet é roteado fora da Bielorrússia.
Discoteca
Conforme mencionado na seção anterior, uma página falsa do Windows Update fornece o primeiro estágio (SHA-1: E65EB4467DDB1C99B09AE87BA0A964C36BAB4C30 ). Este é um conta-gotas simples escrito em Go que cria uma tarefa agendada para executar \\35.214.56[.]2\OfficeBroker\OfficeBroker.exe a cada minuto. O OfficeBroker.exe é baixado pelo protocolo SMB por meio do ataque AitM. A função principal do conta-gotas é mostrada na Figura 6.
Figura 6. Função principal do conta-gotas Go
Por fim, o conta-gotas faz uma consulta de DNS para windows.system.update[.]com . Este domínio não existe, mas a solicitação de DNS provavelmente foi interceptada via AitM e provavelmente é um sinalizador para notificar os operadores de que a máquina foi comprometida com sucesso.
Não foi possível recuperar o arquivo OfficeBroker.exe , mas é muito provável que ele atue como um downloader, pois observamos outros plug-ins sendo executados a partir de compartilhamentos SMB. Os plugins são desenvolvidos em Go e são bastante simples porque dependem principalmente de bibliotecas Go externas. A Tabela 2 resume os diferentes plugins.
Tabela 2 . Go plugins usados por MoustachedBouncer em 2021–2022
Baixar URL / Caminho no disco | Descrição |
\\209.19.37[.]184\driverpack\aact.exe | Faz capturas de tela usando a biblioteca kbinani/screenshot. As capturas de tela são salvas em .\AActdata\<d>_<s>.dat (no compartilhamento SMB), onde <d> é o número do monitor ativo e <s> a data. Ele dorme 15 segundos entre cada captura de tela. |
C:\Users\Público\driverpack\driverpackUpdate.exe | Executa scripts do PowerShell com powershell.exe -NoProfile -NonInteractive <command>, onde <command> é lido do arquivo .\idata . A saída é gravada em .\odata. |
C:\Users\Público\driverpack\sdrive.exe | Executa C:\Users\Public\driverpack\driverpackUpdate.exe (o plug-in acima) usando direitos elevados via CVE-2021-1732. O código provavelmente foi inspirado por um PoC no GitHub e usa a biblioteca de geração de código zydis. |
\\209.19.37[.]184\driverpack\officetelemetry.exe | Um proxy reverso fortemente inspirado no repositório GitHub revsocks. Não foi possível recuperar os parâmetros da linha de comando com o endereço IP do proxy. |
\\38.9.8[.]78\driverpack\DPU.exe | Outra amostra do plug-in do PowerShell. |
%userprofile%\appdata\nod32update\nod32update.exe | Outra amostra do plug-in de proxy reverso. |
\\59.6.8[.]25\outlooksync\outlooksync.exe | Faz capturas de tela; é semelhante ao primeiro plugin. As imagens são salvas em ./logs/${DATETIME}.dat. |
\\52.3.8[.]25\oracle\oracleTelemetry.exe | Plugin de captura de tela embalado com Themida. |
Curiosamente, os plug-ins também usam compartilhamentos SMB para exfiltração de dados. Não há nenhum servidor C&C fora das instalações dos invasores para examinar ou derrubar. Também parece não haver como acessar o servidor C&C da Internet. Isso dá alta resiliência à infraestrutura de rede dos invasores.
Plug-ins SharpDisco e NightClub
Em janeiro de 2020, observamos um conta-gotas MoustachedBouncer, que chamamos de SharpDisco, sendo baixado de https://mail.mfa.gov.<redacted>/EdgeUpdate.exe por um processo do Microsoft Edge. Não está claro como os invasores conseguiram adulterar o tráfego HTTPS, mas é possível que um aviso de certificado TLS inválido tenha sido exibido à vítima. Outra possibilidade é que MoustachedBouncer tenha comprometido este site governamental.
SharpDisco (SHA-1: A3AE82B19FEE2756D6354E85A094F1A4598314AB)
SharpDisco é um conta-gotas desenvolvido em C#. Ele exibe uma janela falsa de atualização, mostrada na Figura 7, enquanto cria duas tarefas agendadas em segundo plano.
Essas tarefas agendadas são:
WINCMDA.EXE e WINCMDB.EXE provavelmente são apenas cmd.exe renomeados. A cada minuto, a tarefa lê o que está em \\24.9.51[.]94\EDGEUPDATE\EDGEAIN (no compartilhamento SMB), canaliza para cmd.exe e grava a saída em \\24.9.51[.]94 \EDGEUPDATE\EDGEAOUT. É o mesmo para a segunda tarefa, mas com os arquivos EDGEBIN e EDGEBOUT. De um ponto de vista superior, essas tarefas são shells reversos com uma latência de um segundo.
Em seguida, conforme mostrado na Figura 8, o dropper envia uma solicitação de DNS para um domínio não registrado, edgeupdate-security-windows[.]com . Isso é semelhante ao que o conta-gotas 2022 Disco faz.
A telemetria ESET mostra que o shell reverso foi usado para descartar um interpretador Python genuíno em C:\Users\Public\WinTN\WinTN.exe. Em seguida, observamos dois plug-ins sendo descartados no disco pelo cmd.exe, o que significa que provavelmente também foram descartados pelo shell reverso. Os dois plugins são:
- Um ladrão de arquivos recentes em C:\Users\Public\WinSrcNT\It11.exe
- Um monitor de unidade externa em C:\Users\Public\It3.exe
É interessante notar que esses plugins compartilham código com o NightClub (descrito na seção NightClub – 2017 (SHA-1: F92FE4DD679903F75ADE64DC8A20D46DFBD3B277 ) abaixo). Isso nos permitiu vincular os conjuntos de ferramentas Disco e NightClub.
Ladrão de arquivos recentes (SHA-1: 0DAEA89F91A55F46D33C294CFE84EF06CE22E393)
Este plug-in é um executável do Windows chamado It11.exe. Acreditamos que foi executado por meio do shell reverso mencionado acima. Não há mecanismo de persistência implementado no plug-in.
Ele obtém os arquivos abertos recentemente na máquina lendo o conteúdo da pasta %USERPROFILE%\Recent (no Windows XP) ou de %APPDATA%\Microsoft\Windows\Recent (nas versões mais recentes do Windows). Essas pastas contêm arquivos LNK, cada um apontando para um arquivo aberto recentemente.
O plug-in incorpora seu próprio analisador de formato LNK para extrair o caminho para o arquivo original.
Não foi possível fazer este plug-in funcionar, mas a análise estática mostra que os arquivos são exfiltrados para o compartilhamento SMB \\24.9.51[.]94\EDGEUPDATE\update\. O plug-in mantém uma lista de arquivos já exfiltrados e sua soma de verificação CRC-32 em %TEMP%\index.dat . Isso provavelmente evita retransmitir o mesmo arquivo mais de uma vez.
Monitor de unidade externa (SHA-1: 11CF38D971534D9B619581CEDC19319962F3B996)
Este plug-in é um executável do Windows chamado It3.exe. Assim como o ladrão de arquivos recentes, ele não implementa nenhum mecanismo de persistência.
O plug-in chama GetLogicalDrives em um loop para obter uma lista de todas as unidades conectadas, incluindo as removíveis, como chaves USB. Em seguida, ele faz uma cópia bruta do volume NTFS de cada unidade removível e a grava no diretório de trabalho atual, C:\Users\Public\ em nosso exemplo. O nome do arquivo é uma sequência gerada aleatoriamente de seis a oito caracteres alfanuméricos, por exemplo heNNYwmY.
Ele mantém um arquivo de log em <diretório de trabalho>\index.dat com as somas de verificação CRC-32 dos discos copiados.
O plug-in não parece ter nenhum recurso de exfiltração. É provável que os despejos de unidade preparados sejam recuperados posteriormente usando o shell reverso.
NightClub
Desde 2014, MoustachedBouncer usa uma estrutura de malware que chamamos de NightClub porque contém uma classe C++ chamada nightclub . Encontramos amostras de 2014, 2017, 2020 e 2022. Esta seção descreve a evolução do NightClub de um backdoor simples para um implante C++ totalmente modular.
Em resumo, NightClub é uma família de implantes que usa e-mails para suas comunicações C&C. Desde 2016, módulos adicionais podem ser entregues por e-mail para ampliar seus recursos de espionagem.
NightClub – 2014
Esta é a versão mais antiga conhecida do NightClub. Encontramos um conta-gotas e um orquestrador.
O conta-gotas (SHA-1: 0401EE7F3BC384734BF7E352C4C4BC372840C30D) é um executável chamado EsetUpdate-0117583943.exe, e foi carregado no VirusTotal da Ucrânia em 19/11/2014. Não sabemos como era distribuído naquela época.
A função principal, ilustrada na Figura 9, carrega o recurso MEMORY e grava seu conteúdo em %SystemRoot%\System32\creh.dll. Ele é armazenado em texto não criptografado no recurso PE.
Em seguida, o conta-gotas modifica os carimbos de data/hora de Criação, Acesso e Gravação de creh.dll para os da DLL user32.dll genuína do Windows.
Por fim, ele cria um serviço do Windows chamado WmdmPmSp e define, no registro, sua ServiceDll como %SystemRoot%\System32\creh.dll – veja a Figura 10.
A DLL descartada anteriormente, creh.dll (SHA-1: 5B55250CC0DA407201B5F042322CFDBF56041632 ) é o orquestrador NightClub. Ele tem uma única exportação chamada ServiceMain e seu caminho PDB é D:\Programming\Projects\Work\SwampThing\Release\Win32\WorkingDll.pdb.
Está escrito em C++ e os nomes de alguns métodos e classes estão presentes nos dados RTTI – veja a Figura 11.
Algumas das strings são criptografadas usando o seguinte gerador de congruência linear (LCG): staten+1 = (690069 × staten + 1) mod 232. Para cada string criptografada, uma semente (state0) entre 0 e 255 é fornecida. Para descriptografar uma string, o staten é subtraído de cada byte criptografado. Um exemplo de uma estrutura de string criptografada é mostrado na Figura 12.
Um arquivo de log não criptografado está presente em C:\Windows\System32\servdll.log. Ele contém informações muito básicas sobre a inicialização do orquestrador – veja a Figura 13.
NightClub tem dois recursos principais:
• Arquivos de monitoramento
• Exfiltração de dados via SMTP (e-mail)
Monitor de arquivo
A funcionalidade implementada aqui é muito próxima à do plug-in de monitor de arquivo recente visto em 2020 e descrito acima. Ele também navega pelos diretórios %USERPROFILE%\Recent no Windows XP e nas versões mais recentes do Windows %APPDATA%\Microsoft\Windows\Recent e implementa o mesmo analisador LNK – consulte a Figura 14 e a Figura 15.
Os arquivos recuperados dos arquivos LNK são copiados para %TEMP%\<original filename>.bin. Observe que, ao contrário da variante 2020, apenas arquivos com extensões .doc, .docx, .xls , .xslx ou .pdf são copiados.
Ele também monitora as unidades removíveis em um loop, para roubar arquivos delas.
Comunicações SMTP C&C
NightClub usa o protocolo SMTP para exfiltrar dados. Mesmo que a comunicação C&C por e-mail não seja exclusiva do MoustachedBouncer e também seja usada por outros adversários, como Turla (consulte LightNeuron e o backdoor do Outlook ), é bastante raro. O código é baseado no projeto CSmtp disponível no GitHub . As informações das contas de e-mail são codificadas, criptografadas com o algoritmo LCG. Na amostra que analisamos, a configuração do correio é:
• Servidor SMTP: smtp.seznam.cz
• Endereço do remetente: glen.morriss75@seznam[.]cz
• Senha do remetente: <redigido>
• Endereço do destinatário: SunyaF@seznam[.]cz
seznam.cz é um portal da web tcheco que oferece um serviço de webmail gratuito. Acreditamos que os invasores criaram suas próprias contas de e-mail, em vez de comprometer contas legítimas.
NightClub exfiltra os arquivos copiados anteriormente para %TEMP% pela funcionalidade do monitor de arquivo ( FileMonitor na Figura 11). Eles são codificados em base64 e adicionados como um anexo. O nome do anexo é o nome do arquivo original com a extensão .bin.
A Figura 16 mostra a exfiltração de um arquivo via SMTP. O NightClub autentica usando as credenciais da conta glen.morriss75@seznam[.]cz e envia um e-mail para SunyaF@seznam[.]cz com o arquivo roubado anexado.
Observe que alguns cabeçalhos que podem parecer suspeitos à primeira vista são os padrões do projeto CSmtp, então eles provavelmente não são distintos. Esses incluem:
• X-Mailer: O Morcego! (v3.02) Profissional
• Tipo de conteúdo: multipartes/misto; limite=”__MESSAGE__ID__54yg6f6h6y456345″
O morcego! é um cliente de e-mail amplamente utilizado na Europa Oriental. Como tal, o cabeçalho do X-Mailer provavelmente combina com o tráfego de e-mail na Bielo-Rússia.
Boate – 2017 (SHA-1: F92FE4DD679903F75ADE64DC8A20D46DFBD3B277)
Em 2017, encontramos uma versão mais recente do NightClub, que foi compilada em 2017-06-05. Na máquina da vítima, ele estava localizado em C:\Windows\System32\metamn.dll . Seu nome de arquivo no diretório de exportação da DLL é DownloaderService.dll e possui uma única exportação denominada ServiceMain. Ele contém o caminho PDB D:\AbcdMainProject\Rootsrc\Projects\MainS\Ink\Release\x64\EtfFavoriteFinder.pdb.
Para persistir, ele cria um serviço do Windows chamado WmdmPmSp, como nas versões anteriores. Infelizmente, não conseguimos recuperar o conta-gotas.
Esta versão NightClub também inclui alguns nomes de classe e método C++, incluindo nightclub, nos dados RTTI – consulte a Figura 17.
Como nas versões anteriores, as comunicações C&C usam o protocolo SMTP, por meio da biblioteca CSmtp, com credenciais codificadas. Na amostra que analisamos, a configuração do correio é:
• Servidor SMTP: smtp.mail.ru
• Endereço do remetente: fhtgbbwi@mail[.]ru
• Senha do remetente: [redigido]
• Endereço do destinatário: nvjfnvjfnjf@mail[.]ru
A principal diferença é que eles mudaram o provedor de e-mail gratuito de Seznam.cz para Mail.ru.
Esta versão NightClub usa plugins externos armazenados na pasta %APPDATA%\NvmFilter\. Eles são DLLs denominados <random>.cr (por exemplo, et2z7q0FREZ.cr ) com uma única exportação denominada Starts . Identificamos dois plugins: um keylogger e um monitor de arquivos.
Keylogger (SHA-1: 6999730D0715606D14ACD19329AF0685B8AD0299)
Este plugin foi armazenado em %APPDATA%\NvmFilter\et2z7q0FREZ.cr e é uma DLL com uma exportação, Starts. Ele contém o caminho PDB D:\Programming\Projects\Autogen\Kh\AutogenAlg\Release\x64\FileMonitoringModule.pdb e foi desenvolvido em C++. Os dados RTTI mostram alguns nomes de classes – veja a Figura 18.
A implementação do keylogger é bastante tradicional, usando a função Windows GetKeyState API – veja a Figura 19.
O keylogger mantém um arquivo de log em texto simples em %TEMP%\uirtl.tmp. Ele contém a data, o título do aplicativo e as teclas registradas para este aplicativo específico. Um exemplo, que geramos, é fornecido na Figura 20.
Monitor de arquivo (SHA-1: 6E729E84C7672F048ED8AE847F20A0219E917FA)
Este plug-in foi armazenado em %APPDATA%\NvmFilter\sTUlsWa1.cr e é uma DLL com uma única exportação chamada Starts. Seu caminho PDB, D:\Programming\Projects\Autogen\Kh\AutogenAlg\Release\x64\FileMonitoringModule.pdb , não foi removido e reutiliza o código dos monitores de arquivo de 2014 e 2020, descritos acima. Ele monitora unidades e arquivos recentes e copia arquivos para exfiltração para %TEMP%\AcmSym\rm. Seu arquivo de log é armazenado em %TEMP%\indexwti.sxd.
NightClub – 2020–2022
Em 2020-11, observamos uma nova versão do NightClub implantada na Bielo-Rússia, nos computadores da equipe diplomática de um país europeu. Em 2022-07, MoustachedBouncer novamente comprometeu alguns dos mesmos computadores. As versões 2020 e 2022 do NightClub são quase idênticas e o vetor de compromisso permanece desconhecido.
Sua arquitetura é um pouco diferente das versões anteriores, pois o orquestrador também implementa funções de rede. O segundo componente, que seus desenvolvedores chamam de módulo agente, é responsável apenas por carregar os plugins. Todas as amostras foram encontradas na pasta %APPDATA%\microsoft\def\ e são escritas em C++ com bibliotecas vinculadas estaticamente, como CSmtp ou cpprestsdk. Como resultado, os executáveis são bastante grandes – cerca de 5 MB.
Orquestrador
Nas máquinas das vítimas, ambas as variantes do orquestrador (SHA-1: 92115E21E565440B1A26ECC20D2552A214155669 e D14D9118335C9BF6633CB2A41023486DACBEB052) foram nomeadas svhvost.exe . Acreditamos que MoustachedBouncer tentou se disfarçar como o nome do executável legítimo svchost.exe . Para persistência, ele cria um serviço chamado vAwast.
Ao contrário das versões anteriores, para criptografar as strings, basta adicionar 0x01 a cada byte. Por exemplo, a string cmd.exe seria criptografada como dne/fyf . Outra diferença é que a configuração é armazenada em um arquivo externo, em vez de codificada no binário. Ele é armazenado no caminho codificado %APPDATA%\Microsoft\def\Gfr45.cfg e os dados são descriptografados com uma chave RSA privada de 2.048 bits (consulte a Figura 21) usando a função BCryptImportKeyPair e BCryptDecrypt.
A configuração é formatada em JSON, conforme mostrado na Figura 22.
As chaves mais importantes são transporte e módulos. O primeiro contém informações sobre a caixa postal utilizada para comunicações C&C, como nas versões anteriores. Este último contém a lista de módulos.
Agente de módulo
As duas variantes do agente do módulo (SHA-1: DE0B38E12C0AF0FD63A67B03DD1F8C1BF7FA6128 e E6DE72516C1D4338D7E45E028340B54DCDC7A8AC ) foram nomeadas schvost.exe, que é outra imitação do nome de arquivo svchost.exe.
Este componente é responsável por iniciar os módulos especificados na configuração. Eles são DLLs, cada um com uma exportação chamada Start ou Starts. Eles são armazenados em disco não criptografados com a extensão .ini , mas na verdade são DLLs.
Módulos
Ao longo de nossa investigação, encontramos cinco módulos diferentes: um gravador de áudio, dois capturadores de tela quase idênticos, um keylogger e um backdoor de DNS. Para todos eles: sua configuração, formatada em JSON, é passada como argumento para a função Start</span ou Starts.
Por padrão, a saída do plugin é escrita em %TEMP%\tmp123.tmp . Isso pode ser alterado usando o arquivo de campo de configuração . A Tabela 3 mostra os diferentes plugins.
Tabela 3. Plug-ins NightClub
DLL export name | Configuration | Description |
NotifyLoggers.dll | {
“name”:”<value>”, “enabled”:”<value>”, “max_size”:”<value>”, “file”:”<value>”, “chk_t”:”<value>”, “r_d”:”<value>”, “f_hs”:”<value>”, “t_hs”:”<value>” } |
An audio recorder that uses the Lame library, and mciSendStringW to control the audio device. The additional configuration fields are likely used to specify options for Lame. |
MicroServiceRun.dll | {
“name”:”<value>”, “enabled”:”<value>”, “max_size”:”<value>”, “file”:”<value>” “period_in_sec”:”<value>”, “quality”:”<value>”, “app_keywords”:”<value>” } |
A screenshotter that uses CreateCompatibleDC and GdipSaveImageToStream and writes captured images in file to disk. If app_keywords is not empty, it uses GetForegroundWindow to check the name of the active Window and capture it only if it matches app_keywords. |
JobTesterDll.dll | {
“name”:”<value>”, “enabled”:”<value>”, “max_size”:”<value>”, “file”:”<value>” } |
A keylogger that uses the GetKeyState API. It writes the log in file to disk and the format is <Date><Title bar><content>. |
ParametersParserer.dll | {
“name”:”<value>”, “enabled”:”<value>”, “max_size”:”<value>”, “file”:”<value>”, “cc_server_address”:”<value>” } |
A DNS-tunneling backdoor. cc_server_address specifies the IP address of a DNS server to which requests are sent. More details follow. |
O backdoor de túnel DNS (ParametersParserer.dll) usa um protocolo personalizado para enviar e receber dados de um servidor DNS mal-intencionado (cc_server_address). A Figura 23 mostra que a solicitação de DNS é enviada para o endereço IP fornecido na configuração, usando o parâmetro pExtra de DnsQuery_A.
O plug-in adiciona os dados a serem exfiltrados como parte do nome do subdomínio do domínio usado na solicitação de DNS (pszName acima). O domínio é sempre 11.1.1.cid e os dados estão contidos no subdomínio. Ele usa o seguinte formato, onde x é a letra, não alguma variável:
x + <base64(buffer) modificado> + x.11.1.1.cid
Por exemplo, a primeira solicitação DNS que o plugin envia é xZW1wdHkx.11.1.1.cid, onde ZW1wdHk decodifica para empty.
Observe que a função base64 não é padrão. Ele remove o =, se houver, do resultado da codificação base64 e também substitui os caracteres / por -s e os caracteres + por -p. Isso é para criar subdomínios válidos, porque a saída de codificação base64 padrão pode incluir + , / e = caracteres, todos inválidos em nomes de domínio e podem ser detectados no tráfego de rede.
Em seguida, o plugin lê o resultado que deve ser um ou vários registros DNS TXT, desde que o sinalizador DNS_TYPE_TEXT seja passado para DnsQuery_A. A Microsoft nomeia a estrutura subjacente como DNS_TXT_DATAA. Ele contém uma matriz de strings, que são concatenadas para calcular o buffer de saída.
IoCs
arquivos
SHA-1 | Nome do arquivo | Detecção | Descrição |
02790DC4B276DFBB26C714F29D19E53129BB6186 | index.html | JS/TrojanDownloader.Agent.YJJ | Página falsa de atualização do Windows. |
6EFF58EDF7AC0FC60F0B8F7E22CFE243566E2A13 | jdrop.js | JS/TrojanDownloader.Agent.YJJ | Código JavaScript que aciona o prompt de download da falsa atualização do Windows. |
E65EB4467DDB1C99B09AE87BA0A964C36BAB4C30 | MicrosoftUpdate845255.exe | WinGo/Agent.ET | Disco conta-gotas. |
3A9B699A25257CBD0476CB1239FF9B25810305FE | driverpackUpdate.exe | WinGo/Runner.B | Plug-in do disco. Executa scripts do PowerShell. |
19E3D06FBE276D4AAEA25ABC36CC40EA88435630 | DPU.exe | WinGo/Runner.C | Plug-in do disco. Executa scripts do PowerShell. |
52BE04C420795B0D9C7CD1A4ACBF8D5953FAFD16 | sdrive.exe | Win64/Exploit.CVE-2021-1732.I | Plug-in do disco. Exploração LPE para CVE-2021-1732. |
0241A01D4B03BD360DD09165B59B63AC2CECEAFB | nod32update.exe | WinGo/Agent.EV | Plug-in do disco. Proxy reverso baseado em revsocks. |
A01F1A9336C83FFE1B13410C93C1B04E15E2996C | aact.exe | WinGo/Spy.Agent.W | Plug-in do disco. Faz capturas de tela. |
C2AA90B441391ADEFAA3A841AA8CE777D6EC7E18 | officetelemetry.exe | WinGo/Agent.BT | Plug-in do disco. Proxy reverso baseado em revsocks. |
C5B2323EAE5E01A6019931CE35FF7623DF7346BA | oracleTelemetry.exe | WinGo/Spy.Agent.W | Plugin Disco embalado com Themida. Faz capturas de tela. |
C46CB98D0CECCB83EC7DE070B3FA7AFEE7F41189 | outlooksync.exe | WinGo/Spy.Agent.W | Plug-in do disco. Faz capturas de tela. |
A3AE82B19FEE2756D6354E85A094F1A4598314AB | kb4480959_EdgeUpdate.exe | MSIL/TrojanDropper.Agent.FKQ | Disco conta-gotas .NET. |
4F1CECF6D05571AE35ED00AC02D5E8E0F878A984 | WinSrcNT.exe | Win32/Nightclub.B | Plug-in NightClub usado pelo Disco. Rouba arquivos recentes. |
0DAEA89F91A55F46D33C294CFE84EF06CE22E393 | It11.exe | Win32/Nightclub.B | Plug-in NightClub usado pelo Disco. Rouba arquivos recentes. |
11CF38D971534D9B619581CEDC19319962F3B996 | It3.exe | Win32/Nightclub.B | Plug-in NightClub usado pelo Disco. Faz dumps brutos de unidades removíveis. |
F92FE4DD679903F75ADE64DC8A20D46DFBD3B277 | metamn.dll | Win64/Nightclub.B | Boate (versão 2017). |
6999730D0715606D14ACD19329AF0685B8AD0299 | et2z7q0FREZ.cr | Win64/Nightclub.B | Plug-in Nightclub. Keylogger. |
6E729E84C7672F048ED8AE847F20A0219E917FA3 | sTUlsWa1.cr | Win64/Nightclub.A | Plug-in Nightclub. Ladrão de arquivos. |
0401EE7F3BC384734BF7E352C4C4BC372840C30D | EsetUpdate-0117583943.exe | Win32/Nightclub.C | Conta-gotas Nightclub. |
5B55250CC0DA407201B5F042322CFDBF56041632 | creh.dll | Win32/Nightclub.C | Boate (2014). |
D14D9118335C9BF6633CB2A41023486DACBEB052 | svhvost.exe | Win32/Nightclub.D | Orquestrador (Boate). |
E6DE72516C1D4338D7E45E028340B54DCDC7A8AC | schvost.exe | Win32/Nightclub.D | Agente de módulo (NightClub). |
3AD77281640E7BA754E9B203C8B6ABFD3F6A7BDD | nullnat.ini | Win32/Nightclub.D | Backdoor com tunelamento de DNS (plugin NightClub). |
142FF0770BC6E3D077FBB64D6F23499D9DEB9093 | soccix.ini | Win32/Nightclub.D | Keylogger (plug-in NightClub). |
FE9527277C06D7F986161291CE7854EE79788CB8 | oreonion.ini | Win32/Nightclub.D | Captura de tela (plug-in NightClub). |
92115E21E565440B1A26ECC20D2552A214155669 | svhvost.exe | Win32/Nightclub.D | Orquestrador (Boate). |
DE0B38E12C0AF0FD63A67B03DD1F8C1BF7FA6128 | schvost.exe | Win32/Nightclub.D | Agente de módulo (NightClub). |
D2B715A72BBA307CC9BF7690439D34F62EDF1324 | sysleg.ini | Win32/Nightclub.D | Grava áudio (plug-in NightClub). |
DF8DED42F9B7DE1F439AEC50F9C2A13CD5EB1DB6 | oreonion.ini | Win32/Nightclub.D | Faz capturas de tela (plug-in NightClub). |
Servidores C&C
IP | Domínio | Visto pela primeira vez | Comente |
185.87.148[.]86 | centrocspupdate[.]com | 3 de novembro de 2021 | Servidor NightClub C&C suspeito. |
185.87.151[.]130 | ocsp-atomsecure[.]com | 11 de novembro de 2021 | Servidor NightClub C&C suspeito. |
45.136.199[.]67 | securityocspdev[.]com | 5 de julho de 2022 | Servidor NightClub C&C. |
45.136.199[.]129 | dervasopssec[.]com | 12 de outubro de 2022 | Servidor NightClub C&C suspeito. |
Domínios “falsos” usados no AitM
Observação: esses domínios são usados em um contexto em que as consultas de DNS são interceptadas antes de chegarem à Internet. Eles não resolvem fora do contexto do ataque AitM.
windows.network.troubleshooter[.]com
updates.microsoft[.]com
SMB compartilha endereços IP enquanto o AitM está em andamento
Observação: esses endereços IP são usados em um contexto em que o tráfego para eles é interceptado antes de chegar à Internet. Esses endereços IP roteáveis pela Internet não são maliciosos fora do contexto do ataque AitM.
24.9.51[.]94
35.214.56[.]2
38.9.8[.]78
52.3.8[.]25
59.6.8[.]25
209.19.37[.]184
Endereço de e-mail
fhtgbbwi@mail[.]ru
nvjfnvjfnjf@mail[.]ru
glen.morriss75@seznam[.]cz
SunyaF@seznam[.]cz
Técnicas MITRE ATT&CK
Esta tabela foi construída usando a versão 13 da estrutura MITRE ATT&CK.
tática | EU IA | Nome | Descrição |
Reconhecimento | T1590.005 | Reunir informações da rede da vítima: endereços IP | Os operadores do MoustachedBouncer coletaram endereços IP, ou blocos de endereços, de seus alvos para modificar o tráfego de rede apenas para esses endereços. |
Acesso inicial | T1189 | Compromisso Drive-by | O Disco é fornecido por meio de um site falso do Windows Update. |
Execução | T1204.002 | Execução do usuário: arquivo malicioso | Disco precisa ser executado manualmente pela vítima. |
Persistência | T1053.005 | Tarefa/trabalho agendado: tarefa agendada | O Disco persiste como uma tarefa agendada que baixa um executável de um compartilhamento SMB “falso” a cada minuto. |
T1543.003 | Criar ou modificar o processo do sistema: serviço do Windows | NightClub persiste como um ServiceDll de um serviço chamado WmdmPmSp . | |
Escalação de Privilégios | T1068 | Exploração para escalonamento de privilégios | Disco tem um plug-in para explorar a vulnerabilidade de escalonamento de privilégio local CVE-2021-1732. |
Defesa Evasão | T1140 | Desofuscar/Decodificar arquivos ou informações | Desde 2020, o NightClub usa um arquivo de configuração externo criptografado com RSA. |
Coleção | T1005 | Dados do Sistema Local | NightClub rouba arquivos recentes do sistema local. |
T1025 | Dados de mídia removível | NightClub rouba arquivos do sistema local. | |
T1056.001 | Captura de entrada: Keylogging | NightClub tem um plug-in para gravar as teclas digitadas. | |
T1113 | Captura de tela | NightClub e Disco têm um plug-in para fazer capturas de tela. | |
T1123 | Captura de áudio | NightClub tem um plugin para gravar áudio. | |
Comando e controle | T1071.002 | Protocolo da Camada de Aplicação: Protocolos de Transferência de Arquivos | Disco se comunica através do protocolo SMB. |
T1071.003 | Protocolo da Camada de Aplicação: Protocolos de Correio | NightClub se comunica através do protocolo SMTP. | |
T1071.004 | Protocolo da Camada de Aplicação: DNS | Um dos plugins do NightClub é um backdoor que se comunica via DNS. | |
T1132.001 | Codificação de Dados: Codificação Padrão | NightClub codifica arquivos, anexados ao e-mail, em base64. | |
T1132.002 | Codificação de dados: codificação não padrão | NightClub codifica comandos e respostas enviados por meio de seu canal DNS C&C com uma forma modificada de base64. | |
T1573.001 | Canal Criptografado: Criptografia Simétrica | NightClub recebe plug-ins em anexos de e-mail, criptografados usando AES-CBC. | |
T1557 | Adversário no meio | O MoustachedBouncer executou o AitM no nível do ISP para redirecionar seus alvos para uma página falsa do Windows Update. Ele também fez AitM no protocolo SMB para entregar arquivos maliciosos de servidores “falsos”. | |
Exfiltração | T1041 | Exfiltração sobre o Canal C2 | NightClub e Disco exfiltram dados pelo canal C&C (SMTP, SMB e DNS). |
Impacto | T1565.002 | Manipulação de Dados: Manipulação de Dados Transmitidos | O MoustachedBouncer modificou o tráfego HTTP de endereços IP específicos no nível do ISP para redirecionar seus alvos para uma página falsa do Windows Update. |
Fonte: ESET
Descubra mais sobre DCiber
Assine para receber os posts mais recentes por e-mail.