漏洞发现

漏洞发现

扫描思路

特定目标扫描

如果我们要对特定的目标进行扫描的话,思路:

  • 做好信息搜集(WEB、服务、中间件、框架、操作系统等信息)
  • 根据所得到的信息使用各种工具来进行漏洞扫描
  • 如果有些漏洞无法使用工具扫描到,那么就需要人工测试。
  • 如果可以得到源码,还可以进行白盒测试。
  • 优点:测试更加精准,准确,适合寻找高危漏洞。
  • 适合众测平台的目标。(一般都是企业)
  • 缺点:效率低

批量扫描(批量挖洞)

批量扫描有两种情况:

第一种情况:如果本人手中存有一个漏洞,并知道如何利用。那么,本人可以从网络安全引擎中搜索符合漏洞触发条件的资产,将这些资产导出,对这些资产使用工具或自身编写的脚本进行批量的利用。(针对性强,依据某一个漏洞来进行批量扫描,一定可以挖到漏洞(排除引擎误报的情况))

第二种情况:举一个例子,如果本人要寻找所有edu网站下weblogic的漏洞。那么,本人可以先从网络安全引擎中搜索符合条件的资产,之后将这些资产直接导入到漏洞扫描工具或自身编写的脚本下进行测试。(针对性偏弱,并不是依据某一个具体的漏洞来进行扫描,不太适合寻找高危漏洞,有可能找不到漏洞,适合edusrc上的目标,效率高,快速挖漏洞的情况)

针对第二种情况:可以使用网络安全引擎+工具联动的方式来解决。(参见Fofamap&nuclei联动实现批量扫描)

工具下载地址

注意:随着时代的变迁,有些工具需要更新!

漏洞扫描测试平台:http://demo.aisec.cn

通用漏洞扫描工具

https://www.ddosi.org/awvs14-6-log4j-rce/
https://github.com/chaitin/xray/releases
https://github.com/zan8in/afrog/releases
https://github.com/zhzyker/vulmap/releases
https://github.com/jweny/pocassist/releases
https://github.com/gobysec/Goby/releases
https://github.com/projectdiscovery/nuclei
https://www.tenable.com/products/nessus/nessus-essentials
https://www.fujieace.com/hacker/rapid7-nexpose.html
https://github.com/asaotomo/FofaMap

特定漏洞扫描工具

GUI_TOOLS 中间件扫描利用工具

CMS漏洞扫描器名称 支持的CMS平台
Droopescan       WordPress,Joomla,Drupal,Moodle,SilverStripe
CMSmap           WordPress,Joomla,Drupal,Moodle
CMSeeK           WordPress,Joomla,Drupal 等
WPXF             WordPress
WPScan           WordPress
WPSeku           WordPress
WPForce          WordPress
JoomScan         Joomla
JoomlaVS         Joomla
JScanner         Joomla
Drupwn           Drupal
Typo3Scan        Typo3

致远 OA 综合利用工具
https://github.com/Summer177/seeyon_exp
通达 OA 综合利用工具
https://github.com/xinyu2428/TDOA_RCE 
蓝凌 OA 漏洞利用工具/前台无条件 RCE/文件写入
https://github.com/yuanhaiGreg/LandrayExploit 
泛微 OA 漏洞综合利用脚本
https://github.com/z1un/weaver_exp
锐捷网络 EG 易网关 RCE 批量安全检测
https://github.com/Tas9er/EgGateWayGetShell 
CMSmap 针对流行 CMS 进行安全扫描的工具
https://github.com/Dionach/CMSmap
使用 Go 开发的 WordPress 漏洞扫描工具
https://github.com/blackbinn/wprecon
一个 Ruby 框架,旨在帮助对 WordPress 系统进行渗透测试
https://github.com/rastating/wordpress-exploit-framework
WPScan WordPress 安全扫描器
https://github.com/wpscanteam/wpscan

注:没有绝对好的漏洞扫描工具,建议多个工具都尝试一下~

注:工具一般都是通过爬虫来进行扫描,爬虫一般只能爬取前端页面,后端源码拿不下来。因此,工具只适合在黑盒测试下搞,如果工具不行,那么如果我们有源码,可以进行白盒测试。

Web&框架&中间件层面

awvs(推荐!)

Acunetix 一款商业的 Web 漏洞扫描程序,它可以检查 Web 应用程序中的漏洞,如 SQL注入、跨站脚本攻击、身份验证页上的弱口令长度等。它拥有一个操作方便的图形用户界面,并且能够创建专业级的 Web 站点安全审核报告。新版本集成了漏洞管理功能来扩展企业全面管理、优先级和控制漏洞威胁的能力。

优点:

  • 适用于Web漏洞扫描
  • 也支持中间件上的漏洞扫描
  • 支持热门CMS漏洞的扫描(如:Wordpress)
  • 如果该网站源码是开发者自己编写,那么很适合用awvs。

