performing-threat-hunting-with-yara-rules
Usa regras de padrão (YARA) para caçar malware e arquivos suspeitos. Busca por indicadores de comprometimento em sistemas e memória.
O que ela faz
Esta ferramenta usa regras especiais (chamadas YARA) para procurar por arquivos maliciosos, suspeitos ou códigos perigosos em seus computadores ou em arquivos que você já salvou. Ela ajuda a encontrar ameaças escondidas.
Quando usar
- ✓Quando você quer procurar por vírus novos e desconhecidos em vários arquivos.
- ✓Ao analisar arquivos que foram colocados em quarentena ou que vieram de um ambiente de teste.
- ✓Para verificar se arquivos suspeitos correspondem a ameaças conhecidas, usando informações de segurança.
Exemplo do que pedir para a IA
“Procure por ameaças nos arquivos da pasta 'Downloads' usando as regras YARA.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você escreve 'regras' que descrevem como um arquivo ou código malicioso se parece. Depois, a ferramenta usa essas regras para escanear seus arquivos e te dizer se encontrou algo que combine.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-threat-hunting-with-yara-rulesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-threat-hunting-with-yara-rules/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Realizando Caça a Ameaças com Regras YARA
Escaneie arquivos, diretórios e dumps de memória usando regras YARA para identificar famílias de malware, padrões suspeitos e correspondências de IOCs.
Quando Usar
- Caça proativa a variantes de malware desconhecidas em compartilhamentos de rede, endpoints e anexos de e-mail
- Escaneamento de diretórios de quarentena ou saídas de sandbox para classificação de famílias de malware
- Busca em dumps de memória de processos por código injetado ou payloads apenas em memória
- Validação de IOCs de inteligência de ameaças contra um grande corpus de amostras coletadas
- Triagem de artefatos de resposta a incidentes para identificar rapidamente famílias de malware conhecidas
- Construção de pipelines de detecção automatizada que escaneiam novos arquivos na ingestão
Não use para proteção de endpoint em tempo real (use agentes EDR em vez disso); a varredura YARA é mais adequada para caça em lote, triagem e análise pós-coleta, onde a latência da varredura é aceitável.
Pré-requisitos
- YARA 4.x instalado (
apt install yarano Debian/Ubuntu,brew install yarano macOS) - Python 3.8+ com
yara-python(pip install yara-python) yarGenpara geração automatizada de regras (git clone https://github.com/Neo23x0/yarGen)- Corpus de amostras de malware ou arquivos suspeitos para escaneamento (de malware zoos, VT ou artefatos de incidentes)
- Opcional:
pefilepara análise de cabeçalho PE,malduckpara carving de memória - Conjuntos de regras YARA de inteligência de ameaças (por exemplo, repositório da comunidade YARA-Rules, Florian Roth signature-base)
Fluxo de Trabalho
Etapa 1: Instalar YARA e Bindings Python
# Linux
sudo apt update && sudo apt install -y yara
# Python bindings
pip install yara-python
# Verify installation
yara --version
python3 -c "import yara; print(yara.YARA_VERSION)"
Etapa 2: Escrever uma Regra YARA Básica
Crie regras que correspondam a strings, padrões hexadecimais e metadados de arquivo:
// File: rules/emotet_loader.yar
rule Emotet_Loader_2026 {
meta:
author = "Threat Intel Team"
description = "Detects Emotet first-stage loader DLL"
date = "2026-01-20"
reference = "https://attack.mitre.org/software/S0367/"
mitre_attack = "T1059.001, T1055.001"
severity = "critical"
strings:
// Emotet export function name patterns
$export1 = "DllRegisterServer" ascii
$export2 = "RunDLL" ascii nocase
// Obfuscated string decryption routine
$decrypt_loop = { 8B 45 ?? 33 45 ?? 89 45 ?? 8B 4D ?? 03 4D ?? }
// PowerShell download cradle in embedded script
$ps_cradle = /powershell[^\n]{0,50}-e(nc|ncodedcommand)/i
// Known C2 URI patterns
$uri1 = "/wp-content/uploads/" ascii
$uri2 = "/wp-admin/css/" ascii
$uri3 = "/wp-includes/" ascii
// PE characteristics
$mz = "MZ" at 0
condition:
$mz and
filesize < 2MB and
(
($export1 and $decrypt_loop) or
($ps_cradle and any of ($uri*)) or
(2 of ($uri*) and $decrypt_loop)
)
}
Etapa 3: Escrever Regras Avançadas com Módulos
Use módulos YARA para inspeção de cabeçalho PE e verificações de entropia baseadas em matemática:
import "pe"
import "math"
rule Suspicious_Packed_Executable {
meta:
author = "Threat Hunting Team"
description = "Detects PE files with high entropy sections indicating packing or encryption"
severity = "medium"
condition:
pe.is_pe and
pe.number_of_sections > 0 and
for any section in pe.sections : (
math.entropy(section.offset, section.size) > 7.2 and
section.size > 1024
) and
pe.imports("kernel32.dll", "VirtualAlloc") and
pe.imports("kernel32.dll", "VirtualProtect")
}
rule Suspicious_UPX_Modified {
meta:
description = "Detects UPX-packed binaries with tampered section names"
severity = "medium"
strings:
$upx_magic = { 55 50 58 21 } // UPX!
condition:
pe.is_pe and
$upx_magic and
not (
pe.sections[0].name == "UPX0" and
pe.sections[1].name == "UPX1"
)
}
Etapa 4: Escanear Arquivos e Diretórios com yara-python
import yara
import os
import json
from datetime import datetime
from pathlib import Path
def compile_rules(rule_paths):
"""Compila regras YARA de um ou mais arquivos .yar."""
rule_files = {}
for i, path in enumerate(rule_paths):
namespace = Path(path).stem
rule_files[namespace] = path
return yara.compile(filepaths=rule_files)
…
Perguntas frequentes
O que são regras YARA?
São como receitas que descrevem padrões específicos de arquivos ou códigos. Elas dizem à ferramenta o que procurar, como sequências de texto, códigos hexadecimais ou características do arquivo.
Preciso ser um programador para usar isso?
Não é necessário ser um programador experiente. Você precisa instalar algumas ferramentas e seguir os passos para criar ou usar regras YARA, mas o conceito principal é descrever o que você quer encontrar.
Isso substitui um antivírus?
Não. Esta ferramenta é mais para procurar ativamente por ameaças em arquivos que você já tem ou coletou (caça a ameaças), e não para proteger seu computador em tempo real contra novas infecções.
Detalhes
Descrição original do autor
Use YARA pattern-matching rules to hunt for malware, suspicious files, and indicators of compromise across filesystems and memory dumps. Covers rule authoring, yara-python scanning, and integration with threat intel feeds. '
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6159
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC