Full-Scanner是一个多功能扫描工具,支持被动/主动信息收集,漏洞扫描工具联动,可导入POC和EXP

news2024/11/27 22:20:04

github项目地址:https://github.com/Zhao-sai-sai/Full-Scanner

gitee项目地址:https://gitee.com/wZass/Full-Scanner

工具简介

做挖漏洞渗透测试有的时候要去用这个工具那个工具去找感觉麻烦我自己就写了一个简单的整合工具,有互联网大佬不要喷我,我也是废物

Full-Scanner是一个多功能扫描工具,支持被动/主动信息收集,漏洞扫描工具联动,可导入POC和EXP

写这个工具花费了很多时间和精力这工具几乎全部是独立编写,这个工具是去年3月开始写的,已经将近一年了,写的时候也是断断续续三天打鱼两天晒网,因为不是做开发的,工具里面写的代码也是很垃,作者我英文也是废物,变量名起的也很随意

有两个小模块一个cms识别一个web登录界面破解用的下面这两个项目

用到的工具项目地址

  • https://github.com/yzddmr6/WebCrack
  • https://github.com/F6JO/CmsVulScan

Full-Scanner的拆分

Full-Scanner的拆分工具里面的单独工具

下面这几个是已经开发好的工具可以使用的

  • 网站备份文件扫描工具下面地址:https://github.com/Zhao-sai-sai/Full_Scanner_ProbeBackup
  • 后台扫描工具项目地址:https://github.com/Zhao-sai-sai/Full_Scanner_back
  • 编码解码GUI小工具项目地址:https://github.com/Zhao-sai-sai/Full-Scanner_Encodeanddecode

目录结构

现在的目录结构

