Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

admin 2025年1月9日21:40:53评论78 views字数 2766阅读9分13秒阅读模式

事件概述 

    2024年10月10号,攻击者注册名为0xjiefeng的Github账号,fork各类安全工具项目,伪造国内某公司安全研究员。

    2024年10月21日,0xjiefeng账号发布Cobalt Strike工具的CVE-2024-35250-BOF提权插件钓鱼项目,针对国内安全研究人员进行攻击。

    目前,攻击者已删除CVE-2024-35250-BOF仓库,但钓鱼项目已被国内其他Github用户fork,部分fork仓库还未删除。

    微步在线根据钓鱼项目中所执行的payload进行样本分析,最终将此次定向钓鱼攻击事件归因为东南亚APT组织“海莲花”。

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

钓鱼项目分析

根据微软文档可知,.suo文件为解决方案用户选项文件,内部包含每个用户的解决方案选项。.suo是一种结构化以二进制格式存储的文件,其文件结构未公开。

简单来说,可以将用户信息保存到流中,流的名称对应.suo文件中的键,在Visual Studio 保存解决方案时自动创建。

可以利用Structured Storage Viewer工具,打开.suo文件分析数据。在VsToolboxService流中发现明显可疑的反序列化数据。

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

解开序列化数据后,发现存在base64编码的payload,序列化数据被内存加载后,首先base64解码Array,并实例化oizxcvhui类。

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

payload解码后为.NET程序,主要功能为释放下一阶段payload。

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

释放两个文件到以下目录:

C:UsersPublicTTDIndexerX86TraceIndexer.exeC:UsersPublicTTDIndexerX86TTDReplay.dll

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

设置自启动注册表:SoftwareMicrosoftWindowsCurrentVersionRun

注册表项:TTDIndexerX86

注册表值:TraceIndexer.exe ttd.tmp

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

TraceIndexer.exe带有签名,启动参数TraceIndexer.exe ttd.tmp

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

导入2个函数,使用白加黑方式加载TTDReplay.dll。Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

TTDReplay.dll导出函数:

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

利用Notion的api进行通信,通过工作区笔记内容,实现命令执行。Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

通信的Notion API:

https://api.notion.com/v1/blocks/11f5edabab70805fb7ebe2a462f4b7c0/childrenWindows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

恶意.suo文件利用分析

2年前国外安全研究员,曾对Visual Studio项目恶意利用做过分析。使用Visual Studio代码项目进行钓鱼攻击,不是一个新技术点。

2021年初,Lazarus组织也曾针对安全研究人员的攻击活动中,使用一种特殊的技术。

攻击者在Visual Studio项目文件中嵌入恶意命令,允许在编译项目时执行恶意代码。

https://blog.google/threat-analysis-group/new-campaign-targeting-security-researchers/

此次海莲花组织针对安全研究人员的定向钓鱼攻击事件中利用.suo文件解析的反序列化漏洞。

微软官方表示打开Visual Studio项目本身就是一种不安全的操作,这不是一个安全问题。

https://devblogs.microsoft.com/visualstudio/improving-developer-security-with-visual-studio-2022/

利用.suo文件进行钓鱼攻击的几点优势:

  • .suo文件默认隐藏,以二进制形式存储

  • 恶意代码经过序列化

  • 打开.sln项目时立即运行,过程0点击

  • 关闭Visual Studio时.suo文件自动重新保存,恶意代码会被清除

  • .suo文件解析的反序列化漏洞,永远都不会被修复

根据国外分析文章可知,在Microsoft.Visual.dll定位LoadOptions方法中,打开流stream数据,作为BinaryFormatter类型,调用Deserialize函数获取反序列化数据,由于stream数据可控,精心构造BinaryFormatter类型的序列化数据,可实现任意代码执行。

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

  意.suo生成

首先利用VS创建正常的.suo文件,打开VS视图-工具箱,保存解决方案。

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

创建具备VsToolboxService的正常.suo文件。

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

利用ysoserial.net工具生成序列化payload,再利用OpenMCDF库,设置原.suo文件VsToolboxService流的序列化数据。

CompoundFilecf=newCompoundFile(in_suo_file);cf.RootStorage.GetStream("VsToolboxService").SetData(result);cf.SaveAs(out_file);cf.Close();

生成的恶意.suo文件:

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

替换项目.vs文件目录下的.suo文件,打开项目后恶意代码将自动执行。

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

防护措施

谨慎打开下载的VS项目,仔细检查,删除.vs隐藏文件目录;

取消勾选,跳过对临时位置的信任检查;https://devblogs.microsoft.com/visualstudio/improving-developer-security-with-visual-studio-2022/

Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

Reference

https://www.ctfiot.com/go/?url=aHR0cHM6Ly9naXRodWIuY29tL2NqbTAwbi9FdmlsU2xu

https://devblogs.microsoft.com/visualstudio/improving-developer-security-with-visual-studio-2022/

https://learn.microsoft.com/en-us/visualstudio/extensibility/internals/solution-user-options-dot-suo-file?view=vs-2022

https://github.com/ironfede/openmcdf

https://github.com/drewnoakes/suo

https://github.com/th0mmm/evilsln_example

https://www.outflank.nl/blog/2023/03/28/attacking-visual-studio-for-initial-access/

原文始发于微信公众号(TahirSec):Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月9日21:40:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Windows | 利用VS项目.suo文件的定向钓鱼攻击事件分析https://cn-sec.com/archives/3612300.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息