版本 0.2.2.dev0(开发中)
SAP Netweaver 和 SAP HANA 是用于构建和集成 SAP 业务应用程序的技术平台。组件之间的通信使用不同的网络协议,一些服务和工具还使用自定义文件格式。虽然其中一些是标准且众所周知的协议,但其他一些是专有协议,公开信息通常不可用。
pysap 是一个开源 Python 库,提供用于构造和发送使用 SAP 的 NI、Diag、Enqueue、Router、MS、SNC、IGS、RFC、NWRFC 和 HDB 协议的数据包的模块。此外,还包含对创建和解析不同专有文件格式的支持。这些模块构建在 Scapy 之上,并基于在研究不同协议、文件格式和服务时获取的信息。
对以下网络协议进行解析和构造:
NI)DiagEnqueueRouterMS)SNC)IGS)RFC)NWRFC)HDB)用于处理以下文件格式的客户端接口:
SAR 归档文件PSE)文件Credv2)文件SSFS)文件实现 SAP 的 LZH 和 LZC 压缩算法的库。
使用 SAP 算法自动压缩/解压缩有效载荷。
为部分协议实现的客户端、代理和服务器类。
用于离线处理 SAP 归档、PSE、Credv2 和 SSFS 文件的命令行工具。
用于演示不同模块和协议用法的示例脚本。
要安装 pysap,只需运行:
$ python3 -m pip install pysap
pysap 需要 Python 3.10 或更高版本。
经过长时间的努力以及社区的鼎力支持,该项目刚刚移植到 Python 3。项目现在可在 Python 3 上运行,但随着更多功能被测试和评估,预计仍会出现错误。非常感谢社区提供的测试支持。
此外,一些较新的 Python 3 特性尚未完全适配,例如静态类型、原生并发等。
NWRFC、RFC、Diag、HDB)genpse、dpmon、gwmon)honeysap 和 SAP 攻击面监控文档可在 Read the Docs 上获取。
开发文档包含一份简短的测试指南,位于
docs/dev/testing.rst。其中描述了单元测试和集成测试套件、测试框架,以及推荐的 tox 和 pytest 命令。
本库在 GPLv2 许可证下分发。查看 COPYING 文件了解更多详情。
该工具最初由 Martin Gallo 在 SecureAuth 创新实验室团队工作期间设计并开发,并得到了许多贡献者的帮助。随后,SecureAuth 于 2022 年 10 月将代码贡献给 OWASP CBAS 项目。
以下人员做出了贡献:Florian Grunow(@0x79)、 Scott Walsh(@invisiblethreat)、Joris van de Vis(@jvis)、Victor Portal Gonzalez、Dmitry Yudin (@ret5et)、Hans-Christian Esperer (@hce)、Vahagn Vardanyan (@vah13)、Mathieu Geli (@gelim)、Yvan Genuer (@iggy38)、Malte Heinzelmann (@hnzlmnn)、@codeHorse87、 Albert Zedlitz、@cclauss、 @okuuva、Dmitry Chastuhin (@_chipik)、fabhap、Andreas Hornig、Jennifer Hornig (@gloomicious)、RedRays 安全团队、Vincent Berg、Waseem Ajrab(@default-eshu)、 @randomstr1ng、Tyrox (@DominikHolzapfel)、Hackbarth 和 Timm Lippert(@Tmm)。
这一开源倡议的精神是帮助安全研究人员和社区加快与网络协议和协议栈实现相关的研究和教育活动。
本仓库中的信息仅供研究和教育目的使用,不适用于生产环境和/或作为商业产品的一部分使用。
如果您希望将本工具或其部分内容用于自己的用途,我们建议应用适当的安全开发生命周期和安全编码实践,并根据您的需求生成和跟踪相应的入侵指标。
无论您是想报告错误、发送补丁,还是对本软件包提出建议,都可以给 OWASP CBAS 项目负责人留言。
有关安全问题,请查看我们的安全政策。