渗透测试工具下载_渗透测试文件查询

hacker|
200

渗透测试报告自动生成工具

公众号:白帽子左一

领取配套练手靶场、安全 *** 课程及工具...

在安服仔的日子里,发现其他人输出的渗透测试报告结果不规范,主要在报告质量、内容、字体、及修复方案中存在诸多问题,而且 大部分安服仔需要对每次的项目结果进行统计整理,方便后续跟踪复测。

因此研发了 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. 如果使用阿里云、腾讯云服务器,请使用 *** tp的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:( )

原文地址:

常见36种WEB渗透测试漏洞描述及解决 *** -文件上传

漏洞描述:文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严或webserver相关解析漏洞未修复而造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件,进而远程控制网站服务器。

解决 *** :

在前后端对上传文件类型限制,如后端的扩展名检测,重命名文件,MIME类型检测以及限制上传文件的大小,或将上传文件放在安全路径下;严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell攻击;对上传文件格式进行严格校验及安全扫描,防止上传恶意脚本文件;设置权限限制,禁止上传目录的执行权限;严格限制可上传的文件类型;严格限制上传的文件路径;文件扩展名服务端白名单校验;文件内容服务端校验;上传文件重命名,并隐藏上传文件路径。

常见36种WEB渗透测试漏洞描述及解决 *** - 配置不当

漏洞描述:网站根目录下 crossdomain.xml 文件指明了远程Flash 是否可以加载当前网站的资源。若配置不当,可能导致遭受跨站请求伪造(CSRF)攻击。

解决 *** :对不需要从外部加载资 源的网站,在 crossdomain.xml 文件中更改allow-access-from的domain属性为域名白名单。

渗透检测步骤

渗透测试是什么?

渗透测试,是为了证明 *** 防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的 *** 策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找 *** 系统安全漏洞的专业人士。

渗透测试流程是怎样的?

步骤一:明确目标

1、确定范围:规划测试目标的范围,以至于不会出现越界的情况。

2、确定规则:明确说明渗透测试的程度、时间等。

3、确定需求:渗透测试的方向是web应用的漏洞?业务逻辑漏洞?人员权限管理漏洞?还是其他,以免出现越界测试。

步骤二:信息收集

1、基础信息:IP、网段、域名、端口

2、系统信息:操作系统版本

3、应用信息:各端口的应用,例如web应用、邮件应用等等

4、版本信息:所有探测到的东西的版本

5、人员信息:域名注册人员信息,web应用中网站发帖人的id、管理员姓名等

6、防护信息:试着看能否探测到防护的设备,像有没有CDN、waf等

步骤三:漏洞探索

利用上一步中列出的各种系统、应用等等,使用响应的漏洞

*** :

1、漏扫、awvs、IBM appscan等

2、结合漏洞去exploit-db等位置找利用

3、在网上寻找验证poc

步骤四:漏洞验证

将上述中发现有可能可以成功利用的全部漏洞都验证一遍,结合实际情况搭建模拟环境进行实验,成功后再引用于目标。

自动化验证:结合自动化扫描工具提供的结果

手工验证:根据公开的资源进行手工验证

试验验证:自己搭建模拟环境进行验证

登录猜解:可以尝试一下登录口的账号密码的发现

业务逻辑漏洞:如发现业务逻辑漏洞,进行验证

步骤五:信息分析

为下一步实施渗透做准备

1、精准打击:准备好上一步探测到的漏洞的exp,用来精准打击

2、绕过防御机制:是否有防火墙等设备,如何绕过

3、定制攻击路径:更佳工具路径,根据薄弱入口,高内网权限位置,最终目标

4、绕过检测机制:是否有检测机制,流量监控,杀毒软件 ,恶意代码检测等(免杀)

5、攻击代码:经过试验得来的代码,包括不限于XSS代码,SQL注入语句等

步骤六:获取所需

1、实施攻击,根据前几步的结果,进行攻击

2、获取内部信息:基础设施( *** 连接,vpn,路由,拓扑等)

3、进一步渗透:内网入侵,敏感目标

4、持续性存在:一般我们对客户做渗透不需要,但真实的环境中,我们会做rookit、后门,添加管理账号。驻扎手法。

5、清理痕迹:清理相关日志(访问,操作),上传文件等

步骤七:信息整理

