
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.dev0 (in sviluppo)
Panoramica
SAP Netweaver e SAP HANA sono piattaforme tecnologiche per creare e integrare applicazioni business 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 sopra
Scapy e si basano su informazioni acquisite durante la ricerca sui
diversi protocolli, formati di file e servizi.
Caratteristiche
-
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 a 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 esegui semplicemente:
$ python3 -m pip install pysap
pysap richiede Python 3.10 o successivo.
Roadmap
Progetto Python 3
Dopo molto tempo e grazie a un grande sforzo della comunità, il progetto è stato appena portato a Python 3. Il progetto ora gira su Python 3, ma è ancora previsto che emergano bug man mano che più funzionalità vengono testate e valutate. Il supporto di test da parte della comunità è molto apprezzato.
Inoltre, alcune delle recenti funzionalità di Python 3 non sono ancora del tutto adattate, come il typing statico, la concorrenza nativa e altre.
Ulteriori sforzi
- Correzione di bug in tutta la base di codice
- Incrementare la copertura dei test unitari
- Integrare il typing statico 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 d'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 unit test e
di integrazione, il test harness e i comandi tox e pytest
consigliati.
Licenza
Questa libreria è distribuita sotto licenza GPLv2. Controlla il file COPYING per maggiori dettagli.
Autori
Lo strumento è stato inizialmente progettato e sviluppato da Martin Gallo mentre lavorava presso il team di SecureAuth's Innovation Labs, con l'aiuto di molti contributori. Il codice è stato poi donato da SecureAuth al Progetto OWASP CBAS nell'ottobre 2022.
Contributori
Contributi realizzati 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
Disclaimer
Lo spirito di questa iniziativa Open Source è aiutare i ricercatori di sicurezza e la comunità a velocizzare le attività di ricerca e formazione relative all'implementazione di protocolli e stack di rete.
Le informazioni in questo repository sono solo a scopo di ricerca e formazione 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, consigliamo di applicare un adeguato ciclo di sviluppo sicuro e pratiche di codifica sicura, oltre a generare e tracciare i rispettivi indicatori di compromissione in base alle tue esigenze.
Contattaci
Che tu voglia segnalare un bug, inviare una patch o dare qualche suggerimento su questo pacchetto, scrivi due righe ai project leader di OWASP CBAS.
Per domande relative alla sicurezza, consulta la nostra security policy.