前言
这一篇介绍几种提权的方式,这几种提权的前提大部分是要有个高权限的账号密码,且防火墙开启了文件和打印机共享(File and Printer Sharing)的策略,由于windows默认开启smb服务,一般没关闭这个服务的话,445端口是默认开启的,这个条件一般都是默认达成的,然后我这里用windows10的靶机做的测试,UAC不影响提权。
1.runas提权
2.psexec提权
3.利用服务提权
4.sc对服务的操作
1.runas提权
这个提权的前提就只用知道管理员的账号和密码,可以当成sudo来理解
用法: runas /env /noprofile /user:管理员账户 "要执行的命令或程序"
admin是管理员组的成员。
2.psexec提权
这个有两种使用的方法提权,一个是使用PsExec64.exe来进行提权,一个是使用msf提权
PsExec64.exe的提权如下
满足上面的条件,即可直接提权至system
msf提权
search psexec 在使用4的模块
要设置的options,RHOST,SMBPass,SMBUser
拿下system的权限
3.利用服务提权
这里只介绍有这样的方法提权,暂时没有介绍如何去找有问题的服务。
1.当某个服务以system的身份运行,且普通用户有修改配置和开启关闭的权限时,可以通过修改这个服务配置的文件路径进行提权
2.当没有修改配置路径的权限,但对这个路径的文件有写入的权限时,可以通过覆盖这个服务的方式进行提权
accesschk工具部分参数的介绍
靶机中存在有问题的daclsvc服务
使用accesschk工具查看对该服务拥有哪些权限
accesschk64.exe /accepteula -uwcqv user daclsvc
通过sc命令修改配置文件路径
sc config daclsvc binpath= "\"C:\Users\user\Desktop\newuser.bat\""
我这里写了个新建用户并加入管理员组的脚本,将配置路径修改为这个脚本的路径
重启服务或者关闭再开启这个服务 ,这里默认没开启这个服务,直接开启即可
脚本执行成功
4.sc命令介绍
sc命令是Windows操作系统中的一个命令行工具,用于管理Windows服务。可以用它来启动、停止、暂停、继续、查询及修改服务的配置信息等操作。使用sc命令可以从命令行或者批处理脚本中方便地管理Windows服务,而不必打开服务管理控制台。
一些常用的sc命令选项包括:
- sc query:查询所有的服务及其状态。
- sc start [service name]:启动指定名称的服务。
- sc stop [service name]:停止指定名称的服务。
- sc pause [service name]:暂停指定名称的服务。
- sc continue [service name]:继续运行指定名称的服务。
- sc config [service name]:修改指定名称的服务的配置信息。
其中,[service name]是指要操作的服务的名称,可以使用任务管理器或命令行中的tasklist命令来列出当前正在运行的服务及其名称。
在利用服务提权的例子中,使用几次了sc的命令
sc qc daclsvc # 查询daclsvc服务的信息
将daclsvc服务的文件路径修改为指定路径,这里注意在binpath=后面存在一个空格
路径尽可能使用下面的方式,带了两对引号,且一对转义了
sc config daclsvc binpath= "\"C:\Users\user\Desktop\newuser.bat\""
sc stop daclsvc # 停止daclsvc服务
sc start daclsvc # 开启daclsvc服务
评论 (0)