Full-Scanner
├── Full-Scanner.py # main
├── judge.py # 判断输入的命令
├── blasting # 爆破的一些脚本
│   ├── mysql_blasting #mysql爆破
│   │   ├── mysql.py
│   ├── ftp_blasting # ftp破解
│   │   ├── ftp.py
│   └── ssh_blasting # ssh破解
│       └── ssh.py
├── collect  # 被动搜集的一些脚本
│   ├── bing.py # bing搜索提取
│   ├── fofa.py # fofa搜索结果提取
│   ├── fofa_api.py # fofa的API搜索结果提取
│   ├── req_whois.py # whois查询
│   └── shodan.py # shodan信息收集
│   ├── google.py # 谷歌搜索提取
│   └── SubDnsDetect # 个采用的一些搜索引擎进行域名探测
│       ├── bing.py # 用的bing行域名探测
│       ├── censys.py # 用的censys的证书进行域名探测
│       ├── crt.py # 用的crt证书进行域名探测
│       ├── fofa.py # 用的fofa进行域名探测
│       ├── ip138.py # 使用138域名查询
│       └── SubDns.py # mian
├── conf # 配置文件
│   ├── config.py
├── dictionary # 存在着字典
│   ├── back 
│   ├── BackgroundDetection
│   ├── Backupfilescan
│   ├── extracted
│   ├── ftp
│   └── ssh
│   ├── mysql
├── Initiative # 主动信息收集的一些脚本
│   ├── backgroundscan # 后台扫描
│   │   ├── back.py
│   ├── Backupfilescan # 备份文件扫描
│   │   ├── ProbeBackup.py
│   └── portscan # 端口扫描
│       ├── port.py
├── leakscan #漏洞扫描
│   ├── awvs # python联动awvs 钉钉推送
│   │   └── python_awvs.py
│   ├── rad_xray_py # rad联动xray 钉钉推送
│   │   └── rad_xray.py
│   └── xray # xray文件的目录
│       ├── ca.crt
│       ├── ca.key
│       ├── config.yaml
│       ├── module.xray.yaml
│       ├── plugin.xray.yaml
│       ├── rad
│       ├── rad_config.yml
│       ├── readme.txt
│       ├── xray
│       └── xray.yaml
├── lib # 脚本需要的一些脚本
│   ├── GUI # GUI
│   │   ├── blasting # 爆破破解GUI
│   │   │   ├── crack_gui.py # 网页登录破解
│   │   │   ├── ftp_gui.py  # ftp破解
│   │   │   ├── mysql_gui.py #mysql破解
│   │   │   └── ssh_gui.py # ssh破解
│   │   ├── cs.py # 主GUI
│   │   ├── Information_Collection # 信息收集GUI
│   │   │   ├── back_gui.py # 后台扫描器
│   │   │   ├── Backupfilescan_gui.py # 备份文件扫描
│   │   │   ├── bing_gui.py # bing爬虫
│   │   │   ├── fofa_gui.py #  fofa搜索
│   │   │   ├── google_gui.py # google爬虫
│   │   │   ├── Port_scanning_gui.py #  端口扫描
│   │   │   ├── shodan_gui.py # shodan
│   │   │   ├── SubDns_gui.py # 子域名探测
│   │   │   └── whois_gui.py # whois查询
│   │   ├── leakscan # 漏洞扫描GUI
│   │   │   ├── Python_Awvs_gui.py
│   │   │   ├── Rad_and_Xray_dingtalk_gui.py
│   │   │   ├── Rad_and_Xray_gui.py
│   │   │   └── Single_Rad_and_Xray_gui.py
│   │   └── Utilities.py  # 实用小工具
│   │   ├── Coding_tools.py # 编码工具
│   ├── Auxiliary.py  # 杂东西
│   ├── choose.py  # 调用颜色
│   ├── cmdline
│   │   ├── cmdline.py # 命令行参数和图标
│   ├── choose_model  # 选项模式
│   │   ├── Big_Category.py
│   │   └── sub_options
│   │       ├── Active_Options.py
│   │       ├── blasting_Options.py
│   │       ├── Passive_Options.py
├── other # 其他脚本
│   ├── Contentextraction # 小工具:文件的中的域名提取
│   │   ├── extraction.py
│   └── portquery # 小工具:端口查询对应的服务
│       ├── potrquery.py
│       └── tcpudp.py
├── PocAndExpScript # 自己脚本或者POCEXP生成到工具里面
│   ├── generate #自己的脚步
│   │  
│   ├── main.py # 生成文件的关键文件 
│   ├── pecmdline
│   │   ├── pecmdline.py # 命令行参数
│   ├── storage.py # 调研判断类似上面的 ├── judge.py # 判断输入的命令
│   └── storage.txt # 添加语法多次添加
├── result # 用于存放扫描下来的结果
│   ├── back
│   ├── cms
│   ├── fofa
│   ├── ftp
│   ├── ProbeBackup
│   ├── searchengine
│   ├── shodan
│   ├── ssh
│   ├── webcrack
│   └── whois
└── thirdparty # 用到的其他人写的工具

GUI界面

image-20230302104804945

工具下载

git clone  https://github.com/Zhao-sai-sai/Full-Scanner.git

安装一些依赖

fcd Full-Scanner
pip install -r requirements.txt

工具的使用

**命令行B站演示:**https://www.bilibili.com/video/BV1ga411976w

