
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.
pysap - Biblioteca Python para criar pacotes de protocolos de rede da SAP
Versão 0.2.1.dev0 (em desenvolvimento)
Visão Geral
SAP Netweaver e SAP HANA são plataformas de tecnologia para construir e integrar aplicações de negócio SAP. A comunicação entre componentes usa diferentes protocolos de rede e alguns serviços e ferramentas também fazem uso de formatos de arquivo personalizados. Embora alguns deles sejam 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, é incluído suporte para criar e
analisar diferentes formatos de arquivo proprietários. 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
-
Dissecaçã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)
- SAP Network Interface (
-
Interfaces de cliente para manipular os seguintes formatos de arquivo:
- Arquivos
SARda SAP - Arquivos SAP Personal Security Environment (
PSE) - Arquivos SAP SSO Credential (
Credv2) - Arquivos SAP Secure Storage in File System (
SSFS)
- Arquivos
-
Biblioteca que implementa os algoritmos de compressão
LZHeLZCda SAP. -
Compressão/descompressão automática de payloads com os algoritmos da SAP.
-
Classes de cliente, proxy e servidor implementadas para alguns dos protocolos.
-
Ferramentas de linha de comando para trabalho offline com arquivos SAP, PSE, Credv2 e SSFS.
-
Exemplos de scripts para ilustrar o uso dos diferentes módulos e protocolos.
Instalação
Para instalar o pysap, basta executar:
$ python3 -m pip install pysap
O pysap requer Python 3.10 ou superior.
Roadmap
Projeto Python 3
Após um longo 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 ainda é esperado que bugs apareçam conforme mais funcionalidades são testadas e avaliadas. O apoio da comunidade nos testes é altamente apreciado.
Além disso, alguns dos recursos recentes do Python 3 ainda não foram totalmente adaptados, como tipagem estática, concorrência nativa e outros.
Esforços futuros
- Correção de bugs em todo o projeto
- Aumentar a cobertura de testes unitários
- Incorporar tipagem estática e outros recursos do Python 3.10+
- Completude dos protocolos (ex.:
NWRFC,RFC,Diag,HDB) - Criar ferramentas mais estáveis que imitem as nativas da SAP (ex.:
genpse,dpmon,gwmon) - Atualizar projetos OWASP dependentes, como
honeysape o monitoramento da superfície de ataque da SAP
Documentação
A documentação está disponível em Read the Docs.
A documentação de desenvolvimento inclui um pequeno guia de testes em
docs/dev/testing.rst. Ela descreve as suítes de testes
unitários e de integração, o harness de testes e os comandos tox e pytest
recomendados.
Licença
Esta biblioteca é distribuída sob a licença GPLv2. Consulte o arquivo COPYING para mais detalhes.
Autores
A ferramenta foi inicialmente projetada e desenvolvida por Martin Gallo enquanto trabalhava na equipe de Laboratórios de Inovação da SecureAuth, com a ajuda de muitos colaboradores. O código foi então contribuído pela SecureAuth para o Projeto OWASP CBAS em outubro de 2022.
Colaboradores
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
Aviso Legal
O espírito desta iniciativa de Código Aberto é ajudar pesquisadores de segurança e a comunidade a acelerar atividades de pesquisa e educação relacionadas à implementação de protocolos e pilhas de rede.
As informações neste repositório são apenas para fins de pesquisa e educação 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 parte dela para seus próprios usos, recomendamos aplicar práticas adequadas de ciclo de desenvolvimento seguro de software e codificação segura, bem como gerar e rastrear os respectivos indicadores de comprometimento de acordo com suas necessidades.
Contato
Quer você queira reportar um bug, enviar um patch ou dar algumas sugestões sobre este pacote, escreva algumas linhas para líderes do projeto OWASP CBAS.
Para questões relacionadas à segurança, consulte nossa política de segurança.