SAP安全漏洞审计及工具介绍
引言
Mitre Corp 于近期公布了一个存在于SAP NetWeaver AS Java的高危漏洞, 从SAP NetWeaver AS JAVA(LM Configuration Wizard)7.30 至 7.50 版本中具有涉及,潜在的受影响系统包括SAP ERP、CRM、SCM等一系列解决方案,漏洞编号为 CVE-2020-6287,CVSS 评分 10 分;该严重漏洞导致未经身份验证的远程攻击者可以通过创建具有最大特权的新 SAP 用户,绕过所有访问和授权控制,从而完全控制 SAP 系统,还可以更改SAP系统内用户的详细信息(帐号,IBAN等)和读取个人身份信息(PII)等。
关键字: SAP 系统安全、 SAP 用户日志、 SAP 系统监控、 SAP 堡垒机、SAP 审计日志、 SAP 用户行为日志、SAP 业务审计数据
一、背景
Mitre Corp 于近期公布了一个存在于SAP NetWeaver AS Java的高危漏洞, 从SAP NetWeaver AS JAVA(LM Configuration Wizard)7.30 至 7.50 版本中具有涉及,潜在的受影响系统包括SAP ERP、CRM、SCM等一系列解决方案,漏洞编号为 CVE-2020-6287,CVSS 评分 10 分;该严重漏洞导致未经身份验证的远程攻击者可以通过创建具有最大特权的新 SAP 用户,绕过所有访问和授权控制,从而完全控制 SAP 系统,还可以更改SAP系统内用户的详细信息(帐号,IBAN等)和读取个人身份信息(PII)等。 详见 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-6287
基于FOFA-网络空间安全搜索引擎获取的最新数据(一年内数据),查询结果显示中国范围内满足 server=”SAP NetWeaver Application Server” && server=”as java” 条件的系统共有 1402 个相关服务对外开放,位居世界第二位;排名前五的地区,北京使用数量最多有 127 个,江苏、浙江共有 83 个,广东共有 70 个,上海共有61 个,山东共有 25 个。上述开放服务的SAP应用系统可能存在风险,建议将 SAP 对应产品升级至安全版本。详见 https://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=552599675。
二、现状
SAP系统的复杂性和常见的安全故障使许多企业的应用暴露在不可避免的风险中,常见的配置错误和其他错误(其中许多是多年来众所周知的)不断破坏企业SAP环境的安全性。典型的SAP环境由许多自定义代码和定制组件组成,一方面这些组件相互通信,并通过各种API和接口与外部系统进行通信,新的代码和协议与与传统环境相互作用,并继承它们的安全漏洞和缺陷;另一方面,SAP系统需要开发人员不断地对参数文件和系统配置进行更改,以适应新的业务流程,但系统管理员很少了解潜在的安全隐患,这些环境的复杂性使系统充满了安全漏洞。
绝大多数的SAP应用作为企业的核心业务系统,高可用是重点保障目标。管理员常常犹豫不决或不愿意做任何可能破坏可用性的事情,结果就是“SAP系统安全补丁和更新——即使是针对最关键的漏洞”往往很少被快速应用,有时甚至根本不应用。在SAP环境中应用补丁意味着通过DEV、QAS、预生产以及所有其他多个层次来测试并判断其对生产环境的影响,管理员为确保补丁不会破坏现有系统状态或业务流程,通常会导致所需的补丁即使在首次可用后数年也未实施。由于缺乏时效性信息,许多企业很难在现场SAP系统上识别和实现所需的补丁。我们建议,作为SAP系统管理员需要 定期关注SAP漏洞公开站点和数据库,并在SAP One Support Launchpad上订阅资源,以便定期更新补丁信息,做到有备无患。
三、PowerSAP工具介绍
PowerSAP是一款开源的SAP系统漏洞安全审计工具,使用.Net connector ‘NCo’基于RFC的方式连接SAP系统,可重用Bizploit、Metasploit 等框架,支持Python脚本程序。根据该工具作者Sn0rkY的描述,PowerSAP 类似于Metasploit,这款SAP审计工具也是多个PowerShell脚本的集合。
项目Github页面地址 https://github.com/airbus-seclab/powersap PowerSAP的主要功能如下(ps1为工具预制脚本文件):
- Invoke-mgmt-con-soap.ps1:通过SAP管理控制台SOAP接口恢复信息和设置。
- Invoke-READTABLE-via-GEN_PROXY.ps1:通过GEN_PROXY远程功能模块调用REB_NATSQL_SELECT本地功能模块来读取SAP系统的URS02表。
- Invoke-RFC_PING.ps1:调用功能模块RFC_PING以及相关内置功能来对SAP系统进行Ping测试。
- Invoke-RFC_SYSTEM_INFO.ps1:调用功能模块RFC_SYSTEM_INFO,并获取包括内核信息、SAP系统状态以及系统ID等数据。
- Invoke-RFC_bruteforce.ps1:利用凭证信息(例如DDIC、IDEADM、EARLYWATCH和SAPCPIC)调用RFC_PING功能模块,并对SAP RFC协议执行暴力破解攻击。
- Invoke-SXPG_CALL_SYSTEM.ps1:调用SAP系统的SXPG_CALL_SYSTEM远程功能模块,并执行操作系统命令,但目前PowerSAP仅支持少数预定义的SM49命令。
- Invoke-SXPG_STEP_XPG_START.ps1:调用SAP系统的SXPG_STEP_XPG_START远程功能模块,并执行操作系统命令,目前PowerSAP仅支持whoami命令。
PowerSAP的安装方法比较简单,下载 SAP .NCo(SAP Connectorfor Microsoft .NET) https://websmp201.sap-ag.de/public/connectors 和 PowerSAP https://github.com/airbus-seclab/powersap/archive/master.zip 即可,并将 sapnco.dll&sapnco_utils.dll 拷贝到相应的 NCo_x86/NCo_x64 目录,然后在 ..\PowerSAP\Standalone 路径下执行 PS1 脚本(例如,执行Get-NCoVersion.ps1 返回NCo版本 NCoVersion: 3.0.13.0 Patch Level: 525 SAP Release: 720)。 SAP业务系统的安全对于企业的重要性不仅仅是在IT层面,财务团队希望确保其系统和日期的完整性,合规与审计对如何确保持续遵守内部控制、PCI、SOX有兴趣,运营部门希望确保业务连续性,IT安全和网络安全希望防止数据泄……
关于赛锐信息
作为SAP的资深合作伙伴,赛锐信息是一家专业提供SAP行业化管理软件解决方案的顾问公司,致力于为企业提供SAP ERP系统咨询服务、IT规划、业务流程优化、信息系统实施、行业信息系统方案开发,运营外包及售后维护等全面的服务方案。已服务1000+家不同行业、规模的大中小型企业客户。在电子高科技、汽车零部件、印刷包装、医疗器械、快消品、专业服务等行业信息化管理领域具有领导性地位。