}// Get process handlehProcess = OpenProcess(PROCESS_QUERY_INFORMATION,FALSE, dwProcessId);if(!hProcess) {return(DWORD)-1; }// Retrieve informationstatus = NtQueryInformationProcess( hProcess, ProcessBasicInformation, (PVOID)&pbi,sizeof(PROCESS_BASIC_INFORMATION),NULL);// Copy parent Id on s...
用任务管理其杀掉update64.exe进程,马上重新启动,靠,这么暴力啊? 直接调用命令wmic process where Name=”update64.exe” get ParentProcessId查看其父进程,发现竟然是cmd.exe不停的在启动update64.exe,而且cmd.exe是system权限运行的,如下图所示: 杀掉该cmd.exe,发现其也是不停的重新启动,晕,太暴力了。 继续...
我们在Wiondows下输入Win+R键,弹出的输入框输入powershell后按下回车,在弹出的窗口输入: Get-WmiObject -Query "Select * From Win32_Process Where ProcessID='YourPID'" 就会打印出进程的详细信息: 每个进程的信息很多,我们只需要关注“ExecutablePath”和“ParentProcessId”两个信息。 ExecutablePath:启动进程的程...
目前官方文档中包含了两个属性键:PROC_THREAD_ATTRIBUTE_HANDLE_LIST用于标识子进程具体应该继承哪一些内核对象;PROC_THREAD_ATTRIBUTE_PARENT_PROCESS 则用于标识子进程应该成为哪一个进程的子进程(而非实际调用CreateProcess的进程)。 ppiProcInfo参数指向一个PROCESS_INFORMATION结构,里面包含了进程句柄和线程句柄,以及它们...
SetParent 變更指定子視窗的父視窗。 SetProcessDefaultLayout 只有在目前執行中的進程沒有父代或擁有者的情況下建立視窗時,變更預設版面配置。 SetProcessDPIAware 將目前的進程設定為 dpi 感知。 SetWindowDisplayAffinity 將顯示親和性設定儲存在與視窗相關聯的 hWnd 核心模式中。 SetWindowPlacement 設定顯示狀態和已...
if (CheckRemoteDebuggerPresent(GetCurrentProcess(), &isDebuggerPresent )) { if (isDebuggerPresent ) { std::cout << "Stop debugging program!" << std::endl; exit(-1); } } return 0; } 在CheckRemoteDebuggerPresent内部,调用NtQueryInformationProcess函数: ...
目前官方文档中包含了两个属性键:PROC_THREAD_ATTRIBUTE_HANDLE_LIST用于标识子进程具体应该继承哪一些内核对象;PROC_THREAD_ATTRIBUTE_PARENT_PROCESS 则用于标识子进程应该成为哪一个进程的子进程(而非实际调用CreateProcess的进程)。 ppiProcInfo参数指向一个PROCESS_INFORMATION结构,里面包含了进程句柄和线程句柄,以及它们...
parent_id_vec.push_back(dwProcessID); } bProcess = Process32Next(hProcessSnap, &pe); } CloseHandle(hProcessSnap); return parent_id_vec; } int main() { DWORD parent_id = 17280; vector<DWORD> child_id_vector = GetProceeIDfromParentID(parent_id); ...
接下来,我会根据复现结果的日志,借助 sysmon 和 splunk 完成 getsystem 过程中的细节分析 首先结合前面的结论,通过对父子进程的权限继承关系进行判断,定位到相关进程主体 index=windows (ParentProcessGuid="{534e2476-46b7-61dd-5508-000000000b00}" OR ProcessGuid="{534e2476-46b7-61dd-5508-000000000b00}...
分析CreateProcesssW的大概流程: 1. 将参数 保存到局部变量中。 2. dwCreationFlags 的值至少由一个标志组合成(一些创建标志和优先级类型),首先屏蔽 CREATE_NO_WINDOW 标志,代码如下: 代码: mov eax, [ebp+20h] ; ebp+20h = dwCreationFlags and eax, 0F7FFFFFFh ; 屏蔽CREATE_NO_WINDOW标志。