Como testar a visibilidade detecção do Okta com a Dorothy e o Elastic Security

Quando questionadas, poucas equipes de segurança conseguem demonstrar com confiança que seus registros e alertas estão funcionando como esperado. O trabalho se tornou mais distribuído nas empresas e mais dependente da nuvem para casos de uso como gestão de identidade e acesso, produtividade do usuário e armazenamento de arquivos. Enquanto isso, os invasores ampliaram suas capacidades operacionais nos ambientes de nuvem. É muito importante que as equipes de segurança consigam monitorar esses sistemas para evitar abusos e proteger os dados da empresa.

A Dorothy é uma ferramenta grátis e open-source que ajuda as empresas de segurança a testar suas capacidades de visibilidade, monitoramento e detecção para ambientes Okta Single Sign-On (SSO). Demonstraremos como a Dorothy pode ser usada para executar testes e como o Elastic Security pode ser usado para alertar sobre comportamentos relevantes e suspeitos usando nossas regras de detecção grátis e abertas.

O que é Okta SSO?

Para quem não conhece, Okta SSO é uma solução de gestão de identidade baseada em nuvem que permite que os usuários autentiquem uma série de sistemas e aplicativos dentro da empresa com uma única conta de usuário. Informar aos usuários finais que eles só precisam se lembrar de um nome de usuário e senha em vez de mais de 10 reduz o risco de os usuários não gerirem de forma correta as senhas e permite que os administradores empreendam políticas de senhas fortes. Além disso, as políticas de autenticação multifator (MFA) podem ser configuradas no Okta, o que aumenta a barreira contra ataques. Muitas vezes, os invasores desistem e buscam um alvo mais fácil quando descobrem que o MFA está habilitado na rede ou conta de usuário do alvo.

Embora as soluções de SSO ofereçam uma experiência de usuário conveniente e reduzam o risco de segurança cibernética para uma empresa, esses sistemas centralizados oferecem uma espécie de chave esqueleto para diversos sistemas e aplicativos e costumam ser um alvo atraente para invasores. É imprescindível que as equipes de segurança entendam o que é um comportamento normal no ambiente Okta para que consigam identificar atividades suspeitas com mais facilidade.

Conheça a Dorothy

A Dorothy tem mais de 25 módulos para simular possíveis ações de um ataque enquanto opera em um ambiente Okta e os comportamentos que as equipes de segurança devem monitorar, detectar e alertar. Todos os módulos estão mapeados para a tática MITRE ATT&CK® relevante, como Persistence, Defense Evasion, Discovery e Impact.

1-Dorothy-blog-listing-modules.png

Figura 1 — Como começar a usar a Dorothy e listar seus módulos

A Dorothy foi criada para ajudar os profissionais de segurança a testar a visibilidade e os controles de segurança de seus sistemas e não oferece módulos para obter acesso inicial ou ampliar privilégios em um ambiente Okta. Para executar ações com a Dorothy, é necessário utilizar um token de API válido do Okta vinculado a um usuário com uma ou mais funções de administrador atribuídas.

Ela oferece uma interface shell fácil de usar com ajuda contextual para navegação entre menus e módulos que ajuda o usuário a entender cenários simulados de invasão. Entre outros recursos interessantes, também estão os perfis de configuração para gerenciar conexões a ambientes Okta individuais e logging detalhado com a opção de indexação de eventos no Elasticsearch para oferecer uma trilha de auditoria das ações que foram executadas usando a Dorothy.

Como executar ações em um ambiente Okta usando a Dorothy

Nesta seção, vamos demonstrar como executar alguns dos módulos da Dorothy em um ambiente Okta. Na figura 2, é possível ver um fluxo de trabalho típico para um usuário do Elastic Security. Após essa demonstração, vai ser mais fácil entrar no repositório do GitHub da Dorothy e seguir as orientações de como começar na wiki do projeto.

2-Dorothy-blog-example_workflow.png

Figura 2 — Exemplo de fluxo de trabalho para execução de ações em um ambiente Okta usando a Dorothy

whoami?

Vamos pensar como um invasor e imaginar quais ações seriam realizadas ao operar em um ambiente Okta. A primeira pergunta seria sobre o usuário para o qual tenho o token de API. Vamos simular a ação do invasor pelo comando whoami da Dorothy para ver a ID de login do usuário associado, o horário do último login e a última troca de senha.

Agora que entendemos melhor a conta de usuário que estamos controlando, vamos listar os módulos da Dorothy e verificar o menu de ajuda antes do próximo passo.

Figura 3 — Execução do whoami da Dorothy e comandos list-modules

Discovery

A Dorothy tem diversos módulos de descoberta que podemos usar para simular o conhecimento que um invasor poderia obter sobre um ambiente Okta. É comum que um invasor dedique um tempo para aprender detalhes de um ambiente depois de obter acesso inicial. Detalhes essenciais antes de planejar as próximas etapas.

Vamos tentar aprender um pouco sobre o ambiente Okta buscando as seguintes informações:

  • Usuários — Uma lista de nomes, IDs de login, endereços de e-mail, perguntas de recuperação de senha e o status de cada usuário são dados úteis na hora de escolher assumir o controle, modificar ou deixar intacta uma conta para evitar exposição.
  • Políticas — As políticas do Okta são úteis para controlar elementos de segurança, como complexidade de senha e exigências de MFA, além dos dispositivos que os usuários estão autorizados a usar. Esse conhecimento é muito útil se decidirmos enfraquecer alguns componentes da configuração de segurança do alvo.
  • Zonas — As zonas da rede podem ser usadas para definir perímetros de segurança para um ambiente Okta. Assim como as políticas, essa informação nos ajuda a entender como o ambiente está configurado e tomar decisões mais informadas antes de implementar mudanças na forma como o tráfego é permitido ou bloqueado.

