Conhecer a linguagem de consulta de busca avançada
Aplica-se a:
- Microsoft Defender XDR
A caça avançada baseia-se na linguagem de consulta Kusto. Você pode usar operadores e instruções kusto para construir consultas que localizam informações em um esquema especializado.
Assista a este pequeno vídeo para aprender alguns conceitos básicos da linguagem de consulta kusto útil.
Para entender melhor esses conceitos, execute a primeira consulta.
Experimente a primeira consulta
No portal Microsoft Defender, acesse Caçar para executar sua primeira consulta. Use o seguinte exemplo:
// Finds PowerShell execution events that could involve a download
union DeviceProcessEvents, DeviceNetworkEvents
| where Timestamp > ago(7d)
// Pivoting on PowerShell processes
| where FileName in~ ("powershell.exe", "powershell_ise.exe")
// Suspicious commands
| where ProcessCommandLine has_any("WebClient",
"DownloadFile",
"DownloadData",
"DownloadString",
"WebRequest",
"Shellcode",
"http",
"https")
| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine,
FileName, ProcessCommandLine, RemoteIP, RemoteUrl, RemotePort, RemoteIPType
| top 100 by Timestamp
Execute essa consulta na caça avançada
Descrever a consulta e especificar as tabelas a serem pesquisadas
Um breve comentário foi adicionado ao início da consulta para descrever para que serve. Esse comentário ajuda se você decidir salvar a consulta mais tarde e compartilhá-la com outras pessoas em sua organização.
// Finds PowerShell execution events that could involve a download
A consulta em si normalmente começa com um nome de tabela seguido por vários elementos que começam com um pipe (|
). Neste exemplo, começamos criando uma união de duas tabelas DeviceProcessEvents
e DeviceNetworkEvents
, e adicionamos elementos encanados conforme necessário.
union DeviceProcessEvents, DeviceNetworkEvents
Definir o intervalo de tempo
O primeiro elemento encanado é um filtro de tempo com escopo para os sete dias anteriores. Limitar o intervalo de tempo ajuda a garantir que as consultas tenham um bom desempenho, retornem resultados gerenciáveis e não expirem.
| where Timestamp > ago(7d)
Observação
Os filtros de tempo kusto estão em UTC independentemente do fuso horário especificado em suas configurações.
Verificar processos específicos
O intervalo de tempo é imediatamente seguido por uma pesquisa por nomes de arquivo de processo que representam o aplicativo PowerShell.
// Pivoting on PowerShell processes
| where FileName in~ ("powershell.exe", "powershell_ise.exe")
Pesquisar cadeias de caracteres de comando específicas
Posteriormente, a consulta procura cadeias de caracteres em linhas de comando que normalmente são usadas para baixar arquivos usando o PowerShell.
// Suspicious commands
| where ProcessCommandLine has_any("WebClient",
"DownloadFile",
"DownloadData",
"DownloadString",
"WebRequest",
"Shellcode",
"http",
"https")
Personalizar colunas de resultado e comprimento
Agora que a consulta identifique claramente os dados que você deseja localizar, você pode definir a aparência dos resultados. project
retorna colunas específicas e top
limita o número de resultados. Esses operadores ajudam a garantir que os resultados sejam bem formatados e razoavelmente grandes e fáceis de processar.
| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine,
FileName, ProcessCommandLine, RemoteIP, RemoteUrl, RemotePort, RemoteIPType
| top 100 by Timestamp
Selecione Executar consulta para ver os resultados.
Dica
Você pode exibir os resultados da consulta como gráficos e ajustar rapidamente os filtros. Para obter diretrizes, leia sobre como trabalhar com os resultados da consulta
Aprender operadores de consulta comuns
Você acabou de executar sua primeira consulta e tem uma ideia geral de seus componentes. É hora de retroceder um pouco e aprender algumas noções básicas. A linguagem de consulta Kusto usada por caça avançada oferece suporte a vários operadores, incluindo os seguintes.
Operador | Descrição e uso |
---|---|
where |
Filtre uma tabela no subconjunto de linhas que atendem a um predicado. |
summarize |
Produza uma tabela que agrega o conteúdo da tabela de entrada. |
join |
Mescle as linhas de duas tabelas para formar uma nova tabela, correspondendo valores das colunas especificadas de cada tabela. Assista a tabelas de junção no KQL para saber como. |
count |
Retorne o número de registros no conjunto de registros de entrada. |
top |
Retorne os primeiros registros N classificados pelas colunas especificadas. |
limit |
Retornar para o número especificado de linhas. |
project |
Selecione as colunas a serem incluídas, renomear ou descartar e inserir novas colunas computadas. |
extend |
Crie colunas calculadas e as acrescente ao conjunto de resultados. |
makeset |
Retornar uma matriz dinâmica (JSON) do conjunto de valores distintos que Expr assume no grupo. |
find |
Localizar linhas que correspondam a um predicado em um conjunto de tabelas. |
Para ver um exemplo instantâneo desses operadores, execute-os na seção começar, na caça avançada.
Compreender os tipos de dados
A caça avançada dá suporte a tipos de dados Kusto, incluindo os seguintes tipos comuns:
Tipo de dados | Implicações de descrição e de consulta |
---|---|
datetime |
As informações de dados e hora geralmente representam os carimbos de data/hora. Consulte formatos de datetime com suporte |
string |
Cadeia de caracteres em UTF-8 entre aspas simples () ou ' aspas duplas (" ). Leia mais sobre cadeias de caracteres |
bool |
Esse tipo de dados dá suporte aos estaods true ou false . Consulte literais e operadores com suporte |
int |
Inteiro de 32 bits |
long |
Inteiro de 64 bits |
Para saber mais sobre esses tipos de dados, leia sobre os tipos de dados escalar kusto.
Obter ajuda durante a criação de consultas
Aproveite as funcionalidades a seguir para escrever rapidamente as consultas:
- Autosuggest — à medida que você grava consultas, a caça avançada fornece sugestões do IntelliSense.
- Árvore de esquema – uma representação de esquema que inclui a lista de tabelas e suas colunas é fornecida ao lado da área de trabalho. Para saber mais, passe o mouse sobre um item. Clique duas vezes em um item para inseri-lo no editor de consultas.
- Referência de esquema – referência no portal com descrições de tabela e coluna, bem como tipos de evento com suporte (
ActionType
valores) e consultas de exemplo
Trabalhar com várias consultas no editor
Você pode usar o editor de consultas para experimentar várias consultas. Para usar várias consultas:
- Separe cada consulta com uma linha vazia.
- Coloque o cursor em qualquer parte de uma consulta para selecionar essa consulta antes de executá-la. Isso executará apenas a consulta selecionada. Para executar outra consulta, mova o cursor de acordo e selecione Executar consulta.
Para um workspace mais eficiente, você também pode usar várias guias na mesma página de caça. Selecione Nova consulta para abrir uma guia para sua nova consulta.
Em seguida, você pode executar consultas diferentes sem nunca abrir uma nova guia do navegador.
Observação
O uso de várias guias de navegador com a caça avançada pode fazer com que você perca suas consultas não salvas. Para evitar que isso aconteça, use o recurso de guia na caça avançada em vez de guias separadas do navegador.
Use consultas de amostra
A seção introdução fornece algumas consultas simples usando operadores usados com frequência. Tente executar essas consultas e faça pequenas modificações nelas.
Observação
Além das amostras básicas de consulta, você também pode acessar consultas compartilhadas para cenários específicos de busca de ameaças. Explore as consultas compartilhadas no lado esquerdo da página ou no repositório de consulta do GitHub.
Documentação da linguagem de consulta do Access
Para obter mais informações sobre a linguagem de consulta Kusto e os operadores com suporte, confira documentação da linguagem de consulta do Kusto.
Observação
Algumas tabelas neste artigo podem não estar disponíveis no Microsoft Defender para Ponto de Extremidade. Ative Microsoft Defender XDR para procurar ameaças usando mais fontes de dados. Você pode mover seus fluxos de trabalho avançados de caça de Microsoft Defender para Ponto de Extremidade para Microsoft Defender XDR seguindo as etapas em Migrar consultas avançadas de caça Microsoft Defender para Ponto de Extremidade.
Tópicos relacionados
- Visão geral da busca avançada
- Trabalhar com os resultados da consulta
- Usar consultas compartilhadas
- Buscar em dispositivos, e-mails, aplicativos e identidades
- Compreender o esquema
- Aplicar práticas recomendadas de consulta
Dica
Você deseja aprender mais? Engage com a comunidade de Segurança da Microsoft em nossa Comunidade Tecnológica: Microsoft Defender XDR Tech Community.