前言

毕业设计原本想实现一款攻击的工具,奈何理想实在太丰满,现实太骨感!选择了相对而简单的信息收集。

同样原本想了一堆乱七八糟的功能,奈何时间并没有给我这个机会!在贵阳的驻场我一个实习生在现场从去年的10月份到今年的三月份一直都是一个人,并且干到了渗透组的组长(一个人的组长)。虽然比较操蛋,但是确实学到不少的东西,今年三月份我雷总和鑫总的到来让我开始l快乐的工(mo)作(yu)(客户不知道我是实习生)。

三月七号开始了毕设的第一句代码。该工具可视化基于pyqt5库,使用Qt-Designer进行可视化编辑。

工具的各模块设计都是比较基础的,连多线程也都没有用上,怎么简单怎么来,又不是跑不起来!

小一个月的时间终于算是把我的屎山给堆起来了。然后发现自己的代码基础也是真的差啊!想到什么写什么真的会出很多很多的问题啊。

算了算了,就像我雷总说的又不是不能跑。

为了纪念我的第一座屎山,在答辩结束后我会把这座屎山上传到我的Github仓库!
毕业快乐!屎山仓库

功能模块介绍

该工具主要分为三个模块。网络模块(代理),功能模块,日志模块。

网络流程介绍

在设置中可以添加代理配置,使用网络代理流量,直接连接服务器的UA头进行随机化。工具状态栏支持显示系统OS,内网IP,代理出口IP

设置模块

可以添加代理设置,以及fofa配置信息。

首先选择代理协议:

  • HTTP

  • SOCKS

  • 不使用协议

    接下来添加代理地址以及端口,选择保存即可。

演示

1.png

配置文件信息

服务器信息

支持获取响应头Server ,Set-Cookie, Access-Control-Allow-Methods,X-Powered-By字段的。支持文件导入多域名信息,并支持导出为word报告。

目前导出报告仅支持文件导入目标的方式!并且会在目标框中显示URL,完成一个目标URL后即会减少一个,并将结果显示在目标结果框中!导出报告的前提是在进程开始前勾选。

演示

输入单个的URL

导入文件批量url并导出为报告

导入文件

获取结果

报告导出

6.png

报告内容

指纹识别

指纹识别模块的前端逻辑与服务器信息模块一致。识别准确率较低,大概在百分之二三十左右。

演示

输入单个URL

批量导入URL

批量结果

9.png

报告导出结果

Whois信息/备案模块

该模块调用站长之家备案信息接口以及免费的whois查询接口。

  • whois查询接口:https://api.devopsclub.cn/api/whoisquery?domain=url&type=json&standard=true

  • ICP查询接口:站长之家ICP备案接口

    在icp的接口选择中我第一选择的是免费接口,我都写的差不多了才发现那个接口是多么的不稳定,应该是做了查询限制,每查询几次后那个接口的服务器就会爆500的错误状态码。

whois.png

前端逻辑与前两个模块无异。并且该模块不使用代理流量。

演示

输入单个URL

以百度/淘宝为例

批量导入URL

批量结果

whois信息和ICP信息均不为空则导入报告,若批量时显示为未查询到(可能由网络导致),可尝试单独输入URL进行查询。

报告结果

子域名探测

子域名模块一开始准备内置ksdomain工具,因为这是我目前使用子域名搜集最好的工具(🤡)!,但是后来发现存在的问题太多,并且很麻烦。所以怎么简单怎么来了!内置字典,直接拼接到URL中进行探测。

前端逻辑与之前模块逻辑无异!

使用状态码判断是否存在的子域名

无法对开启了泛解析的域名进行探测,并且速度极慢。

演示

单URL输入

批量URL导入

选择文件

完成扫描

报告结果

端口扫描

由于没有考虑使用多线程的原因,所以直接不考虑全端口的扫描,仅支持指定端口的扫描以及内置常见端口的扫描!

该模块不使用代理流量。

内置默认常见端口

21,80,443,873,2601,2604,3128,4440,6082,8888,888,8083,8080,8090,8089,9090,3306,1433,1521,5432,27017,27018,3389,445,7001,7002,22,23,161,25,110,3389,5432,6379,8089

敏感目录/文件扫描

仅支持尝试获取后台地址以及部分敏感文件的泄漏的扫描,原因还是没有使用多线程,所以速递极慢,为了在答辩的时候演示不尬,字典仅有五十几条。

该模块不使用代理流量。

演示

一键搜集

该模块原本准备是将其他所有模块集合并进行调用,但是还是因为没有使用多线程的原因,速度太慢了,所以就准备使用fofa的接口进行数据的查询。在设置中添加emailkey值。

演示

直接输入baidu为例

输出文档

各功能模块的返回信息都会显示在事件监视器中。

原本要做成一个函数模块的,但是还是开发经验少,没有做好规划,当我意识到的时候我已经堆了太多的💩,推倒然后再堆一坨💩,算了算了,不过就是把💩堆的再高一些罢了。

又不是不能跑,要什么多线程

又不是不能跑!

又不是不能跑!

又不是不能跑!

又不是不能跑!

又不是不能跑!

又不是不能跑!