
pysap v0.2.0
pysap est une bibliothèque Python open source qui fournit des modules pour créer et envoyer des paquets utilisant les protocoles NI, Diag, Enqueue, Router, MS, SNC, IGS, RFC et HDB de SAP.
pysap - Bibliothèque Python pour la construction de paquets des protocoles réseau SAP
Version 0.2.1.dev0 (en développement)
Présentation
SAP Netweaver et SAP HANA sont des plateformes technologiques permettant de créer et d'intégrer des applications métier SAP. La communication entre les composants utilise différents protocoles réseau et certains services et outils utilisent également des formats de fichiers personnalisés. Si certains d'entre eux sont des protocoles standard et bien connus, d'autres sont propriétaires et les informations publiques ne sont généralement pas disponibles.
pysap est une bibliothèque Python open source qui fournit des
modules pour construire et envoyer des paquets utilisant les protocoles NI, Diag, Enqueue, Router,
MS, SNC, IGS, RFC, NWRFC et HDB de SAP. De plus, la prise en charge de la création et de
l'analyse de différents formats de fichiers propriétaires est incluse. Les modules sont construits sur
Scapy et reposent sur des informations acquises lors de la recherche sur les
différents protocoles, formats de fichiers et services.
Fonctionnalités
-
Dissection et construction des protocoles réseau suivants :
- Interface réseau SAP (
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)
- Interface réseau SAP (
-
Interfaces clientes pour la gestion des formats de fichiers suivants :
- Fichiers d'archive
SARSAP - Fichiers SAP Personal Security Environment (
PSE) - Fichiers SAP SSO Credential (
Credv2) - Fichiers SAP Secure Storage in File System (
SSFS)
- Fichiers d'archive
-
Bibliothèque implémentant les algorithmes de compression
LZHetLZCde SAP. -
Compression/décompression automatique des charges utiles avec les algorithmes de SAP.
-
Classes client, proxy et serveur implémentées pour certains des protocoles.
-
Outils en ligne de commande pour le travail hors ligne avec les fichiers d'archive SAP, PSE, Credv2 et SSFS.
-
Scripts d'exemple pour illustrer l'utilisation des différents modules et protocoles.
Installation
Pour installer pysap, exécutez simplement :
$ python3 -m pip install pysap
pysap nécessite Python 3.10 ou plus récent.
Feuille de route
Projet Python 3
Après une longue période et grâce à un formidable effort communautaire, le projet vient d'être porté vers Python 3. Le projet fonctionne désormais sur Python 3, mais des bugs sont encore susceptibles d'apparaître à mesure que davantage de fonctionnalités sont testées et évaluées. Le soutien de la communauté pour les tests est grandement apprécié.
De plus, certaines des capacités récentes de Python 3 ne sont pas encore entièrement adaptées, comme le typage statique, la concurrence native et d'autres.
Efforts supplémentaires
- Correction de bugs partout
- Augmenter la couverture des tests unitaires
- Incorporer le typage statique et d'autres fonctionnalités de Python 3.10+
- Exhaustivité des protocoles (par exemple
NWRFC,RFC,Diag,HDB) - Créer des outils plus stables imitant les outils natifs de SAP (par exemple
genpse,dpmon,gwmon) - Mettre à jour les projets OWASP dépendants tels que
honeysapet la surveillance de la surface d'attaque SAP
Documentation
La documentation est disponible sur Read the Docs.
La documentation de développement comprend un court guide de test dans
docs/dev/testing.rst. Il décrit les suites unitaires et
d'intégration, le harnais de test, ainsi que les commandes tox et pytest
recommandées.
Licence
Cette bibliothèque est distribuée sous la licence GPLv2. Consultez le fichier COPYING pour plus de détails.
Auteurs
L'outil a été initialement conçu et développé par Martin Gallo alors qu'il travaillait au sein de l'équipe SecureAuth's Innovation Labs, avec l'aide de nombreux contributeurs. Le code a ensuite été contribué par SecureAuth au projet OWASP CBAS en octobre 2022.
Contributeurs
Contributions réalisées par :
- 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
Avertissement
L'esprit de cette initiative Open Source est d'aider les chercheurs en sécurité et la communauté à accélérer les activités de recherche et d'éducation liées à l'implémentation des protocoles réseau et des piles protocolaires.
Les informations contenues dans ce dépôt sont uniquement destinées à des fins de recherche et d'éducation et ne sont pas destinées à être utilisées dans des environnements de production et/ou dans le cadre de produits commerciaux.
Si vous souhaitez utiliser cet outil ou une partie de celui-ci pour vos propres besoins, nous recommandons d'appliquer des pratiques appropriées de cycle de développement sécurisé et de codage sécurisé, ainsi que de générer et de suivre les indicateurs de compromission respectifs selon vos besoins.
Contactez-nous
Que vous souhaitiez signaler un bug, envoyer un correctif ou faire des suggestions sur ce paquet, écrivez quelques lignes aux dirigeants du projet OWASP CBAS.
Pour les questions liées à la sécurité, consultez notre politique de sécurité.