Descobrindo Attack Paths com base em configurações incorretas

Por: Filipi Pires

blog_2

27 de FEVEREIRO

No cenário em rápida evolução da segurança cibernética, manter-se à frente de ameaças potenciais requer uma abordagem proativa. Um aspecto crucial dessa abordagem é compreender e proteger os caminhos de ataque. Um caminho de ataque (attack path) é a sequência de etapas que um invasor pode executar para explorar vulnerabilidades e comprometer um sistema, rede ou organização. Este artigo investiga o conceito de attack path, seu significado e estratégias para aprimorar as defesas de segurança cibernética.


O que é um Attack Path? 

Um attack path é essencialmente o roteiro que um agente malicioso segue para atingir seus objetivos. Envolve identificar e explorar vulnerabilidades de maneira sistemática. Essas vulnerabilidades podem existir em vários elementos de um sistema, incluindo software, hardware, configurações de rede e até mesmo fatores humanos como configuração incorreta, engenharia social e outros.

Componentes de um caminho de ataque

 
  • Reconhecimento: O primeiro passo em qualquer caminho de ataque envolve a coleta de informações sobre o alvo. Isso pode incluir a identificação de possíveis vulnerabilidades, o mapeamento da arquitetura de rede e o perfil de possíveis alvos dentro da organização.
  • Acesso inicial: Uma vez concluído o reconhecimento, o invasor procura uma forma de obter acesso inicial ao sistema. Isso pode envolver a exploração de vulnerabilidades de software, o uso de ataques de phishing ou o comprometimento de credenciais de usuários.
  • Movimento lateral: Com uma posição inicial, o invasor se move lateralmente pela rede, explorando e explorando vulnerabilidades adicionais. Isso pode envolver o aumento de privilégios, o comprometimento de outros sistemas e a disseminação por toda a organização.
  • Persistência: para manter o acesso e evitar a detecção, os invasores geralmente estabelecem persistência criando backdoors, instalando malware ou manipulando configurações do sistema.
  • Exfiltração: A etapa final em muitos caminhos de ataque envolve roubo ou manipulação de dados. Os invasores visam atingir seus objetivos finais, como roubo de informações confidenciais, ganho financeiro ou interrupção de operações.

Compreendendo os Attack Paths

Compreender os attack paths é crucial para o desenvolvimento de estratégias eficazes de segurança cibernética. Ao compreender como os invasores podem navegar por um sistema, as organizações podem implementar medidas de segurança direcionadas para interromper esses caminhos. Isto envolve uma combinação de soluções tecnológicas, avaliações regulares de vulnerabilidade e educação dos utilizadores para mitigar os riscos relacionados com os seres humanos.


Protegendo caminhos de ataque

 
  • Gerenciamento de vulnerabilidades: identifique e corrija regularmente vulnerabilidades de software para eliminar possíveis pontos de entrada para invasores.
  • Controle de acesso: implemente controles de acesso fortes e gerenciamento de privilégios para limitar o movimento lateral dentro da rede.
  • Monitoramento e Detecção: Empregue ferramentas robustas de monitoramento para detectar atividades ou padrões incomuns que possam indicar um possível ataque em andamento.
  • Educação do usuário: eduque os usuários sobre as melhores práticas de segurança, como reconhecer tentativas de phishing e praticar uma boa higiene de senhas, para reduzir o elemento humano nos caminhos de ataque.
  • Planejamento de resposta a incidentes: Desenvolva e atualize regularmente um plano de resposta a incidentes para conter e mitigar efetivamente o impacto de um incidente de segurança.
 
Compreendendo o HVT e o vetor de ataque

No contexto da terminologia militar dos Estados Unidos, um High-Value Target (HVT), ou Alvo de Alto Valor em português, refere-se a um indivíduo ou recurso essencial para a execução bem-sucedida da missão de um comandante inimigo. Dentro da sua organização, considere quais membros da equipe possuem a capacidade de conceder acesso a informações ou sistemas vitais e cujo comprometimento poderia potencialmente resultar em um ponto singular de falha. Identifique os indivíduos cujo direcionamento bem-sucedido em um ataque representa um risco de alto impacto para a organização.

