
combase.dll의 Control Flow Guard 포인터를 덮어써 코드 실행을 하이재킹한다.
제 블로그 게시물 Control Flow Hijacking via Data Pointers의 프로세스 인젝션 개념 증명(PoC)을 BOF(Beacon Object File)로 구현한 것입니다.
COM 프록시 함수가 호출하는 combase.dll의 Control Flow Guard 함수 포인터를 덮어써 제어 흐름을 가로챕니다.
explorer.exe는 COM 프록시에 크게 의존하기 때문에 트리거가 쉬운 현재 최적의 후보입니다. 직접 실험해 보시길 권장합니다.Win10 21H2 (19044.5737) 및 Win11 24H2 (26100.3775)에서만 테스트되었습니다.datainject <pid> <shellcode path>
예제의 편의를 위해 모든 프로세스 ID는 1234로 가정했습니다.
explorer.exe에 인젝션하여 COM 호출 시 셸코드 실행 (마우스 우클릭 또는 파일 탐색기 열기로 트리거 가능)
datainject 1234 C:\users\attacker\payloads\beacon_x64.bin