社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

安全工具内斗:攻击者如何利用EDR测试版绕过终端防护 | Python隐藏漏洞通过超14.5万个软件包传播

黑白之道 • 2 周前 • 60 次点击  


Part01


EDR测试版可被用于

禁用其他安全产品

网络安全研究人员发现了一种新型攻击手法——攻击者可以滥用终端检测与响应(EDR)软件的免费测试版本来禁用现有安全工具。研究人员Ezra Woods和Mike Manrod将这种现象称为"EDR-on-EDR暴力攻击",并在Medium平台公布了相关发现。

研究人员指出:"总结来说,EDR/AV产品可被用来禁用或拦截现有安全工具、远程控制设备。在某个案例中,我们甚至发现攻击者能够加密整个硬盘。"这种具有讽刺意味的新型攻击向量利用了安全领域一个鲜少被质疑的基本假设:合法的安全工具总是可信的。
Part02


EDR互杀攻击原理

根据研究,攻击者可以在已入侵的系统上以本地管理员权限安装EDR产品的测试版,并将其配置为拦截现有安全工具。Woods和Manrod通过这种方法成功禁用了Cisco Secure Endpoint、CrowdStrike Falcon和Elastic Defend等产品,且不会触发任何警报或生成遥测数据——受攻击终端仅显示为离线状态。

这些被滥用的软件具有有效的数字证书,会被系统识别为合法程序,几乎无法与正常安装的软件区分。在企业环境中,安全团队很难察觉防护措施已被故意破坏。

研究人员在分析中解释:"攻击者只需移除排除项,然后将现有AV/EDR产品的哈希值添加到阻止应用程序列表即可完成攻击。"特别值得注意的是,具有远程监控和管理功能的EDR产品提供了更广泛的滥用可能性。例如,研究人员通过结合使用ESET的EDR产品,成功安装了恶意实例并加密了目标系统的整个硬盘。
Part03

防御建议与测试方法

研究人员强调,虽然这种攻击需要本地管理员权限,但相比BYOVD(自带漏洞驱动)或DLL脱钩等传统EDR绕过技术,其实现复杂度更低。为防范此类攻击,他们建议企业:

  • 部署应用程序控制解决方案,阻止未经授权的安全软件安装
  • 实施自定义攻击指标,检测可疑的EDR安装行为
  • 采用"应用感知"防火墙和安全Web网关,阻止访问安全供应商的未授权门户


Woods和Manrod还在文章中分享了详细的操作指南,帮助安全团队复现和测试这一攻击向量,并建议在隔离系统中进行受控测试。

参考来源:

Wie EDR EDR aushebelt

https://www.csoonline.com/article/4032661/wie-edr-edr-aushebelt.html



新泽西理工学院的一项研究揭露了Python软件包生态系统中潜藏的大规模安全隐患。这项名为"PyPitfall"的研究报告揭示,复杂且深度嵌套的软件包依赖关系正在数千个项目中无声传播已知安全漏洞。

"一个软件包中的漏洞可能通过其依赖关系传播,最终影响下游软件包和应用程序,"研究人员警告称。

Part01

漏洞传播规模惊人


Python作为最流行编程语言的地位,很大程度上得益于PyPI(Python Package Index)托管的海量开源库生态系统。目前PyPI拥有超过62.7万个软件包和600多万个版本,开发者往往在引入功能时并未意识到随之而来的安全隐患。

PyPitfall研究分析了378,573个软件包的依赖关系,发现:

  • 4,655个软件包明确要求安装已知存在漏洞的版本(必然暴露)
  • 141,044个软件包允许安装可能包含漏洞的版本(潜在暴露)

研究团队在定义"必然暴露"时指出:"成功安装这些软件包将不可避免地导致漏洞版本被安装。"


Part02

依赖关系迷宫加剧风险


研究凸显了PyPI生态系统的极端复杂性,包括存在超过20层传递依赖的软件包,以及100多万个循环依赖。典型案例是square-0-5软件包,经过75次递归跳转后竟然依赖于自身,导致pip install命令陷入无限循环。

"依赖链可能极其漫长复杂,单个软件包可能依赖数百个其他组件,形成深不可测的软件供应链迷宫。"

这种深度嵌套的关系往往掩盖了漏洞组件的存在,使其在广泛传播的同时保持隐蔽。


Part03

检测方法与关键发现


研究团队使用Johnnydep工具对PyPI软件包进行模拟安装,在不实际安装的情况下收集依赖树数据。随后将其与67个精选CVE漏洞数据库进行交叉比对,仅关注影响PyPI托管库的漏洞。

这种方法帮助他们在urllib3等广泛使用的软件包中发现严重漏洞——仅该组件就占所有"必然暴露"案例的41.4%。作为Python HTTP栈的核心组件和requests库的依赖项,urllib3的漏洞影响尤为突出:

  • 出现在407,333条依赖链中
  • 引入包括CVE-2024-37891和CVE-2023-43804在内的漏洞
  • 导致1,926个软件包存在必然暴露风险


Part04

核心数据与改进建议


关键数据:

  • 漏洞暴露平均深度:必然暴露4.1层,潜在暴露6.2层
  • Setuptools是被依赖最多的软件包,出现在超700万条依赖链中
  • 检测到1,075,559个循环依赖关系
  • 许多软件包未遵循PEP 440版本规范,导致解析问题

改进建议:

  • 开发能在安装前审计依赖关系的工具
  • 提升开发过程中对传递性漏洞的认知
  • 后续研究应采用更全面的CVE数据集扫描PyPI

研究团队已向Python打包管理局披露发现,强调解决Python开源生态系统这一系统性风险的紧迫性。报告总结称:"我们的发现凸显了提升Python软件供应链安全意识的必要性。"


参考来源:

PyPitfall: Python’s Hidden Vulnerabilities Propagate Through 145K+ Packages

https://securityonline.info/pypitfall-pythons-hidden-vulnerabilities-propagate-through-145k-packages/


文章来源:FreeBuf


黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!

如侵权请私聊我们删文


END


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/185301
 
60 次点击