摘要:近期,火绒工程师在日常监测安全动态时发现一起利用AI编程工具政策漏洞实施攻击的安全事件。事件起因于AI编程工具Cursor推出的“学生教育一年免费计划”,该计划明确将中国大陆地区用户排除在外,其前端地域校验机制又曾存在技术漏洞,因此这一情况迅速被不法分子所利用
近期,火绒工程师在日常监测安全动态时发现一起利用AI编程工具政策漏洞实施攻击的安全事件。事件起因于AI编程工具Cursor推出的“学生教育一年免费计划”,该计划明确将中国大陆地区用户排除在外,其前端地域校验机制又曾存在技术漏洞,因此这一情况迅速被不法分子所利用,在GitHub等平台上涌现了大量所谓的“Cursor教育认证绕过工具”。值得警惕的是,其中部分传播的工具表面上声称可以帮助用户绕过地域限制,从而获取教育优惠,但实际上却暗藏恶意代码,目前已形成一套完整的攻击链条。
在此提醒广大用户,一定要通过官方渠道获取Cursor服务,切勿使用来源不明的程序,以免导致账号被盗或数据泄露,目前,火绒安全产品可对上述病毒进行拦截查杀,建议广大用户及时更新病毒库以提高防御能力。
Cursor是一款AI驱动的集成开发环境(IDE),它将传统IDE的功能与先进的AI技术相结合,简化了现代软件的开发流程,也为开发者提供了智能化编程体验。
然而,Cursor教育认证机制的前端曾存在验证逻辑漏洞,部分非目标用户试图通过技术手段绕过认证限制。这种“薅羊毛”心理被黑客所利用——在GitHub、技术论坛等平台发布“Cursor教育版破解工具”“免费激活码生成器”等诱饵,将此类用户锁定为新的攻击目标。
前端验证
此次投毒Github项目为:[Cursor-free-student] (https://github.com/ryan20201123/Cursor-free-student)。
真实项目
Github投毒项目
通过对Github投毒活动主页的分析发现,该黑客组织不仅紧跟实时事件(如5月8日的前端验证攻击),还将Magisk(安卓Root隐藏工具)等热门技术项目作为投毒目标。由此可知,该黑客组织主要针对技术人员展开攻击,利用热门项目进行投毒。
Magisk
通过对IOC的溯源以及对其历史攻击手法的深入分析,我们能够确定该黑客组织与RedLine Stealer窃密团伙有着直接的关联。据悉,该团伙此前会利用lua脚本的字节码文件来实施攻击活动。然而,近期他们的攻击策略已转变为直接使用lua脚本文件来进行窃密操作。以下是关于此次病毒攻击的详细分析报告。
攻击方式
流程图
样本起初通过GitHub进行投毒,其木马程序存储在GitHub的Release发布页面中,该木马文件由多个文件构成:
lua.exe:lua语言的官方解释器程序,是Windows平台下的可执行文件。lua51.dll:lua5.1版本的动态链接库,主要为lua运行时提供支持(lua 5.1版本)。Launcher.cmd:批处理调用lua.exe并传入脚本(通常是cli.txt)。cli.txt:lua脚本文件。Github
lua文件
cli.txt文件中存储了大量lua脚本文件,这些文件经过混淆处理后,代码量已达数万行。
混淆代码
通过AST对其进行解混淆、结构还原与重命名以及重构相关控制流。
解混淆
该lua脚本使用了大量的字符串混淆技术,包括十六进制字符串及Base64加密。当程序运行时,它首先会将自身复制到C:\Users\Admin\AppData\Local\ODE3中。
字符串
启动目录
攻击者通过schtasks创建持久化计划任务,进而执行ODE3.exe,具体配置如下:
执行程序:%SystemRoot%\ODE3.exe参数文件:cli.txt触发机制:每日12:00定时执行。注册表路径:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\创建计划任务
计划任务
随后从https://github.com/tym884/test中拉取恶意代码:
恶意网址
Github恶意代码
其中,ss64.txt对应64位系统的恶意代码,ss86.txt对应32位系统的恶意代码。
Github恶意代码 ss86.txt
从Github上拉取恶意代码后,通过内存加载恶意代码的方式执行,具体步骤如下:
1.通过PEB获取Kernel32地址。
2.采用TEA对称加解密算法进行解密。
3.修改内存属性执行解密后的恶意代码。
TEA解密算法
执行二阶段代码
在第二阶段,恶意代码首先使用LZSS解压算法对自身进行解压,然后通过修改内存属性来进行跳转执行。
主逻辑
解压流程
LZSS解压算法如下。
LZSS解压算法
解压后的恶意代码会跳转到第三阶段的入口,然后继续跳转并执行main1函数。
跳转入口
在main1函数的开头,恶意代码首先修复重定位表,之后通过修复IAT表的方式进行内存加载PE,并通过回调执行fn_main2函数。
内存加载PE
随后通过chacha20算法对其进行解密,可以看到IOC为217.119.129.101。
在当前系统中获取相关进程Token,并返回其对应的进程ID。
获取相关进程Token
之后通过天堂之门将自身注入到svchost.exe进程中。
天堂之门
通过对其进行dump可以看到相关系统调用号。
syscall
其注入流程如下。
通过对其注入模式中的early.x64以及后续注入的窃密模块分析,可以发现它们与之前文章中描述的内容相同。具体的细节可以参考我们之前发布的病毒分析报告:“信息盗取的隐性威胁:Rhadamanthys木马无痕窃密”。
C&C:
HASH:
来源:小白睡不醒鸭