1、整理渗透工具:整理渗透过程中用到的代码,poc、exp等

2、整理收集信息:整理渗透过程中收集到的一切信息

3、整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱的位置信息

(为了形成报告,形成测试结果使用)

步骤八:形成报告

1、按需整理:按照之前之一步跟客户确定好的范围和需求来整理资料,并将资料形成报告

2、补充介绍:要对漏洞成因、验证过程和带来的危害进行分析

3、修补建议:当然要对所有产生的问题提出合理高效安全的解决办法

针对docker系统的渗透测试 ***

翻译总结于:《A Methodology for Penetration Testing Docker Systems》

    文章从两个攻击模型进行分析,结合错误配置和已知漏洞对docker渗透测试进行总结归纳,并给出了一份docker渗透测试检查清单。

    作者讨论了两种情况:在容器内和在容器外。在容器内部,攻击者会聚焦在逃逸隔离(即容器逃逸)。在容器外部,即宿主机上,攻击者还没有主机特权,这时候攻击者将会使用Docker(即Docker daemon攻击)来获得权限。

    容器逃逸重点在攻击和绕过隔离和保护机制,其中又可分成两种:一种是从容器逃逸到主机(CVE-2017-7308),另一种是从容器逃逸到另一个容器获取其中数据。

    作者从错误配置和安全漏洞两个角度对上述两个场景中的安全问题进行了梳理。漏洞问题是自身程序问题,错误配置更多的是用户使用问题。

    前两个错误配置与在主机上执行的Docker Daemon有关,其他错误配置与从容器内执行的容器逃逸攻击有关。

(2)可读写的Docker Socket:一些管理员设置了所有用户的读写权限,给了所有用户Docker Daemon的权限,尽管用户不在docker group也能使用docker。

(3)setuid bit:系统管理员在docker二进制文件上设置setuid位。setuid位是Unix中的权限位,它允许用户运行二进制文件而不是其本身作为二进制文件的所有者。如果为docker二进制文件错误配置了setuid位,那么用户将能够以root身份执行docker。

(1)Container Escape Using the Docker Socket:如果/var/run/docker.sock作为volume挂载到容器上,那么容器中的进程可以完全访问主机上的docker。

(2)Sensitive Information:当容器可以访问/var/run/docker.sock时,用户可以查看现有容器的配置,其中可能包含一些敏感信息。

(3)Remote Access:如果没有配置docker API只监听本地主机,那么 *** 上的每个主机都可以访问docker,攻击者可以利用这种错误配置启动其他容器。

    文章中列举了一些最近的且已完全公开的可能在渗透测试期间使用的bug。

(1)CVE-2019-16884

(2)CVE-2019-13139

(3)CVE-2019-5736

(4)CVE-2019-5021

(5)CVE-2018-15664

(6)CVE-2018-9862

(7)CVE-2016-3697

    首先需要对目标系统执行侦查来收集数据,然后使用收集到的信息来识别弱点和漏洞。

(2)识别容器的操作系统(或者Docker镜像)

(3)识别主机操作系统:因为容器使用宿主的内核,所以可以使用内核版本来标识宿主信息,从而检测一些内核利用。

(4)读环境变量:环境变量是启动容器时与容器通信信息的一种方式。当一个容器启动时,环境变量被传递给它,这些变量通常包含密码和其他敏感信息。

(5)检查Capabilities:通过查看/proc/self/status来查看容器的内核功能。其中CapEff是当前功能的值,可以使用capsh工具从十六进制值获取功能列表。可以使用这个来检查是否有可以用来容器逃逸的功能。

(6)检查特权模式:如果容器以特权模式运行,它将获得所有功能,因此可以通过查看能力(0000003fffffffff是所有能力的表示)来检查是否以特权模式运行进程。

(7)检查volumes:卷中可能包含敏感信息,可以通过查看挂载的文件系统位置来查看。

(8)检查挂载的docker socket

(9)检查 *** 配置

(2)拥有docker使用权限的用户

(3)配置:/etc/docker/daemon或/etc/default/docker

(4)可获得的镜像和容器

(5)iptables规则:使用 iptables -vnL 和 iptables -t nat -vnL,可以看到默认表filter和nat的规则。所有关于docker容器的防火墙规则都在filter中的docker -user链中设置。

0条大神的评论

发表评论