20145231熊梓宏 《网络对抗》 实验三 免杀原理与实现
基础问题回答
1.杀软是如何检测出恶意代码的?
●杀毒软件中自带的恶意代码的特征码库和携带恶意代码的后门文件特征码进行比对,符合即被查杀;
●通过后门程序的相关行为判断其为病毒文件,进行查杀。
2.免杀是做什么?
●通过对恶意代码的伪装等方式使计算机上的杀毒软件检测不出后门程序。
3.免杀的基本方法有哪些?
●加壳:封装后门代码,但一加壳反而容易被查杀(很多公开的壳都能被识别);
●将代码多次进行重新编码(不是特别靠谱),(使用msfvenom相关指令生成C语言shellcode数组)将代码逆序、将代码中的奇偶位进行变换等。
实践内容
主机IP:172.30.0.27 虚拟机IP:192.168.206.129
●首先,直接用msfvenom生成meterpreter可执行文件,用360杀毒进行扫描,当然是被成功查杀。
●使用msfvenom的编码器分别尝试一次及多次编码,由于360杀毒太弱,一次编码就没能扫描出来,我还是将文件放到了virscan上进行扫描,结果如下:
1.编码一次
2.编码10次
主机IP:192.168.2.107 虚拟机IP:192.168.206.129
●被查杀的概率还是较高的,然后使用veil evasion生成可执行文件,步骤如下:
1.直接在终端输入:vail—evasion
2.输入: use python/meterpreter/rev_tcp
3.设置IP(端口无所谓)
4.输入:generate
5.生成自己的可执行文件
6.选用Python语言编写
7.找到文件,进行扫描
●使用C语言调用shellcode
1.生成shellcode数组
2.将数组代码拷贝出来,运用老师给的代码进行编译运行,将.exe文件用virscan进行扫描
3.不断改进代码,降低被查杀的概率
●对shellcode进行变换
●shellcode逆序
●shellcode奇偶位变换
●虚拟机中利用msfconsole设置相关参数获得主机shell,进行控制,后门程序功能能实现。再与另一台电脑回连,免杀成功。(杀软:360安全卫士11)
●用自己电脑上的360杀毒进行扫描,免杀成功。
离实战还缺些什么技术或步骤
1.黑进常用软件程序的具体步骤;
2.一般的杀毒软件对恶意代码编码、加壳的平台程序都已熟悉,需要自己编写恶意代码或修改恶意代码,这对我们的能力要求甚高;
3.即使编写出了恶意代码,病毒库的更新是很快的,也容易被查杀。
心得体会
不论是病毒还是病毒库都更新的很快,电脑上的杀毒软件并不足以让人放心,此次实验最大的收获就是以后遇到可疑文件可以放到virscan上去扫描,避免因杀毒软件的局限性使电脑中病毒。学会了很多,了解了相关原理,但是对于shellcode的变换还应再去了解学习,要真正自己编写恶意软件做到免杀,还有很长路要走。