Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
kratosminifilter — Kratos는 탐지, 차단 및 영구적 면역을 위해 설계된 고성능 Windows 파일 시스템 미니필터 드라이버입니다. | Kitploit
도구/GitHubGitHub/mukendi/kratosminifilter
Defensive ToolsMalware AnalysisThreat IntelligenceIncident ResponseAnomaly Detection
GitHubmukendi/kratosminifilter

kratosminifilter

Kratos는 탐지, 차단 및 영구적 면역을 위해 설계된 고성능 Windows 파일 시스템 미니필터 드라이버입니다.

저장소 보기
4121개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🛡️ Kratos Minifilter — Windows 커널 안티-랜섬웨어 드라이버

방어적 보안 연구 프로젝트 — C++로 개발된 Windows 미니필터 드라이버로, 커널 수준(Ring 0)에서 랜섬웨어를 실시간 탐지 및 무력화합니다.


📋 목차

  • 개요
  • 아키텍처
  • 탐지 메커니즘
  • 디지털 지문 기반 블랙리스트
  • 설치
  • 설정
  • 한계
  • 법적 경고

개요

Kratos (Kratos.sys)는 필터 관리자(fltmgr.sys)를 통해 고도 425342(안티바이러스 계층)에서 작동하는 Windows 미니필터 드라이버입니다. 정적 시그니처 기반 안티바이러스 솔루션과 달리 Kratos는 순수 행위 기반 접근 방식을 채택합니다:

  • 시그니처 데이터베이스 없음 — 알려지지 않은 랜섬웨어 탐지
  • 커널 모드 — 디스크에 검증되기 전에 원자적 차단
  • 다중 레벨 — 행위 + 엔트로피 + 구조적
  • 영구적 — 해시 기반 블랙리스트로 재실행 차단

목표

| 목표 | 결과 |

|----------|---------|

| 영향 받은 파일 (첫 실행) | < 5 |

| 영향 받은 파일 (재실행) | 0 |

| 오탐률 | 0% (튜닝 후) |

| 호환성 | NTFS / ReFS |


아키텍처

root@kitploit:~
User-Mode
    │
    ▼
Filter Manager (fltmgr.sys) ← Altitude 425342
    │
    ▼
┌─────────────────────────────────────────────────────┐
│                  KRATOS.SYS                         │
│                                                     │
│  IRP_MJ_CREATE      → 컨텍스트 초기화                 │
│  IRP_MJ_WRITE       → 엔트로피 분석                   │
│  IRP_MJ_READ        → 읽기/쓰기 비율 카운팅           │
│  IRP_MJ_SET_INFORMATION → 삭제/이름 변경 탐지         │
│                                                     │
│  RTL_AVL_TABLE  → PID별 KS_PROCESS_CONTEXT          │
│  FLT_FILE_CONTEXT → 파일별 엔트로피 + 상태            │
└─────────────────────────────────────────────────────┘
    │
    ▼
NTFS / ReFS

탐지 메커니즘

레벨 1 — 행위 기반

Kratos는 KS_IsValuableFile()을 사용하여 가치 있는 파일(.docx, .pdf, .jpg...)의 삭제와 시스템/캐시 파일의 삭제를 구분합니다:

  • ValuableDeleteCount — 시스템 디렉터리 외부에서의 삭제
  • RenameToSuspicious — 알 수 없는 확장자로 이름 변경
  • HighEntropyWrites — 엔트로피 증가 감지

레벨 2 — 엔트로피

사전 계산된 LUT(KratosEntropyLUT512)를 통해 계산 — 커널 모드에서 사용할 수 없는 log2()를 회피합니다. 쓰기 작업당 512바이트 샘플.

  • 델타: 기존 파일의 낮은 엔트로피 → 암호화된 데이터
  • 절대값: 새로운 .tmp 파일의 엔트로피 ≥ 7.5/8비트

레벨 3 — 구조적 (역방향 화이트리스트)

주요 혁신: 악성 확장자의 블랙리스트 대신 Kratos는 합법적 확장자의 화이트리스트를 사용합니다.

root@kitploit:~
원래 확장자가 가치 있는가? 예
새 확장자가 인식되는가? 아니요
→ 의심 — 선택한 확장자와 무관

이 접근 방식은 LockBit 3.0 (.xmjzh8q), BlackCat/ALPHV (무작위) 및 알 수 없는 확장자를 사용하는 모든 향후 랜섬웨어를 탐지할 수 있습니다.

점수 계산 공식

root@kitploit:~
ValuableDeleteCount > 10 → +10점
RenameToSuspicious > 2 → +40점
HighEntropyWrites > 3 → +40점
RansomNoteCreated → +60점
ShadowCopyDeleted → +75점

점수 ≥ 60 → 경고
점수 ≥ 80 → 위급 + 프로세스 종료 + 블랙리스트

디지털 지문 기반 블랙리스트

랜섬웨어가 탐지되면 Kratos는 실행 파일의 처음 4096바이트(PE 헤더 + 코드 시작 부분)에 대한 64비트 FNV-1a 해시를 계산하고 이를 레지스트리에 저장합니다:

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

프로세스가 생성될 때마다 ProcessNotifyCallback은 실행 전에 블랙리스트를 확인합니다. 프로세스는 CreationStatus = STATUS_ACCESS_DENIED를 통해 차단됩니다.

이름 변경에 대한 저항성: FNV-1a 해시는 파일 이름과 관계없이 동일합니다 (Hercule-AES.exe, HERCUL~1.EXE, chrome.exe...).

스푸핑 방지: 화이트리스트에 등록된 프로세스는 예상 이름 + 경로로 검증됩니다:

root@kitploit:~
chrome.exe + \Program Files\Google\Chrome\Application\ → 합법
chrome.exe + C:\Users\...\Desktop\                    → 위장

설치

사전 요구 사항

  • Windows 10/11 (x64)
  • WDK(Windows 드라이버 키트)가 포함된 Visual Studio 2022
  • Secure Boot 비활성화(또는 테스트 서명 활성화)된 가상 머신

컴파일

root@kitploit:~
# Visual Studio에서 KratosMinifilter.sln 열기
# 구성: Debug 또는 Release / x64
# 빌드 → 솔루션 빌드

배포 (테스트 가상 머신)

root@kitploit:~
# 대상 가상 머신에서 테스트 모드 활성화
bcdedit /set testsigning on

# Kratos.sys 및 Kratos.inf 복사
# 장치 관리자 또는 sc.exe를 통해 설치
sc create Kratos type= kernel start= boot binPath= "C:\Kratos\Kratos.sys"
sc start Kratos

설정

모니터링할 확장자 (역방향 화이트리스트)

KratosDetection.cpp의 g_LegitExtensions[]를 수정하여 이름 변경 후 합법적인 것으로 간주할 확장자를 조정합니다.

화이트리스트 프로세스

g_TrustedProcesses[]를 수정하여 합법적인 프로세스와 예상 경로를 추가합니다:

root@kitploit:~
{ "myapp.exe", L"\\Program Files\\MyApp\\" },

점수 임계값

KratosDetection.cpp의 KS_EvaluateThreatScore()를 수정하여 환경에 따라 경고/위급 임계값을 조정합니다.


한계

  • 첫 실행 중 1~3개의 파일이 영향을 받을 수 있습니다
  • 암호화된 파일에 대한 자동 복구 메커니즘이 없습니다
  • FNV-1a는 의도적인 충돌 위조에 강하지 않습니다 (프로덕션에는 SHA-256 권장)

대체 텍스트

법적 경고

⚠️ 이 드라이버는 방어적 보안 연구 프레임워크 내에서 개발되었습니다.

  • 사용은 엄격히 네트워크에 연결되지 않은 격리된 테스트 환경(가상 머신)으로 제한됩니다
  • 프로덕션 시스템에 대한 모든 배포는 전적으로 사용자의 책임 하에 이루어집니다
  • 작성자는 부적절한 사용으로 인한 모든 손해에 대해 책임을 지지 않습니다
  • 승인 없이 보안 시스템을 우회하기 위해 이 드라이버를 수정하는 것은 불법입니다

도구 다운로드