事件背景
工商银行(ICBC)是中国最大的商业银行之一,成立于1984年,总部位于北京。作为全球最大的银行之一,ICBC拥有庞大的资产规模和全球业务网络,提供广泛的金融产品和服务,涵盖零售银行、公司银行、金融市场等领域。其国际化业务参与全球金融市场,为客户提供全面的金融解决方案。ICBC在全球银行业排名中一直居于前列,是中国金融体系的重要组成部分,对促进国内外经济发展起着关键作用。
工行旗下的ICBC Financial Services(工行金融服务)在2023年11月8日遭受勒索病毒攻击,导致部分金融服务系统中断,以至于不得不通过U盘手动传递结算信息完成金融交易。
事件过程
2023年10月10日
Citrix Bleed漏洞被披露。
2023年10月25日
AssetNote公布Citrix Bleed漏洞的PoC以及分析。
2023年11月9日
ICBC Financial Services遭受了勒索病毒攻击。
2023年11月10日
网络犯罪组织Lockbit在Tox(一款加密通讯软件)上证实其入侵ICBC Financial Services的行为。
2023年11月13日
Lockbit代表通过Tox告诉路透社ICBC交了赎金,但并未透露赎金金额(TLP RED)。
事件分析
据瑞典网络安全公司 Truesec 创始人 Marcus Murray 表示,此次事件中Lockbit使用的勒索软件为LockBit 3.0。
有关此次入侵手段的消息大多指向CVE-2023-4966(Citrix NetScaler ADC & Citrix NetScaler Gateway信息泄露漏洞),攻击者通过未打补丁的Citrix NetScaler设备进行了入侵。
由于此次事件没有更多细节流出,下面笔者将从漏洞原理以及勒索软件(样本分析见附录)两个方面进行分析。
CVE-2023-4966是Citrix的一个缓冲区溢出漏洞,由于Citrix的开发者对snprintf函数返回值的理解有误,造成了缓冲区越界读取,从而导致了敏感信息(会话Cookie)的泄露。
漏洞位于/netscaler/nsppe二进制文件中,nsppe是NetScaler的数据包处理引擎,它包含完整的 TCP/IP 网络堆栈以及多个 HTTP 服务。在13.1-49.15和13.1-48.47的nsppe对比中,可以发现ns_aaa_oauth_send_openid_config和ns_aaa_oauthrp_send_openid_config执行了额外的边界检查,这些两个函数都分别可以通过/oauth/idp/.well-known/openid-configuration和/oauth/rp/.well-known/openid-configuration进行未经身份验证的访问。
漏洞代码如下:
iVar3 = snprintf(print_temp_rule,0x20000,
"{\"issuer\": \"