Ataque de PHISHING oculta JavaScript
20 de Fevereiro de 2025

Uma nova metodologia de obfuscação em JavaScript, utilizando caracteres Unicode invisíveis para representar valores binários, está sendo ativamente utilizada em ataques de phishing direcionados a afiliados de um comitê de ação política (PAC) americano.

Os Laboratórios de Ameaças da Juniper, que identificaram o ataque, relatam que ele ocorreu no início de janeiro de 2025 e apresenta sinais de sofisticação, tais como o uso de:

- Informações personalizadas e não públicas para visar vítimas,
- Verificação de breakpoint do debugger e checagens de tempo para evitar detecção,
- Links de rastreamento do Postmark envoltos recursivamente para obscurecer os destinos finais do phishing.

O desenvolvedor de JavaScript Martin Kleppe foi o primeiro a divulgar a técnica de obfuscação em outubro de 2024, e sua rápida adoção em ataques reais destaca como novas pesquisas são rapidamente transformadas em armas.

A nova técnica de obfuscação explora caracteres Unicode invisíveis, especificamente os caracteres Hangul meia largura (U+FFA0) e Hangul largura completa (U+3164).

Cada caractere ASCII no payload do JavaScript é convertido para uma representação binária de 8 bits, e os valores binários (uns e zeros) são substituídos por caracteres Hangul invisíveis.

O código obfuscado é armazenado como uma propriedade em um objeto JavaScript, e, como os caracteres de preenchimento Hangul são renderizados como um espaço em branco, o payload no script parece vazio, conforme evidenciado pelo espaço em branco no final da imagem abaixo.

Um script de bootstrap simplificado recupera o payload oculto usando um 'get() trap' do JavaScript Proxy.

Quando a propriedade oculta é acessada, o Proxy converte os caracteres Hangul invisíveis de volta para binário e reconstrói o código JavaScript original.

Os analistas da Juniper relatam que os atacantes usam passos adicionais de ocultação além dos mencionados acima, como a codificação do script com base64 e checagens anti-debugging para evitar análises.

"Os ataques foram altamente personalizados, incluíam informações não públicas, e o JavaScript inicial tentaria invocar um breakpoint de debugger se estivesse sendo analisado, detectaria um atraso e então abortaria o ataque redirecionando para um website benigno", explica a Juniper.

Os ataques são difíceis de detectar, pois o espaço em branco reduz a probabilidade de até mesmo scanners de segurança sinalizarem o mesmo como malicioso.

Uma vez que o payload é apenas uma propriedade em um objeto, ele poderia ser injetado em scripts legítimos sem levantar suspeitas; além disso, todo o processo de codificação é fácil de implementar e não requer conhecimento avançado.

A Juniper afirma que dois dos domínios usados nesta campanha foram previamente ligados ao kit de phishing Tycoon 2FA.

Se for o caso, provavelmente veremos esse método de obfuscação invisível ser adotado por uma gama mais ampla de atacantes no futuro.

Publicidade

Proteja sua empresa contra hackers através de um Pentest

Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...