Osquery para Blue Teamers

Dec 22 2022
Osquery é uma plataforma de segurança de endpoint de código aberto que permite monitorar e consultar seus sistemas usando sintaxe semelhante a SQL. Foi desenvolvido pelo Facebook e é usado por empresas e organizações em todo o mundo para proteger suas redes e sistemas.

Osquery é uma plataforma de segurança de endpoint de código aberto que permite monitorar e consultar seus sistemas usando sintaxe semelhante a SQL. Foi desenvolvido pelo Facebook e é usado por empresas e organizações em todo o mundo para proteger suas redes e sistemas.

Um dos principais recursos do Osquery é sua capacidade de realizar monitoramento e análise em tempo real de seus sistemas. Ele fornece uma visão unificada de toda a sua infraestrutura e permite que você identifique e responda rapidamente a ameaças e anomalias de segurança.

Osquery pode ser usado para monitorar vários aspectos de seus sistemas, incluindo:

  • Integridade do arquivo: Osquery pode detectar alterações em arquivos importantes do sistema, alertando você sobre possíveis adulterações ou infecções por malware.
  • Atividade de rede: Osquery pode monitorar conexões de rede de entrada e saída, permitindo que você detecte e responda a possíveis ataques ou acesso não autorizado.
  • Atividade do processo: Osquery pode rastrear os processos em execução em seus sistemas, alertando você sobre qualquer atividade suspeita ou maliciosa.
  • Configuração do sistema: Osquery pode coletar e relatar as configurações do sistema, ajudando você a garantir que seus sistemas sejam configurados de forma segura e consistente.

Instalação:

Osquery pode ser usado para explorar vários sistemas operacionais, como Windows, Linux e Mac. Faça o download da versão que desejar aqui , no meu caso, baixei e instalei para Windows.

Após a instalação, inicie o Powershell como administrador > navegue até o caminho de download do Osquery > inicie o osquery com .\osqueryi.exe

Já que acabamos de começar, vamos digitar .help e verificar quais funcionalidades o Osquery possui:

Explorando tabelas no Windows:

Vamos explorar a tabela digitando .tables que nos fornecerá a lista de funções do sistema operacional e, em seguida, consultaremos algumas delas para recuperar possíveis dados da máquina afetada.

Como visto acima, osquery consultou a lista de tabelas no sistema operacional. Vamos pegar alguns detalhes intrincados de algumas tabelas interessantes para consultar ainda mais:

Lista de usuários ativos:

O comando select * from users; permitirá a enumeração de todos os usuários presentes na máquina. Podemos procurar ainda mais possíveis UID e GID para direitos dos usuários e verificar se os usuários têm direitos de administrador.

O comando select Count(*) from users nos dará a contagem de estatísticas das contas de usuário criadas nesta máquina.

Para buscar os UIDs usamos o comando select UID from users;

Lista de Processos:

Para listar todos os processos em execução no sistema, usamos o comando select * fromprocess;

Observe que usei o limite 5 para limitar os resultados para exibir os 5 principais processos, pois vários processos estão sendo executados em minha máquina.

Podemos filtrar os resultados de acordo para encontrar o mau ator.

Vamos construir uma consulta para obter nomes de usuários e o processo correspondente que está sendo executado por eles:

Observe que, se você deseja executar essas consultas, deve estar familiarizado com os fundamentos do SQL

Conexões de rede de processos ativos:

Podemos verificar soquetes de rede suspeitos e procurar conexões estabelecidas de endereços IP locais para remotos. Vamos explorar as tabelas de processos do Windows primeiro:

Agora vamos consultar a tabela process_open_sockets e verificar:

Vamos filtrar os resultados para ver apenas todas as conexões estabelecidas.

Agora podemos realizar uma verificação nos endereços IP externos por meio do Threat Intelligence Tools para ver se há algum endereço IP malicioso para o qual as conexões de saída foram feitas ou não.

Monitoramento de arquivos:

Para monitorar qualquer arquivo suspeito presente no sistema, podemos usar o seguinte comando:

Observe as seguintes regras curinga quando se trata de construir consultas:

Regras curinga correspondentes

  • %: Combine todos os arquivos e pastas para um nível.
  • %%: Combine todos os arquivos e pastas recursivamente.
  • %abc: Corresponde a todos os níveis que terminam em "abc".
  • abc%: Corresponde a todos os níveis começando com "abc".

Podemos verificar se há modificações suspeitas no valor da chave do registro e encontrar artefatos interessantes. A preparação de uma consulta economizará seu tempo de resposta a incidentes e você conhecerá a persistência de malware no registro.

A consulta usada acima é Selecionar dados, caminho do registro em que chave = 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders';

Inicialização de malware na inicialização

Podemos verificar os processos do Windows que estão iniciando na inicialização como comportamentos de persistência de malware. Ao detectar essas atividades maliciosas, podemos tomar medidas adicionais, como isolar a máquina da rede e fazer uma possível análise forense para a causa raiz.

A instrução OSquery usada acima é select * from services where start_type='DEMAND_START' limit 2;

No geral, o Osquery é uma ferramenta valiosa para qualquer pessoa responsável pela segurança de seus sistemas. Seu monitoramento em tempo real e poderosos recursos de consulta o tornam uma plataforma versátil e eficaz para detectar e responder a ameaças e anomalias de segurança.

Referências:

https://osquery.io/schema/5.6.0