论文部分内容阅读
随着科学技术的发展,人们对恶意软件的检测技术也越发的成熟,传统恶意代码的威胁正在逐渐减弱。由于Powershell良好的过免杀特性,基于Powershell恶意代码的应用逐渐增多,大有泛滥的趋势。近年来流行的网银木马VAWTRAK和蠕虫Duqu2.0便是基于Powershell的两款恶意软件,其造成的危害已经波及不计其数的银行系统和企业组织,造成了不可估量的损失。因此,研究基于Powershell的恶意代码,已经成为信息安全问题的热点。本文首先从Powershell的脚本入手,详细介绍了Powershell脚本执行的五种执行策略,然后针对其默认的限制执行策略提出了三种常用的绕过方法。其次就是对Powershell恶意代码的应用研究。重点分两个部分研究了Powershell恶意代码的应用。第一部分是Powershell恶意代码的常规应用,这部分结合实例讲解了Powershell代码如何加载恶意Payload和利用Powershell恶意代码制作钓鱼文件以及使用Powershell恶意代码收集系统信息,并且对这些功能脚本作了深入的分析和解剖,得出其使用核心都是利用Powershell系统组件的属性来加载恶意Payload到内存中去执行。第二部分是Powershell恶意代码的其它应用,这部分简要介绍了其在内网渗透和程序分析方面的应用。然后在对Powershell恶意代码的应用进行研究、对比、分析后,得出其应用的优点为:可以全面调用.Net Framework底层;可以进行“无文件”的渗透攻击;应用代码简短灵活,功能强大。此外,也对其缺点进行了简要说明。在对Powershell恶意代码应用研究的基础上,就Powershell恶意代码的攻击防御展开思考,结合Powershell自身的三点防御措施,提出了针对Powershell恶意代码攻击防御三点建议:限制用户使用权限;执行签名的脚本;使用端点安全工具。最后针对Powershell恶意代码应用中的不足之处,提出了优化的应用方案,也就是基于Powershell恶意代码的动态集成化应用设计。本应用软件的设计分为两个部分,即客户端和服务端。服务端采用常规的LAMP组合软件进行搭建,而重点的客户端部分采用C++语言编写程序。客户端软件通过HTTP协议与服务端进行信息交互,在收到服务端的数据后,解析数据,然后进行数据类型的判断:符合条件的,创建子线程,调用Powershell程序执行其中的Powershell指令,将执行结果返回服务端,关闭子线程;不符合条件的,则直接丢弃数据。在处理完数据后,继续从服务端接收数据,不断重复上述过程。在代码实现上,主要采用了用于json数据解析的json库以及自己封装的用于HTTP通信的HTTP类,重点结合代码与流程图详细讲解了心跳函数、内存分配函数和数据处理函数等关键函数的功能。最后就软件的具体功能进行了成功的实验仿真。