Hackers estão usando linguagens de programação exóticas para desenvolver malware

Imagem de: Hackers estão usando linguagens de programação exóticas para desenvolver malware

Os agentes de ameaças estão ficando cada vez mais sofisticados usando linguagens de programação "exóticas" como Go, Rust, Nim e Dlang que podem contornar proteções de segurança e passar despercebidas por análises e impedir engenharia reversa.

"Os autores de malware são conhecidos por sua capacidade de se adaptar e modificar suas habilidades e comportamentos para aproveitar as vantagens das tecnologias mais recentes", disse Eric Milam, vice-presidente de pesquisa de ameaças da BlackBerry.

"Essa tática tem vários benefícios do ciclo de desenvolvimento e falta inerente de cobertura de produtos de proteção.", acrescentou.

Linguagens como o Rust oferecem garantias como programação de memória segura, o que pode ser uma faca de dois gumes, já que podem ser usadas por engenheiros de malware.

O uso de linguagens com estas características por hackers pode tornar os malwares menos suscetível à exploração e contornar tentativas de ativar um interruptor de eliminação e torná-los impotentes.

Isso ocorre por que os binários escritos por essas linguagens são mais complexos e complicados quando são decompilados. Segundo os pesquisadores, essas linguagens adicionam camadas adicionais de ofuscação de código.

Isso pode levar a um cenário em que malwares antigos desenvolvidos usando linguagens populares como C# e C++ podem ser compilados com droppers e carregadores para evitar a detecção por sistemas de segurança de endpoint.

No início deste ano, a Proofpoint, uma empresa de segurança cibernética, descobriu um novo malware chamado "NimzaLoader" escrito em Nim e outro chamado "RustyBuer", escrito em Rust.

Estes malwares estavam sendo usados em campanhas ativas para distribuir e implantar cepas de Cobalt Strike e ransomware através de campanhas de engenharia social.

Em junho, a CrowdStrike, outra grande empresa líder em proteção endpoint, observou uma amostra de ransomware com implementações de variantes anteriores do HelloKitty e FiveHands que usava um empacotador Golang para criptografar seu código baseado em C++.

Alguns dos exemplos de malware escrito nessas linguagens na última década são:

  • Dlang: DShell, Vovalex, OutCrypt, RemcosRAT
  • Go: ElectroRAT, EKANS (também conhecido como Snake), Zebrocy, WellMess, ChaChi
  • Nim: Carregadores NimzaLoader, Zebrocy, DeroHE, carregadores Cobalt Strike baseados em Nim
  • Rust: Convuster Adware, RustyBuer, TeleBots Downloader e Backdoor, NanoCore Dropper, PyOxidizer

"Programas escritos usando as mesmas técnicas maliciosas, mas em um novo idioma, geralmente não são detectados na mesma taxa que aqueles escritos em uma linguagem mais madura", concluíram os pesquisadores do BlackBerry.

"Os carregadores, conta-gotas e invólucros [...] em muitos casos, simplesmente alteram o primeiro estágio do processo de infecção, em vez de alterar os componentes principais da campanha. de software de segurança de uma forma que pode não ser acionada em fases posteriores da campanha original.", acrescentou.

Via: The Hacker News