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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
PELoader — 다양한 셸코드 인젝션 기술을 갖춘 PE 로더 | Kitploit
도구/GitHubGitHub/hagrid29/peloader
ExploitationShellcodePost-ExploitationMalware AnalysisBinary AnalysisRed TeamingPayload Development
GitHubhagrid29/peloader

PELoader

다양한 셸코드 인젝션 기술을 갖춘 PE 로더

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

PELoader

PELoader는 다양한 셸코드 인젝션 기법을 구현하며, 원격 스레드에 셸코드를 주입하는 대신 libpeconv 라이브러리를 사용하여 암호화된 PE 파일을 로드합니다.

다음 기법들이 구현되었습니다:

  • 모듈 스톰핑 (LoadLibrary)
  • 모듈 스톰핑 (NtMapViewOfSection) (PoC)
  • 트랜잭티드 할로잉 (Transacted Hollowing) (PoC)
  • 고스틀리 할로잉 (Ghostly Hollowing) (PoC)
  • 허파더플리 할로잉 (Herpaderply Hollowing)(PoC)
  • NtMapViewOfSection (RWX-RW-RX)
  • NtAllocateVirtualMemory (RW-RX)

크레딧: 대부분의 작업은 @hasherezade의 PoC 스크립트를 기반으로 했습니다.

Testing

PELoader는 Windows 10에서 Cortex XDR / SentinelOne / Windows Defender / CrowdStrike와 함께 테스트되었으며, Windows Defender / CrowdStrike는 Transacted Hollowing 기법을 탐지했습니다. 각 기법의 특성은 @forrest-orr의 메모리 스캐너 도구 Moneta로 테스트되었습니다.

모듈 스톰핑 (LoadLibrary)

LoadLibrary를 호출하여 합법적인 DLL을 로드합니다. DLL을 페이로드로 덮어씁니다.

장점

  • 페이로드가 MEM_IMAGE로 매핑되어 EXE 또는 DLL에 대해 합법적으로 보임
  • 합법적인 DLL을 가장함
  • 섹션이 원래 액세스 권한으로 매핑됨 (RWX 없음)

cdll

모듈 스톰핑 (NtMapViewOfSection)

NtCreateSection을 호출하여 합법적인 DLL에 대한 파일 매핑 객체(PAGE_READONLY)를 생성하고, NtMapViewOfSection을 호출하여 현재 프로세스에 매핑합니다. DLL을 페이로드로 덮어씁니다.

장점

  • 페이로드가 MEM_IMAGE로 매핑되어 EXE 또는 DLL에 대해 합법적으로 보임
  • 합법적인 DLL을 가장함
  • 섹션이 원래 액세스 권한으로 매핑됨 (RWX 없음)
  • 모듈 목록에 연결되지 않음 (Module32First/Module32Next에서 보이지 않음)

단점

  • 모듈 목록에 연결되지 않음 (아래 Moneta 스캔 결과에서 "Missing PEB module" 확인)

mdll

@hasherezade의 PoC 참조.

트랜잭티드 할로잉 (Transacted Hollowing)

프로세스 할로잉(Process Hollowing)과 프로세스 도플갱잉(Process Doppelgänging)의 하이브리드입니다. NTFS 트랜잭션 내에 "보이지 않는" 파일을 생성하고 페이로드를 파일에 씁니다. 섹션을 현재 프로세스에 매핑하고 실행합니다.

장점

  • 페이로드가 MEM_IMAGE로 매핑됨
  • 섹션이 원래 액세스 권한으로 매핑됨 (RWX 없음)
  • 더미 파일이 존재할 필요 없음

단점

  • TxF 활동 모니터링이 있는 경우 탐지

txf

고스틀리 할로잉 (Ghostly Hollowing)

프로세스 할로잉(Process Hollowing)과 프로세스 고스팅(Process Ghosting)의 하이브리드입니다. 삭제 보류 상태의 파일을 생성하고 페이로드를 파일에 씁니다. 섹션을 현재 프로세스에 매핑하고 실행합니다.