High-Value Target (HVT) normalmente abrangem indivíduos que ocupam cargos de destaque, como os C-Level, membros do conselho, gestão executiva sênior, assistentes executivos ou pessoal com privilégios de acesso elevados a ativos organizacionais e tecnológicos. Alternativamente, os HVTs podem constituir equipes inteiras envolvidas em projetos sensíveis ou de alto risco. Além disso, um indivíduo pode fazer a transição para um HVT durante um período definido, especialmente quando estiver ativamente envolvido em um projeto crítico e crucial para a organização.

Outro conceito que conhecemos como Vetor de Ataque, refere-se à técnica específica empregada por invasores cibernéticos para violar um sistema. É importante distinguir entre vetores de ataque e superfícies de ataque, pois esta última abrange todos os pontos potenciais onde os adversários podem tentar entrar não autorizados numa rede ou sistema. Embora estes termos sejam ocasionalmente confundidos, compreender as suas definições distintas é crucial para uma análise e defesa eficazes da segurança cibernética.

Malware, ransomware e phishing são exemplos típicos de vetores de ataque predominantes. Os erros humanos que contribuem para a formação de vetores de ataque envolvem ações como:

 
  • Manter credenciais fracas;
  • Empregar práticas de criptografia “ruins”;
  • Configurações incorretas;
  • Conceder acesso a informações confidenciais por meio de escalonamento de privilégios.
Nesse sentido, um Vetor de Ataque serve como ponto de entrada ou porta, enquanto um Attack Path funciona como um mapa que detalha a entrada do adversário pela porta e seus movimentos subsequentes dentro do sistema.

application_security


AWS IAM

Em resumo, AWS IAM (Identity and Access Management) é um serviço web fornecido pela Amazon Web Services (AWS) que permite controlar com segurança o acesso aos serviços e recursos da AWS. O IAM é um componente fundamental da segurança da AWS, permitindo gerenciar usuários, grupos, funções e suas permissões em seu ambiente AWS.

aws_iam

No AWS Identity and Access Management (IAM), as políticas são documentos JSON que definem permissões e podem ser anexadas a usuários, grupos e funções do IAM. Cada política do IAM possui uma versão associada, que indica a sintaxe e a estrutura da linguagem da política.




Exploração baseada em configuração incorreta

No cenário complexo da nuvem, dos sistemas de TI e das redes, a configuração de vários componentes é um aspecto crítico para manter a segurança e a integridade operacional. A configuração incorreta ocorre quando configurações, permissões ou parâmetros não são definidos adequadamente, deixando os sistemas suscetíveis à exploração por invasores.
Cenários comuns de configuração incorreta abrangem uma ampla variedade de ambientes de TI:

 
  • Serviços em nuvem: configurações incorretas em plataformas de nuvem, como Amazon Web Services (AWS), Microsoft Azure ou Google Cloud, podem expor dados confidenciais, permitir acesso não autorizado ou levar a consequências indesejadas.
  • Controles de acesso do usuário: o gerenciamento incorreto das permissões e controles de acesso do usuário pode fazer com que usuários não autorizados obtenham privilégios excessivos, comprometendo potencialmente a confidencialidade e a integridade dos dados.
  • Servidores Web e Aplicativos: Servidores Web, bancos de dados e servidores de aplicativos configurados incorretamente podem introduzir vulnerabilidades, permitindo potencialmente que invasores executem atividades maliciosas ou obtenham acesso não autorizado.
  • Dispositivos de rede: configurações incorretas em roteadores, switches e firewalls podem resultar em vulnerabilidades de rede, permitindo acesso não autorizado, vazamento de dados ou interrupções no serviço.
  • Software de segurança: Ferramentas de segurança mal configuradas, como sistemas de detecção de intrusões ou firewalls, podem não fornecer proteção eficaz, deixando lacunas na postura geral de segurança.

As consequências da configuração incorreta podem ser graves, incluindo violações de dados, interrupções de serviços, perdas financeiras e danos à reputação de uma organização. Tudo isso ressalta a importância de implementar práticas robustas de gestão de configuração, realizar auditorias regulares e manter-se informado sobre as melhores práticas em segurança cibernética para prevenir e mitigar os riscos associados a configurações incorretas.


