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
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:
Vítima busca “cheat/esp/aimbot CS2”.
Baixa o executável “cS2 m0d mEnU.exe”.
Ao abrir, não existe cheat algum.
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.
