Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A caça avançada baseia-se na linguagem de consulta Kusto. Pode utilizar operadores e instruções Kusto para construir consultas que localizem informações num esquema especializado.
Veja este breve vídeo para aprender algumas noções básicas úteis da linguagem de consulta Kusto.
Para entender os conceitos básicos da linguagem de consulta Kusto na busca avançada, execute sua primeira consulta.
Experimente a primeira consulta
No portal do Microsoft Defender, acesse Busca avançada 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
Executar a consulta suspeita de comandos de download do PowerShell na busca avançada
Descreva a consulta e especifique as tabelas a procurar
Um breve comentário foi adicionado ao início da consulta para descrever a finalidade da consulta. 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
Normalmente, a consulta começa com um nome de tabela seguido de vários elementos que começam com um pipe (|). Neste exemplo, começamos por criar uma união de duas tabelas, DeviceProcessEvents e DeviceNetworkEvents, e adicionamos elementos piped conforme necessário.
union DeviceProcessEvents, DeviceNetworkEvents
Definir o intervalo de tempo
O primeiro elemento encadeado é um filtro de tempo limitado aos 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 hora do Kusto estão em UTC, independentemente do fuso horário que especificou nas suas definições.
Verificar processos específicos
O intervalo de tempo é imediatamente seguido por uma pesquisa de nomes de ficheiros de processo que representam a aplicação do 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 em linhas de comandos que são normalmente utilizadas para transferir ficheiros com o PowerShell.
// Suspicious commands
| where ProcessCommandLine has_any("WebClient",
"DownloadFile",
"DownloadData",
"DownloadString",
"WebRequest",
"Shellcode",
"http",
"https")
Personalizar colunas de resultados e comprimento
Agora que a consulta identifique claramente os dados que você deseja localizar, você pode definir a aparência dos resultados.
project devolve colunas específicas e top limita o número de resultados. Estes operadores ajudam a garantir que os resultados são 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
Pode ver os resultados da consulta como gráficos e ajustar rapidamente os filtros. Para obter diretrizes, consulte Trabalhar com os resultados da consulta
Aprender operadores de consulta comuns
Você acabou de executar sua primeira consulta e agora tem uma ideia geral de seus componentes. Está na altura de recuar 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 |
Combine as linhas de duas tabelas para formar uma nova tabela, fazendo a correspondência entre os valores da(s) coluna(s) especificada(s) de cada tabela. Veja Junção de tabelas no KQL para aprender como fazer isso. |
count |
Retorne o número de registros do conjunto de registros de entrada. |
top |
Retorne os primeiros registros N classificados pelas colunas especificadas. |
limit |
Retorna até 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 |
Retorna um array dinâmico (JSON) contendo o 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 oferece suporte a tipos de dados Kusto, incluindo os seguintes tipos comuns:
| Tipo de dados | Implicações da descrição e da consulta |
|---|---|
datetime |
Informações de data e hora que normalmente representam registros de data e hora de eventos. Formatos de data e hora compatíveis |
string |
Sequência de caracteres em UTF-8 entre aspas simples (') ou aspas duplas (").
Tipo de dados string |
bool |
Esse tipo de dado oferece suporte aos estados true ou false.
Literais e operadores booleanos compatíveis |
int |
Inteiro de 32 bits |
long |
Inteiro de 64 bits |
Para saber mais sobre os tipos de dados escalares do Kusto, tipos de dados escalares do Kusto.
Receba ajuda ao escrever consultas
Aproveite as funcionalidades a seguir para escrever rapidamente as consultas:
- Sugestão automática - à medida que você digita consultas, a busca avançada oferece sugestões com base no IntelliSense.
- Árvore de esquema – uma representação de esquema que inclui a lista de tabelas e respetivas colunas é fornecida junto à á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 tabelas e colunas, bem como tipos de eventos suportados (
ActionTypevalores) e consultas de exemplo
Trabalhar com várias consultas no editor
Pode utilizar o editor de consultas para experimentar várias consultas. Para utilizar 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 a executar. Isso executará apenas a consulta selecionada. Para executar outra consulta, mova o cursor em conformidade e selecione Executar consulta.
Para um espaço de trabalho mais eficiente, você também pode usar várias abas na mesma página de busca. Selecione Nova consulta para abrir um separador para a nova consulta.
Em seguida, pode executar consultas diferentes sem nunca abrir um novo separador do browser.
Observação
Usar várias abas do navegador com a busca avançada pode fazer você perder suas consultas não salvas. Para evitar que isso aconteça, use o recurso de guias na busca avançada em vez de guias separadas do navegador.
Use consultas de exemplo
A seção introdução fornece algumas consultas simples usando operadores usados com frequência. Tente executar as consultas de exemplo na seção Introdução e fazer 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 partilhadas no lado esquerdo da página ou o repositório de consultas 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 talvez não estejam disponíveis no Microsoft Defender para Ponto de Extremidade. Ative Microsoft Defender para procurar ameaças usando mais fontes de dados. Você pode mover seus fluxos de trabalho avançados de busca de Microsoft Defender para Ponto de Extremidade para Microsoft Defender seguindo as etapas em Migrar consultas avançadas de busca de Microsoft Defender para Ponto de Extremidade.
Conteúdo relacionado
- 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? Participe da comunidade de Segurança da Microsoft em nossa Tech Community: Tech Community do Microsoft Defender XDR.