使用sapgui脚本的SAP安全分析工具

sapsec的Python项目详细描述


使用SAP gui脚本工具的SAP安全分析

SAPSEC工具不需要知道并存储您的登录名和密码到SAP服务器(自己登录SAP)。SAPSEC是开源的,以确保代码中不执行不需要的操作。当然,我们不建议使用SAP扫描所有用户权限。在

目录

Python安装

  1. 下载last version of Python 3.x installer
  2. 运行安装程序
  3. 安装时选择以下选项:
    • 将python3.x添加到PATH

安装

管道安装(建议)

安装简单。在windows控制台中运行(命令行解释器-cmd):

pip install sapsec

如果您的计算机位于代理后面,请设置其他选项--代理,格式如下:

^{pr2}$

从github安装

如果由于某种原因安装不成功(使用pip),则有机会从github源文件安装sapsec。在

  1. 下载带有项目源代码的zip archive。或使用git clone:
git clone https://github.com/gutskodv/sap-security.git
  1. 从下载的zip存档中解压文件。并使用设置.py文件。在
  2. Ugrade pip,安装车轮组件,收集sapsec软件包:
python -m pip install --upgrade pip
pip install wheel
python setup.py bdist_wheel
  1. 从dist子目录中的generaed python wheel安装sapsec包:
python setup.py dist\sapsec*.whl

要求

如果需求不是以自动模式安装的,则可以手动安装这些需求。在

  1. PyWin32(Python extensions for microsoftwindows提供了对win32api的访问、创建和使用COM对象的能力以及Pythonwin环境)。在
pip install pywin32
  1. XlsxWriter(Python模块,用于编写excel2007+XLSX文件格式的文件)。在
pip install xlsxwriter
  1. PyYaml(Python的YAML解析器和发射器)。在
pip install xlsxwriter

运行前

  1. РЎ检查SAP服务器上是否启用了gui脚本。参数sapgui/user_scripting应设置为TRUE。如果参数值当前设置为FALSE,请在开始之前更改它。有关GUI脚本的更多信息,请阅读the article。在
  2. 如果paramaeter sapgui/user_scripting_per_user也设置为TRUE,请确保为SAP用户分配了_SCR:ACTVT=16(SAP GUI脚本授权)。在

使用

  1. 运行SAP登录应用程序。在
  2. 登录到SAP服务器(输入用户名和密码)。在
  3. 转到windows控制台(命令行解释器-cmd)。更改目录
  4. 运行sapsec:
sapsec

或者

python -m sapsec

或者您想使用自己的配置:

sapsec --rules rules_config.yaml
  1. 检查生成的excel报表(在您选择的目录中)。在

预定义的SAP安全包

  1. SAP表中的弱(冗余)密码哈希(BCODE、PASSCODE)。 扫描权限:
    • 苏塔布_名称:ACTVT=03,表=USR02,USH02,USRPWDHISTORY,USH02 U ARC U TMP,VUSER001,VUSR02 U PWD,TDDAT
    • S_程序:P峎u ACTION=提交在
    • S_图形用户界面:ACTVT=61在
    • S_SCR:ACTVT=16在
    • S_t代码:TCD=SE16,SA38
    • S_用户_AGR:ACTVT=03,ACT_GROUP=*
    • S_用户_AUT:ACTVT=03,对象=*,身份验证=*
    • S_用户_GRP:ACTVT=03,类=*
    • S_用户_专业:ACTVT=03在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript节点js require()和Rhino Shell load()之间的区别是什么?   While循环中的java If语句   java GXT如何在XTemplate中显示treeobject?   如何将黑白图像加载到二进制文件中?   java ORMLite不知道如何存储班级航班。扫描仪。modelFX。机场航空公司的AirlineFx。使用另一个类或自定义持久器   java组织。阿帕奇。德比。客户是SqlException JSP和JSTL查询   spring如何将clob数据分配给java变量   java从上的表获取数据(Spring)   javaphp使用Exec执行带有用户定义参数的Jar文件   java jsonschema2pojo:引用相同类型的对象   使用原语从Scala调用Java vararg方法   java ClassNotFoundException:ClientBuilder Jersey 2.25.1 Tomcat 9.0   Android(Java)cr_BindingManager:无法调用determinedVisibility()从未看到pid的连接:   Java使用LocalTime类比较没有日期的时间   Java如何初始化对象的参数?