Chegamos ao último artigo desta série, nele descreverei as táticas usadas pelos cibercriminosos para comprometer diversos outros hosts do ambiente além do que foi utilizado como porta de entrada. Abordarei também algumas das formas utilizadas por eles para extrair informações do ambiente sem que sejam notados.
Como mencionei no artigo anterior desta série onde abordei os tópicos referentes a evasão de defesas e escalação de privilégios, esta lista de táticas se baseia no Mitre e, com pouquíssima pesquisa é possível ver que a lista de táticas presente neste framework é bem mais extensa. Procurei transcrever nesta série as táticas que são mais comumente usadas por cibercriminosos em seus ataques, tão comuns que também estão presentes em outros frameworks. Caso tenha interesse em expandir seus conhecimentos sobre outras táticas utilizadas pelos criminosos recomendo a pesquisa sobre Ciber Kill Chain e, após identificar os tópicos que considerar interessante, busca-los no próprio Mitre ou em algum outro framework que também aborde este assunto.
Movimentação lateral
Formas de autenticação alternativas
Após comprometer o equipamento inicial do ambiente costuma ser corriqueiro que os cibercriminosos encontrem diversas informações úteis, mesmo que seja em uma estação de trabalho e não um servidor. Isso ocorre por que estações guardam uma série de informações na memória e é possível acessa-la sabendo olhar nos lugares certos. Algumas destas informações são os dados de autenticação do próprio usuário, e por vezes até de outros usuários ou administradores, que já tenham se autenticado no equipamento. Com esses dados de autenticação, que normalmente estão no formato hash, é possível realizar um ataque a outros hosts informando este hash no lugar da senha do usuário, permitindo que o criminoso acesse livremente outros equipamentos da rede.
Exploração de serviços
Mesmo que um serviço não esteja exposto à internet e não sirva como porta de entrada, um criminoso ainda pode explorá-los caso consiga outro meio de permear o ambiente. O uso da exploração como movimentação lateral é muito similar a usada para acessos iniciais, com a diferença de que o cibercriminoso terá um acesso mais rápido ao serviço por estar dentro da rede local e, em muitos, casos esta tentativa de acesso não será monitorada por partir de um host interno da rede.
Nota: Mesmo que o host invadido não possua ferramentas nativas para realizar tentativas de exploração de vulnerabilidades os criminosos conseguem utilizá-lo como uma espécie de redirecionador de tráfego, conseguindo assim utilizar todas as ferramentas já existentes em seu ambiente de ataque.
Sequestro de sessão
Quando um criminoso compromete um host, principalmente uma estação de trabalho, é possível encontrar comunicações já existentes daquele host com outros pontos da rede, sejam estes pontos outras estações de trabalho ou servidores.
O cibercriminoso pode listar as conexões existentes, muitas vezes com recursos existentes no próprio sistema operacional que foi comprometido, permitindo a interação com estas sessões sem a necessidade da utilização da senha. Este problema pode afetar vários sistemas operacionais e os serviços mais utilizados para sequestro são o RDP para ambientes Windows e SSH para ambientes Linux/Unix.
Exfiltração
Após ter conseguido comprometer hosts o suficiente dentro da rede para atender ao objetivo do ataque é chegada a hora de extrair as informações do ambiente, esta extração de informações é chamada de exfiltração e é o que costuma considerado o último dos passos na estrutura de um ataque.
São várias as possibilidades que envolvem o vazamento de informações e procurei trazer para este artigo pontos que vi recebendo pouca ou nenhuma atenção ao longo da minha trajetória profissional.
Exfiltração em protocolos diferentes
É muito comum esperar que os dados de um ataque sejam transferidos para o servidor de controle dos criminosos de forma tradicional, via conexão HTTP/HTTPS ou até pelo próprio canal de comunicação utilizado pela central de comando e controle mas a verdade é que todos os protocolos detém a capacidade de realizar estes tipos de transferência. Mesmo sendo uma possibilidade muito comum, presente até nos mais conhecidos frameworks utilizados para testes de invasão, é comum que soluções de prevenção contra vazamento de dados não consigam olhar para todos os protocolos de forma similar, o que acaba permitindo muitas possibilidades de vazamento.
Uso de diferentes redes
Uma das possibilidades mais simples de serem testadas é a do uso de uma rede diferente para extrair determinada informação. Algumas proteções de DLP filtram apenas a determinados caminhos de rede como por exemplo uma rede Wifi específica, ou a rede cabeada do ambiente, se os criminosos utilizarem outra rede, muitas vezes presente no próprio ambiente, como uma rede de convidados/clientes, eles não terão nenhum tipo de impeditivo no envio das informações pois a rede não é monitorada.
Serviços web conhecidos (e permitidos)
Com os ambientes corporativos cada vez mais presentes em nuvem, a própria nuvem se tornou uma forma eficiente para retirada de informações. Por ser um serviço permitido e que costuma não ter fins maliciosos os cibercriminosos utilizam os serviços em nuvem de grandes players como Google, Microsoft e Amazon para enviar informações diretamente a eles. Neste caso como a transferência tende a ser por vias que normalmente são monitoradas os criminosos podem utilizar de algum tipo de ofuscação, encoding ou criptografia para que a informação consiga ser enviada.
Como se proteger
Antes que eu cite alguns dos principais pontos que poderão impedir que tais atividades aconteçam no ambiente vale ressaltar que compus este artigo tendo em mente que o ambiente a ser protegido já tem camadas dedicadas a DLP (Data Loss Prevention). Caso o ambiente não possua nenhum tipo de controle quanto a vazamento de dados quaisquer caminhos escolhidos pelos criminosos para enviar as informações serão bem sucedidos.
- Não tenha redes confiáveis: por mais que soe estranho é isso mesmo! Considerar que determinada rede é confiável assume que ameaças nunca serão originadas dela e isso pode mudar rapidamente em caso de comprometimento do ambiente. Para que esse ponto seja aplicado é necessário monitorar e proteger as comunicações entre quaisquer redes no ambiente, sejam elas internas ou externas, com soluções de segurança como firewall, DLP, IPS/IDS, antivírus e todo as demais que estiverem disponíveis.
- Faça atualizações em todo o ambiente: mesmo que alguns serviços não estejam diretamente expostos à internet é interessante mantê-los sempre atualizados para sua última versão estável, isso auixliará a impedir que vulnerabilidade conhecidas estejam presentes no ambiente.
- Hardening em tudo: oprocesso de hardening é a configuração de segurança para sistemas operacionais e serviços, ele visa fortificar o sistema como um todo e evitar que possua recursos habilitados que não necessários.
- Possua soluções de proteção robustas em todos os hosts: como citado nos outros passos desta série, é imprescindível possuir soluções de proteção em todos os hosts do ambiente. Els auxiliarão a proteger contra arquivos maliciosos mas também contra comunicações de rede potencialmente perigosas.
- Faça a gestão adequada dos usuários e senhas: como complemento ao hardening e demais proteções é interessante possuir uma gestão adequada sobre os acessos do ambiente. Mesmo com serviços adequadamente configurados ter um usuário administrador com senha fraca e que não precisa ser trocada nunca será um grande problema.
Com isso terminamos esta série sobre os passos de um ataque, espero que todos os pontos tenham ficado claros.
Confira toda a série “Passos de um Ataque”: