关于BeRoot-Windows
工具技术流程与架构
工具下载
git clone https://github.com/AlessandroZ/BeRoot.git
(向右滑动,查看更多)
并自行构建代码。
工具运行
工具使用
路径包含空格且无引号
以下列文件路径为例: C:Program FilesSome Testbinary.exe
如果路径包含空格且无引号,Windows会按照下列顺序尝试定位并执行程序: C:Program.exe
C:Program FilesSome.exe
C:Program FilesSome Folderbinary.exe
(向右滑动,查看更多)
如果“C:”目录可写,那我们就可以再次创建一个名为Program.exe的恶意程序,如果“binary.exe”能以高级权限运行,我们就能够实现提权了。
可写入的目录
以下列文件路径为例: C:Program FilesSome Testbinary.exe
(向右滑动,查看更多)
如果“binary.exe”的根目录可写入(“C:Program FilesSome Test”),且能够使用高级权限运行,我们同样可以实现提权。
%PATH%变量中的可写入目录
这项技术将影响下列Windows版本: 6.0 => Windows Vista / Windows Server 2008 6.1 => Windows 7 / Windows Server 2008 R2 6.2 => Windows 8 / Windows Server 2012 在常见的Windows安装中,当DLL通过二进制代码进行加载时,Windows会尝试使用下列方式进行文件定位: - 代码所在目录 - C:WindowsSystem32 - C:WindowsSystem - C:Windows - 代码启动时所在的当前目录 - %PATH%环境变量中的目录 如果%PATH%变量上的目录是可写的,则有可能实现DLL劫持攻击。然后,我们需要找到一个服务,加载这些路径中不存在的DLL。这个例子是默认的“IKEEXT”服务的执行情况,它加载一个不存在的“wlbstrl.dll”。 此时,我们可以创建一个名为“wlbstrl.DLL”的恶意DLL(使用DLL模板),并将其添加到%PATH%变量上列出的可写路径中,然后启动服务“IKEEXT”。 使用下列内容创建一个文件: C:UsersbobDesktop>type test.txt
[IKEEXTPOC]
MEDIA=rastapi
Port=VPN2-0
Device=Wan Miniport (IKEv2)
DEVICE=vpn
PhoneNumber=127.0.0.1
(向右滑动,查看更多)
使用“rasdial”代码开启IKEEXT服务即可: C:UsersbobDesktop>rasdial IKEEXTPOC test test /PHONEBOOK:test.txt
(向右滑动,查看更多)
项目地址
BeRoot-Windows:https://github.com/AlessandroZ/BeRoot/tree/master/Windows 【 原文始发于微信公众号(FreeBuf):如何使用BeRoot-Windows通过Windows常见错误配置实现提权
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论