前言
免杀技术全称为反杀毒技术 Anti-Virus 简称“免杀”,它指的是一种能使病毒木马免于被杀毒软件查杀的技术。由于免杀技术的涉猎面非常广,其中包含反汇编、逆向工程、系统漏洞等技术,内容基本上都是修改病毒、木马的内容改变特征码,从而躲避了杀毒软件的查杀。
裸奔木马
1、在 Kali 中直接使用 Msfvenom 生成木马文件,不做任何免杀处理,如下图所示:
2、在 Kali 开启 Apache 服务,同一局域网内的 Win 10 物理主机访问木马文件,尝试下载:
3、结果 Win 10 物理主机的火绒安全软件自动识别木马,并自动将其移除至病毒隔离区:
4、手动从病毒隔离区移出木马QQ.exe,上传至腾讯哈勃分析系统进行在线病毒识别分析,结果只是“轻度风险”(Emmm……我只能说腾讯你跟病毒是亲家么)如下:
5、此时再用火绒安全对木马文件进行杀毒扫描,来看看其扫描分析结果:
显然,单纯依靠单独一个病毒引擎对风险文件进行识别不太可靠,下面介绍一款在线的多引擎病毒识别工具。
在线杀毒
VirusTotal,是一个提供免费的可疑文件分析服务的网站。6月由创始人Hispasec Sistemas创立。它与传统杀毒软件的不同之处是它通过多种反病毒引擎(包含360、腾讯、微软、赛门铁克等)扫描文件,使用多种反病毒引擎对您所上传的文件进行检测, 以判断文件是否被病毒, 蠕虫, 木马, 以及各类恶意软件感染。这样大大减少了杀毒软件误杀或未检出病毒的几率,其检测率优于使用单一产品。
1、VirusTotal 的扫描页面如下所示:
2、来看看 VirusTotal 对以上未经免杀处理的木马的扫描结果,多个病毒引擎一致将其识别为病毒文件,高达56/70的病毒引擎识别比例:
3、同时还可以进一步查看该病毒文件的行为分析结果:
VirusTotal的反病毒引擎已经多达40种以上,但是也不能保证该网站扫描通过的文件就彻底无害,毕竟道高一尺,魔高一丈。事实上,没有任何一款软件可以提供100%的病毒和恶意软件检测率,杀毒软件所做的就是最大限度的避免用户受到侵害。该网站支持电子邮件或直接上传的两种方式分析文件。此外,VirusTotal每15分钟更新一次病毒资料库,可以实时提供最新的反病毒引擎以检测出大部分可能的威胁。
MSF编码
在 Meatsploit 框架下免杀的方式之一就是使用MSF编码器。其功能是对攻击载荷文件进行重新的排列编码,改变可执行文件中的代码形状,避免被杀软认出。MSF 编码器可以将原可执行程序重新编码,生成一个新的二进制文件,这个文件运行以后,MSF 编码器会将原始程序解码到内存中并执行。
1、在kali终端输入msfvenom -l encoders列出所有可用编码格式:
2、在 Kali 中下载 Notepad 软件的安装包,用于后面将木马程序捆绑到该程序上面,以便于木马的感染和传播:
【注意】Meatsploit 自带了用于捆绑木马的程序模板,其位置在data/templates/template.exe,虽然这个模板经常会更新,但是其仍是各大反病毒木马厂商的关注重点。为了更好地实现免杀,此处自主选择一个待捆绑程序。
3、使用以下命令生成 Windows环境下的木马、并捆绑到npp.7.8.5.installer.exe文件上,同时对木马文件进行x86/shikata_ga_nai编码方式的免杀处理:
解释下其中的部分参数的含义:
参数 备注
-e 指定编码方式对攻击载荷进行重新编码
-x 指定木马捆绑在哪个可执行程序模版上
-i 指定对目标进行编码的次数,多次编码理论上来讲有助于免杀
-f 指定MSF编码器输出的程序的格式
-o 指定处理完毕后的文件输出路径
4、将木马文件传输给 Win 7虚拟机:
5、在 Kali 攻击机运行 MSF 进入木马监听状态,然后运行 Win 7中的木马文件(原安装程序已损坏,无法正常安装),即可成功获得 Shell ,如下图所示:
6、此时在线对该木马文件进行查杀,VirusTotal 的检测结果如下:
42/71的病毒引擎识别比例,比原生的裸奔木马56/70的识别比例要低一些,其中可以看到 腾讯、赛门铁克、百度等知名杀毒引擎也未将其识别:
UPX加壳
upx 打包器的原理非常简单,就是将可执行文件中的代码和数据进行压缩,然后将解压缩用的代码附加在前面,运行的时候先将原本的可执行数据解压出来,然后再运行解压缩后的数据。打包器的本质目的是反调试,防止逆向工程,而这里使用打包器的目的是为了改变后门程序的特征码。
1、Kali 内置了 upx 工具,执行 upx 命令可查看简略的参数介绍:
2、执行以下命令,对刚才生成的木马文件进行加壳处理:
3、将加壳后的木马传输给 Win 7主机后执行,Kali可进行正常的连接和监听:
4、使用 VirusTotal 对当前木马文件进行病毒检测,结果如下:
33/72的病毒引擎识别比例,比单纯经过 MSF 编码处理的的木马文件41/71的识别比例低。
其他免杀
在Github上还有几个常见的用于木马免杀的工具,如:Shellter、Veil、Avet、Venom等,经实践目前免杀效果一般,还不如上面33/72的免杀效果,大概是其免杀技术已被安全厂商盯上并已做出对应检测技术,故此处不做介绍了。如有兴趣可参考某大佬一篇博文:【免杀测试】Kali之Metasploit几款工具免杀练习。
总结
道高一尺,魔高一丈。杀毒软件的更新是非常快的,这里给出的方法和过程在今天还是可行的。但过了几个月之后,免杀技术就有可能出现重大的变化和更新。免杀技术需要不断地磨练与实践,才能在实战中提高成功率。