Voltar às atualizações
New releaseJul 29, 2026

pysap v0.2.0

pysap é uma biblioteca Python de código aberto que fornece módulos para criar e enviar pacotes usando os protocolos NI, Diag, Enqueue, Router, MS, SNC, IGS, RFC e HDB da SAP.

Compartilhar

pysap - Biblioteca Python para criar pacotes de protocolos de rede da SAP

Build and test pysap PyPI Version Read the Docs Discord

Versão 0.2.1

Visão Geral

SAP Netweaver e SAP HANA são plataformas tecnológicas para construir e integrar aplicações de negócios SAP. A comunicação entre componentes utiliza diferentes protocolos de rede e alguns serviços e ferramentas fazem uso de formatos de arquivo personalizados também. Enquanto alguns deles são protocolos padrão e bem conhecidos, outros são proprietários e informações públicas geralmente não estão disponíveis.

pysap é uma biblioteca Python de código aberto que fornece módulos para criar e enviar pacotes usando os protocolos NI, Diag, Enqueue, Router, MS, SNC, IGS, RFC, NWRFC e HDB da SAP. Além disso, o suporte para criar e analisar diferentes formatos de arquivo proprietários está incluído. Os módulos são construídos sobre Scapy e são baseados em informações adquiridas ao pesquisar os diferentes protocolos, formatos de arquivo e serviços.

Recursos

  • Dissecção e criação dos seguintes protocolos de rede:

    • 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)
  • Interfaces cliente para lidar com os seguintes formatos de arquivo:

    • Arquivos de arquivo SAR da SAP
    • Arquivos SAP Personal Security Environment (PSE)
    • Arquivos SAP SSO Credential (Credv2)
    • Arquivos SAP Secure Storage in File System (SSFS)
  • Biblioteca que implementa os algoritmos de compressão LZH e LZC da SAP.

  • Compressão/descompressão automática de payloads com os algoritmos da SAP.

  • Classes cliente, proxy e servidor implementadas para alguns dos protocolos.

  • Ferramentas de linha de comando para trabalho offline com arquivos de arquivo, PSE, Credv2 e SSFS da SAP.

  • Scripts de exemplo para ilustrar o uso dos diferentes módulos e protocolos.

Instalação

Para instalar o pysap, basta executar:

$ python3 -m pip install pysap

pysap requer Python 3.10 ou mais recente.

Roadmap

Projeto Python 3

Após muito tempo e graças a um grande esforço da comunidade, o projeto acaba de ser portado para Python 3. O projeto agora roda em Python 3, mas bugs ainda são esperados à medida que mais funcionalidades são testadas e avaliadas. O suporte de testes pela comunidade é altamente apreciado.

Além disso, algumas das capacidades recentes do Python 3 ainda não estão totalmente adaptadas, como tipagem estática, concorrência nativa e outras.

Esforços adicionais

  • Correção de bugs em todos os lugares
  • Aumentar a cobertura de testes unitários
  • Incorporar tipagem estática e outros recursos do Python 3.10+
  • Completude de protocolos (por exemplo, NWRFC, RFC, Diag, HDB)
  • Criar ferramentas mais estáveis que imitam as nativas da SAP (por exemplo, genpse, dpmon, gwmon)
  • Atualizar projetos OWASP dependentes, como honeysap e monitoramento de superfície de ataque SAP

Documentação

A documentação está disponível em Read the Docs.

A documentação de desenvolvimento inclui um breve guia de testes em docs/dev/testing.rst. Ele descreve as suítes de testes unitários e de integração, o harness de testes e os comandos recomendados de tox e pytest.

Licença

Esta biblioteca é distribuída sob a licença GPLv2. Verifique o arquivo COPYING para mais detalhes.

Autores

A ferramenta foi inicialmente projetada e desenvolvida por Martin Gallo enquanto trabalhava na equipe SecureAuth's Innovation Labs, com a ajuda de muitos contribuidores. O código foi então contribuído pela SecureAuth ao OWASP CBAS Project em outubro de 2022.

Contribuidores

Contribuições feitas 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, e Timm Lippert (@Tmm).

O espírito desta iniciativa de Código Aberto é ajudar pesquisadores de segurança, e a comunidade, a acelerar atividades de pesquisa e educacionais relacionadas à implementação de protocolos e pilhas de rede.

As informações neste repositório são apenas para fins de pesquisa e educacionais e não se destinam a ser usadas em ambientes de produção e/ou como parte de produtos comerciais.

Se você deseja usar esta ferramenta ou alguma parte dela para seus próprios usos, recomendamos aplicar um ciclo de vida de desenvolvimento de segurança adequado e práticas de codificação segura, bem como gerar e rastrear os respectivos indicadores de comprometimento de acordo com suas necessidades.

Fale Conosco

Se você quiser relatar um bug, enviar um patch ou dar algumas sugestões sobre este pacote, envie algumas linhas para líderes do projeto OWASP CBAS.

Para questões relacionadas à segurança, verifique nossa política de segurança.

Categorias