SOC Prime Bias: Crítico

17 Jul 2026 09:01 UTC

SharpViewStateKing e a Anatomia de um Framework de Implante Furtivo

Author Photo
SOC Prime Team linkedin icon Seguir
SharpViewStateKing e a Anatomia de um Framework de Implante Furtivo
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

O Centro Canadense de Cibersegurança identificou o SharpViewStateKing como uma estrutura de implante modular construída para atingir discretamente os ambientes ASP.NET. Ao abusar dos parâmetros ViewState comprometidos, a estrutura executa plugins inteiramente na memória, permitindo operar de maneira efetivamente sem estado e evitar a detecção tradicional baseada em arquivos. Seu tráfego HTTP e HTTPS criptografado ainda ajuda a atividade a se misturar com comunicações web legítimas.

Investigação

A investigação começou após analistas encontrarem um web shell em um servidor Microsoft IIS voltado para o público. A análise da telemetria do endpoint e da memória do processo mostrou que o implante usou plugins C# gerados dinamicamente para realizar ações como upload de arquivos, execução remota de comandos e reconhecimento de host. Os pesquisadores utilizaram a plataforma Assemblyline para descompilar o bytecode C# e expor a lógica interna da estrutura.

Mitigação

Os defensores devem reconstruir quaisquer hosts potencialmente afetados e substituir as chaves de criptografia e validação associadas a aplicações ASP.NET. Reparar vulnerabilidades relevantes, incluindo aquelas que afetam o SharePoint conforme referenciado no relatório, também é crucial. Monitorar processos filhos iniciados pelo processo de trabalho w3wp.exe pode ajudar a descobrir atividades não autorizadas conectadas ao implante.

Resposta

Se a atividade SharpViewStateKing for identificada, as organizações devem revisar a telemetria EDR e NDR em busca de sinais de movimento lateral, incluindo criação de novas contas ou implantação de ferramentas como SoftEther VPN. Todas as senhas e credenciais vinculadas ao sistema comprometido devem ser consideradas expostas e rotacionadas imediatamente. As equipes de segurança também devem confirmar se as exclusões do Microsoft Defender foram alteradas sem autorização.

Fluxo de Ataque

Execução de Simulação

Requisito Prévio: A verificação pré-voo de Telemetria & Padrões deve ter sido aprovada.

Racional: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e narrativa DEVEM refletir diretamente os TTPs identificados e visar a geração da telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a diagnósticos incorretos.

  • Narrativa do Ataque & Comandos: Um adversário identificou uma aplicação ASP.NET vulnerável e pretende implantar a estrutura SharpViewStateKing para manter a persistência e interceptar dados de sessão. Para isso, o atacante envia uma série de solicitações HTTP que utilizam os __VIEWSTATE and __SCROLLPATH parâmetros para entregar uma carga de exploração. Ao utilizar esses parâmetros específicos, o atacante tenta se misturar com o tráfego padrão do ASP.NET, na esperança de evadir a detecção baseada em assinaturas que apenas busca por caminhos tradicionais de web shell.

  • Script de Teste de Regressão:

    # Script de simulação para acionar a regra de detecção do SharpViewStateKing
    $targetUri = "http://localhost/Login.aspx"
    
    # Carga 1: Testando detecção de parâmetro __VIEWSTATE
    Write-Host "[*] Simulando tentativa de exploração com __VIEWSTATE..."
    $payload1 = "__VIEWSTATE=MZ................[Simulated_Malicious_Payload]"
    Invoke-WebRequest -Uri "$targetUri?$payload1" -Method Get
    
    # Carga 2: Testando detecção de parâmetro __SCROLLPATH
    Write-Host "[*] Simulando tentativa de exploração com __SCROLLPATH..."
    $payload2 = "__SCROLLPATH=/etc/passwd"
    Invoke-WebRequest -Uri "$targetUri?$payload2" -Method Get
    
    Write-Host "[+] Simulação completa. Verifique o SIEM para alertas."
  • Comandos de Limpeza:

    # Nenhuma limpeza específica é necessária, pois são solicitações HTTP GET sem estado.
    # No entanto, se quaisquer arquivos foram dropados durante um ataque real, eles devem ser removidos.
    Write-Host "[*] Limpeza da simulação: Nenhum artefato persistente criado."