segunda-feira, 6 de dezembro de 2021

Elastic Security - Usando OSQuery


O que é Osquery?

Osquery é um projeto Opensource desenvolvido a partir do Facebook. Como o nome sugere, o Osquery ajuda a consultar os recursos do sistema operacional usando SQL. Ele expõe os conceitos subjacentes do sistema operacional, como processos, arquivos, rede como tabelas SQL.

Você pode escrever uma consulta SQL simples para ver os processos em execução ativa em seu sistema.

> SELECT pid, name, path FROM processes;

A mesma consulta SQL pode ser agendada para ser executada periodicamente e observar as mudanças no sistema. Isso torna mais fácil observar as métricas do sistema operacional de baixo nível.

Como funciona?

Osquery é compatível com a maioria das distribuições baseadas em Linux, Windows e Mac. O Osquery pode ser baixado aqui.

Osquery tem dois componentes:

  • osquerydO daemon é executado em seu sistema operacional. o osqueryd agenda e executa consultas SQL no sistema. Fornece o estado atual do sistema quando a consulta é executada no host. O daemon usa APIs de eventos do sistema operacional para registrar as alterações. As consultas executadas pelo daemon são registradas no formato JSON e refletem o estado do sistema. Logs são gerados e exportados para análise posterior.
  • osqueryi - É o shell interativo por meio do qual você pode executar consultas SQL. É autônomo e não se comunica com outros daemons Osquery em execução em outro lugar. osqueryd é o binário; quando você executa o osqueryd com o sinalizador -S, ele opera como um shell para executar comandos. Você também pode renomear osqueryd como osqueryi para operar em um modo interativo.

Para interagircom o osqueryd, você pode integrar o SDK da ferramenta de sua escolha.

Usando Osquery in Elastic Stack

Depois de instalar o Osquery em seu respectivo sistema host, usando as instruções dos documentos oficiais. Você precisa rodar um Elasticsearch, Kibana & Fleet Server para que os logs de resultados do osqueryd sejam enviados.

Existem algumas maneiras de se comunicar com o osqueryd e visualizar os dados no Elastic Stack.

  • Módulo Filebeat + OSQquery - Este método é relativamente simples. Primeiro, instale o Filebeat usando o guia de início rápido e habilite o módulo osquery para ver os resultados em um painel pronto para usar.
  • Integração Elastic Agent + Osquery - Com o Elastic Agent, você pode executar consultas em tempo real no sistema host e agendar consultas para serem executadas periodicamente.
Configurações

1 - Use a IU de integrações em Management para adicionar Osquery Log Collection and Osquery manager. 







Adicione integrações Osquery a uma política. Posteriormente, a política será atribuída ao Elastic Agent.

2 - Instale o Elastic Agent no sistema host em que osqueryd está sendo executado.

3 - Habilite e ingresse o Elastic agent ao Fleet. O Fleet gerencia todos os Elastic Agents instalados nos sistemas host.

Depois de habilitar a integração para executar uma consulta em tempo real, você pode acessar o aplicativo de métricas no Kibana e clicar na máquina em que deseja executar a consulta.





Os resultados coletados das consultas programadas podem ser visualizados na "Kibana Len" e "Discovery" no aplicativo Osquery na guia de gerenciamento. Além disso, você pode adicionar esses pacotes de osquery personalizados aqui.




Aprenda mais...












Elastic Security - Protegendo processos restritos do Windows (Parte I)


Este post, é o primeiro de uma série de duas partes que discute  como um exploit executado em área de usuário do Windows, inicialmente divulgado por James Forshaw e Alex Ionescu. A exploração permite que os invasores executem ações altamente privilegiadas que normalmente requerem um driver de kernel.

Protected Process Light

O Windows 8.1 introduziu o conceito de Protected Process Light (PPL), que permite que programas especialmente assinados sejam executados de forma a serem imunes a adulteração e encerramento, mesmo por usuários administrativos. O objetivo é impedir que o malware seja executado de forma descontrolada - adulterando processos críticos do sistema e encerrando os aplicativos anti-malware. Há uma hierarquia de “níveis” de PPL, com os de privilégios mais altos imunes à violação por aqueles de privilégios mais baixos, mas não vice-versa.

