• XSS.stack #1 – первый литературный журнал от юзеров форума

Проблема с инжектом в процесс

cppjunior

ripper
КИДАЛА
Регистрация
25.05.2022
Сообщения
57
Реакции
3
Гарант сделки
2
Пожалуйста, обратите внимание, что пользователь заблокирован
Моя программа х86 работает через WOW64, пытаюсь заинжектить в в новосозданный х64 процесс х64 шеллкод стандартным методом:
C:
STARTUPINFOA StartupInfo;
PROCESS_INFORMATION ProcessInfo;
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
StartupInfo.cb = sizeof(StartupInfo);
    
if (!CreateProcessA("C:\\Windows\\System32\\notepad.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &StartupInfo, &ProcessInfo)) {
    printf("CreateProcess failed\n");
    return 1;
}

remoteBuffer = VirtualAllocEx(processHandle, NULL, sizeof shellcode, (MEM_RESERVE | MEM_COMMIT), PAGE_EXECUTE_READWRITE);
WriteProcessMemory(processHandle, remoteBuffer, shellcode, sizeof shellcode, NULL);
remoteThread = CreateRemoteThread(processHandle, NULL, 0, (LPTHREAD_START_ROUTINE)remoteBuffer, NULL, 0, NULL);
CloseHandle(processHandle);

Создается новый wow64\notepad.exe процесс вместо system32\notepad.exe. Пробовал создавать процесс sysnative\notepad.exe, но при создании удаленного потока возвращает ошибку STATUS_ACCESS_DENIED
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Пробовал создавать процесс sysnative\notepad.exe, но при создании удаленного потока возвращает ошибку STATUS_ACCESS_DENIED
Для инжекта понадобится выход в 64-битный режим (типа Heavens Gate или альтернатив) и использовать функции из 64-битного ntdll.dll, ну или тебе придется сделать свой процесс 64-битным.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх