
pysap v0.2.0
pysap es una biblioteca Python de código abierto que proporciona módulos para crear y enviar paquetes utilizando los protocolos NI, Diag, Enqueue, Router, MS, SNC, IGS, RFC y HDB de SAP.
pysap - Biblioteca Python para crear paquetes de protocolos de red de SAP
Versión 0.2.1.dev0 (en desarrollo)
Resumen
SAP Netweaver y SAP HANA son plataformas tecnológicas para construir e integrar aplicaciones empresariales de SAP. La comunicación entre componentes utiliza diferentes protocolos de red y algunos servicios y herramientas también hacen uso de formatos de archivo personalizados. Mientras que algunos de ellos son protocolos estándar y bien conocidos, otros son propietarios y la información pública generalmente no está disponible.
pysap es una biblioteca Python de código abierto que proporciona
módulos para crear y enviar paquetes utilizando los protocolos NI, Diag, Enqueue, Router,
MS, SNC, IGS, RFC, NWRFC y HDB de SAP. Además, se incluye soporte para crear y analizar
diferentes formatos de archivo propietarios. Los módulos están construidos sobre
Scapy y se basan en información adquirida investigando los diferentes
protocolos, formatos de archivo y servicios.
Características
-
Disección y creación de los siguientes protocolos de red:
- Interfaz de Red de SAP (
NI) Diagde SAPEnqueuede SAPRouterde SAP- Servidor de Mensajes de SAP (
MS) - Conexión de Red Segura de SAP (
SNC) - Servidor Gráfico de Internet de SAP (
IGS) - Llamada a Función Remota de SAP (
RFC) - SDK RFC de SAP Netweaver (
NWRFC) - Red de Comandos SQL de SAP HANA (
HDB)
- Interfaz de Red de SAP (
-
Interfaces de cliente para manejar los siguientes formatos de archivo:
- archivos de archivo
SARde SAP - archivos de Entorno de Seguridad Personal de SAP (
PSE) - archivos de Credencial SSO de SAP (
Credv2) - archivos de Almacenamiento Seguro en Sistema de Archivos de SAP (
SSFS)
- archivos de archivo
-
Biblioteca que implementa los algoritmos de compresión
LZHyLZCde SAP. -
Compresión/descompresión automática de cargas útiles con los algoritmos de SAP.
-
Clases de cliente, proxy y servidor implementadas para algunos de los protocolos.
-
Herramientas de línea de comandos para trabajo sin conexión con archivos de SAP: archivo, PSE, Credv2 y SSFS.
-
Scripts de ejemplo para ilustrar el uso de los diferentes módulos y protocolos.
Instalación
Para instalar pysap simplemente ejecute:
$ python3 -m pip install pysap
pysap requiere Python 3.10 o más reciente.
Hoja de ruta
Proyecto Python 3
Después de mucho tiempo y gracias a un gran esfuerzo de la comunidad, el proyecto acaba de ser portado a Python 3. El proyecto ahora funciona en Python 3, pero aún se espera que surjan errores a medida que se pruebe y evalúe más funcionalidad. Se agradece mucho el apoyo de la comunidad en las pruebas.
Además, algunas de las capacidades recientes de Python 3 aún no están completamente adaptadas, como el tipado estático, la concurrencia nativa y otras.
Esfuerzos adicionales
- Corrección de errores en todas partes
- Incrementar la cobertura de pruebas unitarias
- Incorporar tipado estático y otras características de Python 3.10+
- Completitud de protocolos (ej.
NWRFC,RFC,Diag,HDB) - Crear herramientas más estables que imiten las nativas de SAP (ej.
genpse,dpmon,gwmon) - Actualizar proyectos dependientes de OWASP como
honeysapy monitoreo de superficie de ataque de SAP
Documentación
La documentación está disponible en Read the Docs.
La documentación de desarrollo incluye una breve guía de pruebas en
docs/dev/testing.rst. Describe los conjuntos de pruebas unitarias y
de integración, el banco de pruebas y los comandos recomendados de tox y pytest.
Licencia
Esta biblioteca se distribuye bajo la licencia GPLv2. Consulte el archivo COPYING para obtener más detalles.
Autores
La herramienta fue diseñada y desarrollada inicialmente por Martin Gallo mientras trabajaba en el equipo de SecureAuth's Innovation Labs, con la ayuda de muchos contribuyentes. El código fue luego contribuido por SecureAuth al Proyecto OWASP CBAS en octubre de 2022.
Contribuyentes
Contribuciones realizadas por:
- 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
Descargo de responsabilidad
El espíritu de esta iniciativa de código abierto es ayudar a los investigadores de seguridad y a la comunidad a acelerar las actividades de investigación y educativas relacionadas con la implementación de protocolos y pilas de red.
La información en este repositorio es solo para fines de investigación y educación y no está destinada a ser utilizada en entornos de producción y/o como parte de productos comerciales.
Si desea utilizar esta herramienta o alguna parte de ella para sus propios usos, recomendamos aplicar un ciclo de vida de desarrollo de seguridad adecuado y prácticas de codificación segura, así como generar y rastrear los respectivos indicadores de compromiso según sus necesidades.
Contáctenos
Ya sea que desee informar un error, enviar un parche o dar algunas sugerencias sobre este paquete, envíe unas líneas a los líderes del proyecto OWASP CBAS.
Para preguntas relacionadas con la seguridad, consulte nuestra política de seguridad.