Ótima pergunta.
Primeiras coisas primeiro - considero a maioria dos "testadores de penetração" como crianças de script. Meu preconceito pode não ser justo ou preciso, mas estou colocando este aviso para que, se você detectar algum cinismo no meu tom, saiba de onde ele vem. Não estou dizendo que não há penteados hábeis, mas essa é minha generalidade abrangente.
(Equipe azul para a vida!)
Minha pergunta: 1) Existe uma maneira de obter o Active Directory para registrar essas solicitações de nome de usuário com falha em um local central para que possamos notar um aumento nelas?
Você não forneceu informações suficientes para que alguém pudesse responder a essa 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 como você acha que o AD precisa executar o log para seu aplicativo.
Aparentemente, as falhas sempre apareciam no log de eventos local do servidor em que o aplicativo estava instalado.
Aparentemente, as falhas apareceram no log de eventos no servidor? Ou os fracassos fez aparecer no log de eventos no servidor? Se sim, o que exatamente disseram os eventos? Quem os registrou? Sua aplicação? Ou Windows? Vá descobrir e talvez eu possa adicionar esclarecimentos adicionais à minha resposta.
Eu vou entrar em conflito aqui com base na sua presunçã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 no 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. Esse não é um comportamento específico do Active Directory, mas também se aplica ao MIT Kerberos, Heimdal etc. O KDC responderá comKDC_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 maneira, você pode enumerar nomes de usuários de um KDC. Mas como o invasor (ou a ferramenta que o invasor está usando como o KrbGuess - porque os pentesters estão no seu melhor quando estão usando as ferramentas de outras pessoas) não precisa continuar com uma tentativa de autenticação completa, nada é registrado porque não autenticação real foi tentada!
Agora, vamos à sua próxima pergunta:
2) Se não, qual é a melhor maneira de monitorar e detectar ativamente esse tipo de ataque no futuro (espero sem precisar comprar muitos equipamentos novos).
Um par de coisas.
Primeiro, existem produtos pagos, de nível empresarial, projetados para detectar esses tipos de ataques (entre muitos outros). Muitos fornecedores oferecem esses produtos, e as recomendações de produtos não são relacionadas ao Serverfault, mas basta dizer que elas estão fora do ar. há. Muitos desses produtos funcionam exigindo que você configure o espelhamento de porta entre os controladores de domínio e esses "coletores de dados" para que eles vejam e analisem literalmente todos os pacotes que entram ou saem dos controladores de domínio.
(Desculpe, isso meio que cai na sua cláusula "sem comprar muitas coisas novas".)
Outra coisa que pode ajudá-lo é a entrada do registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
LogLevel = 1
Documentado aqui .
Se você habilitar essa entrada do registro, será inundado com eventos no log de eventos de Segurança sobre erros do Kerberos que mencionam que a pré-autenticação Kerberos é necessária. Um exemplo desse evento:
A Kerberos Error Message was received:
on logon session DOMAIN\serviceaccount
Client Time:
Server Time: 12:44:21.0000 10/9/2012 Z
Error Code: 0x19 KDC_ERR_PREAUTH_REQUIRED
Extended Error:
Client Realm:
Client Name:
Server Realm: DOMAIN
Server Name: krbtgt/DOMAIN
Target Name: krbtgt/DOMAIN@DOMAIN
Error Text:
File: e
Line: 9fe
Error Data is in record data.
Mas isso pode ou não ajudá-lo se não especificar de onde exatamente o tsunami dos pedidos do Kerberos é proveniente. Isso nos leva de volta aos produtos empresariais de detecção de intrusões que mencionei anteriormente.
E não se esqueça do Encaminhamento de Eventos do Windows, 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 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 gostaria de ouvir uma resposta adequada. Encontrei algumas informações que Doug pode achar úteis, no entanto, acho que podem ser um pouco inadequadas. Outra pessoa provavelmente pode fornecer uma resposta expandida:
Entre no servidor em que você deseja armazenar as informações de auditoria, Executar -> RSOP.MSC -> Configuração do computador -> Configurações do Windows -> Configurações de segurança -> Diretivas locais -> Diretiva de auditoria -> "Auditar eventos de logon da conta" e " Eventos de logon de auditoria "
A explicação para "eventos de logon da conta" é a seguinte:
A explicação para "eventos de logon" é a seguinte:
Você precisaria essencialmente habilitar essas políticas, definir suas configurações e escolher "falha" se desejar apenas monitorar tentativas com falha. Se você quiser, também poderá monitorar os sucessos, mas poderá ser um pouco mais difícil analisar se você estiver preocupado apenas em procurar esse tipo de ataque.
Se você estiver preocupado com configurações semelhantes às quais seus sistemas podem estar vulneráveis, eu recomendaria analisar as configurações STIG ( link ), quando usadas em conjunto com um scanner SCAP, pode realmente ajudar a destacar alguns dos riscos que sua organização pode estar voltado para. O visualizador de STIG tende a gerar alguns falsos positivos, mas se você ler os detalhes específicos de cada problema, poderá achar que não é iniciante.
fonte