Configuração incorreta em serviços IAM

Configurações incorretas em serviços de gerenciamento de identidade e acesso (IAM), como AWS IAM em ambientes de nuvem, podem apresentar riscos de segurança significativos. As configurações incorretas do IAM normalmente envolvem erros na definição de permissões de usuário, funções, políticas ou outros controles de acesso. Essas configurações incorretas podem resultar em acesso não intencional, exposição de dados e possíveis violações de segurança. Os problemas comuns incluem políticas excessivamente permissivas, relações de confiança incorretas e controles de autenticação inadequados. Para mitigar esses riscos, as organizações devem implementar políticas de IAM completas, auditar configurações regularmente e manter-se informadas sobre as melhores práticas para gerenciamento seguro de identidade e acesso em seus ambientes de nuvem.


Ataque de configuração incorreta baseado em ações na AWS

NOTA IMPORTANTE - Todos esses ataques podem acontecer depois que você ou o invasor obtiverem acesso aos segredos da AWS e às chaves da AWS para fazer login no AWS CLI.


Ataque AWS baseado na criação de versão de política

Um risco potencial de segurança surge da ação iam:CreatePolicyVersion , concedendo a um invasor a capacidade de gerar uma nova versão de uma política IAM à qual ele tenha acesso. Isso permite que eles definam permissões personalizadas. Embora a definição de uma nova versão de política como padrão normalmente exija a permissão iam:SetDefaultPolicyVersion, um sinalizador explorável ( --set-as-default ) pode ser incluído durante a criação de uma nova versão de política para designá-la automaticamente como a versão padrão. É importante ressaltar que o uso desse sinalizador não requer a permissão iam:SetDefaultPolicyVersion.

Vamos ver o que acontece quando o Usuário não possui essa Permissão, vamos tentar alguns comandos:

 
  • aws iam list-users
  • aws iam list-policies
  • aws iam list-group
ataque_aws

Como você pode ver o acesso foi negado porque o usuário não possui essa permissão.
Vamos criar esta nova política usando esta ação:

create_policy


 
Depois disso, como você pode ver abaixo, a política chamada - PoC-AttackModel é criada, esse ataque pode ser feito apenas usando iam:CreatePolicyVersion não é necessário adicionar o  iam:CreatePolicy como você vê no print a política de criação:

poc_attackmodel

Quais são os próximos passos? Você pode fazer uma pesquisa simples na internet como: 
“aws iam full access policy”

iam_fullaccess


“AWS CLI how to create new policy version”:

policy_version

Depois disso você tem todos os passos para realizar este ataque, basta criar o acesso total.

atacker

Agora, você só precisa definir o comando e pronto!

 
aws iam create-policy-version –policy-arn target_policy_arn –policy-document file://path/to/user/policy.json –set-as-default 

attackmodel

Vamos ver o que aconteceu no Console AWS após o ataque.

console

Agora, você tem controle total sobre o serviço AWS IAM. Este método de escalonamento de privilégios pode conceder a um usuário acesso completo de administrador à conta AWS.

Depois disso, você pode definir comandos de enumeração simples, como:
  • aws iam list-users
  • aws iam list-group
  • aws iam list-policies 
aws_service

Agora que sabemos o impacto da configuração incorreta na nuvem, mapear as configurações incorretas no gerenciamento de identidade e acesso (IAM) é crucial para garantir a segurança e a integridade dos ambientes em nuvem. As configurações incorretas do IAM podem levar a acesso não autorizado, violações de dados e possível comprometimento de recursos críticos.

Vamos ver um projeto OpenSource que você pode usar para ter essa visibilidade de forma gráfica.

Cartography é uma ferramenta Python que consolida ativos de infraestrutura e as relações entre eles em uma visualização gráfica intuitiva alimentada por um banco de dados Neo4j .

cartography


 
Vamos executar em nosso laboratório de demonstração para ver possíveis usuários que podem sofrer esse ataque:

MATCH(principal:AWSPrincipal)-->(policy:AWSPolicy)-->(statement:AWSPolicyStatement) WHERE "iam:CreatePolicy" IN statement.action RETURN principal, policy, statement

attack

Como posso mitigar isso?