缺点:

  • 由于该软件是国外开发,因此对于国内的、冷门的CMS,漏洞扫描效果不好。
  • 如果该网站源码采用CMS搭建,扫描效果不佳。(原因:你可以使用该工具扫描,难道开发者们不会?)

注:对于CMS,我们也可以考虑使用专用的漏洞扫描工具。

burpsuite(抓包神器)

Burp Suite 是用于攻击 web 应用程序的集成平台,包含了许多工具。Burp Suite 为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的 HTTP 消息、持久性、认证、代理、日志、警报。

pocassist

pocassist 是一个 Golang 编写的全新开源漏洞测试框架。实现对 poc 的在线编辑、管理、测试。如果你不想撸代码,又想实现 poc 的逻辑,又想在线对靶机快速测试,那就使用 pocassist 吧。完全兼容 xray,但又不仅仅是 xray。除了支持定义目录级漏洞poc,还支持服务器级漏洞、参数级漏洞、url 级漏洞以及对页面内容检测,如果以上还不满足你的需求,还支持加载自定义脚本。

优点:

  • 支持自定义、在线测试POC,还可以添加对应的漏洞描述
  • 支持Web、中间件漏洞扫描

afrog(推荐!)

afrog 是一款性能卓越、快速稳定、PoC 可定制的漏洞扫描(挖洞)工具,PoC 涉及CVE、CNVD、默认口令、信息泄露、指纹识别、未授权访问、任意文件读取、命令执行等多种漏洞类型,帮助网络安全从业者快速验证并及时修复漏洞.

优点:

  • 支持自定义、在线测试POC,还可以添加对应的漏洞描述
  • 支持Web、中间件漏洞扫描

缺点:

  • 只会检测是否存在漏洞,但是不会利用。

Xray

一款功能强大的安全评估工具。

优点:

  • 支持Web、中间件漏洞扫描

缺点:

  • 内部版需要付费,社区版不需要付费,但是效果不佳。

Goby(推荐!)

Goby是新一代网络安全评估工具。它可以高效、实用地扫描漏洞,同时为目标企业整理最完整的攻击面信息。Goby还可以根据暴露在互联网上的公司漏洞快速渗透到公司内部网。我们努力使Goby成为一个更重要的工具,可以根据黑客的实际攻击方法进行基准测试,帮助公司有效地理解和应对网络攻击。

优点:

  • 支持Web、中间件漏洞扫描
  • 图形化界面,对用户友好,使用简单
  • 支持POC的添加、修改等
  • 支持各种插件,功能丰富(可以联动:VulMap、Xray、awvs、vulfocus、server酱、msf、fofa(联动插件进行批量扫描)等)

VulMap

Vulmap 是一款 web 漏洞扫描和验证工具, 可对 webapps 进行漏洞扫描, 并且具备漏洞利用功能, 目前支持的 webapps 包括 activemq, flink, shiro, solr, struts2, tomcat, unomi, drupal, elasticsearch, fastjson, jenkins, nexus, weblogic, jboss, spring, thinkphp

Vulmap 将漏洞扫描与验证(漏洞利用)结合到了一起, 及大程度便于测试人员在发现漏洞后及时进行下一步操作, 工具追求于于高效、便捷
高效: 逐步开发中慢慢引入了批量扫描、Fofa、Shodan 批量扫描, 且支持多线程默认开启协程, 以最快的速度扫描大量资产
便捷: 发现漏洞即可利用, 大量资产扫描可多格式输出结果。

优点:

  • 支持Web、中间件漏洞扫描
  • 漏洞发现后可以直接利用,不需要测试人员手动参与

缺点:

  • 长期不更新了~
  • 漏洞集成数相对少~

问题

如果使用web漏洞扫描工具直接去扫描APP,可能会有如下问题:

  • 访问不到
    • APP里面的Web很大情况下需要配合特定的数据包访问(配置UA头等)
    • 工具内如果没有配置数据包特征的话,大概率都是默认访问
  • 漏洞太少
    • 工具基本都是使用爬虫来进行扫描,如果访问不到,那么网站就是空白,对于空白页面,爬虫如何进行扫描?又如何进行漏洞的探针?(联动扫描)

联动扫描/APP&小程序层面

联动扫描解决的问题

  • 效率不高的问题
  • 扫不到漏洞的问题
  • 漏洞太少的问题

常见组合

  • Burp&Xray联动
    • Burp设置转发代理
    • Xray设置被动扫描
    • 这种情况下,用户通过单击页面触发数据包,Burp将抓到的数据包转发给Xray,Xray再根据数据包进行扫描漏洞。
    • 解决了:有些网站页面通过爬虫无法直接访问到,通过用户手动访问该页面解决漏洞漏扫的情景(APP漏洞扫描)。
  • Awvs&Xray联动
    • Awvs设置代理扫描
    • Xray设置被动扫描
    • 这种情况下,Awvs通过爬虫扫描页面,扫描的同时将数据包通过代理转发给Xray,Xray再进行扫描。
    • 解决了:一个一个工具扫同一个页面,效率不高的问题。如果某个APP上的页面需要配置数据包才可以进行访问,然而Xray不支持配置数据包的话,那么我们可以通过Awvs配置数据包,然后将配置后的数据包交由Xray来进行扫描。解决了扫不到漏洞的问题。
  • Awvs&Burp&Xray联动
    • Awvs设置代理扫描
    • Burp设置转发代理
    • Xray设置被动扫描
    • 这种情况下,Awvs通过爬虫扫描页面,扫描的同时将数据包给Burp,Burp接受数据包,再将数据包通过代理转发给Xray,Xray进行扫描。
    • 比较花哨,如果需要多种工具扫描的话,可以采用。
    • 解决了上述提到的问题。

