A segurança de busca (security search) e o threat hunting representam uma mudança paradigmática na postura de defesa cibernética: em vez de esperar passivamente por alertas de sistemas automatizados, o analista assume um papel ativo, formulando hipóteses e buscando evidências de atividade maliciosa em dados de telemetria. Este curso explora os conceitos essenciais que formam a espinha dorsal dessa prática, capacitando você a pensar como um caçador de ameaças.

O threat hunting não é uma atividade aleatória; é um processo sistemático que combina conhecimento profundo do ambiente, criatividade e método científico. Ele se apoia em quatro pilares fundamentais: telemetria (os dados que você coleta), caças (as buscas que você executa), hipóteses (as suposições que você testa) e TTPs (as táticas, técnicas e procedimentos dos adversários). Compreender cada um desses elementos e como eles se interconectam é o primeiro passo para se tornar um caçador eficaz.

Telemetry

Telemetria, no contexto de segurança da informação, refere-se à coleta, transmissão e armazenamento de dados sobre eventos que ocorrem em sistemas e redes. Esses dados são a matéria-prima de qualquer investigação de segurança e a base sobre a qual o threat hunting é construído. Sem telemetria abrangente e de alta qualidade, suas buscas serão cegas e suas hipóteses, impossíveis de validar.

A telemetria pode vir de diversas fontes, cada uma oferecendo uma perspectiva única sobre a atividade do ambiente. Logs de autenticação, por exemplo, revelam tentativas de login bem-sucedidas e falhas, enquanto logs de firewall e proxy mostram o tráfego de rede que entra e sai da organização. Logs de sistema operacional (como os do Windows Event Log ou do syslog em Linux) registram criação de processos, acesso a arquivos e outras atividades do sistema. Além disso, dados de endpoint, como os coletados por EDR (Endpoint Detection and Response), fornecem uma visão detalhada do que acontece em cada máquina, incluindo execução de scripts, modificações de registro e comunicação com IPs externos.

É crucial que a telemetria seja centralizada e normalizada, geralmente em um SIEM (Security Information and Event Management) ou em uma plataforma de análise de dados. A centralização permite que você correlacione eventos de diferentes fontes, identificando padrões que seriam invisíveis se cada log fosse analisado isoladamente. A normalização garante que os dados estejam em um formato consistente, facilitando consultas e automação. Por exemplo, todas as datas devem estar no mesmo fuso horário e formato, e os nomes de usuários devem ser padronizados.

Abaixo, um exemplo de como uma consulta de telemetria pode ser estruturada em uma linguagem de busca comum (aqui, usando uma pseudo-linguagem baseada em Splunk ou KQL):

index=endpoint event_type=process_creation
| where process_name = "powershell.exe"
| table timestamp, hostname, user, process_name, command_line
| sort timestamp desc

Essa consulta busca na telemetria de endpoints todos os eventos de criação de processo que envolvam o PowerShell, exibindo o horário, o host, o usuário e a linha de comando. Esse é um ponto de partida comum para investigar atividades suspeitas, pois o PowerShell é frequentemente usado por atacantes para executar código malicioso.

Hunts

Uma "hunt" (caça) é uma busca proativa e iterativa por ameaças dentro de um ambiente, baseada em uma hipótese ou em uma suspeita fundamentada. Diferente de uma busca reativa, que ocorre após um alerta ou incidente, uma caça é conduzida de forma contínua e sistemática, com o objetivo de descobrir atividades maliciosas que possam ter escapado dos controles automatizados. As caças podem ser classificadas em três tipos principais: caças baseadas em hipóteses, caças baseadas em indicadores de comprometimento (IOCs) e caças baseadas em táticas, técnicas e procedimentos (TTPs).

As caças baseadas em hipóteses partem de uma suposição sobre o que um adversário poderia fazer no seu ambiente. Por exemplo, você pode hipotetizar que um atacante tentará usar um script em PowerShell para baixar uma carga útil. A caça, então, consistiria em procurar por execuções de PowerShell com linhas de comando que contenham padrões típicos de download, como "Invoke-WebRequest" ou "BITSAdmin". Já as caças baseadas em IOCs procuram por artefatos conhecidos, como hashes de arquivos maliciosos, endereços IP suspeitos ou nomes de domínio maliciosos. Por fim, as caças baseadas em TTPs focam em padrões comportamentais, como a movimentação lateral, a escalada de privilégios ou o uso de ferramentas de administração legítimas para fins maliciosos.

Uma caça eficaz não é uma busca única, mas um processo contínuo de refinamento. Você começa com uma busca ampla, analisa os resultados, ajusta sua consulta com base no que encontra e repete o processo. É fundamental documentar suas caças, incluindo a hipótese, a consulta utilizada, os resultados e as conclusões. Essa documentação não apenas ajuda a melhorar suas próprias habilidades, mas também contribui para a inteligência de ameaças da organização.

