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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Shellcode-Test-Harness — 셸코드 개발을 가속화하기 위해 설계된 경량 테스트 하니스로, 통합 충돌 진단 및 디버그 출력 리디렉션을 제공하는 실행 환경을 제공합니다. | Kitploit
도구/GitHubGitHub/bitstream93/shellcode-test-harness
ExploitationShellcodeDebuggersPenetration TestingPayload DevelopmentBinary Exploitation
GitHubbitstream93/shellcode-test-harness

Shellcode-Test-Harness

셸코드 개발을 가속화하기 위해 설계된 경량 테스트 하니스로, 통합 충돌 진단 및 디버그 출력 리디렉션을 제공하는 실행 환경을 제공합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

셸코드 테스트 하네스

셸코드 개발을 가속화하기 위해 설계된 경량 테스트 하네스로, 통합 충돌 진단 및 디버그 출력 리디렉션을 제공하는 실행 환경을 제공합니다.

기능

  • 모듈 스톰핑을 통해 셸코드 실행
  • VEH를 사용하여 충돌 포착: 셸코드가 오류를 일으키면 실패 지점의 레지스터 덤프, 스택 덤프, 코드 덤프를 출력합니다.
  • 실시간 디버그 출력: 셸코드 출력을 가로채어 콘솔에 표시합니다.
  • 내장 16진수 덤프 유틸리티: 디버그 출력 앞에 "HEXDUMP:0xADDR:SIZE"를 붙이면 로더가 자동으로 해당 메모리 범위를 덤프합니다.
  • DLL 검색: 호환 가능한 DLL을 찾고, 특정 페이로드에 충분히 큰 .text 섹션이 없는 DLL을 선택적으로 필터링합니다. 참고: 발견된 모든 DLL이 호환되는 것은 아니며, 일부는 고유한 진입점 동작, 보호된 메모리 영역 또는 스톰핑을 방해하는 종속성이 있을 수 있습니다.

빌드

root@kitploit:~
g++ -o loader.exe loader.cc -ladvapi32 -luser32 -lkernel32 -static

사용법

root@kitploit:~
# Execute a payload using the default host DLL
loader.exe --bin payload.bin

# Execute a payload by stomping a specific DLL
loader.exe --bin payload.bin --dll mscoree.dll

# Scan for all compatible DLLs
loader.exe --scan

# Scan for DLLs with a .text section large enough for a specific payload
loader.exe --scan --bin payload.bin

DbgPrint 래퍼 예제

root@kitploit:~
#if defined(DEBUG)
#define PDEBUG(format, ...)                                                    \
  {                                                                            \
    ntdll.DbgPrint(symbol<PCH>("%-48s " format), symbol<PCH>(({                \
                     char __buf[48];                                           \
                     memory::snprintf(__buf, sizeof(__buf), "[%s:%d]",         \
                                      __FUNCTION__, __LINE__);                 \
                     __buf;                                                    \
                   })),                                                        \
                   ##__VA_ARGS__);                                             \
  }
#define PDEBUG_CTX(ctx, format, ...)                                           \
  {                                                                            \
    if ((ctx) && (ctx)->ntdll.DbgPrint) {                                      \
      (ctx)->ntdll.DbgPrint(symbol<PCH>("%-48s " format), symbol<PCH>(({       \
                              char __buf[48];                                  \
                              memory::snprintf(__buf, sizeof(__buf), "[%s:%d]",\
                                               __FUNCTION__, __LINE__);        \
                              __buf;                                           \
                            })),                                               \
                            ##__VA_ARGS__);                                    \
    }                                                                          \
  }
#else
#define PDEBUG(format, ...)                                                    \
  {                                                                            \
    ;                                                                          \
  }
#define PDEBUG_CTX(ctx, format, ...)                                           \
  {                                                                            \
    ;                                                                          \
  }
#endif

HEXDUMP 예제

root@kitploit:~
PSYSCALL_TABLE pTable = NULL;
SIZE_T regionSize = sizeof(SYSCALL_TABLE);

ntdll.NtAllocateVirtualMemory(
    (HANDLE)-1,               
    (PVOID*)&pTable,         
    0,                      
    &regionSize,             
    MEM_COMMIT | MEM_RESERVE, 
    PAGE_READWRITE  
);

if (pTable) {
    pTable->NtTerminateProcess = 0x2c; // Example syscall number
    PDEBUG("HEXDUMP:%p:%zu", pTable, sizeof(SYSCALL_TABLE));
}

실행 예시

도구 다운로드