大话软件供应链攻击
The following article is from 虫洞小窝 Author 哈梅斯
公众号现在只对常读和星标的公众号才展示大图推送,
建议大家把听风安全设为星标,否则可能就看不到啦!
----------------------------------------------------------------------
0x01 何为软件供应链攻击
从今年大型红蓝对抗活动来看,供应链攻击已经成为红队突破目标最主流的方式之一了。
举个例子,你的源代码将存储在私有的Git仓库中,这可能是你的基础设施的一部分,也可能是供应商提供的 SaaS,还有编译器工具、基础容器镜像仓库等。而一些依赖项则托管在公开的代码库中,如 Docker Hub 或 Quay.io,可能会受到损坏。此外,我们也将我们的应用程序作为容器镜像发布在公开的代码仓库中。
那么,在供应链中其中一些组件在你的保护之下,比如你的私有源代码 git 仓库、应用程序代码本身以及最终生产出来的二进制文件或容器镜像。但许多其他的组件或服务是公开的服务和资源,或是由其他公司提供的,完全不在你的掌控范围之内。
所以软件供应链攻击可以直接瞄准你的软件,或它可以瞄准任意上游组件(比如外部的依赖项或第三方服务),进而你会成为受害者,要么直接遭受攻击,要么成为提供受损资源的供应商。
这种防不胜防的攻击思路其实很早就有。例如以下案例
0x02 攻防演练中的软件供应链攻击
在攻防演练中,常常会出现通过软件供应链攻击从而拿下目标的案例,攻击队为了在短时间内拿下目标,主要会采用以下3种手法对供应链进行攻击:
1.获取源码
收集目标站点的供应商信息,通过攻击供应商或同源码站点获取目标系统源码,进行代码审计,最终获取目标权限
2.获取运维人员权限
由于企业内网中有许多供应商提供的系统,当没有供应商的驻场人员时,企业往往需要通过提供内网远程接入方式给供应商进行运维。
这时,攻击者会通过提前信息收集,确认目标企业的重要内网系统供应商,通过攻击供应商的运维人员,获取目标企业的VPN账号或跳板机权限,然后进一步进行内网横向获取目标权限;
3.升级包植入后门
通过信息收集获取目标系统托管在供应商的升级服务器地址,通过攻击获取升级服务器权限,并在升级包中植入后门定向推送到目标系统,进而获取目标系统权限。
典型案例
今年大型红蓝对抗,某国产化办公软件云端官方升级文件被投毒,升级包中包含某云助手软件(远控程序)某云端官方升级文件被投毒为攻击队注册的某云助手软件(远控程序),(进程名为x x x x x_assist_service ,文件名为xxxxx_agent_latest_setup.exe)
0x03 供应链资产和供应商的寻找
如何在攻防演练中定位攻击目标供应商
1.前端js中寻找
有时候,我们可以在前端代码中找到系统的供应商,找到是那家负责开发的
2.网站最下脚的支持地方
有时候我们可以在系统最底端找到对应的供应商
3.指纹识别与空间搜索引擎
某些系统可能无法通过页面确定供应商,但是提取出指纹之后通过搜索引擎有时候能发现其供应链公司的demo测试站,并且通过域名匹配到了该供应商。
4.说明文档处,各类特征
有时候我们可以扫目录,发现网站的说明文档,如doc.html,里面不仅会记录系统接口信息,还会记录系统是哪家开发的从而定位到供应商信息。
5.招投标信息
去找攻击目标的招投标采购公告,会定位到一些供应商信息,去筛选出提供信息技术支持的供应商。
0x04 突破供应链口子(一定要获得授权,否则是违法行为)
1.找代码托管平台
gitlab、Harbor,禅道等系统
可以结合漏洞例如harbor的未授权获取仓库
2.找寻公开库或试用产品
有时候供应商会提供一些公开库,或者试用产品,里面会配有账号密码,从而是个不错的突破口
3.网盘搜索
利用各大公开网盘进行供应商源码所有,偶尔员工会不注意上传这些,甚至有的会上传到github等平台
4.github等信息泄漏
某些网站报错,或者网站目录都很有特征,可以结合搜索引擎以及github去搜索,看看能不能定位到目标源码
5.信息泄漏,例如git源码泄漏漏洞,目录遍历等
当遇到git,svn源码泄漏时候,可进一步尝试了
6.找寻公开仓库
用google hack 语法尝试搜索无需认证即可访问的公开仓库,可以翻看这些仓库找找有无可利用信息
7.利用docker未授权漏洞接管镜像,从而获取源码
有时候我们遇到docker未授权便可以直接接管镜像,执行命令,从而进一步利用
0x05 供应链攻击维度
常规web攻击获取供应商源代码->代码审计->客户系统权限
社工钓鱼商用合作等途径获取源代码->代码审计->客户系统权限
供应链企业信息泄露->获取客户网络入口权限
伪造客户或厂商进行社工->获取系统应用权限
供应链企业内网网络权限->代码库、知识库等->客户源码或客户系统信息
供应链企业内网网络权限->客户系统部署文档或机器->客户vpn或堡垒机->客户内网
0x06 聊聊供应链攻击经典案例
SolarWinds事件分析
SolarWinds 旗下的Orion基础设施管理平台的发布环境遭到 黑客组织入侵,黑客篡改其中某个组件源码,添加了后门代码, 该文件具有合法数字签名会伴随软件更新下发。FireEye称已 在全球多个地区检测到攻击活动,包括北美、欧洲、亚洲和中 东的一些政府、咨询、技术公司。
SolarWinds更新包样本
攻击者在更新包的SolarWinds.Orion.Core.BusinessLayer.dll中插入了一个程序集,即远程控制代码
加载包含后门的dll的程序为SolarWinds.BusinessLayerHost.exe
后门恶意代码实际触发的依赖条件
后门恶意代码实际触发的依赖条件
后门恶意代码连接到攻击者服务器的DGA域名
0x07 总结
从今年的大型红蓝对抗活动来看,以某个国产化办公软件为例的上游供应链投毒案例可以看出,未来大型红蓝对抗活动的红队技战法,供应链攻击将会占据主流,无论是获取供应商源码,还是直接从供应商打入后摸到目标单位,都十分具有威胁性,未来对供应链攻击的防守工作会成为蓝方主要做的事情,也会成为和钓鱼攻击一样主流的突破手段。
觉得内容不错,就点下“赞”和“在看”
如果不想错过新的内容推送可以设为星标