SOC Prime Bias: Alto

10 Jul 2026 18:23 UTC

Impacket para Pentesters: Técnicas de Alteração de Senha

Author Photo
SOC Prime Team linkedin icon Seguir
Impacket para Pentesters: Técnicas de Alteração de Senha
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Este artigo explica como as configurações incorretas do Active Directory podem ser exploradas para redefinir senhas de usuários à força com o toolkit Impacket. Ele se concentra na impacket-changepasswd utilitário, que pode aproveitar o Reset Password ACE para permitir a tomada de contas. A técnica suporta vários protocolos, incluindo SMB-SAMR, RPC-SAMR, LDAP e Kerberos.

Investigação

O relatório apresenta um cenário de laboratório no qual um usuário é concedido direitos de Reset Password sobre outro objeto de conta. Ele percorre várias abordagens de autenticação, incluindo credenciais em texto simples, Pass-the-Hash, Pass-the-Key e uso do cache TGT do Kerberos, para manipular senhas de contas em diferentes protocolos.

Mitigação

Os defensores devem rotineiramente auditar os ACLs do Active Directory com ferramentas como BloodHound para identificar direitos de Reset Password excessivamente permissivos. Aplicar um modelo de administração em camadas e usar o grupo de segurança Protected Users pode reduzir significativamente a exposição. É também recomendada a aplicação de assinatura LDAP e a implantação do Credential Guard.

Resposta

Se atividade suspeita for detectada, as equipes de segurança devem investigar os IDs de evento do Windows 4723, 4724, 4738, 4771, e 5136. Os analistas devem confirmar se a redefinição de senha foi autorizada e revisar o ambiente em busca de tráfego SAMR incomum ou mudanças no diretório LDAP. As ações imediatas devem incluir a auditoria das permissões da conta afetada e a rotação de credenciais para qualquer usuário administrativo potencialmente comprometido.

Cadeia de Ataque

Ainda estamos atualizando esta parte. Inscreva-se para ser notificado

Notificar-me

Execução da Simulação

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

Justificativa: 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 a narrativa DEVEM refletir diretamente as TTPs identificadas e objetivar 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 do Ataque & Comandos: Um adversário comprometeu com sucesso uma conta de usuário com permissões delegadas ou escalou privilégios para um nível de Administrador de Domínio. Para garantir persistência a longo prazo e evitar detecção em uma fase posterior da operação, o invasor decide redefinir a senha de uma conta de serviço conhecida. Usando ferramentas nativas do PowerShell (Set-ADAccountPassword or net user), o invasor tenta trocar a senha de Service_SVC. Esta ação é uma técnica clássica de “Living off the Land”, projetada para se mesclar com tarefas administrativas rotineiras, mas que aciona IDs específicos de Evento de Segurança do Windows (4724/4738) que a regra de detecção visa capturar.

  • Script de Teste de Regressão:

    # Script de Simulação: Redefinição de Senha via PowerShell
    # Nota: Deve ser executado em um ambiente de laboratório controlado com permissões adequadas.
    
    $TargetUser = "Service_SVC"
    
    Write-Host "[*] Verificando se o usuário alvo existe..." -ForegroundColor Cyan
    if (Get-ADUser -Filter "SamAccountName -eq '$TargetUser'") {
        Write-Host "[+] Usuário alvo $TargetUser encontrado. Prosseguindo com a simulação de redefinição de senha..." -ForegroundColor Green
    
        # Gerando Evento ID 4724 / 4738
        try {
            $NewPassword = ConvertTo-SecureString "SimulatedPass123!" -AsPlainText -Force
            Set-ADAccountPassword -Identity $TargetUser -NewPassword $NewPassword
            Write-Host "[+] SUCESSO: Redefinição de senha disparada. Verifique os Logs de Segurança para o Evento ID 4724/4738." -ForegroundColor Green
        } catch {
            Write-Host "[-] ERRO: Falha na redefinição de senha. Certifique-se de que está executando como um usuário Admin/Autorizado." -ForegroundColor Red
            Write-Error $_
        }
    } else {
        Write-Host "[-] ERRO: Usuário alvo $TargetUser não encontrado. Por favor, crie o usuário primeiro." -ForegroundColor Red
    }
  • Comandos de Limpeza:

    # Script de Limpeza: Restaurar estado original
    $TargetUser = "Service_SVC"
    $OriginalPassword = ConvertTo-SecureString "Original_Safe_Pass_2025!" -AsPlainText -Force
    
    Write-Host "[*] Restaurando senha original para $TargetUser..." -ForegroundColor Cyan
    Set-ADAccountPassword -Identity $TargetUser -NewPassword $OriginalPassword
    Write-Host "[+] Limpeza completa." -ForegroundColor Green