利用USO服务将特权文件写入武器化( 三 )


文章插图
 
让我们来看看我们可以从Process Monitor 中找到什么 。访问与这个进程相关的事件的属性 , 然后 , 进入Stack选项卡 , 会显示以下内容 。我们可以看到 , 有很多对rpcrt4.dll和combase.dll的引用 。这可能意味着这个进程是由一个COM相关的RPC调用触发的 。如果是这样的话 , 根据远程对象和接口的权限 , 也可以作为普通用户触发 。

注 。COM用于进程间通信(IPC) 。因此 , 它可以为低权限的进程提供运行高权限操作的能力 。
从二进制文件的属性来看 , 我们可以看到如下描述:USO Core Worker Process 。
利用USO服务将特权文件写入武器化

文章插图
 
根据前几个要素 , 我试图在谷歌上找到更多信息 。第一个结果把我引向answsers.microsoft.com上的一个帖子 。根据其中一条信息 , 我发现这个文件与 “Update Orchestrator Service “有关 。
细细研究 , 我发现了这个非常有趣的关于 “USO客户端 “的非官方文档 。首先 , 我们了解到 “USO “是 “Update Session Orchestrator “的缩写 。
我们还了解到 , ”USO客户端”(usoclient.exe)是取代 “WUAUCLT “的工具 , 而WUAUCLT在以前的Windows版本中是用来管理Windows更新的 。事实上 , 这个工具已经被Windows系统管理员所熟知 , 因为虽然它不被微软官方支持 , 但它能让他们自动完成更新管理过程 。
注:他们甚至引用了TechNet上微软员工的回复 , 其中说你不应该直接运行这个工具 。这越来越有趣了 。我们喜欢做我们不应该做的事情 , 不是吗?
文档中列出了所有你可以使用的选项 。所以 , 我试着玩玩usoclient命令 , 看看是否能触发我之前观察到的相同行为 。从StartScan开始 , 根据描述 , 它会触发一个简单地获取可用更新的检查 。
我像往常一样在后台运行 Process Monitor , 运行命令 , 成了 。
 
结论通过一个简单的命令 , 我们能够让Update Orchestrator服务以NT AUTHORITY/System的方式运行任意代码 。这种方法的另一个好处是 , 我们可以在DllMain之外运行我们的代码(即在加载器锁之外) 。
注意:根据微软的说法 , 应避免在DllMain中运行代码 , 因为它可能会导致应用程序死锁 。更多信息查看这里 。
然而 , 这种技术也有一些缺点 。
  • 这需要你能够控制一个特权文件创建或移动的操作 。
  • 导致ACL覆盖的漏洞等 。
  • 作为一个普通用户 , 我们不知道DLL是否已经成功加载 。
依赖于usoclient工具而不了解其工作原理也是我不喜欢这种技术的地方 。所以 , 我对客户端和服务进行了逆向工程 , 以便制作一个可以在未来项目中重复使用的开源工具 。UsoDllLoader 。我将在本文的第二部分尝试解释这个过程 。敬请期待
 
Links & Resources
  • Windows开发技巧 。利用任意文件写入来提升本地的权限 。
    https://googleprojectzero.blogspot.com/2018/04/windows-exploitation-tricks-exploiting.html
    https://googleprojectzero.blogspot.com/2018/04/windows-exploitation-tricks-exploiting.html
  • Twitter – MS终于修复了Win 10 1903的 “Diag Hub Collector “漏洞 。
    https://twitter.com/decoder_it/status/1131247394031579138
    https://twitter.com/decoder_it/status/1131247394031579138
  • 非官方的USO客户文件
    https://www.urtech.ca/2018/11/usoclient-documentation-switches/
    https://www.urtech.ca/2018/11/usoclient-documentation-switches/
  • 关于 “USO客户端 “工具的主题 , 在TechNet上 。
    https://social.technet.microsoft.com/Forums/en-US/7619f7fa-ffc1-433b-a885-12e26f9762bf/usoclientexe-usage?forum=win10itprogeneral
    https://social.technet.microsoft.com/Forums/en-US/7619f7fa-ffc1-433b-a885-12e26f9762bf/usoclientexe-usage?forum=win10itprogeneral
  • 动态链接库最佳实践
    https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-best-practices
    https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-best-practices
本文翻译自 itm4n.github.io ,  原文链接。如若转载请注明出处 。
利用USO服务将特权文件写入武器化


推荐阅读