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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Phant0m — Windows 이벤트 로그 킬러 | Kitploit
도구/GitHubGitHub/hlldz/phant0m
Post-ExploitationPenetration TestingCommand and ControlRed TeamingArchived
GitHubhlldz/phant0m

Phant0m

Windows 이벤트 로그 킬러

저장소 보기
1.8k3062년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Phant0m

Phant0m | Windows 이벤트 로그 킬러

Svchost는 소위 공유 서비스 프로세스 구현에 필수적입니다. 여러 서비스가 리소스 소비를 줄이기 위해 하나의 프로세스를 공유할 수 있습니다. 여러 서비스를 단일 프로세스로 그룹화하면 컴퓨팅 리소스가 절약되며, 이는 Windows 프로세스를 생성하는 데 다른 운영 체제(예: Unix 계열)보다 더 많은 시간이 걸리고 더 많은 메모리를 소비하기 때문에 NT 설계자에게 특히 중요한 고려 사항이었습니다.1

즉, 간단히 말해서 Windows 운영 체제에서 svchost.exe는 서비스를 관리하며 서비스는 실제로 svchost.exe의 스레드로 실행됩니다. Phant0m은 이벤트 로그 서비스를 대상으로 하고 이벤트 로그 서비스를 담당하는 프로세스를 찾아 이벤트 로그 서비스를 담당하는 스레드를 감지하고 종료합니다. 따라서 이벤트 로그 서비스가 시스템에서 실행 중인 것처럼 보이지만(Phant0m이 프로세스를 종료하지 않았기 때문에) 실제로는 실행되지 않으며(Phant0m이 스레드를 종료했기 때문에) 시스템이 로그를 수집하지 않습니다.

작동 방식 및 사용 방법

Phant0m - 실행 흐름

이벤트 로그 서비스 감지

Phant0m은 이벤트 로그 서비스의 프로세스 ID를 감지하기 위해 두 가지 옵션을 사용합니다. 첫 번째는 SCM(서비스 제어 관리자)을 통해 감지하는 것이고, 두 번째는 WMI(Windows Management Instrumentation)를 통해 감지하는 것입니다. Phant0m이 이벤트 로그 서비스의 프로세스 ID를 감지하는 데 사용할 방법을 선택하려면 main.cpp 파일에서 다음 줄을 변경하십시오.

예를 들어 SCM을 통해 프로세스 ID를 감지하려면 다음과 같이 편집해야 합니다. (모든 값을 동시에 설정하지 말고 원하는 기술 하나만 설정하십시오.)

root@kitploit:~
// PID 감지 기술 구성 섹션.
#define PID_FROM_SCM 1 // 1로 설정하면 서비스 관리자에서 이벤트 로그 서비스의 PID를 가져옵니다.
#define PID_FROM_WMI 0 // 1로 설정하면 WMI에서 이벤트 로그 서비스의 PID를 가져옵니다.

예를 들어 기술-1을 사용하여 스레드를 종료하려면 다음과 같이 편집해야 합니다. (모든 값을 동시에 설정하지 말고 원하는 기술 하나만 설정하십시오.)

root@kitploit:~
// TID 감지 및 종료 기술 구성 섹션.
#define KILL_WITH_T1 1 // 1로 설정하면 기술-1이 사용됩니다. 자세한 내용은 https://github.com/hlldz/Phant0m 참조.
#define KILL_WITH_T2 0 // 1로 설정하면 기술-2가 사용됩니다. 자세한 내용은 https://github.com/hlldz/Phant0m 참조.

스레드 감지 및 종료

Phant0m은 이벤트 로그 서비스의 스레드를 감지하고 종료하기 위해 두 가지 옵션을 사용합니다.

기술-1

Windows Vista 이상을 실행하는 컴퓨터에 각 서비스가 등록되면 SCM(서비스 제어 관리자)은 서비스에 고유한 숫자 태그(오름차순)를 할당합니다. 그런 다음 서비스 생성 시 태그가 기본 서비스 스레드의 TEB에 할당됩니다. 이 태그는 기본 서비스 스레드에 의해 생성된 모든 스레드에 전파됩니다. 예를 들어 Foo 서비스 스레드가 RPC 작업자 스레드를 생성하는 경우(참고: RPC 작업자 스레드는 스레드 풀 메커니즘을 사용하지 않습니다. 나중에 자세히 설명) 해당 스레드는 Foo 서비스의 서비스 태그를 갖게 됩니다.2

