分析GitHub窃密木马

admin 2024年3月26日00:09:55评论8 views字数 2404阅读8分0秒阅读模式

分析GitHub窃密木马

关键词

木马攻击

1 概览

近期,安天CERT监测到通过GitHub传播窃密木马的攻击活动。攻击者在其发布项目的环境依赖文件requirements.txt中添加恶意URL,以获取其恶意篡改的流行开源模块,从而在受害者电脑中植入窃密木马。

攻击者使用空格将恶意代码掩藏在该行代码的末尾,以避免被用户察觉;并使用多种手段对恶意代码进行混淆处理,以规避安全产品检测、阻碍安全人员分析。经过多层脚本载荷的传递后,将执行一种由Python编写的窃密木马。该窃密木马会在受害主机中窃取浏览器、社交平台、加密货币钱包、游戏客户端中的敏感信息,并针对目标路径中匹配关键词的文件夹及文件进行窃取,最终将窃密数据回传至C2服务器或上传至文件共享平台Gofile中。

在此次攻击活动中,攻击者在自己发布的项目中引入经过恶意篡改的流行开源模块,从而传播窃密木马。对流行的开源项目进行篡改,在其中添加恶意代码后重新打包并在发布的项目中进行恶意引用,已经成为一种攻击方式,用户很难察觉环境依赖文件中是否存在异常。用户在使用网络中非流行、未证实安全性的开源项目时也需保持警惕,以避免执行掩藏在其中的恶意代码。

2 技术梳理

攻击者在GitHub中上传项目,并在环境依赖文件requirements.txt中添加恶意URL。当用户使用该项目时,需要根据该文件中的内容进行配置,从而下载执行经过攻击者恶意篡改的colorama模块。

攻击者添加的恶意代码用于从其服务器中获取“version”文件,该文件使用Fernet算法进行加解密,执行后获取“inj”文件并写入临时文件中;“inj”文件经过混淆处理,通过zlib对代码进行解压;解压后的代码用于获取最终的窃密木马,通过注册表实现持久化,并向C2服务器回传受害主机的用户名称、IP信息等基本数据。

该窃密木马会窃取指定浏览器、社交平台、加密货币钱包、游戏客户端中的敏感数据,并对目标路径中含有关键词的文件夹中的文件(最多7个)、以及含有关键词且大小小于500000字节(约488KiB)的文件进行窃取。完成窃密行为后,窃密木马通过HTTP POST方式将窃密数据回传至C2服务器中。当第一种回传方式出错时,该窃密木马会将窃取的数据上传至文件共享平台Gofile。

分析GitHub窃密木马

3 关联分析

此次发现的恶意GitHub项目是“Discord-Token-Generator”,最早于2024年1月份创建。

分析GitHub窃密木马

该项目的环境依赖文件requirements.txt中包含一个托管colorama-0.4.6.tar.gz的URL。攻击者对域名进行了伪装,在流行开源模块colorama-0.4.6中添加了恶意代码,并进行重新打包。

分析GitHub窃密木马

根据requirements.txt文件中发现的恶意域名,目前在GitHub中有多个项目引用了经过攻击者恶意篡改的模块,相关账号可能都是由同一批攻击者所创建。

分析GitHub窃密木马

攻击者用于托管载荷的域名于2024年2月份注册,表明这是一起刚开始进行的攻击活动。

分析GitHub窃密木马

在多个恶意GitHub项目中存在攻击者修改requirements.txt文件的痕迹。分析时已无法获取到该URL中的colorama-0.4.3.tar.gz,不能判断该文件是否恶意。

分析GitHub窃密木马

此外,在窃密木马文件中存在多处葡萄牙语痕迹,表明攻击者可能位于葡语系国家或地区。

分析GitHub窃密木马

窃密木马窃取文件的关键词列表中存在几处法语,表明攻击者可能更加针对法语用户。

分析GitHub窃密木马

4 样本分析

4.1 经过攻击者篡改的colorama模块

colorama是一个开源的Python模块,能够提供彩色的终端文本。攻击者在其__init__.py文件中,通过463个空格将恶意代码掩藏在第5行末尾,然后将篡改的colorama模块重新打包并托管于搭建的服务器中。由于__init__.py文件用于定义包的初始化代码,因此当用户导入该包时会自动执行其中的恶意代码。该恶意代码用于从攻击者服务器中接收“version”文件中的内容并执行。

分析GitHub窃密木马

4.2 version

“version”文件中的代码使用Fernet算法,通过攻击者自定义的密钥对代码进行解密,然后对解密的代码进行执行。

分析GitHub窃密木马

解密后的代码访问指定的URL,将“inj”文件内容写入临时文件中,并通过python执行。

分析GitHub窃密木马

4.3 inj

该文件是一个Python脚本,攻击者使用中文、日文对变量及函数等进行命名,并且对代码进行了混淆处理。

分析GitHub窃密木马

攻击者同样通过空格对关键代码进行掩藏,经解混淆处理后发现,该脚本的作用是使用zlib解压出下一阶段的代码并进行执行。

分析GitHub窃密木马

4.4 经过zlib解压的代码

分析GitHub窃密木马

4.5 窃密木马

4.5.1 窃密

经过以上多层载荷的传递,最终将执行一种使用Python编写的窃密木马。其窃密目标如下表所示。分析GitHub窃密木马

该窃密木马也会对目标路径中含有关键词的文件夹中的文件(最多7个)、以及含有关键词且大小小于500000字节(约488KiB)的文件进行窃取。目标路径及关键词如下表所示。

分析GitHub窃密木马

4.5.2 回传

该窃密木马通过HTTP POST将窃取的数据回传至C2服务器中。

分析GitHub窃密木马

当该回传方式出错时,该窃密木马会将窃取的数据上传至文件共享平台Gofile,并将上传后形成的下载链接记录在“loggrab”文件中回传至C2服务器。

分析GitHub窃密木马

5 防护建议

5.1 加强终端文件接收和执行防护

建议企业用户部署专业的终端安全防护产品,对本地新增和启动文件进行实时检测,并周期性进行网内病毒扫描。安天智甲终端安全系列产品(以下简称“智甲”)依托安天自研威胁检测引擎和内核级主动防御能力,可以有效查杀本次发现病毒样本。

智甲可对本地磁盘进行实时监测,对新增文件自动化进行病毒检测,对发现病毒可在其落地时第一时间发送告警并进行处置,避免恶意代码启动。

分析GitHub窃密木马

智甲还为用户提供统一管理平台,管理员可通过平台集中查看网内威胁事件详情,并批量进行处置,提高终端安全运维效率。

分析GitHub窃密木马

6 IoCs

分析GitHub窃密木马

   END  

原文始发于微信公众号(安全圈):【安全圈】 分析GitHub窃密木马

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月26日00:09:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   分析GitHub窃密木马http://cn-sec.com/archives/2602945.html

发表评论

匿名网友 填写信息