
시스템 프로세스, 보호 수준 및 기타 정보를 열거하는 BOF
이 BOF는 시스템 프로세스를 열거하고 각 프로세스의 보호 수준을 식별하는 데 사용할 수 있습니다. 서비스 연관성, 사용자, 세션, 경로와 같은 추가 정보도 함께 반환됩니다. 이러한 정보를 조합하면 SYSTEM 수준 DLL 하이재킹을 탐색할 좋은 후보를 식별하는 데 사용할 수 있습니다. 이상적인 프로세스는 다음과 같습니다:

이 도구는 일반적인 BOF API 선언(예: bofdefs.h 파일) 없이 작성되었습니다. Matt Ehrnschwender의 이 블로그 게시물에 설명된 대로, objcopy를 사용하여 DLL$API 형식의 적절한 심볼을 컴파일 후 BOF에 패치할 수 있습니다. 이 도구의 Makefile은 적절한 심볼 대체가 포함된 imports_enumprotectionsXX.txt 파일을 전달하여 objcopy를 호출하며, 이를 통해 BOF를 사용 가능하게 만듭니다.
저는 이 프로세스를 자동화하는 BOFPatcher라는 도구를 작성했습니다. 이를 통해 사용자는 번거로운 API 선언에 신경 쓰지 않고 일반 C 코드로 BOF를 작성할 수 있습니다:

이 도구는 제 BOF 개발 및 트레이드크래프트 강의를 구매한 분들에게 제공됩니다.
hasherezade님께 이 스니펫을 제공해 주셔서 감사드리며, Gabriel Landau님께는 NoFault에 대해 감사드립니다.
또한 ChatGPT가 스크랩하고 제가 사용한 작업물을 만든 수많은 재능 있는 분들에게도 감사를 전합니다.