Temos um Windows Server que possui um aplicativo que reside nele, que usa credenciais de domínio no login do aplicativo. Durante um teste de penetração recente, os testadores puderam usar o aplicativo para enumerar nomes de usuário de domínio válidos com base na resposta do aplicativo (ele forneceu uma resposta diferente para um nome de usuário inválido e uma senha inválida).
O aplicativo está sendo corrigido para não revelar essas informações, mas também acho que deveríamos ter detectado esse ataque, pois houve mais de 2.000.000 tentativas de nome de usuário inválido em um curto período de tempo. Não o vimos, mesmo quando nossos administradores estavam observando de perto o Active Directory. Aparentemente, as falhas só apareciam no log de eventos local do servidor onde o aplicativo foi instalado.
Minha pergunta: 1) Existe uma maneira de fazer com que o Active Directory registre essas solicitações de nome de usuário com falha em um local central para que possamos notar um pico nelas?
2) Se não, qual é a melhor maneira de monitorar e detectar ativamente esse tipo de ataque no futuro (espero sem ter que comprar muitos equipamentos novos).
Obrigado pela ajuda.
Ótima pergunta.
Primeiras coisas primeiro - considero a maioria dos "testadores de penetração" como script kiddies. Meu preconceito pode não ser justo ou preciso, mas estou colocando este aviso de isenção de responsabilidade para que, se você detectar qualquer cinismo em meu tom, saiba de onde vem. Não estou dizendo que não existem pentesters habilidosos, mas esta é a minha generalidade.
(Equipe azul para sempre!)
Você não forneceu informações suficientes para que alguém pudesse responder a esta pergunta completamente e com confiança. Você disse que seu aplicativo continha uma falha que permitia aos invasores enumerar contas de usuário. Estou tentando entender de que forma você acha que o AD precisa realizar o logging para sua aplicação.
Aparentemente as falhas apareceram no log de eventos no servidor? Ou as falhas apareceram no log de eventos no servidor ? Se sim, o que exatamente os eventos dizem? Quem os registrou? Seu aplicativo? Ou janelas? Vá descobrir e talvez eu possa adicionar esclarecimentos adicionais à minha resposta.
Vou arriscar aqui com base em sua suposição de que esses eventos deveriam ter sido registrados pelo Active Directory de alguma forma ... e se seus pentesters não estivessem realmente explorando uma falha em seu aplicativo, mas estivessem usando uma falha muito conhecida no próprio Kerberos para enumerar nomes de usuários? O próprio Kerberos contém o que eu consideraria uma falha de design na qual um invasor pode tentar milhares e milhares de tentativas de "pré-autenticação" (ou seja, um ataque de força bruta) e o KDC responderá de maneira diferente, dependendo se a conta do usuário existe ou não. Este não é um comportamento específico do Active Directory, mas também se aplica ao MIT Kerberos, Heimdal, etc. O KDC responderá com
KDC_ERR_PREAUTH_REQUIRED
se um nome de usuário válido foi apresentado sem dados de pré-autenticação, mesmo sem tentar uma autenticação real. Dessa forma, você pode enumerar nomes de usuário de um KDC. Mas como o invasor (ou a ferramenta que o invasor está usando, como KrbGuess - porque os pentesters estão no seu melhor quando estão usando as ferramentas de outras pessoas) não precisa continuar em uma tentativa de autenticação completa, nada é registrado porque nenhum autenticação real foi tentada!Agora, para a sua próxima pergunta:
Um par de coisas.
Primeiro, existem produtos pagos de nível empresarial projetados para detectar esses tipos de ataques (entre muitos outros). lá. Muitos desses produtos funcionam exigindo que você configure o espelhamento de porta entre seus controladores de domínio e esses "coletores de dados" para que eles vejam e analisem literalmente cada pacote que entra ou sai de seus controladores de domínio.
(Desculpe, isso meio que cai na sua cláusula "sem comprar muitas coisas novas").
Outra coisa que pode te ajudar é a entrada do registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
LogLevel = 1
Documentado aqui .
Se você habilitar essa entrada de registro, deverá ser inundado com eventos em seu log de eventos de segurança sobre erros do Kerberos que mencionam que a pré-autenticação do Kerberos é necessária. Um exemplo de tal evento:
Mas isso pode ou não ajudá-lo se não especificar exatamente de onde vem o tsunami de solicitações do Kerberos. Isso nos leva de volta aos produtos corporativos de detecção de invasões que mencionei anteriormente.
E não se esqueça do Windows Event Forwarding, que pode fazer com que seus servidores encaminhem eventos para um local centralizado para serem analisados por qualquer ferramenta que você tenha à sua disposição.
Até agora, toda essa resposta foi baseada no protocolo Kerberos, que não posso nem mesmo dar como certo porque você deu tão poucos detalhes em sua postagem. No entanto, espero que isso ajude pelo menos um pouco.
Esta é uma pergunta interessante que eu adoraria ouvir uma resposta adequada. Encontrei algumas informações que Doug pode achar úteis, no entanto, sinto que podem ser um pouco inadequadas. Alguém provavelmente pode fornecer uma resposta expandida:
Faça login no servidor no qual deseja armazenar as informações de auditoria, Executar -> RSOP.MSC -> Configuração do computador -> Configurações do Windows -> Configurações de segurança -> Políticas locais -> Política de auditoria -> "Auditoria de eventos de logon de conta" & " Auditoria de eventos de logon"
A explicação para "eventos de logon de conta" diz:
A explicação para "eventos de logon" diz:
Você precisaria basicamente habilitar essas políticas, definir as configurações de política e escolher "falha" se quiser apenas monitorar as tentativas com falha. Se você quiser, também pode monitorar os sucessos, mas pode tornar um pouco mais difícil analisar se você estiver apenas preocupado em procurar por esse tipo de ataque.
Se você está preocupado com configurações semelhantes às quais seus sistemas podem estar vulneráveis, recomendo examinar as configurações do STIG ( link ), quando usado em conjunto com um Scanner SCAP, pode realmente ajudar a destacar alguns dos riscos que sua organização pode estar voltado para. O visualizador do STIG tende a levantar alguns falsos positivos, mas se você ler os detalhes de cada problema, poderá achar que não é um bom começo.