RegSetValueExA(hKey, "Debugger", 0, REG_SZ, (BYTE*)path, (1 + ::lstrlenA(path)));
return 0;}
int main(){
test();
return 0;}
恶意程序运行后,注册表中chrome.exe新增键值对Debugger=“C:WINDOWSSystem32calc.exe”
文章插图
注册表项遭到修改后,双击运行chrome运行,本该打开网页却打开了计算器程序,因为系统优先执行了”C:WINDOWSSystem32calc.exe” 。造成了镜像劫持攻击 。
文章插图
04
【基于辅助功能的镜像劫持攻击原理】基于辅助功能实现镜像劫持原理及实现
安全从业者不应轻视任何一种漏洞,因为当不同的漏洞结合到一起时很有可能产生1+1>2的效果 。这一点在辅助功能和镜像劫持身上很好的体现了出来 。
之前我们提过辅助功能是执行系统命令,并且允许用户在未登录的情况下运行,那么当我们使用镜像劫持攻击,更改了这些指令在注册表IFEO中的键值就可能造成攻击者不需要登陆系统即可运行某些恶意软件 。
原理:
修改注册表,在“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Option”中添加Utilman.exe项,在此项中添加debugger键,键值为启动cmd的命令C:WINDOWSSystem32cmd.exe 。
当攻击者通过远程桌面协议连接到受害者电脑上时,只需使用组合键win+u,本应该打开的设置中心,最终却打开了cmd命令行,通过命令行可以添加用户、打开注册表、运行恶意软件、添加隐蔽后门等等一些列攻击手段,严重性不言而喻 。
复现:
在注册表中新增Utilman.exe表项,添加键值对Debugger=“C:WINDOWSSystem32cmd.exe”
文章插图
在登陆页面上运行win + u,在无需登录的情况下就打开了cmd命令框 。
文章插图
05
防御和清除手段
1、由于此类攻击的恶意代码要修改Image File Execution Options,首先要有权限才可读写,于是,我们可以通过限制用户对该注册表的读写权限,来阻止镜像劫持 。打开注册表编辑器,定位到HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionImageFileExecutionOptions,选中该项,右键→权限→高级,取消administrator和system用户的写权限即可 。
2、由于镜像劫持需要在注册表中添加辅助功能的表项,所以检查“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Option”注册表路径下的程序名称,一些常用的辅助功能表项如:Utilman.exe,stch.exe,osk.exe等等 。
3、基于零信任的理念,对于有可能有安全隐患的不必要表项可以选择删除,直接禁用辅助功能即可 。打开注册表编辑器,定位到HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersion,把“ImageFileExecutionOptions”项删除 。
推荐阅读
- 微信的这些“搜索”功能,你都懂了吗?
- 手机自带的p图功能,轻松消除多余物体
- carplay是什么功能
- 微信只清空聊天记录,和没删一样?打开新功能,能清理几个G垃圾
- MIUI13是真的不错,这些功能你用过没有
- 详解Redis慢查询功能--快速定位性能瓶颈
- 主板芯片功能名词解释
- 基于token机制鉴权架构
- 旧手机成功能完善行车记录仪
- iOS 系统隐藏的五个实用功能