我是如何被黑客攻击的:关于恶意 PoC 的警告

主要观点:

  • 深夜在 GitHub 上测试 CVE-2020-35489 的概念验证(PoC)漏洞利用时,因疲劳未检查脚本内容,导致系统被隐藏恶意软件感染,包括 SSH 密钥、敏感数据等被窃取并上传到攻击者控制的仓库。
  • 详细介绍了恶意软件的安装方式(利用 PDF 文件中的嵌入脚本下载并运行恶意文件)、窃取的数据(SSH 密钥、Shell 历史等)、存储位置(Codeberg 仓库)以及如何采取措施控制攻击者的仓库(完全擦除数据、留下消息、验证删除情况、填充垃圾文件等)。
  • 对恶意 PoC 脚本进行了分析,包括原始脚本和去混淆后的恶意代码,揭示其下载安装 Monero 矿工、窃取凭证和设置持久性等恶意行为。
  • 提供了删除恶意软件的步骤,并总结了此次事件的教训,强调不能盲目信任 PoC 漏洞利用,要仔细检查代码,防止被隐藏的恶意软件攻击。

关键信息:

  • 恶意软件通过 PDF 文件中的脚本安装,包括Xsession.sh(主恶意脚本)、xsession.auth(Monero 矿工)、xprintidle(空闲时间检测工具),安装在~/.local/bin/并创建 systemd 服务以确保每次启动时重新启动。
  • 窃取了~/.ssh/中的 SSH 密钥、.bash_history.zsh_history中的 Shell 历史、~/.aws/~/.azure/中的 AWS 和 Azure 凭证、环境变量和系统信息以及主目录中的文件列表等敏感信息,并压缩成.tgz档案上传到 Codeberg 仓库。
  • 采取了一系列措施控制攻击者的仓库,如使用git resetgit push --force完全擦除数据,留下消息告知攻击者,验证仓库已被成功擦除,填充垃圾文件防止攻击者重新使用仓库。
  • 恶意 PoC 脚本最初看似无害,实际包含隐藏恶意功能,去混淆后的代码显示其下载安装 Monero 矿工、窃取敏感数据并设置持久性,还会监测系统活动并杀死自身。

重要细节:

  • 攻击者使用单个 API 令牌存储和访问 stolen 数据,如1a38a34c6d5dbefb112aa73f54824433f80bb704
  • 攻击者在仓库被重置后留下消息,表明其已意识到并将生成新令牌继续攻击,且可能有离线副本的 stolen 数据。
  • 提供了 Indicators of Compromise(IoCs),包括恶意钱包地址、SSH 公共密钥、采矿池、API 端点、恶意 API 令牌和用于存储 stolen 数据的 Codeberg 仓库等信息,还提供了下载 full dump 的链接。
阅读 13
0 条评论