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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
doublepulsar-usermode-injector — DOUBLEPULSAR 페이로드의 usermode 셸코드를 사용하여 임의의 DLL을 다른 프로세스에 반사적으로 로드하는 유틸리티로, 탐지 기법 테스트 또는 기타 보안 연구에 사용됩니다. | Kitploit
도구/GitHubGitHub/withsecurelabs/doublepulsar-usermode-injector
ExploitationPost-ExploitationMalware AnalysisRed TeamingPayload Development
GitHubwithsecurelabs/doublepulsar-usermode-injector

doublepulsar-usermode-injector

DOUBLEPULSAR 페이로드의 usermode 셸코드를 사용하여 임의의 DLL을 다른 프로세스에 반사적으로 로드하는 유틸리티로, 탐지 기법 테스트 또는 기타 보안 연구에 사용됩니다.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
123389년 전Kitploit 검토 완료

DOUBLEPULSAR 사용자 모드 인젝터

저자: Matt Hillman ([email protected] - @sp1nl0ck)

회사: Countercept (@countercept)

웹사이트: https://countercept.com

DOUBLEPULSAR 페이로드의 사용자 모드 셸코드를 사용하여 임의의 DLL을 다른 프로세스에 반사적으로 로드하는 유틸리티로, 탐지 기술 테스트 또는 기타 보안 연구에 사용됩니다.

배경

Shadow Brokers가 공개한 DOUBLEPULSAR 페이로드는 처음에 커널 모드에서 실행되며 비동기 프로시저 호출(APC)을 사용하여 DLL을 사용자 모드 프로세스에 반사적으로 로드합니다. 실제 DLL 로딩은 사용자 모드에서 발생하며, 이 유틸리티는 해당 사용자 모드 셸코드를 활용하여 지정된 프로세스에 DLL을 로드하고 지정된 서수를 실행합니다. 이는 페이로드에 대한 공격 탐지 및 디지털 포렌식 침해 대응 기술을 테스트하는 데 도움이 됩니다.

이 로더는 표준 LoadLibrary 호출을 사용하지 않고 임의의 DLL과 함께 작동한다는 점에서 주목할 만합니다. LoadLibrary를 피하면 DLL을 디스크에 쓸 필요가 없어지고, LoadLibrary 호출을 모니터링하는 모든 것을 우회할 수 있으며, 일반적으로 로드된 모듈 목록을 얻는 방식인 프로세스 환경 블록(PEB)에 항목이 생기는 것도 피할 수 있으므로 로드가 더 은밀해질 수 있습니다. 이러한 기술은 이제 상당히 일반화되었지만, 지금까지 이 방식으로 임의의 DLL을 로드할 수 있는 공개 코드는 알려지지 않았습니다. 기존 코드는 로드를 지원하도록 맞춤 제작된 DLL이 필요했습니다. DOUBLEPULSAR는 거의 모든 DLL을 로드할 수 있는 보다 완전한 로더를 구현한다는 점에서 다릅니다. 이 로더는 현재 상태 그대로 거의 모든 Windows 버전에서 작동합니다.

DOUBLEPULSAR 자체는 커널 모드에서 사용자 모드 프로세스에 대기열에 넣은 APC 호출을 사용하지만, 이 유틸리티는 사용자 모드에서 APC를 대기열에 넣습니다. 이는 실질적인 차이가 거의 없습니다. 또한 이 유틸리티는 대신 CreateRemoteThread를 사용하여 셸코드를 트리거할 수도 있습니다.

사용법

root@kitploit:~
C:\>DOUBLEPULSAR-usermode-injector.exe
USAGE: <pid> <shellcode_file> <dll_to_inject> <ordinal_to_execute> [use_CreateRemoteProcess]

마지막 인수는 선택 사항이며, 'true'로 지정하면 Doublepulsar가 기본적으로 작동하는 방식인 APC 호출 대신 CreateRemoteProcess가 사용됩니다. 이는 사용자가 다양한 방식으로 테스트할 수 있도록 하기 위한 것입니다.
기본값은 APC 사용입니다. 이는 대상의 모든 스레드에 주입하므로 그중 하나가 빠르게 트리거될 가능성이 높아집니다. 이는 페이로드를 두 번 이상 호출하는 것이 바람직하지 않을 수 있으므로 테스트 목적으로만 적합합니다.

예를 들어, 비동기 프로시저 호출(APC)을 사용하여 somelibrary.dll을 프로세스 1234에 주입하고 서수 1을 호출합니다:

root@kitploit:~
C:\>dopu-usermode-injector.exe 1234 dopu-64bit-usermode-shellcode.bin somelibrary.dll 1
Using thread: 2456
Using thread: 2032
Using thread: 3876

또는 위와 동일하지만 APC 대신 CreateRemoteThread를 사용합니다:

root@kitploit:~
C:\>dopu-usermode-injector.exe 1234 dopu-64bit-usermode-shellcode.bin somelibrary.dll 1 true

추가 정보

DOUBLEPULSAR 사용자 모드 셸코드에 대한 전체 분석:

https://www.countercept.com/our-thinking/doublepulsar-usermode-analysis-generic-reflective-dll-loader/

DOUBLEPULSAR 커널 구성 요소에 대한 선행 연구:

https://www.countercept.com/our-thinking/analyzing-the-doublepulsar-kernel-dll-injection-technique/

https://zerosum0x0.blogspot.co.uk/2017/04/doublepulsar-initial-smb-backdoor-ring.html

도구 다운로드