
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.
pysap - Libreria Python per la creazione di pacchetti dei protocolli di rete SAP
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)
- SAP Network Interface (
-
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)
- File di archivio SAP
-
Libreria che implementa gli algoritmi di compressione
LZHeLZCdi 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
honeysape 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.