我目前正在嘗試使用 c 將用戶名和密碼注入 lsass.exe,我對 c 很陌生,所以這可能是一個愚蠢的問題,但它總是向我拋出錯誤“0xC0000005:在位置 0xCCCCCCCC 讀取訪問沖突”。這是我的代碼:
#include <iostream>
#include <windows.h>
#include <processthreadsapi.h>
int main()
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
si.dwFlags = 0x00000001;
si.wShowWindow = 0;
LPCWSTR userName = L"username"; // The username that will be injected into LSASS
LPCWSTR userDomain = L"domain"; // The Logon Domain that will be injected into LSASS
LPCWSTR userPassword = L"password"; // The User Password that will be injected into LSASS
LPCWSTR applicationName = L"path";
LPCWSTR currentDirectory = L"C:\\";
bool r = CreateProcessWithLogonW(userName, userDomain, userPassword, 0x00000002, applicationName, NULL, 0x04000000, NULL, currentDirectory, &si, &pi);
std::cout << r << std::endl;
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
我不確定,但在visual studio除錯器的變數串列中,&pi和&si包含'0xCCCCCCCC',更具體:&pi的hProcess和hThread都有它
我幾乎只是從這里復制粘貼代碼:https ://blog.spookysec.net/DnD-LSASS-Injection/ 它對他們有用......
感謝您提前提供任何幫助
編輯:它現在運行,我改變了
STARTUPINFO si;
PROCESS_INFORMATION pi;
至
STARTUPINFO si = {0};
PROCESS_INFORMATION pi = {0};
但似乎我沒有我應該擁有的權利......我登錄到我自己的用戶帳戶,但甚至無法復制啟動檔案夾中的檔案......
uj5u.com熱心網友回復:
您需要對 STARTUPINFO 結構進行更多初始化。特別是結構的大小。作業系統使用結構的大小來確定存在哪些成員。它就像一個結構版本。
STARTUPINFO si = {0};
si.cb = sizeof(si);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/485986.html