따라서 이 기술에서 Phant0m은 NtQueryInformationThread API를 사용하여 스레드의 TEB 주소를 가져오고 TEB에서 SubProcessTag를 읽어 이벤트 로그 서비스의 스레드를 감지합니다. 그런 다음 이벤트 로그 서비스와 관련된 스레드를 종료합니다. 이 기술의 코드는 technique_1.h 파일에 있습니다.

기술-2

이 기술에서 Phant0m은 스레드와 연결된 DLL의 이름을 감지합니다. Windows 이벤트 로그 서비스는 wevtsvc.dll을 사용합니다. 전체 경로는 %WinDir%\System32\wevtsvc.dll입니다. 스레드가 해당 DLL을 사용하는 경우 Windows 이벤트 로그 서비스의 스레드이며 Phant0m이 스레드를 종료합니다. 이 기술의 코드는 technique_2.h 파일에 있습니다.

사용법

Phant0m은 독립 실행형 EXE와 리플렉티브 DLL로 모두 사용할 수 있습니다. Microsoft Visual Studio에서 프로젝트를 열고 설정(감지 및 종료 기술 선택)을 수행한 후 컴파일하십시오. 리플렉티브 DLL 버전을 Cobalt Strike와 함께 사용할 수도 있으며, 이를 위해 리포지토리에 Aggressor 스크립트 파일(phant0m.cna)이 있습니다.

Phant0m - Cobalt Strike

Cobalt Strike용 Aggressor 스크립트(phant0m.cna)의 실행 유형에는 bdllspawn을 사용한 Fork 및 인젝트 방식이 사용되었습니다. Phant0m을 기존 프로세스에 인젝트하여 실행하려면 이 프로젝트(https://github.com/rxwx/cs-rdll-ipc-example)를 검토하고 쉽게 수행할 수 있습니다. 또한 코드를 DLL로 변환한 다음 Donut으로 셸코드로 변환할 수 있습니다.

참고: 이 프로젝트는 x64 아키텍처만 지원합니다.


Phant0m을 언급해 주신 분들께 특별 감사

  • Sysmon 및 Azure Security Center를 사용한 인메모리 공격 탐지 - https://azure.microsoft.com/tr-tr/blog/detecting-in-memory-attacks-with-sysmon-and-azure-security-center/
  • Invoke-Phant0m 실험 - http://www.insomniacsecurity.com/2017/08/27/phant0m.html
  • 이벤트 로그 변조 1부: EventLog 서비스 중단 - https://medium.com/@7a616368/event-log-tampering-part-1-disrupting-the-eventlog-service-8d4b7d67335c
  • 레이더 아래 비행 - https://www.exploit-db.com/docs/english/45898-flying-under-the-radar.pdf?rss
  • Denetim ve Log'lamanın Elli Tonu - https://gallery.technet.microsoft.com/Denetim-ve-Loglamann-Elli-cbed0000
  • EventLog 서비스 스레드 일시 중단으로 Windows 이벤트 로그 비활성화 - https://www.ired.team/offensive-security/defense-evasion/disabling-windows-event-logs-by-suspending-eventlog-service-threads
  • 이벤트 로그 서비스 – 공격과 방어 사이 - https://blog.cybercastle.io/event-log-service-between-offensive-and-defensive/
  • 이벤트 로깅 은폐 추적 - https://malwarenailed.blogspot.com/2017/10/update-to-hunting-mimikatz-using-sysmon.html
  • 방어 회피: Windows 이벤트 로깅 (T1562.002) - https://hacker.observer/defense-evasion-windows-event-logging-t1562-002/
  • YARA 규칙을 사용한 Windows 이벤트 로깅 공략 - https://labs.jumpsec.com/pwning-windows-event-logging-with-yara-rules/
  • 다양한 노트 - EventLog 공격자 기법에 대한 사고 대응 - https://hannahsuarez.github.io/2019/IncidentResponseNotes-Attackers-EventLog/
도구 다운로드