************************************************************



         __|    | |       __|                              
         _||  | | |____|\__ \  _|  _` |   \    \   -_)  _| 
        _|\_,_|_|_|     ____/\__|\__,_|_| _|_| _|\___|_|  



作者:w啥都学Blog地址:www.zssnp.top
gitee项目地址:https://gitee.com/wZass/Full-Scanner
github项目地址:https://github.com/Zhao-sai-sai/Full-Scanner
 ************************************************************                              
usage: python3 Full-Scanner.py [参数] [目标] [其他参数]

本程序是一个多功能工具、支持信息收集、爆破、漏洞扫描、常见的POC和EXP

options:
  -h, --help            show this help message and exit

选择模式:
  如果不喜欢输入命令那样、可以用下面的参数
  -G                    选择使用选择模式(已经抛弃)
  -GUI                  图形化模式
[1][*]被动信息收集:
  下面是常见的被动信息收集方法会利用各大搜索引擎
[1]被动信息收集:[1]fofa搜索结果提取没有会员用户使用:
  -fofa [IP/域名]         fofa搜索结果提取  -Cookie [Cookie值]     Cookie需要验证、如果不想每次都指定可以去config.py文件里面添加
[1]被动信息收集:[1]fofa搜索结果提取会员用户使用:
  -fofaapi [IP/域名]      fofa搜索结果提取  -key [api key]        api key值、如果不想每次都指定可以去config.py文件里面添加  -email [email邮箱]      用户email邮箱、如果不想每次都指定可以去config.py文件里面添加  -size [数量]            每页查询数量,默认为100

[1]被动信息收集:[2]shodan信息收集:
  -shodan [[IP]]        shodan信息收集  -api [api值]           用-API参数指定、如果不想每次都指定可以去config.py文件里面添加
[1]被动信息收集:[3]whois查询:
  -whois [域名]           whois查询、咧-whois https://www.baidu.com/

[1]被动信息收集:[4]搜索引擎爬虫:
  下面这个会用一下搜索引擎进行搜索提取搜索的URL

  -bing [查询语句]          搜索引擎爬虫、咧 -bing 'intitle:后台登陆 "学院"'
  -bingm [提取的页数]        可选!提取的页数如果不指定默认就是100000、咧 -bingm 5

[1]被动信息收集:[5]搜索引擎爬虫:
  下面这个会用一下搜索引擎进行搜索提取搜索的URL

  -google [查询语句]        搜索引擎爬虫、咧 -google 'intitle:后台登陆 "学院"'
  -googlem [提取的页数]      提取的页数如果不指定默认就是100000、咧 -google 5
  -googlep [代理地址]       设置代理、咧 -googlep 127.0.0.1:8080

[1]被动信息收集:[6]子域名查询:
  这个采用的一些搜索引擎进行域名探测有bing、138、crtsh、fofa、censys等、不需要输入API这个是采集的查询结果的页面进行提取的
  -SubDNS [域名]          子域名查询
[2][*]主动信息收集:
  下面是常见的主动信息收集方法
[2]主动信息收集:[1]目标cms识别:
  -cms [URL]            目标cms识别
[2]主动信息收集:[2]备份文件扫描:
  -PB [URL]             备份文件扫描 指定扫描的目标、比如 -PB https://baidu.com/
  -PBm [文件名]            可选!多个目标保存到一个文件里面进行批量扫描  -PBt [线程数]            可选!指定线程默认是1
  -PBd [字典文件]           可选!指定字典默认是自己生成  -PBp [代理地址]           可选!可选代理地址
[2]主动信息收集:[3]后台扫描:
  -BK [URL]             后台扫描、指定扫描的目标、比如 -BK https://baidu.com/
  -BKm [文件名]            可选!多个目标保存到一个文件里面进行批量扫描  -BKd [字典文件]           可选!指定字典默认是用的php.txt
  -BKt [线程数]            可选!指定线程默认是30
  -BKp [代理地址]           可选!设置代理
[2]主动信息收集:[4]端口扫描:
  -PS [IP]              端口扫描、比如 -PS 1.1.1.1
  -PSp [指定端口]           可选!指定端口、如果不指定默认常见的端口、指定比如-PSp 1-65535或者22,80,3306
  -PSt [线程数]            可选!指定线程、线程太多会出问题
[3][*]爆破:
  下面是常见、web爆破、和服务的爆破
[3]爆破:[1]网页登录界面自动化破解:
  -crack [URL]          登录界面自动化破解、比如-crack https://xxx.com/admin.php

[3]爆破:[2]ftp爆破:
  -ftp [目标地址]           ftp爆破、比如-ftp 1.1.1.1
  -ftpp [指定端口号]         可选!指定端口默认21
  -ftpt [线程数]           可选!指定线程默认线程1
  -ftpadmin [文件名]       可选!指定用户字典、不指定使用默认  -ftppasswd [文件名]      可选!指定密码字典、不指定使用默认
[3]爆破:[3]SSH破解:
  -ssh [目标地址]           ssh密码怕破解、比如 -ssh 1.1.1.1
  -sshp [指定端口号]         可选!指定端口、默认端口号22
  -sshu [指定字典]          可选!指定用户名字典、不指定使用默认字典  -sshd [指定字典]          可选!指定密码字典、不指定使用默认字典  -ssht [线程数]           可选!指定线程、线程太多会出问题、默认线程5

[3]爆破:[4]Mysql破解:
  -mysql [目标地址]         Mysql密码怕破解、比如 -Mysql 1.1.1.1
  -mysqlp [指定端口号]       可选!指定端口、默认端口号3306
  -mysqlu [指定字典]        可选!指定用户名字典、不指定使用默认字典  -mysqld [指定字典]        可选!指定密码字典、不指定使用默认字典  -mysqlt [线程数]         可选!指定线程、线程太多会出问题、默认线程5

[4][*]漏洞扫描:

[4]漏洞扫描:[1]Rad联动Xray (目前只支持amd_linux):
  -RXURL [URL]          请输入目标地址  -MRX [文件名]            批量文件  -MRXDD [token]        可选!钉钉推送的token,不想每次都添加可以去config配置文件里面添加
[4]漏洞扫描:[2]AWVS批量扫描:
  -AwvsUrl [URL]        AWVS的服务地址  -AwvsAPI [API]        AWVS的API
  -AwvsFile [文件]        指定批量扫描的文件  -AwvsVelocity [速度]    可以设置三个,slow、moderate、fasts,说明:slow()、moderate()、fasts()
  -AwvsTime []         设置多少秒添加一个扫描任务  -AwvsName [名字]        可选!扫描备注名  -AwvsProxyIP [IP]     可选!代理IP
  -AwvsProxyPort [端口]   可选!代理端口  -AwvsDingtalk [token]
                        可选!钉钉推送的token,扫描状态和漏洞状态钉钉推送,不想每次都添加可以去config配置文件里面添加
[*]其他:小工具:

小工具:端口查询对应的服务:
  -tcp [端口]             tcp查询  -udp [端口]             udp查询
小工具:文件的中的域名提取:
  -mdns [文件]            光提取文件中的域名/IP、比如文件有一个http://1.1.1.1/x/x/x/x、提取出来的就是1.1.1.1
  -mhttpdns [文件]        取文件中的和[http/https://]+域名、比如文件有一个http://1.1.1.1/x/x/x/x、提取出来的就是http://1.1.1.1

添加POCEXP或者自己的脚步:
  -PE [PE]              使用POC/EXP
  -refresh [REFRESH]    刷新添加POC/EXP
  -reset [RESET]        清空POC/EXP

导入自己的脚本

叫文件方到PocAndExpScript/generate
导入的时候他会按照下面的方式进行导入
比如

# filename漏洞编号,这个将变成命令参数使用最好不要用中文
# main这个就是接口函数
# name 这个是这个漏洞代码的说明
# important就是必要要用的参数
# 其他的都会当做参数来用

he_lp={
    'filename':'CVE-2022-26134', # filename漏洞编号,这个将变成命令参数使用最好不要用中文
    'main':'main', # main这个就是接口函数
    'name':'CVE-2022-26134Confluence远程命令执行漏洞', # name 这个是这个漏洞代码的说明
    'important':['u'], # important就是必要要用的参数
    'u':'目标', # 其他的都会当做参数来用
    .......
}

已知问题

应为我系统是linux系统在linux运行测试的比较多,Windows系统可能会出现很多问题

  1. Windows会出现读取文件编码问题程序报错、解决方法修改文件的编码格式
  2. Windows系统会出现多线程无法Ctrl+c结束程序的问题、这个我在找解决方法、linux不会出现这个问题
  3. 爬虫问题、在信息收集可能会用到外国的网站、使用工具可能会卡在那访问不了、解决方法开代理
  4. 有的工具不能用了或者报错、问题原因可能就是我调用那个网站的界面改了导致爬虫爬取不到、这个问题我会在测试的时候碰见了我会重新写爬取策略

使用截图

就下面这几个参数可以用bug还多,我太难了

界面我用来两种格式

  • 默认是参数模式
  • -GU I#图像

mian

mian

mian

mian

mian

mian

mian

mian

公众号关注:W啥都学

警告


请勿用于非法用途!否则自行承担一切后果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/577143.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Presto之BroadCast Join的实现

一. 前言 在Presto中,Join的类型主要分成Partitioned Join和Broadcast Join,在Presto 之Hash Join的Partition_王飞活的博客-CSDN博客 中已经介绍了Presto的Partitioned Join的实现过程,本文主要介绍Broadcast Join的实现。 二. Presto中Broa…

ChatGPT免费使用的方法有哪些?

目录 一、ChatGpt是什么? 二、ChatGPT国内免费使用的方法: 第一点:电脑端 第二点:手机端 三、结语: 一、ChatGpt是什么? ChatGPt是美国OpenAI [1] 研发的聊天机器人程序 。更是人工智能技术驱动的自然语…

1. 从JDK源码级别彻底刨析JVM类加载机制

JVM性能调优 1. 类加载的运行全过程1.1 加载1.2 验证1.3 准备1.4 解析 本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。 课程内容: 1、从java.exe开始讲透Java类加载运行全过程 2、从JDK源码级别剖析JVM核…

【地铁上的面试题】--基础部分--数据结构与算法--数组和链表

零、章节简介 《数据结构与算法》是《地铁上的面试题》专栏的第一章,重点介绍了技术面试中不可或缺的数据结构和算法知识。数据结构是组织和存储数据的方式,而算法是解决问题的步骤和规则。 这一章的内容涵盖了常见的数据结构和算法,包括数组…

DevOps工作级开发者认证——软件发展

. 本文先从软件产业的现状、发展趋势及挑战,说明敏捷和DevOps必将成为业界主流的研发模式。接着介绍和阐述了敏捷和DevOps的关系,相关理念、价值和主要工程方法。最后重点介绍了某著名公司端到端DevOps的实施框架及其主要内容。 本文的目的&#…

javascript基础八:JavaScript原型,原型链 ? 有什么特点?

一、原型 JavaScript 常被描述为一种基于原型的语言——每个对象拥有一个原型对象 当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直到找到一个…

15_Linux工程目录与顶层Makefile

目录 Linux 工程目录分析 顶层Makefile详解 make xxx_defconfig过程 Makefile.build脚本分析 make过程 built-in.o文件编译生成过程 make zImage过程 Linux 工程目录分析 将正点原子提供的Linux源码进行解压,解压完成以后的目录如图所示: 图就是正点原子提供的未编译的…

【数据分类】GRNN数据分类 广义回归神经网络数据分类【Matlab代码#30】

文章目录 【可更换其他算法,获取资源请见文章第6节:资源获取】1. 数据分类问题2. 广义回归神经网络(GRNN)3. 基于GRNN的数据分类步骤4. 部分代码展示5. 仿真结果展示6. 资源获取说明 【可更换其他算法,获取资源请见文章…

八大排序算法-直接插入排序、希尔排序、直接选择排序、冒泡排序、堆排序、快速排序、归并排序、基数排序(下)

目录 前言冒泡排序(Bubble Sort)一、概念二、实现思路三、图示过程四、案例分析1、图示过程2、第一趟排序示例 五、代码1、代码示例2、代码解释3、运行结果 六、复杂度 快速排序(QuickSort)一、概念二、实现思路三、图示过程四、代…

【C++学习第十二讲】C++ 常量

文章目录 一、前言二、整数常量三、浮点常量四、布尔常量五、字符常量六、字符串常量七、定义常量7.1 #define 预处理器7.2 const 关键字 一、前言 常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。 常量可以是任何的基本数据类型&a…

202312读书笔记|《赶时间的人》——灰暗的从前会成为照亮未来的光,艰难的生活里,诗歌是那陡峭的另一面

202312读书笔记|《赶时间的人》——灰暗的从前会成为照亮未来的光,艰难的生活里,诗歌是那陡峭的另一面 《赶时间的人》 作者王计兵,一个外卖员的诗,饱含对生活的热情,向上的力量,仿若身在炼狱,心…

【014】C++数组之一维字符数组和二维字符数组

C数组之一维字符数组和二维字符数组 引言一、一维字符数组1.1、一维字符数组的初始化1.2、字符数组的遍历1.3、从键盘获取字符串1.4、使用示例 二、二维字符数组2.1、定义2.2、初始化2.3、访问 总结 引言 💡 作者简介:专注于C/C高性能程序设计和开发&…

KVM虚拟化技术学习-基础入门

1.虚拟化技术概述 虚拟化[Virtualization]技术最早出现在 20 世纪 60 年代的 IBM ⼤型机系统,在70年代的 System 370 系列中逐渐流⾏起来,这些机器通过⼀种叫虚拟机监控器[Virtual Machine Monitor,VMM]的程序 在物理硬件之上⽣成许多可以运⾏…

Windows下Pycharm2022如何使用Centos7中的虚拟环境 venv 实现文件实时同步

前期准备 Windows 与 Centos 怎么搞共享文件夹,之前写了一篇,这里直接引用 hyperf 关于配置yasd调试器进行远程调试 swoole sdebug调试 windowlinux 共享文件夹开发汇总_森叶的博客-CSDN博客yasd github下载链接:https://github.com/swoole…

redis优化

一)优雅的key结构: redis中的key虽然可以自定义,但是最好遵循下面的几个最佳实践约定: 1)遵循基本格式:业务名称:数据名字:ID; 2)长度不要超过44字节,key所占的字节数越小,占用空间越小,越短越好; 3)不要包…

this 内存原理

💟这里是CS大白话专场,让枯燥的学习变得有趣! 💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话! 💟好记性不如烂键盘,自己总结不如收藏别人! &#x1f…

Spring Cloud Alibaba - Nacos

目录 一、Spring Cloud Alibaba 1、简介 二、Nacos 1、Nacos介绍 2、什么是Nacos? 3、为何使用Nacos? 4、Nacos下载和安装 4.1、启动 Linux/Unix/Mac Windows 5、Nacos代替Eureka 6、Nacos服务注册中心 一、Spring Cloud Alibaba Spring Cl…

【循环自相关和循环谱系列7】OFDM循环自相关推导分析、时间参数估计原理仿真及某无人机实际图传信号验证(含矩形/非矩形、有无循环前缀等情况)

重要声明:为防止爬虫和盗版贩卖,文章中的核心代码可凭【CSDN订阅截图或公z号付费截图】私信免费领取,一律不认其他渠道付费截图! 说明:本博客含大量公式推导分析,比较烧脑,需要有一定的数学基础,高等数学、信号与系统等! 这是循环自相关和循环谱系列的第七篇文章了…

基于SpringBoot+Vue测试用例管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着信息技术的不断发…

【Vue】学习笔记-Vue中的Ajax配置代理

回顾 常用的发送Ajax请求的方法有哪些? xhr​​ new XMLHttpRequest() xhr.open()、xhr.send()(真正开发中很少用到,太麻烦了,我们一般使用的都是他的二次封装) ​jQuery​​ 其对xhr有二次封装 . g e t ( ) 、 .get()、 .get()、.post ​…