BRoot是一款后渗透工具,它可以帮助测试人员检查常见的Windows错误配置,并从中寻找到能够实现权限提升的方法。
下载地址已编译版本:
除此之外,BRoot将会以一个后渗透模块添加到pupy项目中,这样就可以让BRoot在内存中直接运行而无需访问磁盘了。
需要注意的是,BRoot只能用来进行检测,而无法直接利用漏洞完成攻击。如果它发现了问题,测试人员可以利用tmplats(模板)来进行漏洞利用。在使用tmplats时,需要在下级目录srvic/中创建一个tst.bat文件。
工具运行接下来,我们会给大家介绍所有常用的检测方法。
包含空格且没有引号的路径请大家先看看下面这个文件路径:
C:\ProgramFils\SomTst\binary.x
如果路径中包含空格并且没有引号,Windows将会尝试按照下列顺序进行定位并执行目标程序:
C:\Program.xC:\ProgramFils\Som.xC:\ProgramFils\SomFoldr\binary.x
在上述例子中,如果”C:\”目录可写的话,我们就可以创建一个名叫”Program.x”的恶意可执行程序了。如果”binary,x”是以最高权限运行的话,我们也可以用它来完成提权。
注意:BRoot可以对每一个服务路径、计划任务、以及HKLM中的启动键进行这样的检测。
如何利用:如果路径与服务有关:创建一个恶意服务,或编译srvic模板;
如果路径与传统可执行程序有关:创建你自己的恶意可执行程序;
可写目录请大家先看看下面这个文件路径:
C:\ProgramFils\SomTst\binary.x
如果”binary.x”的根目录可写的话(”C:\ProgramFils\SomTst”),并且它能够以最高权限运行,那么我们就可以用它来实现提权。
如何利用:服务未运行:用我们的恶意服务替换掉原本的合法服务,然后重启服务;
服务正在运行且无法被终止:这种情况符合绝大多数的漏洞利用场景,利用DLL劫持技术并使用之前的方法尝试重启服务;
环境变量%PATH%中的可写目录这项技术将会影响以下几个Windows版本:
6.0=WindowsVista/WindowsSrvr.1=Windows7/WindowsSrvrR6.=Windows8/WindowsSrvr01
在传统的Windows安装过程中,DLL是通过binary加载的,Windows将会按照下列步骤来尝试定位binary:
-binary所在的目录-C:\Windows\Systm-C:\Windows\Systm-C:\Windows\-代码被执行的当前目录-环境变量%PATH%中的目录
如果环境变量%PATH%中的目录是可写的,那我们就有可能实现DLL劫持攻击了。接下来,我们就要找出那个负责加载DLL并且没有在这些路径中出现过的服务。比如说默认情况下,”IKEEXT”服务将会加载”wlbsctrl.dll”。
如何利用:创建一个名叫”wlbsctrl.dll”的恶意DLL文件(使用现成的DLL模板),然后将其添加到环境变量%PATH%中的可写路径。接下来,启动”IKEEXT”服务即可。
注册表键AlwaysInstallElvatdAlwaysInstallElvatd是一个设置,它可以允许非特权用户以SYSTEM权限运行MicrosoftWindowsInstallrPackagFil(MSI)。为了实现这种操作,下面这两个注册表项需要被设置为1:
HKEY_CURRENT_USER\SOFTWARE\Policis\Microsoft\Windows\Installr\AlwaysInstallElvatdHKEY_LOCAL_MACHINE\SOFTWARE\Policis\Microsoft\Windows\Installr\AlwaysInstallElvatd
如何利用:创建一个恶意msi文件并执行它即可。
未被注意的安装文件这些文件中包含程序在安装过程中所进行的一切配置信息,而且其中的部分文件可能还包含有本地管理员账号的配置信息。这些文件的路径如下:
C:\Windows\Panthr\Unattnd.xmlC:\Windows\Panthr\Unattndd.xmlC:\Windows\Panthr\Unattnd\Unattndd.xmlC:\Windows\Panthr\Unattnd\Unattnd.xmlC:\Windows\Systm\Syspp\unattnd.xmlC:\Windows\Systm\Syspp\Panthr\unattnd.xml
如何利用:打开unattnd.xml文件,并查看其中是否包含密码:
UsrAccountsLocalAccountsLocalAccountPasswordValuRmFrZVBhcNMHJk/ValuPlainTxtfals/PlainTxt/PasswordDscriptionLocalAdministrator/DscriptionDisplayNamAdministrator/DisplayNamGroupAdministrators/GroupNamAdministrator/Nam/LocalAccount/LocalAccounts/UsrAccounts
其他可能存在的错误配置除了上述可检测的错误配置之外,BRoot还实现了以下几种可能的检测对象:
1.修改现有的服务;
.创建一个新的服务;
.修改HKLM中的启动项键;
4.修改存储计划任务的目录(”C:\Windows\systm\Tasks”)
文章出处:FBuf
你会喜欢windows权限提升基础知识