Para obter mais informações sobre os processos PPL, consulte os seguintes recursos:

O Exploit

Em um nível superior, o exploit é um ataque de envenenamento de cache em que um invasor pode adicionar uma DLL ao cache KnownDlls - uma lista confiável de DLLs do Windows. KnownDlls só é gravável por processos WinTcb, que é a forma mais alta de PPL ... mas um bug na implementação da API DefineDosDevice permite que invasores enganem o CSRSS, um processo WinTcb, para criar uma entrada de cache em seu nome. KnownDlls é confiável para o Windows loader, portanto, nenhuma verificação de segurança adicional é realizada enquanto KnownDlls são carregados, mesmo dentro de processos PPL. Depois de envenenar o cache, o invasor inicia um processo protegido que termina carregando sua DLL e executando payload.

Como essa exploração permite que os invasores injetem uma DLL de sua escolha em um processo PPL, eles podem executar qualquer ação com privilégios WinTcb. A Microsoft indicou que não está interessada em atender a essa vulnerabilidade. Ele está confirmado para funcionar no Windows 10 21H1 versão 10.0.19043.985.

POCs

A primeira POC de exploração pública de que temos conhecimento é o recém-lançado PPLDump, uma ferramenta que pode despejar qualquer processo PPL, como LSASS no modo RunAsPPL. Algumas semanas após o lançamento do PPLDump, o Sealighter-TI foi lançado, reutilizando o código de exploração do PPLDump para conceder acesso ao feed ETW Threat-Intelligence, que normalmente é restrito a empresas AntiMalware sob NDA. A rápida recuperação do Sealighter-TI demonstra como é fácil redirecionar o código de exploração para executar um novo payload.

Com o código de exploração público, esperamos que as ferramentas ofensivas tirem proveito disso rapidamente, executando dos payloads como WinTcb PPL. Isso permitirá que eles:

  • Dump das credenciais corporativas, mesmo quando o LSASS for reforçado para funcionar como PPL.
  • Encerrar ou desabilitar silenciosamente os processos PPL, como produtos de segurança.
  • Execute implantes inteiros como processos WinTcb PPL. Esses implantes não podem ser inspecionados ou eliminados por produtos de segurança de modo de usuário. A Microsoft restringe os produtos de segurança ao AntiMalware PPL, que é menos privilegiado do que o WinTcb.
  • Injetar código em processos PPL existentes. Imagine executar a carga útil do beacon do Cobalt Strike dentro do Windows Defender.
Fechando as Brechas

Vendo esta vulnerabilidade sem mitigação pública, estamos lançando uma ferramenta chamada PPLGuard para fechá-la. PPLGuard, que é baseado na base de código PPLDump com permissão, usa o exploit para primeiro elevar para WinTcb PPL, então aplica um DACL tornando o diretório de objetos KnownDlls somente leitura. Isso bloqueia o exploit evitando que o CSRSS adicione uma nova entrada - uma etapa crítica na cadeia de exploit. Esta DACL existe apenas na memória, portanto, é apagada na reinicialização.



Como o PPLGuard fecha a vulnerabilidade da qual a exploração depende, as execuções subsequentes falharão. A ferramenta de prova de conceito PPLGuard pode ser encontrada aqui.

Conclusão

Neste post, foi abordada uma exploração de escalonamento de privilégios do Windows e fornecemos uma ferramenta de código aberto que atenua a vulnerabilidade explorada. Na parte 2, cobriremos como procurar esses tipos de ataques usando o Elastic Security. Fique ligado.

Atualização 2021-06-03: Depois que este post foi escrito, alguém portou o exploit PPLDump para .NET em run Cobalt Strike beacon as WinTCB PPL.


segunda-feira, 22 de novembro de 2021

