Torna agli aggiornamenti
New releaseJul 29, 2026

pysap v0.2.0

pysap è una libreria Python open source che fornisce moduli per creare e inviare pacchetti utilizzando i protocolli SAP NI, Diag, Enqueue, Router, MS, SNC, IGS, RFC e HDB.

Condividi

pysap - Libreria Python per la creazione di pacchetti dei protocolli di rete SAP

Build and test pysap PyPI Version Read the Docs Discord

Versione 0.2.1

Panoramica

SAP Netweaver e SAP HANA sono piattaforme tecnologiche per la creazione e l'integrazione di applicazioni aziendali SAP. La comunicazione tra i componenti utilizza diversi protocolli di rete e alcuni servizi e strumenti fanno uso anche di formati di file personalizzati. Mentre alcuni di essi sono protocolli standard e ben noti, altri sono proprietari e le informazioni pubbliche generalmente non sono disponibili.

pysap è una libreria Python open source che fornisce moduli per la creazione e l'invio di pacchetti utilizzando i protocolli SAP NI, Diag, Enqueue, Router, MS, SNC, IGS, RFC, NWRFC e HDB. Inoltre, è incluso il supporto per la creazione e l'analisi di diversi formati di file proprietari. I moduli sono costruiti su Scapy e si basano su informazioni acquisite durante la ricerca dei diversi protocolli, formati di file e servizi.

Funzionalità

  • Dissezione e creazione dei seguenti protocolli di rete:

    • 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)
  • Interfacce client per la gestione dei seguenti formati di file:

    • File di archivio SAP SAR
    • File SAP Personal Security Environment (PSE)
    • File SAP SSO Credential (Credv2)
    • File SAP Secure Storage in File System (SSFS)
  • Libreria che implementa gli algoritmi di compressione LZH e LZC di SAP.

  • Compressione/decompressione automatica dei payload con gli algoritmi di SAP.

  • Classi client, proxy e server implementate per alcuni dei protocolli.

  • Strumenti da riga di comando per il lavoro offline con file di archivio SAP, PSE, Credv2 e SSFS.

  • Script di esempio per illustrare l'uso dei diversi moduli e protocolli.

Installazione

Per installare pysap è sufficiente eseguire:

$ python3 -m pip install pysap

pysap richiede Python 3.10 o versioni successive.

Roadmap

Progetto Python 3

Dopo molto tempo e grazie a un grande sforzo della comunità, il progetto è appena stato portato a Python 3. Il progetto ora funziona su Python 3, ma ci si aspetta ancora che emergano bug man mano che vengono testate e valutate più funzionalità. Il supporto ai test da parte della comunità è molto apprezzato.

Inoltre, alcune delle recenti funzionalità di Python 3 non sono ancora completamente adattate, come la tipizzazione statica, la concorrenza nativa e altre.

Ulteriori sforzi

  • Correzione di bug in ogni parte
  • Aumentare la copertura dei test unitari
  • Incorporare la tipizzazione statica e altre funzionalità di Python 3.10+
  • Completezza dei protocolli (ad es. NWRFC, RFC, Diag, HDB)
  • Creare strumenti più stabili che imitino quelli nativi di SAP (ad es. genpse, dpmon, gwmon)
  • Aggiornare i progetti OWASP dipendenti come honeysap e il monitoraggio della superficie di attacco SAP

Documentazione

La documentazione è disponibile su Read the Docs.

La documentazione di sviluppo include una breve guida ai test in docs/dev/testing.rst. Descrive le suite di test unitari e di integrazione, il test harness e i comandi consigliati tox e pytest.

Licenza

Questa libreria è distribuita sotto licenza GPLv2. Consultare il file COPYING per maggiori dettagli.

Autori

Lo strumento è stato inizialmente progettato e sviluppato da Martin Gallo mentre lavorava nel team SecureAuth's Innovation Labs, con l'aiuto di molti contributori. Il codice è stato poi contribuito da SecureAuth al Progetto OWASP CBAS nell'ottobre 2022.

Contributori

Contributi forniti da 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, e Timm Lippert (@Tmm).

Disclaimer

Lo spirito di questa iniziativa Open Source è aiutare i ricercatori di sicurezza, e la comunità, ad accelerare le attività di ricerca e didattiche relative all'implementazione di protocolli e stack di rete.

Le informazioni in questo repository sono solo per scopi di ricerca e didattici e non sono destinate all'uso in ambienti di produzione e/o come parte di prodotti commerciali.

Se desideri utilizzare questo strumento o parte di esso per i tuoi scopi, ti consigliamo di applicare un adeguato ciclo di vita dello sviluppo sicuro e pratiche di codifica sicura, nonché di generare e tracciare i rispettivi indicatori di compromissione in base alle tue esigenze.

Contattaci

Se vuoi segnalare un bug, inviare una patch o dare alcuni suggerimenti su questo pacchetto, scrivi qualche riga ai leader del progetto OWASP CBAS.

Per domande relative alla sicurezza consulta la nostra politica di sicurezza.

Categorie