操作系统&服务&中间件层面

Goby

之前说过,不再赘述。

注:Goby更加适合扫Web、框架、中间件、服务上的漏洞,对于操作系统层面,建议不要使用Goby

Nuclei(推荐!)

Nuclei 是一款基于 YAML 语法模板的开发的定制化快速漏洞扫描器。它使用 Go 语言开发,具有很强的可配置性、可扩展性和易用性。 提供 TCP、DNS、HTTP、FILE 等各类协议的扫描,通过强大且灵活的模板,可以使用 Nuclei 模拟各种安全检查。

优点:

  • 支持定制化、自定义POC,比Xray的POC更丰富!
  • 可以理解为Xray的内部版
  • 支持WEB、中间件、其他各类协议(服务)的扫描。
  • 实时性强大!

缺点:

  • 不支持操作系统方面漏洞扫描

Nessus

Nessus 号称是世界上最流行的漏洞扫描程序,全世界有超过75000 个组织在使用它。该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。Nessus 不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥控,进行系统的漏洞分析扫描。

优点:

  • 支持WEB、中间件、操作系统、其他各类协议(服务)的扫描
  • 老牌工具

缺点:

  • 不好注册,需要key。

Nexpose(推荐!)

Nexpose 是 Rapid7 出品,一款著名的、极佳的商业漏洞扫描工具。跟一般的扫描工具不同,Nexpose 自身的功能非常强大,可以更新其漏洞数据库,以保证最新的漏洞被扫描到。漏洞扫描效率非常高,对于大型复杂网络,可优先考虑使用;可以给出哪些漏洞可以被 Metasploit Exploit,哪些漏洞在 Exploit-db 里面有 exploit 的方案。可以生成非常详细的,非常强大的Report,涵盖了很多统计功能和漏洞的详细信息。虽然没有 Web 应用程序扫描,但Nexpose 涵盖自动漏洞更新以及微软补丁星期二漏洞更新。

优点:

  • 支持中间件、操作系统、其他各类协议(服务)的扫描
  • 老牌工具
  • 扫操作系统漏洞效果不佳(操作系统的漏洞本身就很难探针)
  • 支持MSF,与MSF可以进行很好的联动,可以通过msf进行漏洞利用(方便小白)

缺点:

  • 不支持Web漏洞扫描
  • 不好注册,需要key

Fofamap&nuclei联动实现批量扫描

Fofamap可以将fofa引擎上搜索的资产导入到nuclei工具中来实现批量的挖洞。(上述提到的第二种情况)

这种情况缺点:有可能挖不到高危漏洞,甚至有可能挖不到漏洞。

优点:效率高

具体的使用方式,可以参考Fofamap的官方文档。

插件

Burp插件

对于同一个目标,我们可以采用如下测试方案:

  • 使用其他工具直接进行测试(漏洞)
  • 使用Burp抓包后放入Burp插件测试
    如果使用其他工具直接进行测试的话,由于部分工具没有配置数据包的功能,因此对于有些需要配置数据包的场景(UA头)是有可能存在访问不到的情况。

那么,这种情况下我们可以采用第二种方案来解决上述的问题。

因此,对于Burp插件的优点:

  • 简单,方便快捷。
  • 解决了部分页面访问不到的情况。

Burp插件的缺点:

  • 功能单一,能做的事情有限。
联动Nuclei对Burp抓来的数据包进行扫描
https://github.com/bit4woo/Fiora
https://github.com/projectdiscovery/nuclei-burp-plugin
扫描spring框架上的漏洞
https://github.com/metaStor/SpringScan
扫描Fastjson框架上的漏洞
https://github.com/Maskhe/FastjsonScan
扫描Log4j框架上的漏洞
https://github.com/bigsizeme/Log4j-check
扫描Shiro框架上的漏洞
https://github.com/pmiaowu/BurpShiroPassiveScan

浏览器插件

资产:https://github.com/fofapro/fofa_view
辅助:https://github.com/LasCC/Hack-Tools
漏洞库:https://github.com/DenisPodgurskii/pentestkit

致谢

https://www.bilibili.com/video/BV1pQ4y1s7kH/?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click

免责声明

    本博客中的内容仅供学习之用,不用于商业用途,也不可以用于任何非法用途,否则后果自负,本人不承担任何责任!

热门相关:绝代疯少   榴绽朱门   君归矣   秾李夭桃   士子风流