Windows权限维持-辅助功能

辅助功能替换中需要注意的问题

Posted by hmoytx on December 4, 2019

Windows权限维持-辅助功能

简介

为了使电脑更易于使用与访问,windows添加一些辅助功能,这些辅助功能可以在用户登陆前通过组合键触发,这使得攻击者可以通过远程桌面,不登陆就执行恶意命令。
常见的辅助功能:
粘滞键 5下shift 有名的shift后门
设置中心 win+U
其他还有放大镜/屏幕键盘等

问题

这里就简单的测试几个功能,实现即可,原理比较简单,不多说了,替换就完事了。
这是设置中心的程序路径。
191204_1
不过有些需要注意的点:
在老版本的操作系统(vista前)可以直接替换文件去完成劫持,在之后的版本中,文件受系统保护,不能直接替换。
191204_2

token窃取强行替换

这时候的解决办法有两种,一是获取更高的权限,利用token获得TrustedInstaller权限。
这里贴一篇文章可以去看看,我只介绍一个实例。
https://tyranidslair.blogspot.nl/2017/08/the-art-of-becoming-trustedinstaller.html
启动TrustedInstaller服务会启动进程TrustedInstaller.exe,位置为C:\Windows\servicing\TrustedInstaller.exe,查看该程序权限:

powershell查看
Get-Acl -Path C:\Windows\servicing\TrustedInstaller.exe |select Owne

191204_3
然后就用incognito.exe这个工具去窃取这个token,以最高权限去修改这个文件即可。
这里这个方法不是重点,就不演示了,具体关于权限切换的我会抽空再好好总结下,有兴趣的可以去看看三好学生师傅(巨佬)的文章,总结的很详细。

镜像劫持

镜像劫持,当目标程序被劫持时,运行,系统会转而运行劫持程序,并不会运行目标程序。 造成映像劫持的原因在于参数「Debugger」,它是IFEO里第一个被处理的参数,系统如果发现某个程序文件在IFEO列表中,它就会首先来读取 Debugger 参数,如果该参数不为空,系统则会把 Debugger 参数里指定的程序文件名作为用户试图启动的程序执行请求来处理,而仅仅把用户试图启动的程序作为 Debugger 参数里指定的程序文件名的参数发送过去。 参数「Debugger」本来是为了让程序员能够通过双击程序文件直接进入调试器里调试自己的程序,但是我们可以用来进行权限维持。
实现很简单,修改注册表,在「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Option」中添加utilman.exe项,在此项中添加 debugger 键,键值为要启动的程序路径。
191204_4
然后切换成登录页面win+U。
19
本来是写了个messagebox的,报错了,但是不影响。。。可以看到是被劫持替换了的就可以了。

总结

你能想到的别人也能想到,动注册表,肯定是会被监控的,所以这个方法其实我觉得并没那么好用,只是很经典,维持权限里面必定要提到的,所以再重新学习了一下,发现能学到了更多。
好了水完了。