Abaixo, um exemplo de uma caça baseada em TTP: procurar por movimentação lateral usando o protocolo SMB (Server Message Block) para execução de serviços remotos.

index=network dest_port=445
| where src_ip != dest_ip
| stats count by src_ip, dest_ip, dest_port
| where count > 10

Essa consulta identifica tráfego SMB (porta 445) entre diferentes hosts, o que pode indicar tentativas de movimentação lateral. O operador stats conta o número de conexões entre cada par de IPs, e o filtro where count > 10 destaca padrões de comunicação incomuns que merecem investigação.

Hypothesis

A hipótese é o coração do threat hunting. Ela é uma afirmação testável sobre uma atividade maliciosa potencial que você acredita que possa estar ocorrendo no seu ambiente. Uma boa hipótese é específica, baseada em conhecimento sobre TTPs de adversários, inteligência de ameaças, ou conhecimento do seu próprio ambiente, e pode ser confirmada ou refutada pelos dados da telemetria. Sem uma hipótese clara, suas caças se tornam buscas aleatórias que provavelmente não produzirão resultados significativos.

O processo de formulação de hipóteses é cíclico. Ele começa com uma observação ou um insight: talvez você tenha lido sobre uma nova campanha de phishing que usa um determinado tipo de anexo, ou notou um padrão estranho em seus logs. A partir daí, você refina isso em uma hipótese acionável. Por exemplo, uma hipótese fraca seria "um atacante pode estar na minha rede". Uma hipótese forte seria "um atacante pode estar usando o WinRM (Windows Remote Management) para executar comandos remotamente, e procurarei por eventos de criação de processos com o comando 'winrs' ou por conexões de rede na porta 5985". Essa hipótese é específica, baseada em uma técnica conhecida e testável com os dados disponíveis.

Para desenvolver boas hipóteses, você deve se manter atualizado sobre as últimas ameaças, compreender profundamente os sistemas e protocolos da sua organização e pensar como um adversário. Pergunte a si mesmo: "O que um invasor tentaria fazer aqui? Como ele faria? Que evidências deixaria?" Além disso, use frameworks como o MITRE ATT&CK para orientar suas hipóteses, focando em táticas como Persistência, Movimentação Lateral ou Exfiltração de Dados.

Vamos formalizar o processo de teste de uma hipótese. Suponha que você queira testar a hipótese: "Um atacante pode estar usando o serviço PowerShell Remoting (PSRemoting) para executar comandos em hosts remotos." Você poderia construir uma consulta de telemetria para procurar por evidências de PSRemoting, como a presença de eventos de criação de processos que contenham o comando Invoke-Command ou conexões de rede na porta 5985/5986.

index=endpoint event_type=process_creation
| where command_line LIKE "%Invoke-Command%" OR destination_port IN (5985, 5986)
| table timestamp, hostname, user, command_line, destination_ip, destination_port

Se a consulta retornar resultados, você pode investigar mais a fundo para confirmar se a atividade é legítima ou maliciosa. Se não retornar, sua hipótese é refutada, e você pode partir para outra. O importante é que cada hipótese testada aumenta seu conhecimento sobre o ambiente e melhora sua capacidade de detectar ameaças futuras.

TTPs

TTPs é a sigla para Táticas, Técnicas e Procedimentos, um conceito central na modelagem de adversários e na cibersegurança. As táticas representam o "porquê" do ataque, ou seja, os objetivos do adversário em cada estágio, como Acesso Inicial, Execução, Persistência, Movimentação Lateral, Exfiltração, etc. As técnicas são os "como" — os métodos específicos usados para alcançar esses objetivos, como spear phishing, exploração de vulnerabilidades, ou uso de scripts. Os procedimentos são as implementações específicas das técnicas, muitas vezes detalhando as ferramentas, comandos e sequências exatas usadas por um grupo de ameaça específico.

Compreender TTPs é fundamental para o threat hunting porque permite que você procure por padrões de comportamento, em vez de apenas indicadores estáticos como hashes ou IPs. Os atacantes frequentemente mudam seus IOCs (por exemplo, usando novos domínios ou hashes), mas suas TTPs tendem a ser mais estáveis, pois refletem as ferramentas e processos que eles dominam. Assim, caçar por TTPs é uma estratégia mais robusta e duradoura.