Você pode usar vários métodos para resolvê-lo, precisa ter visibilidade e gostaria de apresentar a você este projeto comunitário usando Cloud Infrastructure Entitlements Management (CIEM) que atende ao propósito de supervisionar o acesso em ambientes de nuvem e multinuvem. Opera com base no princípio do Privilégio Mínimo, beneficiando organizações que buscam mitigar riscos como ataques maliciosos e violações de dados resultantes de permissões excessivamente permissivas dentro desta infraestrutura. Uma solução CIEM facilita a remoção de direitos desnecessários, fornecendo visibilidade centralizada e controle sobre permissões no ambiente de nuvem. Aproveitando a inteligência artificial, uma solução CIEM pode analisar de forma inteligente os ambientes de nuvem de uma empresa, identificando e diminuindo os riscos de segurança cibernética, avaliando os níveis de exposição. Em essência, o CIEM atua como uma ferramenta abrangente para aumentar a segurança e simplificar as permissões em infraestruturas em nuvem.

Você pode ter acesso à plataforma de segurança em nuvem e a participar programa de usuários beta do Senhasegura. Se você é profissional de Segurança da Informação com experiência em IAM e deseja participar da construção de um projeto inovador, pode se juntar ao programa Build With Us.


Visibilidade do Attack Path

senhasegura_cloud
Lembra do ataque mencionado neste artigo? Criar versão da política? Dê uma olhada neste usuário!



Conclusão

No cenário dinâmico da segurança cibernética, a compreensão e o fortalecimento dos attack paths surgem como imperativos críticos para as organizações que se esforçam para proteger os seus ativos digitais. A exploração dos caminhos de ataque neste artigo ilumina as complexidades das rotas que os atores mal-intencionados percorrem para explorar vulnerabilidades de forma sistemática. À medida que as ameaças cibernéticas continuam a evoluir, as organizações devem adotar uma estratégia de segurança cibernética proativa e abrangente que aborde possíveis pontos fracos ao longo de cada etapa do caminho de ataque.

Os componentes de um caminho de ataque – reconhecimento, acesso inicial, movimento lateral, persistência e exfiltração – ressaltam a complexidade das ameaças cibernéticas. O reconhecimento desses componentes permite que as organizações implementem medidas de segurança direcionadas, criando uma defesa robusta contra possíveis violações. O gerenciamento de vulnerabilidades, os controles de acesso, as ferramentas de monitoramento e detecção, a educação dos usuários e o planejamento de resposta a incidentes formam coletivamente uma abordagem multifacetada para impedir os adversários cibernéticos.

Em conclusão, a batalha contra as ameaças cibernéticas requer uma abordagem holística e proativa. Compreender e proteger os caminhos de ataque servem como elementos fundamentais nesta luta contínua. Ao abraçar estes conceitos e promover uma cultura consciente da segurança cibernética, as organizações posicionam-se não apenas para se defenderem contra as ameaças atuais, mas também para se adaptarem e prosperarem num ambiente onde a única constante é a mudança. Neste cenário em constante evolução, a fortificação das rotas de ataque não é apenas uma estratégia defensiva; é uma postura proativa contra a maré implacável de ameaças cibernéticas.

À medida que as ameaças cibernéticas continuam a evoluir, compreender e proteger os caminhos de ataque é essencial para que as organizações permaneçam resilientes. Ao adotar uma estratégia abrangente de segurança cibernética que aborda vulnerabilidades potenciais em cada etapa de um caminho de ataque, as empresas podem melhorar significativamente a sua postura geral de segurança e proteger-se contra uma ampla gama de ameaças cibernéticas.



Referências

https://senhasegura.com/build-with-us
https://docs.aws.amazon.com/aws-owned-policy/latest/reference/IAMFullAccess.html
https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation/
https://www.xmcyber.com/blog/attack-path-vs-attack-vector-important-differences-you-need-to-know/
https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
https://github.com/lyft/cartografia
https://owasp.org/www-project-top-ten/2017/Application_Security_Risks



 

Assine a nossa newslettere receba as novidades da Integrasul em seu e-mail.

Enviando inscrição...

Obrigado pela sua inscrição!

Houve um erro no envio. Tente novamente mais tarde.

Você precisa aceitar a Política de Privacidade