Elastic e AWS: acelerando a jornada de migração para a nuvem

 


As ofertas de nuvem oferecem eficiência de custos e agilidade, no entanto, o processo de migração e a complexidade do gerenciamento podem representar desafios. O Elastic permite que as organizações monitorem, analisem e protejam seus Amazon Web Services (AWS) e on premisse em uma única plataforma unificada - em cada estágio de sua jornada de adoção da nuvem - mesmo enquanto migram cargas de trabalho. Isso pode ajudar a garantir economia de tempo e custos, ao mesmo tempo que reduz o risco.

Neste post, discutiremos como Elastic e AWS trabalham juntos para acelerar a jornada de migração da carga de trabalho e garantir uma transição tranquila para a nuvem.

Benefícios e desafios da adoção da nuvem

Existem muitos motivadores de negócios por trás da transformação digital, desde a entrega de melhores resultados para o cliente e maior produtividade dos funcionários até o suporte à modernização de aplicativos e cargas de trabalho de IA. As organizações também buscam a nuvem para fornecer escalabilidade e atender a rígidas diretrizes de conformidade e segurança, ao mesmo tempo em que simplificam sua arquitetura de dados. Os objetivos finais por trás da adoção da nuvem são um tempo de entrada no mercado mais rápido, revelando melhores insights e reduzindo os custos gerais de TI.

No entanto, as recompensas de mudar para a nuvem não são isentas de riscos. Os desafios comuns enfrentados pelas organizações incluem:

  • Complexidade: frequentemente, milhares de cargas de trabalho de microsserviços precisam ser migradas e a falta de visibilidade em dependências complexas pode representar obstáculos para resolver problemas técnicos e tomar decisões importantes.
  • Prazo: a migração típica é um processo de vários anos e tem uma pressão imensa para ser concluída no prazo e dentro do orçamento.
  • Dimensionamento: antes da migração, é essencial inventariar as cargas de trabalho no local e dimensionar adequadamente os requisitos de recursos na nuvem (quanta RAM, quais instâncias de computação, etc.) para evitar cobranças inesperadas e estouros de orçamento posteriormente.
  • Re-arquitetura: os aplicativos podem precisar ser re-arquitetados para a nuvem. Isso é especialmente verdadeiro para arquiteturas de aplicativos monolíticos legados que não se prestam facilmente aos benefícios de escala e agilidade da nuvem por meio de conteinerização, orquestração, sem servidor e outras tecnologias nativas da nuvem.
  • Desempenho: os aplicativos podem sofrer lentidão ou até mesmo tempo de inatividade como resultado da migração. A gravidade dos dados, a interoperabilidade e as dependências de aplicativos fora da nuvem costumam ser as principais preocupações nessa área.
  • Segurança: A exposição de dados, perda e ataques externos também devem ser levados em consideração.
Visibilidade em todas as fases de migração

Para migrar para a nuvem com confiança, é essencial ter uma compreensão abrangente dos recursos de aplicativos e infraestrutura na AWS e em ambientes locais. O Elastic oferece visibilidade unificada híbrida e de várias nuvens em cada estágio do processo de migração para a nuvem.

  • Pré-migração: a visibilidade na infraestrutura do aplicativo local pode ajudar a construir um entendimento completo dos aplicativos baseados em microsserviços e monolíticos. Na fase de pré-migração, o Elastic permite a visualização da arquitetura do aplicativo e dependências usando mapeamento de serviço, monitoramento da experiência real do usuário de aplicativos da web locais, análise de custo pré-migração, avaliação de portfólio de aplicativo e dimensionamento correto.
  • Durante a migração: o monitoramento de ambiente híbrido durante a migração pode ajudar a validar o desempenho e identificar proativamente os problemas de experiência do usuário, como alta latência ou erros, que geralmente resultam da migração de arquiteturas locais complexas para uma infraestrutura em nuvem mais distribuída. O rastreamento distribuído e o mapeamento de dependência de serviço são especialmente valiosos para uma compreensão abrangente de arquiteturas de microsserviços (MSA) e dependências de terceiros no portfólio de aplicativos.
  • Pós-migração: verificações e balanços pós-migração são um componente essencial da jornada de migração. Com o Elastic, as organizações podem configurar alertas e gerenciamento de incidentes, monitorar o tempo de atividade e a disponibilidade de todos os recursos da nuvem à medida que ficam online, solucionar problemas de desempenho e outros, entender tendências e realizar otimização de custos com base no uso da nuvem.
