本文目录一览:
渗透测试报告自动生成工具
公众号:白帽子左一
领取配套练手靶场、安全全套课程及工具...
在安服仔的日子里,发现其他人输出的渗透测试报告结果不规范,主要在报告质量、内容、字体、及修复方案中存在诸多问题,而且 大部分安服仔需要对每次的项目结果进行统计整理,方便后续跟踪复测。
因此研发了 Savior—渗透测试报告辅助生成系统 , 起这个名字也是为了拯救大多数渗透测试工程师,
告别繁琐的渗透测试报告编写过程及漏洞统计过程。
前端 : Ant Design Pro
后端 : Django REST Framework
数据库 : Mysql
用户管理 : 主要是方便统计漏洞的发现者,后续可能大概也许会添加漏洞统计模块,根据提交数据、漏洞类型、时间等进行统计报表,当前用户管理模块仅允许通过Django后台进行修改,前端只负责展示,主要是我太懒了。
项目管理 : 根据项目的不同可上传项目的专属渗透测报告模板,并可以根据需要进行模板自定义模板(/Demo/demo.docx);
模板自定义 : 不用修改源代码,仅需修改word即可进行模板自定义;
整改建议管理 : 此平台主要就是为了体现标准化输出,因此可通过内置漏洞描述及修复建议进行快速输出,并支持自定义修改(/Demo/常规WEB渗透测试漏洞描述及修复方法.docx);
一键生成: 通过提交报告模块,内联项目模板,快速生成渗透测试报告,真正达到了一键生成,并确保报告内数据准确、字体统一、格式标准;
自动邮件: 在生成报告后可通过用户管理配置的自动邮件发送功能进行邮件通知,可自定义邮件模板,这样再报告给客户的时候就可以直接转发了(暖男功能);
漏洞统计: 每次渗透过后,需要挨个查找报告进行统计整理,现在只要提交报告后,后台会自动联动;
漏洞报表一键导出
漏洞跟踪: 增加了漏洞状态字段,创建报告后,漏洞状态默认为新增,漏洞管理模块可进行复测,包括已整改、未整改两种状态;
Demo :
演示账号 :admin
演示密码 : Savior@404
首先将代码clone到本地:
Docker部署
我们推荐使用Docker进行部署,相对于源码部署更为简单和快速。
部署前请务必先安装 Docker 及 docker-compose 。
修改配置文件
首先复制根目录的 .env.docker 并重命名为 .env , 修改其中的Email Settings和initial Administrator配置。
这两个配置分别控制邮件提醒,以及初始管理帐号密码及邮箱。
同时需要注意以下两点:
1. 务必把邮箱修改为自己邮箱,不然可能会出现非预期错误!
2. 如果使用阿里云、腾讯云服务器,请使用smtp的ssl协议,两家云厂商默认封禁了25端口。
一键启动
访问 即可看到页面。
修改启动端口
如果想修改启动端口,可以修改docker-compose.yaml文件中web容器的ports。
默认为8000:8000,比如要修改为8080端口可改为8080:8000。
所需环境:
前端环境
环境变量设置 创建字符集为utf-8编码的数据库。
复制**.env.docker为.env**,并配置数据库、邮箱、管理员等信息。
后端环境
源码部署环境:
前台页面 :
Django管理后台:
其中Savior平台包含两个后台页面。考虑到安全性,目前用户管理、项目管理托管于Django管理后台(主要是这两个模块不会写),其余功能均可通过前台页面实现。
前台页面 :
Django管理后台 :
访问Django管理后台: ,
请完善API用户的Name、Avatar、Autosentmail三个字段,分别控制报告的作者、头像(图片Url)、生成报告后自动发送渗透测试报告到邮箱。
访问Django管理后台:
请通过APIProjects进行添加项目,可根据不通项目选择不通的渗透测试报告模板。
参数说明:Project logo(项目Logo)、Project center(项目名称)、Project description(项目描述)、Project template(渗透测试报告模板,目前标准模板可使用Demo/demo.docx,如需自定义模板,请参考模版自定义部分)
访问 可进入Savior平台,通过个人设置整改设置添加漏洞模板可进行设置漏洞类型、漏洞描述、修复建议从而达到标准化。
目前整理了一些通用的修复建议模板,请参考Demo/常规WEB渗透测试漏洞描述及修复方法.docx。
目前根据我经常使用的渗透测试报告模板生成了一个demo版本(请参考/Demo/demo.docx)。
当然您也可以根据自己的需求进行模板自定义,其中仅需在WORD模板中进行参数替换,目前Savior中具体参数如下:
以下漏洞详情请利用{%tr for vuls in vuls %}{%tr endfor %}进行循环遍历。
如想列出所有漏洞URL,则使用参数{%tr for vuls in vuls %}{{item.vul_url}}{%tr endfor %}
注: Savior平台渗透测试模板遵循Jinja2语法,更多内容请参考
如果我们完善了用户信息、项目管理、整改设置后,就可以通过前端页面进行创建报告,其大概流程如下:首先完善报告的基本信息。
选择漏洞管理的添加漏洞功能。选择漏洞类型后,漏洞名称、漏洞描述、修复建议会根据整改设置进行自动联动,并可根据需求进行自定义修改。
需要注意的是漏洞详情处如果需要插入XSS语句,请进行url编码后进行输入!
注: 未提交前请勿刷新页面,此时漏洞详情保存为前端。提交后会自动生成渗透测试报告并进行下载。
打开报告会提示更新域,更新请选择是,再选择更新整个目录,此问题主要是为了更新目录,不然渗透测试报告中目录无法自动更新。
如果在用户管理打开了Autosentmail功能,渗透测试报告会自动发送至我们邮箱,方便转给甲方爸爸。
访问Savior平台,选择漏洞列表可进行漏洞统计并进行漏洞复测。
其中漏洞包含三个状态(新发现、已修复、未修复)。
通过选择导出数据功能,可将漏洞列表导出为Excle。
用户管理、项目管理迁移至前端
大数据看板
感谢 echo503 提供的项目帮助
感谢 lp0int 提供的项目帮助
项目框架及 Docker 部署参考 Github-Monitor:( )
原文地址:
f-droid里有渗透工具吗?
有。FDroid是一个Android应用程序的软件资源库,在这里面有着电脑所需要的任何软件,渗透工具位于FDroid类别中的日常工具,FDroid创建于2010年,为了有利于电脑用户更好的使用电脑而创建的软件,一经推出就收获无数好评。
什么是渗透测试?如何做渗透测试?
渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。
渗透测试一定要遵循软件测试基本流程,要知道测试过程和目标特殊,在具体实施步骤上主要包含以下几步:
1、明确目标
当测试人员拿到需要做渗透测试的项目时,首先确定测试需求,如测试是针对业务逻辑漏洞,还是针对人员管理权限漏洞等;然后确定客户要求渗透测试的范围,如ip段、域名、整站渗透或者部分模块渗透等;最后确定渗透测试规则,如能够渗透到什么程度,是确定漏洞为止还是继续利用漏洞进行更进一步的测试,是否允许破坏数据、是否能够提升权限等。
2、收集信息
在信息收集阶段要尽量收集关于项目软件的各种信息。比如:对于一个Web应用程序,要收集脚本类型、服务器类型、数据库类型以及项目所用到的框架、开源软件等。信息收集对于渗透测试来说非常重要,只要掌握目标程序足够多的信息,才能更好地进行漏洞检测。
信息收集的方式可分为以下2种:主动收集、被动收集。
3、扫描漏洞
在这个阶段,综合分析收集到的信息,借助扫描工具对目标程序进行扫描,查找存在的安全漏洞。
4、验证漏洞
在扫描漏洞阶段,测试人员会得到很多关于目标程序的安全漏洞,但这些漏洞有误报,需要测试人员结合实际情况,搭建模拟测试环境对这些安全漏洞进行验证。被确认的安全漏洞才能被利用执行攻击。
5、分析信息
经过验证的安全漏洞就可以被利用起来向目标程序发起攻击,但是不同的安全漏洞,攻击机制不同,针对不同的安全漏洞需要进一步分析,制定一个详细的攻击计划,这样才能保证测试顺利执行。
6、渗透攻击
渗透攻击实际是对目标程序进行的真正攻击,为了达到测试的目的,像是获取用户账号密码、截取目标程序传输数据等。渗透测试是一次性测试,在攻击完成后能够执行清理工作。
7、整理信息
渗透攻击完成后,整理攻击所获得的信息,为后边编写测试报告提供依据。
8、编写报告
测试完成之后要编写报告,阐述项目安全测试目标、信息收集方式、漏洞扫描工具以及漏洞情况、攻击计划、实际攻击结果等。此外,还要对目标程序存在的漏洞进行分析,提供安全有效的解决办法。