Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/mukendi/kratosminifilter
Ferramentas DefensivasAnálise de MalwareInteligência de AmeaçasResposta a IncidentesDetecção de Anomalias
GitHubmukendi/kratosminifilter

kratosminifilter

Kratos é um driver Minifilter de sistema de arquivos Windows de alto desempenho projetado para detectar, bloquear e imunizar permanentemente

Ver Repositório
4115há 13 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

🛡️ Kratos Minifilter — Driver Antiransomware de Kernel do Windows

Projeto de Pesquisa em Segurança Defensiva — Driver minifilter do Windows desenvolvido em C++ para detecção e neutralização em tempo real de ransomware no nível do kernel (Ring 0).


📋 Índice

  • Visão Geral
  • Arquitetura
  • Mecanismos de Detecção
  • Lista Negra por Impressão Digital
  • Instalação
  • Configuração
  • Limitações
  • Avisos Legais

Visão Geral

Kratos (Kratos.sys) é um driver minifilter do Windows operando na altitude 425342 (camada Anti-Vírus) através do Filter Manager (fltmgr.sys). Diferente de soluções antivírus baseadas em assinaturas estáticas, o Kratos adota uma abordagem puramente comportamental:

  • Sem banco de assinaturas — detecta ransomware desconhecido
  • Modo kernel — interceptação atômica antes da validação em disco
  • Multinível — comportamental + entrópico + estrutural
  • Persistente — lista negra por hash para bloquear reexecuções

Objetivos

ObjetivoResultado
Arquivos Afetados (Primeira Execução)< 5
Arquivos Afetados (Reexecuções)0
Taxa de Falsos Positivos0% (Após Ajustes)
CompatibilidadeNTFS / ReFS

Arquitetura

User-Mode
    │
    ▼
Filter Manager (fltmgr.sys) ← Altitude 425342
    │
    ▼
┌─────────────────────────────────────────────────────┐
│                  KRATOS.SYS                         │
│                                                     │
│  IRP_MJ_CREATE      → Initializing contexts         │
│  IRP_MJ_WRITE       → Entropic analysis             │
│  IRP_MJ_READ        → R/W ratio counting            │
│  IRP_MJ_SET_INFORMATION → Delete/Rename Detection   │
│                                                     │
│  RTL_AVL_TABLE  → KS_PROCESS_CONTEXT per PID        │
│  FLT_FILE_CONTEXT → Entropy + state per file        │
└─────────────────────────────────────────────────────┘
    │
    ▼
NTFS / ReFS

Mecanismos de Detecção

Nível 1 — Comportamental

Kratos distingue entre exclusões de arquivos valiosos (.docx, .pdf, .jpg...) e exclusões de arquivos do sistema/cache usando KS_IsValuableFile():

  • ValuableDeleteCount — exclusões fora de diretórios do sistema
  • RenameToSuspicious — renomeação para uma extensão desconhecida
  • HighEntropyWrites — aumento de entropia detectado

Nível 2 — Entropia

Cálculo via uma LUT pré-calculada (KratosEntropyLUT512) — evita o uso de log2(), que não está disponível em modo kernel. Amostra de 512 bytes por operação de escrita.

  • Delta: arquivo existente com baixa entropia → dados criptografados
  • Absoluto: novo arquivo .tmp com entropia ≥ 7,5/8 bits

Nível 3 — Estrutural (Lista Branca Inversa)

Principal inovação: em vez de uma lista negra de extensões maliciosas, Kratos usa uma lista branca de extensões legítimas.

Original extension is valuable? YES
New extension is recognized? NO
→ SUSPECT — regardless of the extension chosen

Essa abordagem pode detectar LockBit 3.0 (.xmjzh8q), BlackCat/ALPHV (aleatório) e qualquer ransomware futuro usando uma extensão desconhecida.

Fórmula de Pontuação

ValuableDeleteCount > 10 → +10 pts
RenameToSuspicious > 2 → +40 pts
HighEntropyWrites > 3 → +40 pts
RansomNoteCreated → +60 pts
ShadowCopyDeleted → +75 pts

Score ≥ 60 → WARNING
Score ≥ 80 → CRITICAL + Kill + Blacklist

Lista Negra por Impressão Digital

Uma vez detectado o ransomware, o Kratos calcula seu hash FNV-1a de 64 bits nos primeiros 4096 bytes do executável (Cabeçalho PE + início do código) e persiste no registro:

\Registry\Machine\SOFTWARE\Kratos\Blacklist
  └── 1F81F13004B5B920 = "C:\Users\...\Hercule.exe"

Cada vez que um processo é criado, ProcessNotifyCallback verifica a lista negra antes de qualquer execução. O processo é bloqueado via CreationStatus = STATUS_ACCESS_DENIED.

Resistência a renomeação: o hash FNV-1a é idêntico independentemente do nome do arquivo (Hercule-AES.exe, HERCUL~1.EXE, chrome.exe...).

Proteção contra falsificação: Processos na lista branca são validados por Nome Esperado + Caminho:

chrome.exe + \Program Files\Google\Chrome\Application\ → Legitimate
chrome.exe + C:\Users\...\Desktop\                    → IMPOSTOR

Instalação

Pré-requisitos

  • Windows 10/11 (x64)
  • Visual Studio 2022 com WDK (Windows Driver Kit)
  • VM com Secure Boot desabilitado (ou assinatura de teste habilitada)

Compilação

# Open KratosMinifilter.sln in Visual Studio
# Configuration: Debug or Release / x64
# Build → Build Solution

Implantação (VM de Teste)

# On the target VM — enable test mode
bcdedit /set testsigning on

# Copy Kratos.sys and Kratos.inf
# Install via Device Manager or sc.exe
sc create Kratos type= kernel start= boot binPath= "C:\Kratos\Kratos.sys"
sc start Kratos

Configuração

Extensões Monitoradas (Lista Branca Inversa)

Modifique g_LegitExtensions[] em KratosDetection.cpp para ajustar as extensões consideradas legítimas após uma renomeação.

Processos na Lista Branca

Modifique g_TrustedProcesses[] para adicionar processos legítimos com seu caminho esperado:

{ "myapp.exe", L"\\Program Files\\MyApp\\" },

Limiares de Pontuação

Modifique KS_EvaluateThreatScore() em KratosDetection.cpp para ajustar os limiares de AVISO/CRÍTICO de acordo com seu ambiente.


Limitações

  • De 1 a 3 arquivos podem ser afetados durante a primeira execução
  • Nenhum mecanismo automático de recuperação para arquivos criptografados
  • FNV-1a não é resistente a falsificação intencional de colisão (SHA-256 recomendado para produção)

Texte alternatif

Avisos Legais

⚠️ Este driver é desenvolvido dentro de um framework de pesquisa em segurança defensiva.

  • O uso é estritamente reservado para ambientes de teste isolados (VMs sem acesso à rede)
  • Qualquer implantação em um sistema de produção é realizada sob a única responsabilidade do usuário
  • O autor isenta-se de toda responsabilidade por qualquer dano resultante do uso inadequado
  • Modificar este driver para contornar sistemas de segurança sem autorização é ilegal

Baixar ferramenta