
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 création de paquets des protocoles réseau SAP
Version 0.2.1
Aperçu
SAP Netweaver et SAP HANA sont des plateformes technologiques pour la construction et l'intégration d'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. Alors que certains d'entre eux sont des protocoles standards 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 créer et envoyer des paquets en utilisant les protocoles SAP NI, Diag, Enqueue, Router,
MS, SNC, IGS, RFC, NWRFC et HDB. 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 au-dessus de
Scapy et sont basés sur les informations acquises lors de la recherche des
différents protocoles, formats de fichiers et services.
Fonctionnalités
-
Dissection et création des protocoles réseau suivants :
- 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 (
-
Interfaces client pour la gestion des formats de fichiers suivants :
- Fichiers d'archive SAP
SAR - Fichiers SAP Personal Security Environment (
PSE) - Fichiers SAP SSO Credential (
Credv2) - Fichiers SAP Secure Storage in File System (
SSFS)
- Fichiers d'archive SAP
-
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 une version plus récente.
Feuille de route
Projet Python 3
Après un long moment et grâce à un formidable effort communautaire, le projet vient d'être porté sur Python 3. Le projet fonctionne désormais sur Python 3, mais des bugs sont encore attendus à mesure que davantage de fonctionnalités sont testées et évaluées. Le soutien aux tests par la communauté 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 un peu partout
- Augmenter la couverture des tests unitaires
- Intégrer le typage statique et d'autres fonctionnalités de Python 3.10+
- Complétude des protocoles (par exemple
NWRFC,RFC,Diag,HDB) - Créer des outils plus stables imitant ceux 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 inclut un court guide de test à l'adresse
docs/dev/testing.rst. Il décrit les suites de tests unitaires et
d'intégration, le harnais de test, et les commandes tox et pytest
recommandées.
Licence
Cette bibliothèque est distribuée sous 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 dans 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 apporté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, et Timm Lippert (@Tmm).
Avertissement
L'esprit de cette initiative Open Source est d'aider les chercheurs en sécurité, et la communauté, à accélérer la recherche et les activités éducatives liées à la mise en œuvre des protocoles et des piles réseau.
Les informations dans ce dépôt sont à des fins de recherche et d'éducation uniquement 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 usages, nous recommandons d'appliquer un cycle de développement de sécurité approprié et des pratiques de codage sécurisé, ainsi que de générer et suivre les indicateurs de compromission respectifs selon vos besoins.
Nous contacter
Que vous souhaitiez signaler un bug, envoyer un correctif, ou donner quelques suggestions sur ce paquet, écrivez quelques lignes aux responsables du projet OWASP CBAS.
Pour les questions liées à la sécurité, consultez notre politique de sécurité.