Análise Completa: Ransomware Disfarçado de “Mod Menu” de CS2

Um mergulho técnico no ransomware distribuído como cheat para Counter-Strike 2

Moises Cerqueira

11/27/20255 min ler

brown padlock on black computer keyboard
brown padlock on black computer keyboard

Resumo Executivo

Durante a análise de uma amostra distribuída como suposto “mod menu”/cheat para Counter-Strike 2, identificamos um ransomware totalmente funcional, escrito em C#, com rotinas completas de:

  • Criptografia AES+RSA

  • Destruição de Shadow Copies

  • Persistência em múltiplos vetores

  • Propagação via mídia removível

  • Alteração de wallpaper

  • Nota de resgate (read_it.txt)

  • Uso de RSA pública fixa embutida no binário

A amostra é simples, amadora e direta — aquele tipo de malware que não ganhou 5 minutos de QA, mas ganhou espaço entre usuários buscando hacks de CS2 no Google.

E sim, é direcionada ao público brasileiro: a mensagem de resgate cobra 200 reais via PIX

Vetor de Infecção: o “cheat” de CS2

A distribuição segue o clássico golpe do “download gratuito do mod/hack”. Nada de novo, mas sempre eficiente:

  1. Vítima busca “cheat/esp/aimbot CS2”.

  2. Baixa o executável “cS2 m0d mEnU.exe”.

  3. Ao abrir, não existe cheat algum.

  4. Ransomware executa imediatamente sua cadeia de persistência e cifragem.

Essa engenharia social funciona porque mira usuários:

  • desesperados por vantagem;

  • pouco experientes tecnicamente;

  • que abrem executáveis desconhecidos sem pestanejar.

A velha fórmula do “hack” como isca continua viva.

Análise Técnica Detalhada

A amostra é um executável PE32 (.NET / Mono) contendo todas as rotinas de um ransomware comum. A estrutura principal está concentrada na classe:

ConsoleApplication7.Program

A seguir destrinchamos os componentes centrais.

Informações gerais do binário geradas pelo Detect it Easy

1. Persistência e Execução Inicial

O malware utiliza múltiplos mecanismos de persistência, redundantes e agressivos:

• copyRoaming() / copyResistForAdmin()

Copia a si mesmo para:

%AppData%\svchost.exe

O velho truque de masquerading para dar um ar de legitimidade, encontrado em boa parte dos builders de ransomware comuns.

• addLinkToStartup()

Cria um .url no diretório de inicialização do Windows.

• registryStartup()

Cria persistência em:

HKCU\Software\Microsoft\Windows\CurrentVersion\Run

2. Detecção de Instância Ativa

O método AlreadyRunning() implementa um mutex simples para impedir múltiplas execuções simultâneas.
Nada sofisticado, mas funcional.

3. Criptografia de Arquivos (AES + RSA)

A operação mais importante do ransomware está no método:

AES_Encrypt()

Utiliza:

  • AES-256 CBC

  • Rfc2898DeriveBytes com PBKDF2-HMAC-SHA1

  • Salt fixo: [1,2,3,4,5,6,7,8]

  • 1000 iterações (extremamente baixo)

  • Key e IV derivadas do mesmo KDF → IV determinístico por senha

Um erro clássico: salt fixo e iter count baixo ajudam ataques dirigidos, caso a senha AES possa ser inferida ou adivinhada.

4. Proteção da Senha AES com RSA (1024 bits)

A senha AES é protegida pelo método:

RSAEncrypt()

  • Usa RSACryptoServiceProvider(1024)

  • Modo Encrypt(..., true) → OAEP (SHA1)

  • Chave pública vem de:

rsaKey()

Que contém apenas:

  • <Exponent>AQAB</Exponent> (65537)

  • <Modulus> hardcoded no binário

O adversário não envia chave pública dinamicamente.
Não há comunicação com C2 para obtenção da chave.
Tudo é offline.

