
pysap v0.2.0
pysap は、SAP の NI、Diag、Enqueue、Router、MS、SNC、IGS、RFC、HDB プロトコルを使用してパケットを作成および送信するためのモジュールを提供するオープンソースの Python ライブラリです。
pysap - SAPのネットワークプロトコルパケットを作成するためのPythonライブラリ
バージョン 0.2.1
概要
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
SARアーカイブファイル - 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 ファイルを確認してください。
作者
このツールは当初、Martin Galloが SecureAuth's Innovation Labs チームで働いている間に、多くの貢献者の助けを借りて設計および開発しました。その後、コードは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、およびTimm Lippert (@Tmm) による貢献。
免責事項
このオープンソースイニシアチブの精神は、セキュリティ研究者とコミュニティが、ネットワークプロトコルとスタックの実装に関連する研究および教育活動を加速させることを支援することです。
このリポジトリの情報は研究および教育目的のみを対象としており、本番環境での使用や商業製品の一部としての使用を意図したものではありません。
このツールまたはその一部を自身の用途で使用したい場合は、適切なセキュリティ開発ライフサイクルとセキュアコーディングプラクティスを適用し、ニーズに応じてそれぞれの侵害指標を生成および追跡することを推奨します。
お問い合わせ
バグの報告、パッチの送信、またはこのパッケージに関する提案がある場合は、 OWASP CBASのプロジェクトリーダー までご連絡ください。
セキュリティ関連の質問については、セキュリティポリシー をご確認ください。