Alpha_h4ck
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9

关于BeRoot-Windows
BeRoot-Windows是一款功能强大的Windows安全检测与权限提升工具,该工具专为红队研究人员和Windows系统安全专家设计,该工具可以检测常见的Windows错误配置,并尝试实现权限提升。
需要注意的是,该工具只能够实现漏洞和错误配置的检测,并不能直接实现漏洞利用。如果检测到了错误配置或安全漏洞的存在,广大研究人员可以使用项目templates目录中提供的内容来尝试进行漏洞测试。
工具技术流程与架构
工具下载
广大研究人员可以直接访问该项目的【Releases页面】下载该工具的预编译版本。
除此之外,我们也可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/AlessandroZ/BeRoot.git
并自行构建代码。
工具运行
工具使用
路径包含空格且无引号
以下列文件路径为例:
C:\Program Files\Some Test\binary.exe
如果路径包含空格且无引号,Windows会按照下列顺序尝试定位并执行程序:
C:\Program.exe C:\Program Files\Some.exe C:\Program Files\Some Folder\binary.exe
如果“C:\”目录可写,那我们就可以再次创建一个名为Program.exe的恶意程序,如果“binary.exe”能以高级权限运行,我们就能够实现提权了。
可写入的目录
以下列文件路径为例:
C:\Program Files\Some Test\binary.exe
如果“binary.exe”的根目录可写入(“C:\Program Files\Some 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:\Windows\System32
- C:\Windows\System
- C:\Windows\
- 代码启动时所在的当前目录
- %PATH%环境变量中的目录
如果%PATH%变量上的目录是可写的,则有可能实现DLL劫持攻击。然后,我们需要找到一个服务,加载这些路径中不存在的DLL。这个例子是默认的“IKEEXT”服务的执行情况,它加载一个不存在的“wlbstrl.dll”。
此时,我们可以创建一个名为“wlbstrl.DLL”的恶意DLL(使用DLL模板),并将其添加到%PATH%变量上列出的可写路径中,然后启动服务“IKEEXT”。
使用下列内容创建一个文件:
C:\Users\bob\Desktop>type test.txt [IKEEXTPOC] MEDIA=rastapi Port=VPN2-0 Device=Wan Miniport (IKEv2) DEVICE=vpn PhoneNumber=127.0.0.1
使用“rasdial”代码开启IKEEXT服务即可:
C:\Users\bob\Desktop>rasdial IKEEXTPOC test test /PHONEBOOK:test.txt
项目地址
BeRoot-Windows:【GitHub传送门】
参考资料
https://github.com/n1nj4sec/pupy/
http://offsec.provadys.com/intro-to-file-operation-abuse-on-Windows.html
https://github.com/rasta-mouse/Watson
https://github.com/bitsadmin/wesng
https://itm4n.github.io/localservice-privileges/
https://github.com/itm4n/FullPowers
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)