[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量

2024-07-10 269 0

By Pablo Artuso , Yvan Genuer iggy [Argentina]

连锁攻击:在SAP企业软件中发现新的远程和根权限访问向量

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图

阶段3

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图1

SAP系统(Systems, Applications, and Products in Data Processing)是一套由德国SAP公司开发的企业管理软件,广泛应用于各类企业进行资源规划和管理。SAP系统包括一系列集成的模块,每个模块都设计用于管理不同的业务功能,如财务、人力资源、制造、供应链、客户关系等。

  • ERP(Enterprise Resource Planning): SAP ERP是SAP系统的核心,提供全面的企业资源规划功能,帮助企业整合和管理各种业务流程。

  • SAP S/4HANA: SAP最新一代的ERP系统,基于内存计算技术HANA,提供实时数据处理和分析能力,大大提高了系统性能和灵活性。

  • SAP Business Suite: 包括SAP ERP、SAP CRM(Customer Relationship Management)、SAP SCM(Supply Chain Management)、SAP SRM(Supplier Relationship Management)等多个模块,帮助企业全面管理业务流程。

  • SAP HANA: 一种高性能的内存数据库,支持实时数据分析和处理,广泛用于大数据分析、业务智能(BI)和物联网(IoT)等应用场景。

  • SAP Cloud Platform: 提供基于云的开发和部署环境,帮助企业快速开发和扩展应用程序。

  • SAP Analytics: 提供各种数据分析和商业智能工具,帮助企业从数据中获得洞察,支持决策制定。

  • SAP Fiori: 一套用户体验设计指南和工具,提供现代化、用户友好的界面,使用户能够更轻松地访问和使用SAP系统功能。

  • SAP Ariba: 一个基于云的商务网络,帮助企业管理采购和供应链流程,优化供应商关系。

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图2

所涉及的少数几个二进制文件在该支持的应用程序中

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图3

两个可执行文件是一个服务,并且作为路由正在运行。

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图4

并且开放了http服务

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图5

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图6

管理员通常可以使用saphostctrl+二进制文件名称 来连接到系统的SAP控件,可以从中调用许多函数。

在图二中演讲者发现存在一个ConfigureOutsideDiscovery方法

当尝试提供一些参数的时候,你会得到与创建配置的相关结果

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图7

通过tcpdump抓取1128端口数据包后,发现请求并没有进行身份验证

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图8

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图9

尝试进行系统命令盲注
CVE-2023-24523

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图10

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图11

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图12

所以当前完成了这一块,但不是绝对的,因为这里至少需要一个基础用户才能执行发送请求进行本地权限提升

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图13

阶段2

协议

(ACP)P4属性协议

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图14

P4是基于RMI核心
该协议目的是促进实例之间的远程对象之间的通信,通常系统每一个接口都会找到P4端口(通常未做安全验证)
P4协议就处于SAP Java NetWeaver层

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图15

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图16

JNDI代表Java的命名目录接口(JNDI是一种将字符串绑定到对象的命名服务),黄色部分为解析器。

归根到底,该服务可以将返回的字符串,通过远程方式使用这些对象。

  • 服务列表

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图17

服务并非都是远程方式公开的

CVE-2021-21481: SAP 反序列化

https://codewhitesec.blogspot.com/2021/06/about-unsuccessful-quest-for.html

周期

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图18

特殊的SAP系统

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图19

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图20

SPA管理器是一个带有java堆栈的子网,并且管理器有P4服务。
所以在整个Jendayi服务中,所拥有的服务很少,但是有几个仅存于子管理器上。
幸运的是smd代理使用的通信协议也是P4

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图21

有趣的是,当SAP管理器发起管理器发出一个子解决方案请求时,所有的smd代理都会接受处理

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图22

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图23

需要提供一个字符串作为java类

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图24

开始模拟运行

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图25

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图26

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图27

SAP管理器可以通过与子管理器的P4协议通信,并且通过smd代理来调用java类

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图28

TOP|
--|
SPA系统|
SMD代理|
存在漏洞的java类|

通过P4协议调用存在漏洞的java类,来让整个攻击完成

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图29

这里可以通过远程命令执行(仅限windows)或者SSRF来进行阶段3中的本地权限提升

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图30

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图31

结合CVE-2023-24523

通过P4协议与smd代理通信->发送payload,代理器触发SSRF->HTTP请求CVE-2023-24523本地权限提升->反向shell

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图32

阶段1

SAP JNDI注入:JEA

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图33

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图34

关键在于redirect函数

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图35

url作为参数,分割前缀和网址以及其他部分,然后使用内存中的映射,将该映射前缀作为键,和对象作为值。

所以它根据前缀在映射中找到对应的对象执行对象中的函数。

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图36

连接器

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图37

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图38

当前缀为pcd时,会发现它执行了一个lookup的函数

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图39

所以可以根据用户提供的参数,来进行查找注入

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图40

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图41

需要找到一些lookup的函数漏洞

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图42

文档强调可通过JNDI引用来利用此漏洞

JNDI引用只是一个对象:例如你可以在我的服务器中提供服务,当你向我的服务器执行lookup查找时候,你就可以获取的文献。当系统尝试恢复该引用的时候,你可以指向一个java类(远程或本地)执行。

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图43

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图44

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图45

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图46

很明显这个漏洞已经在2016存在补丁了

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图47

Pablo Artuso , Yvan Genuer iggy在博客中发现Michael Stepankin写的一篇关于java载入本地class类文章

https://www.veracode.com/blog/research/exploiting-jndi-injections-java

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图48

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图49

java载入本地class类的前提,类必须存在于SAP的类路径中

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图50

Get对象实例的函数,该实例是实际解析引用的函数,当执行查找时候它将进行分析引用

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图51

参数f可由攻击者控制,并且传递给函数findObjectFactory

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图52

第一个:攻击者控制它创建一个类对象
第二个:它创建该类的一个实例,并且将其强制转换为ObjectFactory类

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图53

由上可知,我们必须提供参数是一个factory类,并且可嵌套到ObjectFactory类中

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图54

在函数结束后,值将返回给参数fac,其中可能还存在Get对象实例的函数可以使用

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图55

一定会执行getObjectInstance类

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图56

在某些函数之后它调用一个名为resolveReferenc的函数

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图57

它从参考文献中提取攻击者所控制的appname,判断语句中如果该应用程序名称不为空,则会启动该应用程序

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图58

JNDI引用->指向本地类(给出启动应用程序名称)->解析引用启动应用

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图59

可以通过该漏洞开启一个P4隧道app

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图60

通过这个P4隧道,发送P4流量。并且将以上提及到的漏洞进行加以利用

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图61

阶段1

目标Windows,RCE权限提升:

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图62

SSRF权限提升:

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图63

任意文件读取权限提升(本次实例所使用到的):

[BlackHat][USA][2023] SAP企业软件中发现新的远程和根权限访问向量插图64

白皮书细节:

https://i.blackhat.com/BH-US-23/Presentations/US-23-Genuer-chained-to-hit-discovering-new-vectors-to-gain-remote-and-root-access-in-sap-enterprise-software-wp.pdf?_gl=1*wjjryd*_gcl_au*NjAzMzk0OTQ1LjE3MTk2NzcyMTU.*_ga*MTUwNzI2ODQzMi4xNzE5Njc3MjE2*_ga_K4JK67TFYV*MTcxOTgwOTU2NS4zLjAuMTcxOTgwOTU2NS4wLjAuMA..&_ga=2.267295565.213268773.1719809566-1507268432.1719677216


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

webpack打包站点,js文件名批量获取思路
加密对抗靶场enctypt——labs通关
【论文速读】| 注意力是实现基于大语言模型的代码漏洞定位的关键
蓝队技术——Sysmon识别检测宏病毒
内网渗透学习|powershell上线cs
LLM attack中的API调用安全问题及靶场实践

发布评论