千家信息网

如何使用presentationhost.exe绕过AppLocker白名单限制

发表于:2024-10-22 作者:千家信息网编辑
千家信息网最后更新 2024年10月22日,这篇文章主要介绍如何使用presentationhost.exe绕过AppLocker白名单限制,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Presentationhost.
千家信息网最后更新 2024年10月22日如何使用presentationhost.exe绕过AppLocker白名单限制

这篇文章主要介绍如何使用presentationhost.exe绕过AppLocker白名单限制,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Presentationhost.exe是一个内置的Windows可执行文件,用于运行XAML浏览器应用程序(即.xbap文件)。在多个AppLocker白名单绕过列表中,Presentationhost.exe都位列其中(例如api0cradl和milkdevil),但在网上有关如何使用它的资料却少之又少。因此,我决定将自己的研究成果分享出来,以供大家学习和参考。

当我们打开.xbap文件,它似乎是在IE中启动的应用程序,但代码实际上是在另一个进程(Presentationhost.exe)中运行,通常是在一个沙箱中以保护用户免受恶意代码的攻击。如果你熟悉Java Web Start文件(.jnlp),则xpabs的行为与其类似,只是这里IE启动的是Presentationhost.exe而不是Java.exe,编写的代码是c#而不是Java。

注意,xbap可以请求不同的权限级别。为了执行潜在的恶意操作,应用程序必须请求从文件位置(即本地文件系统或网络共享)打开XBAP时可以执行的非限制性权限。如果应用程序请求权限过多,则尝试通过HTTP或FTP打开xbap将失败。有关安全模型的更多信息请参阅此处。

创建XBAP应用程序你可以克隆我的PoC,或按照以下说明来构建你自己的POC:

1.下载 visual studio 2010 professional service pack 1 trial。

2.打开 visual studio 并选择"New, Project"。

3.在 new project 界面,搜索"WPF Browser Application"并创建一个新的 Visual C# app。

初始化新项目后,你将看到如下界面:

如果你点击运行,你的默认浏览器将会打开.xbap文件。如果你的默认浏览器不是IE,那么你需要将file:/// URL从默认浏览器的地址栏复制到IE上打开。如果一切正常,你应该会收到如下警告消息:

点击运行后,将出现一个空白页面。让我们来创建一个简单的UI,即在左侧输入命令右侧输出结果。此外,我还将添加一个带有单击事件的按钮。

如果此时你尝试运行该应用程序,将会收到"Button_Click"未定义的错误提示。我们打开Page1.xaml.cs定义按钮单击方法。这里我将使用C#的Pipeline类来运行PowerShell命令(有趣的是,以这种方式运行PowerShell命令可以绕过约束语言模式)。以下代码将在Pipeline中运行一些PowerShell命令,并将输出写入到屏幕。

编译应用程序,你需要通过右键单击"Solution Explorer"中的"References"文件夹,并选择"Add Reference"来引用System.Management.Automation dll。 然后浏览到:

C:\Windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll

添加引用后,你应该能够编译该项目(如果未将项目命名为"powershell",则可能需要更改命名空间)。现在如果你运行xbap它应该会成功打开,但当你尝试运行命令时会出现以下错误:

此错误是Presentationhost的沙箱在告诉你,应用程序试图在它的权限级别之上执行某些操作,有关xbap安全性的更多介绍请参阅此处。要使xbap请求具有完全信任权限(即对操作系统的非沙盒访问),请到Project -> Properties -> Security下选择"This is a full trust application"进行设置。

运行应用程序,PowerShell命令现在应该能够正常执行。

编译的应用程序可以在visual studio项目的\bin\Debug文件夹中找到。

powershell.exepowershell.exe.manifestpowershell.pdbpowershell.xbap

要绕过默认的AppLocker规则,请将这些文件复制到锁定的计算机,然后双击.xbap文件。如果你从网站下载该文件,它将无法运行,因为它将包含Web标记。你可以通过右键单击该文件,然后单击"Unblock(取消阻止)"复选框来删除Web标记(或者你也可以使用 PowerShell)。

如果你不想将文件复制到锁定的计算机上,你也可以从命令行使用file:/// URI 或 UNC路径来运行presentation host,例如:

presentationhost.exe file:///ipAddressOrHostName/powershell.xbap

以下是PowerShell xbap的源码:

https://github.com/jpginc/xbapAppWhitelistBypassPOC/tree/master

我将已编译的文件包含在了repo中,以便你在锁定环境中运行PowerShell,你可以在此处获取文件。

以上是"如何使用presentationhost.exe绕过AppLocker白名单限制"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

文件 运行 应用程序 程序 应用 命令 权限 浏览 代码 浏览器 编译 名单 限制 是在 更多 错误 项目 尝试 有关 选择 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河北安卓软件开发大概多少钱 合肥凡创网络技术有限公司 关于数据库信息源特点是 linux登录服务器 数据库落标 网络数据库并发控制的技术 数据库中最小值不能用统计功能 dnf网络服务器怎么删除 西城区综合网络技术服务哪家好 平滑升级表结构变动的数据库 文件打不开数据库 弄潮APP软件开发商 软件开发的难点研究报告范文 建立数据库失败 长丰口碑好的网络技术咨询怎么样 尚学堂数据库讲解视频教程 乐视电视服务器主机名 idea 设计数据库 mysql数据库异地缓存 怎么使用数据库管理员权限 第七届国家网络安全宣传图 我国网络安全监督 串口服务器接多个485仪表 共筑网络安全守护绿色校园文章 注册一个顶级域名和服务器 软件开发指导费怎么收取 b站视频无法连接服务器 尚学堂数据库讲解视频教程 服务器盖房子我的世界 知网数据库管理员
0