
pysap v0.2.0
pysap は、SAP の NI、Diag、Enqueue、Router、MS、SNC、IGS、RFC、HDB プロトコルを使用してパケットを作成および送信するためのモジュールを提供するオープンソースの Python ライブラリです。
pysap - SAPのネットワークプロトコルのパケットを作成するためのPythonライブラリ
バージョン 0.2.1.dev0 (開発中)
概要
SAP Netweaver と SAP HANA は、SAPビジネスアプリケーションを構築・統合するためのテクノロジープラットフォームです。コンポーネント間の通信にはさまざまなネットワークプロトコルが使用され、一部のサービスやツールは独自のファイル形式も利用します。それらの一部は標準的でよく知られたプロトコルですが、その他は独自仕様であり、一般に公開された情報は通常入手できません。
pysap は、SAPの NI、Diag、Enqueue、Router、
MS、SNC、IGS、RFC、NWRFC、HDB プロトコルを使用したパケットの作成と送信のためのモジュールを提供するオープンソースのPythonライブラリです。さらに、さまざまな独自ファイル形式の作成および解析のサポートも含まれています。モジュールは Scapy の上に構築されており、さまざまなプロトコル、ファイル形式、サービスの調査で得られた情報に基づいています。
機能
-
以下のネットワークプロトコルの解析と作成:
- SAP Network Interface (
NI) - SAP
Diag - SAP
Enqueue - SAP
Router - SAP Message Server (
MS) - SAP Secure Network Connection (
SNC) - SAP Internet Graphic Server (
IGS) - SAP Remote Function Call (
RFC) - SAP Netweaver RFC SDK (
NWRFC) - SAP HANA SQL Command Network (
HDB)
- SAP Network Interface (
-
以下のファイル形式を扱うためのクライアントインターフェース:
- SAP
SARarchive files - SAP Personal Security Environment (
PSE) ファイル - SAP SSO Credential (
Credv2) ファイル - SAP Secure Storage in File System (
SSFS) ファイル
- SAP
-
SAPの
LZHおよびLZC圧縮アルゴリズムを実装したライブラリ。 -
SAPのアルゴリズムによるペイロードの自動圧縮/解凍。
-
一部のプロトコル向けに実装されたクライアント、プロキシ、サーバークラス。
-
SAPアーカイブ、PSE、Credv2、SSFSファイルをオフラインで操作するためのコマンドラインツール。
-
さまざまなモジュールとプロトコルの使用方法を示すサンプルスクリプト。
インストール
pysap をインストールするには、次のコマンドを実行するだけです:
$ python3 -m pip install pysap
pysap には Python 3.10 以降が必要です。
ロードマップ
Python 3 プロジェクト
長い時間と素晴らしいコミュニティの努力を経て、プロジェクトはPython 3に移植されたばかりです。 プロジェクトは現在Python 3で動作しますが、より多くの機能がテスト・評価されるにつれて、まだバグが発生することが予想されます。コミュニティによるテスト支援は大いに歓迎します。
さらに、静的型付け、ネイティブな並行処理など、最近のPython 3の機能の一部はまだ完全には適応されていません。
今後の取り組み
- 全体的なバグ修正
- ユニットテストのカバレッジ向上
- 静的型付けやその他のPython 3.10+機能の組み込み
- プロトコルの完全性 (例:
NWRFC、RFC、Diag、HDB) - SAPネイティブツール (例:
genpse、dpmon、gwmon) を模した、より安定したツールの作成 honeysapや SAP 攻撃面モニタリングなど、依存する OWASP プロジェクトの更新
ドキュメント
ドキュメントは Read the Docs で入手できます。
開発ドキュメントには、docs/dev/testing.rst に短いテストガイドが含まれています。ユニットテストと統合テストのスイート、テストハーネス、推奨される tox および pytest コマンドについて説明しています。
ライセンス
このライブラリはGPLv2ライセンスの下で配布されています。詳細については COPYING ファイルを参照してください。
作者
このツールは、多くの貢献者の助けを借りて、SecureAuth's Innovation Labs チームで勤務中に Martin Gallo によって最初に設計・開発されました。その後、コードは2022年10月にSecureAuthから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 Security Team
- Vincent Berg
- Waseem Ajrab (@default-eshu)
- @randomstr1ng
- Tyrox (@DominikHolzapfel)
- Hackbarth
免責事項
このオープンソースイニシアチブの精神は、セキュリティ研究者とコミュニティが、ネットワークプロトコルとスタックの実装に関連する研究および教育活動を迅速化するのを支援することです。
このリポジトリの情報は研究および教育目的のみであり、本番環境や商用製品の一部として使用することを意図したものではありません。
このツールまたはその一部を自分の用途で使用したい場合は、適切なセキュリティ開発ライフサイクルとセキュアコーディングの実践を適用し、ニーズに応じて関連する侵害指標を生成・追跡することをお勧めします。
お問い合わせ
バグの報告、パッチの送信、またはこのパッケージに関する提案がある場合は、OWASP CBAS' project leaders までご連絡ください。
セキュリティ関連の質問については、セキュリティポリシー を確認してください。