聚焦开源软件供应链安全的美国网络安全初创公司Socket近日披露了一起高度定制化的鱼叉式网络钓鱼攻击行动。黑客利用6个不同的npm账号,上传了至少27个恶意npm包,这些包被用来部署可在浏览器中运行的钓鱼页面,先伪装成企业文件共享流程,再引导用户至仿冒的微软登录界面,以窃取受害者的微软账户凭证。
被黑客锁定的受害者会首先收到钓鱼邮件,主题多为文件共享、询价单或合同资料,邮件内包含一个文件链接,但实际指向npm生态系统的官方内容分发网络(CDN),如unpkg或jsDelivr。点击链接后,页面声称需要先验证身份才能查看文件,随后跳转至伪造的微软登录界面,并已预先填入目标用户的电子邮件地址,以登录超时为由,诱导用户重新登录并输入密码,该凭证随即被发送至黑客控制的服务器。
值得注意的是,这些恶意npm包中直接硬编码了特定目标的电子邮件地址,表明黑客在发动攻击前已事先锁定受害者并量身定制了钓鱼流程。至少有25名目标被锁定,高度集中于制造、工业自动化、塑料与医疗行业中的业务与商务开发人员,主要分布于美国及其盟国,包括中国大陆、奥地利、英国、比利时、加拿大、法国、德国、意大利、瑞典、葡萄牙及西班牙等地。
研究人员分析指出,这些人员平时频繁处理询价单、文件共享及对外联络,说明黑客刻意选择会实际打开邮件的人员下手;同时推测,这些目标人员的资料很可能是因参加展会而泄露。
Socket指出,与一般恶意包不同,此次攻击并不要求受害者实际安装npm包,其真正目的在于将npm及其官方CDN重新用作钓鱼页面的托管基础设施。此举不仅更不易被企业安全设备拦截,也能在无需安装任何程序的情况下降低受害者的戒心;即使包被下架,攻击者仍可快速更换账号与包名,持续发起攻击。