Observabilidade na nuvem

Dada a complexidade adicional do gerenciamento de várias plataformas em nuvem e locais, não é nenhuma surpresa que a observabilidade esteja se tornando uma iniciativa de negócios crítica e o desafio número um para as equipes de DevOps, de acordo com uma pesquisa do grupo Enterprise Management Associates (EMA). O relatório também indicou que as equipes de DevOps gastam 50% de seu tempo determinando a causa raiz dos problemas e isso pode ser ampliado à medida que as organizações introduzem diferentes opções de nuvem, software e arquitetura em seu ambiente. A metodologia certa deve ser estabelecida para essa transformação complexa, juntamente com as escolhas tecnológicas certas. As equipes que implantam a capacidade de observação são capazes de desenvolver 70% mais rápido e manter a velocidade do produto aumentada com quatro vezes o número de recursos, de acordo com o relatório do grupo EMA.

Elastic Observability oferece visibilidade unificada em toda a nuvem e no ecossistema local para que os profissionais possam monitorar e reagir a eventos que acontecem em qualquer lugar em seu ambiente. O Elastic reúne logs, métricas e rastreamentos de APM em escala em uma única pilha com aprendizado de máquina integrado para ajudar a detectar problemas e originar as causas antes que os usuários tenham conhecimento deles. A observabilidade elástica oferece:
  • Análise centralizada de logs para infraestrutura e logs de aplicativos e outros eventos estruturados.
  • Monitoramento de infraestrutura de logs, métricas e tempo de atividade para todos os componentes da infraestrutura.
  • Monitoramento de desempenho de aplicativo em logs de aplicativo, métricas, rastreamento distribuído, rastreamento de erros, mapeamento de dependência de serviço e integridade de API.
  • Monitoramento da experiência do usuário final, oferecendo monitoramento de usuário real, monitoramento de disponibilidade de site e monitoramento sintético baseado em navegador.
  • Monitoramento de migração em nuvem em todas as fases da jornada de migração.
Segurança na nuvem

Os mesmos dados de observabilidade também podem ser usados para detecção e resposta estendidas (XDR) para conduzir o tempo médio de detecção a zero. O Elastic Security automatiza as tarefas de detecção e prevenção de segurança para que as organizações possam se concentrar na inovação e nos objetivos de negócios estratégicos. Dentro do modelo de responsabilidade compartilhada do AWS Well-Architected Framework, o Elastic fornece as ferramentas para essas tarefas de segurança operacional, enquanto a AWS fornece uma infraestrutura segura para execução, composta de hardware, software, rede e recursos que executam os serviços em nuvem da AWS.


Elastic e AWS: melhor juntos

A Elastic foi certificada como um parceiro do AWS ISV Workload Migration Program (WMP) para oferecer suporte à migração de cargas de trabalho Elasticsearch ou ELK autogerenciadas no local para Elastic Cloud na AWS. A metodologia da Elastic oferece aos clientes uma abordagem prescritiva e repetível para acelerar a adoção da migração e está diretamente alinhada com as orientações e práticas recomendadas de migração publicadas pela AWS, incluindo o AWS Well-Architected Framework e o AWS Migration Acceleration Program. Por meio do programa AWS WMP, os clientes do Elastic podem aproveitar ainda mais as vantagens da orientação de integração, recursos de migração e créditos de infraestrutura da AWS e assistência de financiamento para atingir seus objetivos de negócios e acelerar sua jornada na nuvem.

Saiba mais...

Tradução feita do artigo Elastic Blog.