Utilizando o Log Analytics do Application Insights para detectar anomalias em Web Apps

Em um post passado abordei o uso do Log do Application Insigths para visualizar ataques e anomalias Marcelo Sincic | Utilizando o Azure Application Insigths na Analise de Vulnerabilidades

Porem, vi a necessidade de complementar para alguns que me pediram para integrar as consultas com logs do MCAS, Defender e outros.

Partindo do principio que em todas as ferramentas utilizaremos KQL (Kusto Query Language) o primeiro passo é escrever o comando para isso e trazer o log como a imagem abaixo:

Captura de tela 2023-07-17 103348

Na consulta acima é possivel trazer os dados que estão no dashboard do artigo anterior, porem por estar escrito em KQL poderá customizar as colunas, formatos e filtra o que melhor lhe interessa.

Por exemplo, poderá alerar a consulta original para trazer os IPs por paises que mais consultaram as páginas de seu site para detectar origens que deseja filtrar e barrar no firewall:

AppRequests
    | where TimeGenerated > ago(1d)
    | where Success == False
    | summarize count() by ClientIP, ClientCountryOrRegion

Captura de tela 2023-07-17 104320

Outro exemplo é filtrar as requisições que tentaram baixar arquivos compactados diretamente de seu site, como o exemplo abaixo:

AppRequests
    | where TimeGenerated > ago(1d)
    | where Success == False
    | where Url contains "zip" or Url contains "rar"
    | project ClientCountryOrRegion, ClientStateOrProvince, ClientCity, ClientIP, Url

Captura de tela 2023-07-17 104909

Um terceiro exemplo é eu conseguir identificar as tentativas de SQL Injection a partir dos comandos básicos utilizados para esse tipo de exploração de vulnerabilidade:

AppRequests
    | where TimeGenerated > ago(1d)
    | where Success == False
    | where Url contains "select" or Url contains "union"
    | project Url, ClientCountryOrRegion, ClientStateOrProvince, ClientCity, ClientIP

Captura de tela 2023-07-17 105200

Conclusão

Com o uso dos logs armazenados de sua aplicação será possivel visualizar os principais ataques e como se defender melhorando sua aplicação e ter um monitoramento de atividades.

Integrando e enriquecendo o Sentinel com dados do Virus Total

Apresentando o Virus Total

O site Virus Total é um serviço muito conhecido do time de cibersegurança por permitir acompanhar diversos IoCs (Indicators of Compromissed) como hash de arquivo, IP, dominio ou URL baseado em uma pesquisa simples.

O Virus Total tem uma modalidade de assinatura onde é gratuita e possui limites para consultas, a fim de evitar o uso por bots ou sistemas de terceiros.
Veja abaixo os detalhes e note que temos aqui nossa API Key mesmo sendo uma conta gratuita:
 
 

Solution no Sentinel

Já que temos a possibilidade de integrar os dados do Virus Total com os alertas e incidentes do Sentinel, a primeira ação é instalarmos a Solution:
 
 
Ao instalar a solução verá na tela de informações a esquerda que inclui 9 playbooks que irão colher os dados do incidente, alerta, domínio ou arquivo para buscar e correlacionar os dados do Sentinel com o Virus Total.
O passo seguinte é clicar em Automation --> Playbook templates e instalar os playbooks, para isso poderá filtrar pela palavra "virus total" e usar o botão Create Template para abrir a janela de instalação do playbook em seu ambiente:
 
 
Nesta tela verá que não é necessário ainda conectar seu API Key nem o Log Analytics, isso será feito após o deploy quando ele abrir a tela de design do Logic Apps:
 
 
 
Note que ao abrir as tarefas e sequencia do Logic Apps verá que a conexão do Virus Total e do LogAnalytics estarão com o simbolo de aviso e o botão salvar não irá funcionar até que arrume as conexões.
Para isso a primeira vez será necessáiro clicar em API Connections e informar os dados tanto do Virus Total quanto do Log Analaytics que será utilizado. Abaixo o exemplo de conexão com a Virus Total:
 
 
 
Nos próximos conectores você não precisará mais configurar as conexões, pois ele irá permitir utilizar a conexão já configurada nos playbooks anteriores, como a imagem abaixo:
 
 
 
Lembre-se que precisará conectar tanto a API do Virus Total quanto do Log Analytics (workspace ID e Key).
Uma vez configurado, agora você depois de abrir todas as tarefas e indicar as conexões poderá salvar o Logic Apps e verá que ele irá aparecer na tab Active playbooks:
 
 

Criando a Automação

Agora que já importamos a solução e criamos os playbooks que desejamos usar, o passo seguinte é criar a regra para executá-lo, chamada de Automation Rule.
Para isso clique no botão Create --> Automation Rule e indique o nome da regra e o disparador (trigger) que pode ser um incidente novo, alterado ou um novo alerta.
Ao escolher o tipo de disparador utilize como ação Run Playbook para escolher um dos que criamos no passo anterior:
 
 
 
 
Ao criar a regra há varias formas de filtros que você poderá utilizar, por exemplo para detectar que há um arquivo que será analisado já que um dos playbooks é especifico para hash. Tambem poderá filtrar apenas para certos tipos de incidentes ou alertas.
 

Conclusão

Integrar diferentes serviços para ter IoCs de diversas fontes irá ajudar muito em suas análises de incidentes.
Tambem estão sendo testados nesse momento em private preview widgets para trazer dados do Anomali, Record Future e do Virus Total quando você estiver investigando uma entidade (Entity) mas esse é outro post futuro 
 

Sentinel Recon Workbook


Sabemos que o Microsoft Sentinel é uma ferramenta para capturar, analisar e gerar insights de segurança para operações e SOC.
Uma vez que temos milhares de sinais e eventos dentro do Sentinel, podemos analisar diversas situações com seu uso.
Vamos abordar aqui um Workbook que está na galeria da comunidade que tem o nome Sentinel Recon que tem como função permitir a pesquisa de forma inteligente aos dados coletados.

Instalando o Workbook

O primeiro passo é procurar e salvar no seu ambiente o template. Procure com o nome "Recon" em Templates como abaixo:

Utilizando o Workbook

Uma vez aberto, use-o na aba "My workbooks". Configure a assinatura de Azure onde está o seu Log Analytics que suporta o Sentinel, e inclua o periodo de pesquisa desejado. 
Obviamente, quanto maior o periodo mais lento ele ficará para retornar os dados e dependendo do tamanho do ambiente poderá ocorrer erro de timeout.
No exemplo abaixo usei o Recon para validar os agentes que tenho instalado, tanto nativos como Arc, onde ele me dá uma visão da ingestão de dados e permitindo nas tabelas de detalhes filtrar o que desejo analisar:

Outra pesquisa que me retornou dados interessantes é utilizando os recursos "Azure Activity" e "Security Events" onde assim como exemplo anterior passo a ter uma visão do fluxo de eventos ingeridos pelo Sentinel e utilizei alguns filtros para saber a origem especifica de determinados eventos e atividades:


Conclusão

Use este workbook junto com o Sentinel para vasculhar e descobrir detalhes do que está sendo analisado e ingerido de forma fácil e inteligente.