从去年底的SolArcWfnds到2021年四月初的XcodeSpy后门、PHP仓库黑黑的篡改源码等事件爆发得越来越频繁,而最近的护网活动给我的感觉就是,每年护网都会有一些趋势变化中的亮点,比如刚开始大家都多用1day,多用1day,多用1day,多用些脑洞钓鱼,多用物理社工,多用0day等等,到了这两年,就出现了一些针对各类安全厂商防护、边界设备的趋势,这一趋势的变化也很正常,红队的防御性也变得越来越强,蓝队的防御性也变得越来越强,红队的防御性也变得越来越强,从2021年开始,0day的防御性也变得越来越强,而0day的防御性也变得越来越强,而这一点也是很正常的,红队的防御性也变得越来越强,蓝队的防御性也变得越来越强,蓝队的防御性也变得越来越强,红队的防御性也变得越来越强,红队的防御性也变得越来越强。从红队的角度来说,希望能不断寻找一些防守方不变的东西从而稳定攻击,而甲方护网前不断增加部署新的防护装备就是一个不变的战略,用自己的盾牌攻击自己。
再加上现在护网蓝队也要反制到红队主机才能得分,然后再来一次定向供应链攻击我猜下一次可能会成为双方比较青睐的反攻击手段。PyPI仓库投毒,0x02供应链攻击。什么是供应链攻击?
SurpplyChainAttack(SecuritiesAttack)是一种防御攻击方法,很难完美地规避,因为现在的软件工程,各种包/模块的依赖经常发生,开发人员也很难做到一一检查,并且默认地过于信任市场上流通的包管理器,这就导致供应链攻击几乎已成为必选攻击之一。将这类攻击称为供应链攻击,是为了形象地说明这类攻击是一种依赖性攻击,一个链,任何感染都会导致链后面的所有链出现问题。
由于其隐蔽性强,影响范围广,投入产出比高,供应链攻击通常在三个阶段植入恶意木马,即开发阶段(IDE编辑器,预留后门等),如2021年-SolArcWfnds官方被黑事件,交付阶段(下载站,Git仓库网站等,如2021年-PHP仓库被黑事件),使用阶段(升级劫持,官方云控制等,如2018年-DriveBridger升级劫持木马事件);与我们平常工作相关的这三个阶段大致是在开发阶段,需要使用一些开放源码组件、依赖环境等等,通常获取这些依赖模块会下载集成环境或某些第三方软件包平台,如NPM、PyPI和RubyGems等,如果这些平台提供的软件包或模块有问题,那么可能是代码行未被写入,病毒已入,下面以Pypi仓库为例,站在攻防两个角度来看,开发阶段仓库的供应链攻击。
PyPI仓库内的投毒设备。PyPI是Python的第三方软件包管理工具平台,所有的开发者都可以发布他们自己制作的模块包,如果攻击者上传一些伪装恶意模块包,并使用一些带有迷惑人的名字(如L和1,0和o,以及一些大小写名称等等)、用户习惯类似于易敲错的名字(如requests和request,pysmb和smb等)或一些官方内部抢注的模块包,那么开发者就会不慎敲错即被中伤;通常这些伪造的模块包仍然符合最初的软件包功能,加上用户对官方源的信任,因此很难被发现。