Ponto crítico:
RSA 1024 é fraco.
Com poder computacional significativo (cluster/cloud), é possível fatorar o módulo e reconstruir a chave privada.
Não é trivial, mas é possível.

5. Caminhamento e Seleção de Arquivos

O ransomware varre:

  • Diretórios do usuário

  • Bibliotecas comuns (Documents, Pictures, Videos…)

  • Drives externos (exceto C:)

Filtros por extensão incluem arquivos comuns de trabalho:
.txt .doc .docx .xls .xlsx .pdf .jpg .png .rar .zip .db ...

Arquivos grandes passam por fake encryption: sobrescrita parcial com garbage via:

random_bytes() randomEncode()

Este recurso acelera o processo e evita congelamentos.

6. Destruição de Backups e Recuperação do Sistema

Quando possui privilégios elevados, executa:

deleteShadowCopies()

vssadmin delete shadows /all /quiet

wmic shadowcopy delete

deleteBackupCatalog()

disableRecoveryMode()

É o pacote completo de anti-recuperação.

7. Propagação via USB

Método spreadIt() copia o binário malicioso para qualquer drive removível:

<pendrive>:\surprise.exe

É a típica tentativa de worm de pendrive dos anos 2010 — simples e eficaz contra alvos domésticos.

8. Alteração de Wallpaper

O malware embarca uma imagem codificada em Base64, salva em %TEMP% e seta via:

SystemParametersInfo(SPI_SETDESKWALLPAPER)

Isto reforça o “efeito psicológico” do ataque.

9. Nota de Resgate

O arquivo read_it.txt é criado no AppData e contém:

"Todos os seus arquivos foram criptografados Seu computador foi infectado por um vírus ransomware. ... O preço do software é de 200 reais. Pagamento somente em pix. pix=teste@gmail.com"

Nada de Tor onions, contact forms, wallet multicoin.

10. Considerações Criptográficas

Pontos fracos identificados:

  • PBKDF2 com 1000 iterações → baixo custo de brute force

  • Salt fixo → senhas AES derivadas podem ser reversíveis em cenários específicos

  • IV determinístico → não aleatoriedade enfraquece CBC

  • RSA 1024-bit → passível de factoring com recursos

  • Chave pública hardcoded → mesma para todas as vítimas

Conclusão:
Existe possibilidade real de recuperação futura, caso o módulo RSA seja fatorado ou o padrão de geração de senha seja explorado.

11. Indicadores de Comprometimento

Hashes

  • SHA256: AF0E24781ED3683F04DD86A616E31490F36C2DA4CBB4FDDC76EFBD0FC4F15D55

Arquivos

  • %AppData%\svchost.exe

  • %AppData%\read_it.txt

  • %TEMP%\wallpaper.jpg (decodificado do base64 embutido)

Strings únicas

  • <EncryptedKey>

  • "surprise.exe"

  • "Todos os seus arquivos foram criptografados"

  • "pix="

Registry

  • HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Microsoft Store

Mutexes

  • identificadores como 7z459ajrk722yn8c5j4fg ou similares, dependendo da versão

11. É possível Decriptação?

Com base nos elementos analisados:

Teoricamente possível

  • Fatorando o RSA de 1024 bits (CADO-NFS, msieve, yafu)

  • Ou explorando falhas de geração de senha (se CreatePassword() usar System.Random, que é previsível)

Não é trivial

Mas é viável com:

  • recursos computacionais

  • tempo

  • ou colaboração entre incidentes (se múltiplas amostras reutilizam a mesma key RSA)

12.Conclusão

A amostra analisada é mais um caso de ransomware criado a partir de builders públicos, adaptado e distribuído com isca direcionada ao público gamer brasileiro — uma tendência crescente.

Combinando engenharia social (cheat falso) + criptografia funcional + persistência agressiva, o atacante consegue um comprometimento rápido e silencioso, mesmo sem infraestrutura de C2.

Apesar de tecnicamente amadora, a implementação é suficientemente perigosa para causar perda de dados significativa.