장점

  • 페이로드가 MEM_IMAGE로 매핑됨
  • 섹션이 원래 액세스 권한으로 매핑됨 (RWX 없음)
  • 이미지 경로 없이 "System Idle Process"를 회피 (프로세스 고스팅의 IOC)

단점

  • 디스크에 더미 파일 생성

ghost@hasherezade의 PoC 참조.

NtMapViewOfSection (RWX-RW-RX)

NtCreateSection을 호출하여 메모리 섹션(RWX)을 생성합니다. NtMapViewOfSection을 호출하여 현재 프로세스에 뷰를 매핑합니다(RWX). VirtualProtect를 호출하여 보호를 RW로 변경합니다. 셸코드를 매핑된 섹션에 복사합니다. 보호를 RX로 변경하고 실행합니다.

장점

  • 페이로드가 MEM_MAPPED로 매핑되어 악성코드에서 흔한 MEM_PRIVATE를 회피

단점

  • 초기 단계에서 메모리 페이지를 RWX 보호로 설정
  • RX 보호로 매핑된 비정상적인 EXE 메모리

map

NtAllocateVirtualMemory (RW-RX)

NtAllocateVirtualMemory를 호출하여 메모리(RW)를 할당합니다. 셸코드를 메모리에 복사합니다. 보호를 RX로 변경하고 실행합니다.

장점

  • RWX 메모리 페이지 회피

단점

  • 비공개 유형 MEM_PRIVATE으로 메모리 페이지에 셸코드 스테이징
  • RX 보호로 비공개된 비정상적인 EXE 메모리

priv

사용법

AES 페이로드 암호화

pe_to_shellcode를 사용하여 PE 파일을 셸코드로 변환하고 PELoader로 암호화합니다.

root@kitploit:~
cmd> .\pe2shc.exe mimikatz.exe
Reading module from: mimikatz.exe
[WARNING] This is a console application! The recommended subsystem is GUI.
[+] Saved as: mimikatz.shc.exe
cmd> set hagrid=enc mimikatz.shc.exe
cmd> .\PELoader.exe
argument: enc mimikatz.shc.exe
Encrypting File

PE 실행

환경 변수 "hagrid"에 인수를 설정하고 PELoader를 실행합니다.

root@kitploit:~
cmd> set hagrid=cdll mimikatz.shc.exe.enc
cmd> .\PELoader.exe  version
argument: cdll mimikatz.shc.exe.enc
Classic DLL Hollowing
[*] target dll: C:\WINDOWS\system32\aadtb.dll
[*] implant dll: mimikatz.shc.exe.enc
[*] Loading the DLL (using LoadLibary, classic DLL hollowing)...
[*] Overwriting the mapping
[*] Module Overloading finished...
[*] Executing Implant's Entry Point: 7ff8cf9d7578
[*] Executing Implant as EXE

  .#####.   mimikatz 2.2.0 (x64) #19041 Aug 10 2021 17:19:53
 .## ^ ##.  "A La Vie, A L'Amour" - (oe.eo)
 ## / \ ##  /*** Benjamin DELPY `gentilkiwi` ( [email protected] )
 ## \ / ##       > https://blog.gentilkiwi.com/mimikatz
 '## v ##'       Vincent LE TOUX             ( [email protected] )
  '#####'        > https://pingcastle.com / https://mysmartlogon.com ***/

mimikatz(commandline) # version

mimikatz 2.2.0 (arch x64)
Windows NT 10.0 build 19043 (arch x64)
msvc 150030729 207

mimikatz #

개선 사항

  • @forrest-orr는 이 글에서 셸코드 임플란트 변형에 대한 상세 비교를 작성했습니다.
  • @dglenx는 이 개념을 원격 프로세스 인젝션으로 확장하고, 이 글에서 IOC를 해결하기 위한 몇 가지 방법을 제안했습니다.

참고 자료

  • https://github.com/hasherezade/libpeconv
  • https://github.com/hasherezade/module_overloading
  • https://github.com/hasherezade/transacted_hollowing
  • https://www.forrest-orr.net/post/masking-malicious-memory-artifacts-part-iii-bypassing-defensive-scanners
  • https://www.secforce.com/blog/dll-hollowing-a-deep-dive-into-a-stealthier-memory-allocation-variant/
도구 다운로드