一、实验名称
免杀进阶
二、实验内容
尝试msfvenom生成jar、php、apk等文件在其他操作系统如mac、linux、android的实践应用。
本实验中我使用msfvenom指令,生成macho文件,在mac系统上运行后门软件。
(备注:由于msfvenom指令无法生成ipa文件,所以无法用于制作IOS系统的后门程序)
三、基础知识与实验准备
1.了解各操作系统的可执行文件扩展名,为使用msfvenom指令生成后门做准备。
(1)mac系统:macho文件
(2)IOS系统:ipa文件
(3)Android系统:apk文件
(4)Linux系统:elf文件
(5)Windows:exe文件
2.在VMware15.5虚拟机中安装苹果mac OS10.14系统,并且安装好VMware Tools
四、实验过程记录
(实验中Linux系统的IP为192.168.217.128,mac系统的IP为192.168.217.130)
1.Linux和mac互ping,确认对方在线
(1)Linux ping mac
(2)mac ping Linux
2.输入“msfvenom -l payload”查看所有的payload,找到针对mac系统的payload
3.此处我有两种想法:一是使用msfvenom指令直接生成后门程序,二是由msfvenom指令先生成一个c语言格式的shellcode数组,然后在mac的终端上新建一个.c文件,在主函数中调用该数组,最后使用终端编译上述创建的.c文件。
但是经过我的尝试,只有第一种方法能实现回连,第二种方法在运行编译后的可执行文件时终端会报错。
具体过程如下:
(1)先看失败的方法
payload选择“osx/x64/meterpreter/reverse_tcp”,生成c语言格式的shellcode数组
然后在mac的终端上新建.c文件wpw_mac_backdoor.c,在主函数中调用该数组,最后输入“gcc wpw_mac_backdoor.c”,使用终端编译该.c文件,生成mac下可执行文件a.out
在Linux终端进入msf控制台,设置好payload、LHOST和LPORT后,开始监听
在mac终端输入“./a.out”运行编译得到的可执行文件,终端报错“Bus error:10”(Bus error表示栈溢出),回连失败
(2)再看成功的方法
payload选择“osx/x64/meterpreter_reverse_tcp”,使用“-f macho”直接生成mac下可执行文件(注:所选的这个payload也只能生成macho文件,若“-f”参数选择其他文件类型,kali终端会报错,提示生成后门失败)
将上述生成的后门文件wpw02_backdoor_mac.macho通过共享文件夹复制到mac虚拟机上,在Linux终端进入msf控制台,设置好payload、LHOST和LPORT后,开始监听,在mac终端上输入“./wpw02_backdoor_mac.macho”,运行后门程序
不出意外,回连成功!
五、实验总结与体会
本次实验是第三次实验的进阶篇,由于msfvenom中payload的选择,所生成的后门的可移植性是比较弱的,而且各操作系统中的可执行文件的扩展名是不一样的,比如Windows系统的可执行文件扩展名是exe,mac系统的是macho,Android系统的是apk,苹果手机IOS系统的是ipa。与此同时,也由于我从小使用的都是微软的Windows系统,所以对于别的操作系统知之甚少,本次实验也给了我一个契机去接触和了解其他操作系统,丰富了我的知识面。
本次进阶实验让我受益匪浅,期待下次实验能让我对这门课程有更深的理解和感悟。