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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
GhostlyHollowingViaTamperedSyscalls2 — 변조된 시스템 콜을 사용한 원격 PE 인젝션용 Ghostly-Hollowing 구현 | Kitploit
도구/GitHubGitHub/maldev-academy/ghostlyhollowingviatamperedsyscalls2
IDS/IPS EvasionPost-ExploitationLearning & EducationRed TeamingPayload Development
GitHubmaldev-academy/ghostlyhollowingviatamperedsyscalls2

GhostlyHollowingViaTamperedSyscalls2

변조된 시스템 콜을 사용한 원격 PE 인젝션용 Ghostly-Hollowing 구현

저장소 보기
751558개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

변조된 Syscall을 통한 Ghostly Hollowing

재업로드 공지

[!NOTE] 원본 저장소는 이전에 DeceptIQ의 창립자 @Rad9800에 대한 저작자 표시가 누락된 잘못된 라이선스를 사용하고 있었습니다. 그의 TamperingSyscalls 저장소는 MIT 라이선스로 게시되어 있습니다. 그의 작업은 이미 강의 모듈(하드웨어 중단점을 통한 변조된 Syscall)과 공개 제3자 라이선스 페이지에 명시되어 있었습니다.

누락을 인지한 즉시, 우리는 원본 저장소를 신속히 수정하고 Rad에게 같은 날 연락하여 실수에 대해 사과했습니다. 의도치 않은 실수를 바로잡기 위해 최선을 다했음에도 불구하고 그는 답장하지 않았고 추가 연락을 차단했으며, 5개월 후 DMCA 삭제 통지를 받아 원본 저장소가 삭제되었습니다.

불행히도, 악의적인 확대 조치로 인해 문제를 해결할 실질적인 경로가 없었으므로, 올바른 라이선스와 저작자 표시를 적용하여 저장소를 재업로드했습니다.

빠른 링크

Maldev Academy 홈

Maldev Academy 강의 계획서

Maldev Academy 요금제

요약

이 구현은 Maldev Academy 강의에 최근 업데이트된 두 가지 기술을 사용합니다:

  • 하드웨어 중단점을 통한 변조된 Syscall: 사용자랜드 후크를 우회하는 동시에 호출된 syscall의 인자를 스푸핑하는 데 사용됩니다.

  • Ghostly Hollowing: 프로세스 할로잉(Process Hollowing)과 프로세스 고스팅(Process Ghosting) 사이의 하이브리드 기술입니다.

변조된 Syscall

  • 구현에서 호출되는 모든 syscall은 TAMPER_SYSCALL 매크로를 통해 호출됩니다. 이 매크로는 StoreTamperedSyscallParms 함수를 호출하여 다음을 수행합니다:

    • NtQuerySecurityObject syscall 스텁 내에서 syscall 명령의 주소를 확인하고 해당 주소에 하드웨어 중단점을 설정합니다 (즉, 디코이 syscall).
    • 실제 호출된 syscall의 syscall 번호를 SysWhispers2에서 소개된 시스템 콜 주소 정렬(Sorting by System Call Address) 방법을 사용하여 가져옵니다.
    • 호출된 syscall의 처음 네 개 인자를 저장합니다.
  • TAMPER_SYSCALL 매크로를 호출하면 TAMPER_SYSCALL은 호출된 syscall의 처음 네 개 인자를 NULL 값으로 스푸핑합니다. 그런 다음 NtQuerySecurityObject syscall을 호출하여 앞서 설치된 중단점을 트리거합니다.

  • 발생한 예외는 디코이 syscall(NtQuerySecurityObject)의 SSN을 실제 호출된 syscall(예: ZwAllocateVirtualMemory의 SSN)로 교체하여 처리합니다. 그런 다음 스푸핑된 인자를 실제 인자로 교체합니다. 이러한 단계는 ExceptionHandlerCallbackRoutine VEH 함수에서 실행됩니다.

Ghostly Hollowing

  1. PE 페이로드 가져오기: 이 구현은 디스크에서 PE 페이로드(mimikatz.exe)를 가져옵니다. 이상적인 상황에서는 페이로드를 암호화하여 리소스 섹션에 저장해야 합니다.

  2. 디스크에 빈 파일 만들기: $env:TMP 디렉터리에 임시 파일(.tmp)을 만듭니다. 이 파일은 나중에 PE 페이로드로 덮어쓰여집니다.

  3. 임시 파일에서 고스트 섹션 만들기: 삭제 보류 중인 .tmp 파일에서 ZwCreateSection을 호출하여 섹션을 만든 다음 파일 핸들을 닫고 디스크에서 파일을 삭제하여 고스트 섹션을 만듭니다.

  4. 원격 프로세스 만들기: CreateProcess WinAPI를 사용하여 원격 프로세스를 만들고 고스트 섹션을 해당 프로세스에 매핑합니다.

  5. ImageBaseAddress 패치: PEB 구조체의 ImageBaseAddress 요소를 매핑된 고스트 섹션을 가리키도록 패치하고, 스레드 하이재킹을 통해 PE 페이로드의 진입점을 실행합니다.

hasherezade님께서 Ghostly Hollowing과 그녀의 다른 흥미로운 인젝션 기술들을 공개해 주신 것에 큰 감사를 드립니다.

도구 다운로드