首页 1.自研信息收集工具分享
文章
取消

1.自研信息收集工具分享

0x01 前言 - sweetPotato的由来

过去作为一名攻防人员,实战过程中面临过这样的问题,通过不同的方式收集了很多目标资产,但是时间久了,就不确定下一个新发现的资产有没有做过扫描,有没有做过分析。 不同的excel表格频繁的倒来倒去实在是过于麻烦,针对每个资产想要有特定的分析步骤,也没太好的办法去进行自动化。 基于这个背景下,便创作了一款这样的工具,可以挂着代理进行攻防,就能自动化帮我做分析和梳理目标的资产信息。

0x02 工具介绍

Part1 - 这是一个什么样的工具?

这是一款基于burpsuite的流量分析和再验证的工具,根据配置好的「分析项」、「目标」进行分析,分析过后的结果会在插件中自动展示。

主要支持以下几个核心功能:

  1. 被动脆弱性分析(包含:指纹识别、页面敏感关键字识别、。。。)
  2. 主动脆弱性分析(包含:指纹识别、特定敏感目录扫描、。。。)
  3. 主动资产发现

下面几个章节中会详细讲解这几个功能的定义和在插件中的使用场景

Part2 - 关键术语的定义/功能介绍

安全圈中对「被动」、「主动」的定义都不完全一致,所以我会给出sweetPotato这个插件里对「被动」和「主动」的定义。

定义

类型定义例子
被动分析基于代理获取到的流量,对这些流量进行分析,不会额外发包如:使用浏览器配置代理为burpsuite,访问了https://www.baidu.com,会对这个过程产生的流量进行抓取和分析
主动分析会额外发包如:根据被动分析知道http://www.baidu.com的指纹是spring,那么可能会对其进行特定扫描 http://www.baidu.com/swagger-ui.html

详细功能介绍

针对这个插件的详细功能介绍,方便读者更好了解和选择功能的使用

类型功能定义
被动分析敏感路径识别识别当前网页中是否有绝对路径泄漏,例如:C:/windows/system32/xxxx
 指纹识别根据流量识别是否是特定指纹,优点是因为是被动流量,那么浏览器访问到的同站点下的任意文件都可能被提取成指纹;缺点也是如此,因为是全匹配,可能会存在一定的误报
 编程语言识别识别当前网站的编程语言,它会对未来的功能会有一些影响,例如:网站是php的,那么使用php的字典即可,可以不使用asp、jsp的字典
 信息泄漏分析识别网站中是否有信息泄漏,例如:SQL报错在线文档泄漏等等
 列目录分析识别是否为列目录,如index of /,这类型的站点
主动分析不存在的路径访问会访问一个特定不存在的路径,主要目的是用于分析不存在页面系统的返回情况是怎么样的,通常一些系统未做过滤,可能会导致指纹的泄漏
 主动列目录分析根据访问的站点,会分析它存在哪些目录,然后以目录的形式去访问(只挑选3个),如果访问后是index of /xxx,那么就认定存在问题
 Json报错测试如果被动流量中发现有json数据,会构造一个不合法的json进行额外发送,主要是想根据异常的信息去判断是否有组件信息等
 已识别组件的目录扫描比较特殊的一个功能,例如:识别到这个组件是weblogic,那么会根据这个组件的常见目录进行扫描,比如会去访问/console/,并且会对这个访问的结果,会进行验证(是否精准识别)

注:主动分析功能,对同一个站点只会触发一次,所以不用担心会频繁发包;同一个站点的定义是url,例如http://xxxxx:8080,算是一个站点

Part3 - 整体能力的设计流程

提供一个详细的业务流,方便大家了解这个在程序内部是怎么工作的😁

Untitled

Part4 - 实际操作的演示

以下以burpsuite2021进行环境演示,需要jdk13

  1. 打开burpsuite 找到 extender标签,加载sweetPotato,下方出现了类似的输出,则表示加载成功

Untitled

  1. 在Dashboard中关闭重复检测功能(避免有些流量过去已经经过bp,但是没经过sweet potato的情况)

Untitled

  1. 点击sweet Potato对开启的功能和配置项做一个确认,评估哪些需要开启,哪些需要关闭

Untitled

  1. 如果需要对目标资产进行收集的话,那么需要在「项目管理」中创建档案,填写需要关注的域名名称;如果不需要收集,只要对代理的流量进行分析,上述步骤就已经可以满足,在「脆弱性」、「指纹」表格就可以看结果了
  2. 「项目管理」中创建档案,设置存储位置和关注的目标信息

Untitled

  1. 根据被动流量,这几个标签页就会有对应的数据了

Untitled

Part5 - 工具有哪些优点

  • 被动分析和整理:能在过程中收集到很多过去未曾发现的子域名资产
  • 目标资产递归分析:会根据被动分析提取潜在目标,进行访问验证,递归式地补充资产
  • 轻量级扫描:根据不同站点和特性,结合关键字典进行轻量探测,动静小,适合个人pc使用
  • 作为bp的插件:当前安全研究人员可以更简单和方便去使用,降低了学习成本

Part6 - 未来会做什么更新

  1. 在脆弱性分析上,应该会进一步做加强,如何更高效和少发包且更精准地去发现脆弱点,是一件很有意思的事情

0x03 写在最后

  • 项目未来还会持续更新,但更新频率整体会比较慢;如果大家对这个项目及实现有兴趣的话,未来可以再写多几个page去分析其中的细节和理念
  • 链接:https://github.com/z2p/sweetPotato
本文由作者按照 CC BY 4.0 进行授权

-

2.EASM(外部攻击面管理)分析