SOC Prime Bias: Médio

05 Jan 2026 16:10 UTC

Novo Malware VVS Stealer Alvo Conta do Discord Através de Código Python Ofuscado

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Novo Malware VVS Stealer Alvo Conta do Discord Através de Código Python Ofuscado
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

VVS Stealer é um novo ladrão de informações baseado em Python observado à venda no Telegram. Está ofuscado com Pyarmor, empacotado com PyInstaller e persiste via a pasta de inicialização do Windows. O malware coleta tokens do Discord, credenciais de navegadores, cookies, histórico, senhas e capturas de tela. Ele também pode injetar um payload de JavaScript malicioso para sequestrar sessões ativas do Discord.

Investigação

A Palo Alto Networks Unit 42 divulgou o malware, observando que ele tem sido oferecido à venda desde abril de 2025. Pesquisadores descreveram sua técnica de ofuscação, modelo de distribuição e funcionalidade, incluindo roubo de credenciais e injeção no Discord. O relatório liga a ferramenta a atores ameaçadores de língua francesa ativos em grupos focados em ladrões no Telegram.

Mitigação

As organizações devem monitorar executáveis PyInstaller desconhecidos e atalhos inesperados na pasta de Inicialização. Implantar regras de detecção de endpoint para scripts Python ofuscados e payloads de JavaScript suspeitos. Impor autenticação multifatorial para contas do Discord e navegadores e limitar privilégios administrativos que poderiam ser abusados para o roubo de credenciais.

Resposta

Se o VVS Stealer for detectado, isole o endpoint afetado, colete artefatos de memória e arquivo e extraia IOCs. Remova a entrada de inicialização maliciosa, termine quaisquer processos do Discord injetados e force uma redefinição de senha para contas comprometidas. Conduza uma investigação forense completa para localizar credenciais adicionais roubadas e garantir que a infraestrutura C2 remota seja bloqueada.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: A Verificação de Telemetria & Linha de Base deve ter passado.

Justificativa: Esta seção detalha a execução precisa da técnica de adversário (TTP) projetada para acionar a regra de detecção. Os comandos e narrativas DEVEM refletir diretamente os TTPs identificados e buscar gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.

  • Narrativa & Comandos de Ataque:
    O adversário comprometeu uma conta de usuário de baixo privilégio em uma estação de trabalho Windows. Usando um dropper PowerShell, eles lançam um executável malicioso empacotado com PyInstaller (VVS_Stealer.exe) que primeiro gera um processo com a linha de comando contendo a string “PyInstaller”. O payload então encerra à força o cliente do Discord em execução para preparar para uma etapa de injeção de roubo de token. Todas as ações ocorrem sob o contexto do usuário atual, gerando um único Criação de Processo evento que corresponde aos critérios da regra.

    Passo a Passo:

    1. Copie o pacote malicioso PyInstaller para %TEMP%.
    2. Execute-o com uma linha de comando que inclua explicitamente a palavra “PyInstaller”.
    3. O binário malicioso internamente chama taskkill /IM Discord.exe /F para terminar o Discord.
    4. A terminação gera um Criação de Processo evento onde o campo Imagem resolve para o caminho do executável do Discord (C:Users<user>AppDataLocalDiscordapp-... Discord.exe) e a linha de comando original ainda contém “PyInstaller”.
  • Script de Teste de Regressão: O seguinte script PowerShell reproduz a telemetria exata necessária para acionar a regra de detecção. Intencionalmente, evita qualquer payload malicioso real; em vez disso, lança um processo inofensivo notepad.exe mas finge ser um executável empacotado com PyInstaller incorporando a palavra-chave na linha de comando. Também encerra qualquer processo Discord em execução para espelhar a condição “Imagem termina com Discord.exe”.

    # -------------------------------------------------
    # Script de Simulação – Aciona a regra Sigma #f63685c4‑feea‑431b‑a749‑55cf8661e6ac
    # -------------------------------------------------
    
    # 1. Garantir que o Discord esteja em execução (opcional, para garantir a terminação)
    $discordPath = "$env:LOCALAPPDATADiscordapp-1.0.9005Discord.exe"
    if (-Not (Get-Process -Name "Discord" -ErrorAction SilentlyContinue)) {
        Start-Process -FilePath $discordPath -WindowStyle Hidden
        Start-Sleep -Seconds 5
    }
    
    # 2. Iniciar um processo fictício com "PyInstaller" na linha de comando.
    #    Usando notepad.exe como um substituto benigno.
    $dummyCmd = "C:WindowsSystem32notepad.exe"
    $cmdLine = "PyInstaller_dummy_execution -run $dummyCmd"
    Start-Process -FilePath $dummyCmd -ArgumentList $cmdLine -WindowStyle Hidden
    Write-Host "[+] Processo fictício iniciado com palavra-chave PyInstaller."
    
    # 3. Imediatamente encerrar o Discord para gerar o evento de imagem Discord.exe.
    if (Get-Process -Name "Discord" -ErrorAction SilentlyContinue) {
        Stop-Process -Name "Discord" -Force
        Write-Host "[+] Discord.exe encerrado."
    }
    
    # 4. Opcional: Limpar a janela fictícia do notepad após um breve atraso.
    Start-Sleep -Seconds 8
    Get-Process -Name "notepad" -ErrorAction SilentlyContinue | Stop-Process -Force
    Write-Host "[+] Limpeza concluída."
  • Comandos de Limpeza: Certifique-se de que nenhum processo residual permaneça.

    # Remova qualquer processo remanescente do notepad
    Get-Process -Name "notepad" -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # Reinicie o Discord se necessário para continuidade pós-teste
    $discordPath = "$env:LOCALAPPDATADiscordapp-1.0.9005Discord.exe"
    if (-Not (Get-Process -Name "Discord" -ErrorAction SilentlyContinue)) {
        Start-Process -FilePath $discordPath
        Write-Host "[+] Discord reiniciado para operações normais."
    }