O MITRE ATT&CK é um framework amplamente utilizado que cataloga TTPs conhecidas, organizadas em táticas e técnicas. Ele serve como uma linguagem comum para descrever o comportamento de adversários e como uma lista de verificação para caçadores. Por exemplo, se você suspeitar de um ataque que usa a técnica "PowerShell" (T1059.001) para Execução, você pode usar o ATT&CK para obter detalhes sobre a técnica, incluindo exemplos de procedimentos, e então criar uma caça específica para ela.

A seguir, um exemplo de como TTPs podem ser usados para guiar uma caça. Suponha que você queira procurar por indícios da técnica "Criação de Conta Local" (T1136.001), que é frequentemente usada para estabelecer persistência. Você procuraria por eventos de criação de contas de usuário locais na telemetria:

index=endpoint event_type=account_creation
| where account_type = "local"
| table timestamp, hostname, user, new_account_name, new_account_uid
| sort timestamp desc

Ao mapear suas caças para o ATT&CK, você pode priorizar suas atividades com base nas técnicas mais relevantes para sua organização e no risco que elas representam. Isso também ajuda a comunicar suas descobertas a outras equipes e a integrar o threat hunting com outras funções de segurança, como detecção e resposta.

Boas Práticas e Observações Finais

O threat hunting é uma disciplina que exige prática contínua e aprendizado constante. Algumas boas práticas incluem: começar com hipóteses simples e ir aumentando a complexidade, documentar todas as caças e seus resultados, usar o MITRE ATT&CK como guia, e colaborar com outras equipes de segurança para compartilhar descobertas. Além disso, lembre-se de que o threat hunting não substitui as defesas automatizadas, mas as complementa, preenchendo as lacunas que os sistemas de detecção podem deixar.

Outra observação importante é a necessidade de equilibrar a busca por ameaças com a eficiência operacional. Caças muito amplas podem gerar muitos resultados falsos positivos, consumindo tempo e recursos. Portanto, refine suas consultas com base no conhecimento do ambiente e na relevância das técnicas para o seu contexto. Por fim, mantenha-se atualizado sobre as últimas tendências em ameaças e ferramentas de hunting, pois o cenário de ameaças está em constante evolução.

Referências

Exercícios

  1. Explique a importância da telemetria para o threat hunting e liste pelo menos três fontes de telemetria comuns em um ambiente corporativo.

    ✓ Resposta: A telemetria é a base de dados que permite a busca por ameaças; sem ela, não há como testar hipóteses ou detectar atividades anômalas. Fontes comuns incluem logs de autenticação (Active Directory, VPN), logs de rede (firewall, proxy, DNS) e logs de endpoint (Windows Event Log, syslog, EDR).
  2. Diferencie os três tipos de caças (hunts) e dê um exemplo de cada.

    ✓ Resposta: Caças baseadas em hipóteses: partem de uma suposição sobre o comportamento do adversário, ex.: procurar por execução de PowerShell com Invoke-WebRequest. Caças baseadas em IOCs: procuram por indicadores conhecidos, ex.: hash de um malware específico. Caças baseadas em TTPs: focam em padrões comportamentais, ex.: movimentação lateral via SMB.
  3. Escreva uma hipótese forte para uma caça que procure por exfiltração de dados via DNS. Inclua a técnica MITRE ATT&CK correspondente, se possível.

    ✓ Resposta: Hipótese: "Um atacante pode estar exfiltrando dados codificando informações em consultas DNS para um domínio controlado pelo atacante." A técnica associada é a T1048 (Exfiltration Over Alternative Protocol) ou T1041 (Exfiltration Over C2 Channel), especificamente usando DNS. Para testar, procuraria por consultas DNS com domínios incomuns, alta frequência de consultas para um mesmo domínio, ou consultas com subdomínios longos e aleatórios.
  4. Usando o MITRE ATT&CK, escolha uma técnica de Persistência e descreva como você montaria uma caça para detectá-la, incluindo uma consulta de exemplo.

    ✓ Resposta: Técnica: T1547.001 - Boot or Logon Autostart Execution: Registry Run Keys. Caça: procurar por alterações em chaves de registro que apontam para executáveis em pastas temporárias ou não padrão. Exemplo de consulta:
    index=endpoint event_type=registry_modification
    | where registry_path LIKE "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run%"
    | table timestamp, hostname, user, registry_path, registry_value_name, registry_value_data
  5. Por que é importante documentar as caças e os resultados? Cite pelo menos dois benefícios.

    ✓ Resposta: Documentar caças permite: 1) Melhorar o processo ao longo do tempo, identificando o que funcionou e o que não funcionou; 2) Facilitar a colaboração e a transferência de conhecimento entre analistas; 3) Fornecer evidências para auditorias e conformidade; 4) Ajudar na criação de novas hipóteses e na melhoria de detecções automatizadas.