不定期更新
傀儡进程常用的函数配合
方案一:NtUnmapViewOfSection 或者 ZwUnmapViewOfSection、VirtualAllocEx
方案二:WriteProcessMemory、SetThreadContext、ResumeThread
常见傀儡进程流程:
(1)CreateProcess一个进程,并挂起,即向dwCreationFlags 参数传入CREATE_SUSPENDED;
(2) GetThreadContext获取挂起进程CONTEXT,其中,EAX为进程入口点地址,EBX指向进程PEB;
(3) ZwUnmapViewOfSection卸载挂起进程内存空间数据;
(4) VirtualAlloc分配内存空间;
(5) WriteProcessMemory将恶意代码写入分配的内存;
(6) SetThreadContext设置挂起进程状态;
(6) ResumeThread唤醒进程运行。
CryptAcquireContext
功能说明:这个函数用来请求一个给定密钥容器的句柄,这个容器属于给定的CSP的。我们可以用这个句柄来调用这个CSP。这个函数可以执行两项功能:一是可以用来寻找一个由参数dwProvType和参数pszProvider所指定的CSP,如果这个CSP被找到,我们希望能从这个CSP中找到一个由参数pszContainer所指定的密钥容器;二是在标志位dwFlags的配合下,创建或者销毁一个密钥容器。
获取ip
(1)WSAStartup()//初始化Windows Sockets API函数
(2)MAKEWORD()//通过串联指定的值来创建WORD值。
(3)gethostname()//获取本地主机的标准主机名。
(4)gethostbyname()//获取对应于给定主机名的主机信息。
(5)inet_ntoa()//将网络地址转换成“.”点隔的字符串格式。
(6)WSACleanup()//功能是终止Winsock 2 DLL ( Ws2_32.dll) 的使用
获取计算机的信息
1.GetVersionEx()
2.GetComputerName()
3.GlobalMemoryStatus()
4.GetWindowsDirectory()
5.GetSystemDirectory()
6.GetVolumeInformation()
Privilge Escalation
1.OpenProcessToken()
2.LookupPrivilegeValue()
3.AdjustTokenPrivileges()
kill process
1.OpenProcess
2.TerminateProcess()
process list
1.CreateToolhelp32Snapshot()
2.Process32First()
3.Process32Next()
提权函数
1.GetVersionEX
2.OpenProcessToken
3.LookupPrivilegeValue
4.AdjustTokenPrivileges
5.ExitWindowsEx
远线程注入
1.OpenProcess
2.VirtualAllocEx
3.WriteProcessMemory
4.CreateRemoteThread