Por fim, executaremos o módulo find-admins para enumerar as funções de cada usuário do Okta e identificar quais usuários têm uma ou mais funções de administrador atribuídas a ele.

Figura 4 — Execução dos módulos Discovery para obter informações sobre o ambiente Okta

Existem outros módulos de descoberta que ajudam na obtenção de informações, como find-users-without-mfa, para encontrar usuários que possam se autenticar com nome do usuário e senha, e find-admin-groups, para identificar grupos de usuários que tenham uma ou mais funções de administrador.

Persistence

Depois que um invasor obtiver acesso ao ambiente pretendido, poderá procurar oportunidades de estabelecer persistência. Ela ajuda o invasor a manter o acesso caso perca o caminho inicial. Um exemplo bom de como um invasor pode perder o acesso é quando a equipe de segurança detecta a sua presença e desativa a conta de usuário comprometida ou bloqueia as comunicações no perímetro da rede.

Tendo um ou mais mecanismos de persistência, o invasor conseguirá continuar sua missão se um ou mais caminhos estiverem bloqueados ou interrompidos. Neste exemplo, usaremos os módulos create-user e create-admin-user para criar um usuário do Okta e atribuir uma função de administrador a ele. Depois, criaremos uma pergunta de recuperação para outro usuário Okta para podermos verificar o processo de redefinição de senha para aquele usuário e invadir a conta como outro método de persistência.

Figura 5 — Criação e modificação de contas de usuário do Okta para estabelecer persistência

A Dorothy tem outros módulos de persistência que nos ajudam a entender os comportamentos prováveis de um invasor, como reset-factors para remover os fatores de autenticação do um usuário e reset-password para gerar um link de uso único para redefinir a senha de um usuário.

Defense Evasion

Os invasores tentarão executar técnicas de evasão de defesas para evitar a detecção ao longo da missão. Por exemplo, um invasor pode desativar o logging de segurança para impedir que a equipe de segurança veja o que ele está fazendo.

Nesse momento, já obtivemos conhecimento sobre o ambiente e configuramos algumas formas de persistência. Vamos executar os módulos change-policy-state e change-zone-state para enfraquecer os controles de segurança do alvo.

Figura 6 — Desativação da política do Okta e objetos da zona da rede

Outros módulos de evasão de defesa podem ativar, desativar ou modificar outros objetos Okta, como aplicativos e regras de políticas individuais.

Vamos interromper nosso cenário fictício de ataque aqui, mas se quiser saber o que mais a Dorothy pode fazer, acesse o repositório do GitHub.

Como detectar comportamentos suspeitos com o Elastic Security

Nesta seção, vamos demonstrar como o log do sistema do Okta ajuda nossas regras de detecção a monitorar e alertar as equipes de comportamentos suspeitos.

O log do sistema do Okta oferece uma trilha de auditoria das atividades que foram observadas no ambiente da organização. Isso inclui atividades como login ou troca de senha de usuário, administradores fazendo mudanças na configuração e muito mais. Essa fonte de dados e incrivelmente útil para o monitoramento de segurança, investigações, compliance e atividades de resposta.

Ingestão de logs de sistema do Okta com o Fleet

O Fleet oferece uma UI baseada na web no Kibana para adicionar e gerenciar integrações para os serviços e plataformas mais comuns, como Okta, AWS, Azure, Google Cloud Platform, Google Workspace e muito mais. A integração do Okta com o Fleet é uma forma fácil de ingerir e normalizar os eventos de log do sistema.

7-Dorothy-blog-reviewing-fleet.png

Figura 7 — Análise da integração do Okta com o Fleet no Kibana

Para equipes que já usam o Beats, também há disponível um módulo Okta Filebeat .

Como detectar comportamentos suspeitos com as regras de detecção grátis do Elastic Security

A equipe do Elastic Security Protections pesquisa tradecraft de invasores para desenvolver detecções e prevenções para endpoint, nuvem e plataformas de rede. Nossas regras de detecção são grátis e desenvolvidas open-source juntamente com a comunidade de segurança.

Nossas regras do Okta utilizam os eventos indexados do log de sistema que são normalizados no Elastic Common Schema (ECS) e alertam as equipes de segurança com relação a comportamentos relevantes e suspeitos.

A figura 8 mostra uma série de alertas no Elastic Security depois que a Dorothy foi usada para simular ações que um invasor poderia realizar operando em um ambiente Okta.

8-Dorothy-blog-reviewing-alerts.png

Figura 8 — Revisão dos alertas abertos no Elastic Security

Mas e aqueles falsos positivos? Adicionar exceções às regras no Elastic Security depois de filtrar a rotina e o comportamento esperado é muito fácil. Esse recurso inclui uma opção para fechar todos os alertas que correspondem à exceção para economizar tempo.

9-Dorothy-blog-adding_exception.png

Figura 9 — Adição de exceção a uma regra Okta no Elastic Security

Meça a cobertura da sua novem com a Dorothy

O Okta e outras soluções de gestão de identidade são alvos comuns de invasores, mas são pouco monitorados. Criamos a Dorothy como uma ferramenta para ajudar as equipes de segurança a entender como adversários conseguem operar dentro de ambientes Okta, facilitando a testagem da visibilidade e eficácia de nossas regras de detecção abertas e grátis.

Saiba como começar a usar a Dorothy na wiki do projeto. Se você ainda não for usuário do Elastic Security, cadastre-se para uma avaliação da nuvem gratuita hoje mesmo e confira nossas regras de detecção grátis.