黑客滥用 GitHub 躲避检测并控制失陷主机
编译:代码卫士
ReversingLabs 公司的研究员 Karlo Zanki 在报告中提到,“恶意软件作者偶然将样本部署到多种服务中如 Dropbox、Google Drive、OneDrive和 Discord以托管第二阶段的恶意软件并避开检测工具。但最近我们发现越来越多的攻击者使用 GitHub 开源开发平台来托管恶意软件。”
威胁行动者们利用合法的公共服务来托管恶意软件并作为DDR (Dead Drop Resolver) 来提取真正的C2地址。虽然使用C2的公开来源不会使其免用被下架的风险,但确实使其能够轻松创建低廉可靠的攻击框架。这种技术非常隐蔽,因为它可导致威胁行动者将失陷网络中的真实通信混入恶意网络流量,从而使人无法有效地检测并响应威胁。因此,与 GitHub 仓库通信的受感染端点被标记为可疑状态的几率降低。滥用 GitHub gist 体现了这种趋势。Gist 本身只是仓库,可使开发人员轻松与他人共享代码片段。值得注意的是,公开的 gist 显示在 GitHub 的 Discover 推送中,而机密的 gist 尽管不可通过 Discover 访问,但可通过分享 URL 的方式与他人分享。
GitHub 在文档中提到,“然而,如果你不认识的人发现了这个 URL,那么就能看到你的 gist。如果希望代码远离攻击者,则可能需要创建一个私有仓库。”机密 gist 的另外一个有意思的地方是它们并不会展示在作者的 GitHub 资料页,使得威胁行动者将其利用到某种 pastebin 服务。
ReversingLabs 表示发现了多个 PyPI 包,即 httprequesthub、pyhttpproxifier、libsock、libproxy 和 libsocks5 伪装成处理网络代理的库,但包含一个 Base64 编码 URL 指向托管在被弃用的无任何公开项目的 GitHub 账户中的机密 gist。该 gist 中的 Base64 编码命令通过伪造包中 setup.py 文件中出现的恶意代码在新流程中进行解析和执行。
趋势科技公司曾在2019年在说明分发后门 SLUB 的攻击活动时,提到了使用机密 gist 向失陷主机传播恶意命令。
ReversingLabs 公司观察到的另外一种技术牵涉版本控制系统特性的利用,依赖于 git 提交信息来提取在系统上执行的命令。PyPI 包 easyhttprequest 集成的恶意代码“克隆了来自 GitHub 的某个 git 仓库并检查该仓库的‘head’ 提交中是否包含以特定字符串开头的提交信息。如包含,则会去掉magic字符串并解码余下的 Base64 编码的提交信息,在一个新流程中将其作为 Python 命令进行执行。” 被克隆的 GitHub 仓库时对看似合法的 PySocks 项目的 fork,并不具有任何恶意 git 提交信息。
目前所有的欺诈性包已从 PyPI 仓库中下架。Zanki 表示,“将 GitHub 作为C2 基础设施本身并不新鲜,但滥用多种特性如 Git Gist 和提交信息来传播命令是恶意人员使用的新方式。”
GitHub 上的1.5万个 Go 模块仓库易受 repojacking 攻击
GitHub 严重漏洞导致4000多个仓库易遭repojacking攻击
https://thehackernews.com/2023/12/hackers-abusing-github-to-evade.html
题图:Pexels License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。