
민감한 API 호출을 셸코드에서 아티팩트로 프록시하여 CET 호환의 깨끗한 호출 스택을 제공하고, 은밀한 페이로드 실행과 호출 스택 스푸핑을 가능하게 합니다.
셸코드에서 아티팩트로 민감한 API 호출을 프록시하여 CET 호환의 깨끗한 콜 스택을 구현합니다.
제 블로그 포스트의 동반 PoC: Stop Being Weird — Life After Call Stack Spoofing Under CET
MinGW에는 CET 호환 플래그를 설정할 방법이 없으므로 CET로 빌드하려면 llvm-mingw가 필요합니다.
기본적으로 ./payload/testDll.c를 페이로드로 사용하여 빌드하며, 이 페이로드는 LoadLibraryA와 Sleep을 호출하므로 콜 스택을 검사할 수 있습니다.
./tcg/에 배치합니다.dist/ 디렉터리를 ./tcg/dist에 배치합니다.make pocrawDll.cna를 로드하고 Payloads->Stageless Payload Generator로 페이로드를 생성합니다../bin/payload.dll로 출력합니다.make cs