探测漏洞的方法及装置、存储介质、电子装置
技术领域
本发明涉及网络安全领域,具体而言,涉及一种探测漏洞的方法及装置、 存储介质、电子装置。
背景技术
网络攻击是黑客或者病毒木马等对电子设备发起的攻击,通过窃取文件 等给用户带来了巨大损失,而渗透测试正是模拟网络攻击的过程,以提前发 现问题,及时弥补,有备无患。
相关技术在进行渗透测试时,并不能收集到完整的信息,或者仅能使用 简单的外网数据对目标系统进行渗透,导致渗透率低,或者必须使用渗透目 标提供的数据才能进行渗透测试,而这在渗透测试时是不可能的,并不能真 实地模拟网络攻击的过程。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种探测漏洞的方法及装置、存储介质、电子装置。
根据本发明的一个实施例,提供了一种探测漏洞的方法,包括:确定渗 透目标所属的局域网,其中,所述渗透目标为通过网络连接的网络系统;采 集所述局域网的内网相关信息,以及采集所述局域网的外网相关信息;使用 所述内网相关信息和所述外网相关信息探测所述渗透目标的对外漏洞;利用 所述对外漏洞获取所述渗透目标的操作权限;将所述对外漏洞确定为所述局 域网的危险入口,所述操作权限确定为所述网络系统的非法权限,生成所述 渗透目标的渗透测试报告。
可选的,采集所述局域网的内网相关信息包括以下至少之一:采集所述 局域网的域名资产信息;采集所述局域网的IP地址信息;采集所述网络系统 的服务器的开放端口信息和开放服务信息;采集所述网络系统的构架信息, 其中,所述构架信息包括:开发语言、部署服务器的操作系统、中间件、第 三方代码使用的通用框架;采集所述网络系统的web目录信息,其中,所述 web目录信息包括以下至少之一:网站目录结构、网站目录下保存的指定类 型的文件、后台页面地址。
可选的,采集所述局域网的域名资产信息包括:使用以下至少之一查询 所述局域网的一级域名:网络搜索引擎、线上公开代码仓库、线上样本分析 平台、域名系统DNS解析记录中、安全套接字层SSL证书信息中、网站跨域 策略文件crossdomain.xml、全网数据查询接口。
可选的,在查询所述局域网的一级域名之后,还包括:通过DNS枚举, 得到所述一级域名的子域名;利用DNS区域传送功能获取所述子域名的子域 名信息。
可选的,采集所述局域网的外网相关信息包括以下至少之一:从所述局 域网的外网获取所述渗透目标所属单位的人力资源信息;从所述局域网的外 网采集所述渗透目标所属单位的单位邮箱信息;从所述局域网的外网采集所 述渗透目标的历史渗透记录,其中,所述历史渗透记录包括:后台地址,密 码信息,文件上传点,虚拟专用网络VPN信息,目录遍历漏洞。
可选的,使用所述内网相关信息和所述外网相关信息探测所述渗透目标 的对外漏洞包括:使用所述外网相关信息对所述网络系统进行钓鱼测试;在 收到所述钓鱼测试的成功反馈后,使用所述内网相关信息探测所述渗透目标 的对外漏洞。
可选的,在利用所述对外漏洞获取所述渗透目标的操作权限之后,所述 方法还包括:利用所述对外漏洞获取所述渗透目标的操作权限;使用所述操 作权限执行以下操作至少之一:访问所述渗透目标的业务系统;访问所述渗 透目标的本地数据;在所述渗透目标的内网进行横向渗透。
根据本发明的另一个实施例,提供了一种探测漏洞的装置,包括:确定 模块,用于确定渗透目标所属的局域网,其中,所述渗透目标为通过网络连 接的网络系统;采集模块,用于采集所述局域网的内网相关信息,以及采集 所述局域网的外网相关信息;探测模块,用于使用所述内网相关信息和所述 外网相关信息探测所述渗透目标的对外漏洞;获取模块,用于利用所述对外 漏洞获取所述渗透目标的操作权限;生成模块,用于将所述对外漏洞确定为 所述局域网的危险入口,所述操作权限确定为所述网络系统的非法权限,生 成所述渗透目标的渗透测试报告。
可选的,所述采集模块包括以下至少之一:第一采集单元,用于采集所 述局域网的域名资产信息;第二采集单元,用于采集所述局域网的IP地址信 息;第三采集单元,用于采集所述网络系统的服务器的开放端口信息和开放 服务信息;第四采集单元,用于采集所述网络系统的构架信息,其中,所述 构架信息包括:开发语言、部署服务器的操作系统、中间件、第三方代码使 用的通用框架;第五采集单元,用于采集所述网络系统的web目录信息,其 中,所述web目录信息包括以下至少之一:网站目录结构、网站目录下保存 的指定类型的文件、后台页面地址。
可选的,所述第一采集单元包括:查询子单元,用于使用以下至少之一 查询所述局域网的一级域名:网络搜索引擎,线上公开代码仓库,线上样本 分析平台、域名系统DNS解析记录中、安全套接字层SSL证书信息中、网站 跨域策略文件crossdomain.xml、全网数据查询接口。
所述第一采集单元还包括:第一获取子单元,用于通过DNS枚举,得到 所述一级域名的子域名;第二获取子单元,用于利用DNS区域传送功能获取 所述子域名的子域名信息。
可选的,所述采集模块包括以下至少之一:第六采集单元,用于从所述 局域网的外网获取所述渗透目标所属单位的人力资源信息;第七采集单元, 用于从所述局域网的外网采集所述渗透目标所属单位的单位邮箱信息;第八 采集单元,用于从所述局域网的外网采集所述渗透目标的历史渗透记录,其 中,所述历史渗透记录包括:后台地址,密码信息,文件上传点,虚拟专用 网络VPN信息,目录遍历漏洞。
可选的,所述探测模块包括:钓鱼单元,用于使用所述外网相关信息对 所述网络系统进行钓鱼测试;探测单元,用于在收到所述钓鱼测试的成功反 馈后,使用所述内网相关信息探测所述渗透目标的对外漏洞。
可选的,所述装置还包括:执行模块,用于在所述获取模块利用所述对 外漏洞获取所述渗透目标的操作权限之后,用于使用所述操作权限执行以下 操作至少之一:访问所述渗透目标的业务系统;访问所述渗透目标的本地数 据;在所述渗透目标的内网进行横向渗透。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中 存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项 方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处 理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算 机程序以执行上述任一项方法实施例中的步骤。
通过本发明,确定渗透目标所属的局域网,采集局域网的内网相关信息 以及局域网的外网相关信息,使用所述内网相关信息和所述外网相关信息探 测所述渗透目标的对外漏洞,可以选择内网相关信息和外网相关信息作为渗 透测试的入口,解决了相关技术中由于信息不完整而导致渗透效率低的技术 问题,相关信息和外网相关信息相结合,可以探测得到更完整更多的对外漏 洞,从而提高了渗透率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部 分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的 不当限定。在附图中:
图1是本发明实施例的一种探测漏洞的服务器的硬件结构框图;
图2是根据本发明实施例的一种探测漏洞的方法的流程图;
图3是本发明实施例从信息收集到漏洞探测的逻辑流程图;
图4是本发明实施例任务节点针对渗透目标的攻击线路图;
图5是根据本发明实施例的探测漏洞的装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实 施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不 冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第 一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后 次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本 申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外, 术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含, 例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于 清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在计算机设备或者类似的运算 装置中执行。以运行在计算机设备上为例,图1是本发明实施例的一种探测 漏洞的计算机设备的硬件结构框图。如图1所示,计算机设备10可以包括一 个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微 处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储 器104,可选地,上述计算机设备还可以包括用于通信功能的传输设备106以 及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示 意,其并不对上述计算机设备的结构造成限定。例如,计算机设备10还可包 括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模 块,如本发明实施例中的一种探测漏洞的方法对应的计算机程序,处理器102 通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数 据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括 非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性 固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远 程设置的存储器,这些远程存储器可以通过网络连接至计算机设备10。上述 网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组 合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实 例可包括计算机设备10的通信供应商提供的无线网络。在一个实例中,传输 装置106包括一个网络适配器(Network Interface Controller,简称为NIC), 其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中, 传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过 无线方式与互联网进行通讯。
在本实施例中提供了一种探测漏洞的方法,图2是根据本发明实施例的 一种探测漏洞的方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,确定渗透目标所属的局域网,其中,渗透目标为通过网络连 接的网络系统;
本实施例的渗透目标是由硬件、软件和网络构成的网络系统,运行在局 域网或者广域网内,可以通过交换机、防火墙等与广域网隔离,网络系统包 括电子设备和数据程序,网络系统包括服务器、数据库,业务系统,接入网 络的电子设备,电子设备安装的操作系统等,应用在各种场景,如保密性较 强或安全需求较强的单位。渗透目标的局域网由网络系统的各个硬件和软件 组成,内网信息包括硬件的网络地址和接口信息,软件的构架信息,以及web 目录信息。
步骤S204,采集局域网的内网相关信息,以及采集局域网的外网相关信 息;
步骤S206,使用内网相关信息和外网相关信息探测渗透目标的对外漏洞。
本实施例的漏洞是在硬件、软件、协议的具体实现或系统安全策略上存 在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统,本实 施例的对外漏洞为可以被第三方设备利用的网络系统的缺陷。
步骤S208,利用对外漏洞获取渗透目标的操作权限;
步骤S210,将对外漏洞确定为局域网的危险入口,操作权限确定为网络 系统的非法权限,生成渗透目标的渗透测试报告。
通过上述步骤,确定渗透目标所属的局域网,采集局域网的内网相关信 息以及局域网的外网相关信息,使用所述内网相关信息和所述外网相关信息 探测所述渗透目标的对外漏洞,可以选择内网相关信息和外网相关信息作为 渗透测试的入口,解决了相关技术中由于信息不完整而导致渗透效率低的技 术问题,相关信息和外网相关信息相结合,可以探测得到更完整更多的对外 漏洞,从而提高了渗透率。
本实施例的执行主体可以是电脑,平板等电子设备,该电子设备连接在 渗透目标所在的局域网,或者连接在广域网内。
本实施例中,采集局域网的内网相关信息包括以下至少之一:
采集局域网的域名资产信息;在本实施例的一个实施方式中,采集局域 网的域名资产信息包括:使用以下至少之一查询局域网的一级域名:网络搜 索引擎,线上公开代码仓库,线上样本分析平台、域名系统DNS解析记录中、 安全套接字层SSL证书信息中、网站跨域策略文件crossdomain.xml、全网数 据查询接口;通过DNS枚举,得到一级域名的子域名,并利用DNS区域传 送功能获取子域名的子域名信息。DNS区域传送功能是DNS服务器上可以开 启的一个功能组件,包括:服务端设置DNS,并创建一个主机记录,测试DNS 服务器是否正常,检查服务端是否开启区域传送功能。
在收集子域名信息时,从baidu、bing、google、360so等公开搜索引擎, github、oschina等公开代码仓库,virustotal等样本分析平台、dns解析记录中、 ssl证书信息中、网站crossdomain.xml等特征文件中以及全网数据查询接口等, 并且采用dns枚举技术,可以利用预设子域名字典通过公开DNS服务器进行 域名枚举等手段收集与目标相关的子域名,可以枚举二级、三级等子域名, 并尝试利用DNS区域传送功能获取相关子域名信息,从而更权限的获取子域 名结果;还进行漏洞端口检测,用于发现域名对于的主机是否对外开放常见 端口,方便对目标进行进一步的渗透。
采集局域网的IP地址信息;
采集网络系统的服务器的开放端口信息和开放服务信息;可以发现网络 系统的服务器对外开放的端口和服务,支持TCP(Transmission Control Protocol 传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)的全端 口范围发现;预先设置服务指纹规则,用于识别端口对外提供的服务;可以 使用TCP-SYN(同步序列编号,SynchronizeSequence Numbers)、TCP-Connect、 FIN(TCP状态)扫描模式等方式,采集目标端口的信息,使用图表方式直观 的展示端口和服务开放的情况。
采集网络系统的构架信息,其中,构架信息包括:开发语言、部署服务 器的操作系统、中间件、第三方代码使用的通用框架;可以通过Web指纹识 别来采集构架信息,可以发送GET、POST、HEAD、自定义请求头等多种请 求方式的规则,并且根据HTTP响应包中的正文内容、响应包头、HTTP响应 状态码、以及正文的HASH进行判断,并且支持正则表达式填写规则。Web 指纹识别主要是用于发现Web网站的架构信息,以便于更深入的挖掘网站存 在的漏洞。例如,开发语言、部署服务器的操作系统、中间件、使用的第三 方代码通用框架等,发现手段如下:通过判断指定页面是否存在;通过识别 某个特殊文件的HASH值;指定页面内容中的关键字;数据响应包头信息中 特有的标记字符串或者规则。
采集网络系统的web目录信息,其中,web目录信息包括以下至少之一: 网站目录结构、网站目录下保存的指定类型的文件、后台页面地址。在Web 目录扫描时,支持HEAD、GET协议,支持自定义请求头、支持自定义状态 码和线程数,针对自定义不存在页面的场景,系统本身根据目标会自动生成 判断模型,可以自动判断200状态码的不存在页面,同时用户也可以自定义 不存在页面的特征,更加精准的进行判断,同时针对目录扫描的字典增加了 评分制度,每次检测优先使用最优字典进行扫描。Web目录扫描用于发现网 站的目录结构、网站目录下存在的敏感文件、网站信息泄露、后台页面地址 等。支持多线程默认检测,允许HEAD、GET请求方式进行目录扫描,对目 录和脚本页面的字典进行了优化和分类处理。支持自助优化技术,能保证每 次优先使用最优字典进行扫描,同时可以指定状态码进行识别。能够准确识 别不存在页面,保证结果的准确性,尤其解决了状态码为200的自定义不存 在(404)页面的问题。为了更全面的发现网站目录,支持递归模式扫描。
在本实施例中,通过搜索引擎收集与渗透目标相关的信息并发现渗透目 标对外泄露的文档等。采集局域网的外网相关信息包括以下至少之一:从局 域网的外网获取渗透目标所属单位的人力资源信息;从局域网的外网采集渗 透目标所属单位的单位邮箱信息;从局域网的外网采集渗透目标的历史渗透 记录,其中,历史渗透记录包括:后台地址,密码信息,文件上传点,虚拟 专用网络VPN信息,目录遍历漏洞。外网相关信息为互联网公开信息,外网 信息收集模块,可以采用google、github、weixin、dogpile、baidu、wooyun、bing、360so等搜索引擎,可收集管理后台、密码信息、文件上传点、VPN信 息、目录遍历、敏感信息、公开资料等信息。在收集邮箱信息时,可以从baidu、 bing、google、360so等公开搜索引擎,github、oschina等公开代码仓库中, 抓取邮箱相关的信息。
图3是本发明实施例从信息收集到漏洞探测的逻辑流程图,包括内网相 关信息采集(子域名发现、端口扫描)和外网相关信息采集(邮箱发现、互 联网公开信息收集)。
在本实施例的另一方面,使用内网相关信息和外网相关信息探测渗透目 标的对外漏洞包括:
S11,使用外网相关信息对网络系统进行钓鱼测试;
S12,在收到钓鱼测试的成功反馈后,使用内网相关信息探测渗透目标的 对外漏洞。
在本实施例中,各个信息的采集可以通过设置在渗透设备内的功能模块 来实现,包括:
子域名发现子模块:该子功能模块主要用于在渗透目标前期踩点过程收 集目标所有的域名资产信息。可以从baidu、google、bing、360so等公共搜索 引擎,github、oschina等公共代码仓库,SSL证书信息,Virustotal等第三方 平台中收集相关域名资产信息。可以利用内置的子域名字典通过公开DNS服 务器进行域名枚举等手段收集与目标相关的子域名。提供常见漏洞端口检测 模块,用于发现域名对于的主机是否对外开放常见端口,方便对目标进行进 一步的渗透。
端口扫描子模块:该子模块功能主要是用于发现服务器对外开放的端口 和服务,支持TCP和UDP协议的全端口范围发现;内置大量的服务指纹规则, 用于识别端口对外提供的服务;支持使用TCP-SYN、TCP-Connect、UDP扫 描模式等方式。使用图表方式直观的展示端口和服务开放的情况。
Web指纹识别子模块:Web指纹识别主要是用于发现Web网站的架构信 息,以便于更深入的挖掘网站存在的漏洞。例如,开发语言、部署服务器的 操作系统、中间件、使用的第三方代码通用框架等,发现手段如下:通过判 断指定页面是否存在;通过识别某个特殊文件的HASH值;指定页面内容中 的关键字;数据响应包头信息中特有的标记字符串或者规则。
邮箱收集子模块:此子模块能够自动收集渗透目标相关的用户或者员工 邮箱列表,用于进行钓鱼测试、域账户信息获取、内部办公系统的发现、目 标员工信息及其相关弱口令的检测。收集方式主要来源于公共接口,例如, baidu、google、bing、360so等搜索引擎、github等公共代码仓库资源。从相 关的页面中爬取公开的邮箱列表或者使用猜解手段去获取邮箱信息。
Web目录扫描子模块:Web目录扫描用于发现网站的目录结构、网站目 录下存在的敏感文件、网站信息泄露、后台页面地址等。支持多线程默认检 测,允许HEAD、GET请求方式进行目录扫描,对目录和脚本页面的字典进 行了优化和分类处理。支持自助优化技术,能保证每次优先使用最优字典进 行扫描,同时可以指定状态码进行识别。能够准确识别不存在页面,保证结 果的准确性,尤其解决了状态码为200的自定义不存在(404)页面的问题。为 了更全面的发现网站目录,支持递归模式扫描。
互联网资料检索子模块:该子模块主要是用于通过搜索引擎收集与渗透 目标相关的信息并发现渗透目标对外泄露的文档等。该方法在渗透过程中尤 为重要,可能收集到直接渗入目标内网的手段和方法。主要利用的搜索引擎 包括baidu、google、github、weixin、dogpile、baidu、wooyun、bing、360so 等。收集信息的类别包括:管理后台地址、密码信息、文件上传点、VPN信 息、目录遍历漏洞、敏感信息、公开资料等。该功能模块内置了大量的搜索 引擎语法规则,可以利用这些内置的规则进行快速的信息收集。另外,为了 提高信息收集的效率,信息收集模块支持同时并发收集多个目标信息的功能, 能够同时搜索多目标系统,支持多任务并发运行。
在本实施例中,在利用所述对外漏洞获取所述渗透目标的操作权限之后, 还包括:使用操作权限执行以下操作至少之一:访问渗透目标的业务系统; 访问渗透目标的本地数据;在渗透目标的内网进行横向渗透。本实施例的业 务系统包括网站服务器,数据库等,如频繁访问网站服务器,频繁发送相同 的指令等,在业务系统超过处理上限时,有可能会导致宕机或崩溃,本实施 例的本地数据包括局域网内可分享的数据,以及通过局域网连接的各个设备 内保存的数据等。
本实施例对探测到的可利用的漏洞进行封装,把复杂的漏洞利用过程集 成到插件库中,在需要进行漏洞利用时,即可执行响应的输入一键获取回显 结果,比如执行系统命令,对于用户而言只需要输入想要执行的命令,点击 执行按钮(或者系统自动触发),即可获取命令执行结果,不需要关心漏洞的 复杂利用过程。例如,发现weblogic反序列化漏洞后可以直接通过高级利用 功能执行命令、上传文件、反弹交互shell等操作。渗透人员只需要输入目标 地址,即可一键进行漏洞的发现和利用过程。针对一些无法完全自动化发现的漏洞提供了单独漏洞利用的功能,渗透人员只需要输入相应的参数即可一 键利用漏洞,例如对fastjson漏洞的利用。同时也可用于已知漏洞的利用,比 如输入oracle账号密码、一键提权、执行系统命令等。此功能大大简化了漏 洞利用过程。
本实施例通过向渗透目标发送渗透指令来指示执行渗透操作,在将渗透 指令发送至渗透目标的目标服务器之前,需要经过渗透目标的网关和防护系 统,包括WAF,IDS(Intrusion Detection System,入侵检测系统),IPS (Intrusion Prevention System,入侵防御系统),监控设备,路由器,交换机。 在底层的发包程序中添加绕过WAF的各种手段,并根据目标情况自动选择过 WAF的方法,包括:1.采用在数据包头部填充大量无用数据绕过资源限制检 测类型WAF;2.采用编码、变形、同类型函数替换、注释符处理、分词、数 据库语法特性绕过规则检测类型WAF;3.采用协议转换、协议格式变化、更 换协议绕过协议层面检测类型WAF;4.采用自主发现的数据包分片传输技术 绕过WAF。分片传输是把待发送的数据每三个字节分割成多个数据包,单独 发送到目标服务器上,从而躲避根据数据包内容匹配的检测手段,并且在发 送HTTP数据包的底层程序中嵌入本实施例的分片技术。
图4是本发明实施例任务节点针对渗透目标的攻击线路图,示意了从信 息收集到后渗透攻击的流程走向,每个任务节点都可以执行渗透测试。在本 实施例中,各个功能的实现可以通过设置在渗透设备内的功能模块来实现, 包括:
信息收集模块:在渗透测试之前,使用各种线上手段来收集渗透目标的 相关信息。信息收集模块主要是完成对渗透目标的信息收集。
漏洞探测模块:该模块能够对渗透目标进行自动化的漏洞探测。漏洞探 测分为两种方式,网站URL探测方式和IP地址探测方式。网站URL探测方 式是通过对目标进行指纹识别,收集中间件、通用网站框架、开发语言、操 作系统等指纹信息,从插件库中寻找与之相关的漏洞插件发现存在的漏洞。IP 地址探测方式是对目标进行端口扫描,发现对外开放的服务,识别对应的服 务类型,寻找与之相关的漏洞插件,从而判断漏洞是否存在。
漏洞插件库目前包含7000多个漏洞插件,漏洞范围覆盖Web、中间件、 数据库、网络设备、操作系统、智能设备、移动终端、工控设备等系统。能 够发现不限于SQL(结构化查询语言)注入、XXE(Xml外部实体注入)、 XSS(跨站脚本攻击)、任意文件上传、任意文件下载、任意文件操作、信息 泄露、弱口令、本地文件包含、目录遍历、命令执行、错误配置等类型的漏 洞。部分插件还提供了一键漏洞利用的高级功能。高级功能包括:执行命令、 执行SQL、上传文件、反弹Shell、上传GTWebshell、下载文件等。漏洞插件 库由360拥有多年渗透经验人员进行维护。
Web指纹库可识别600多种CMS(内容管理系统),总规则数量达到2000 多个。系统服务指纹集成NMAP工具指纹库,能够满足常规系统服务的类型 和版本识别。支持场景化检测,可以根据需求快速定制至少包含常规测试、 攻防演练、靶场演练、安全能力评估等场景,从而达到定制化场景漏洞发现 的需求。单次任务不限制添加目标数量,任务能够分布式的并发执行,从而 保证高效率的发现漏洞。
漏洞利用模块:漏洞利用模块用于解决两个问题:一是针对一些无法完 全自动化发现的漏洞提供单独漏洞利用功能;例如,在一些无法通过爬虫或 者其他手段自动获取到目标地址时,渗透人员利用此模块只需要手动填写相 应的参数即可一键利用漏洞。二是可直接探测指定的漏洞是否存在并进一步 利用此漏洞。此功能可以把复杂的漏洞利用过程简单化,比如输入oracle账 号密码,一键提权、执行系统命令等。另外,此模块也提供漏洞利用的高级 功能,包括执行命令、执行SQL、上传文件、反弹Shell、上传GTWebshell、 下载文件等,均可以利用该模块进行漏洞利用。
后渗透模块:通过后渗透模块对目标进行横向渗透。例如:发现内网的 网络拓扑情况、发现内网数据库漏洞、发现邮件服务器所在的位置,甚至获 取办公网段、运维主机或者域控制器的权限。后渗透模块包含远程控制系统, 可以对windows、linux、unix、android、ios、aix、bsd、cisco、osx等16种平 台进行控制,支持X86、X64、arm、sparc、ppc等30多种框架。对于被控端, 支持多种格式被控端的生成,包括可执行文件格式。例如exe、elf、powershell、 vbs、dll等20多种,以及原始Shellcode的生成。通过其他漏洞打下的外网脆 弱点连接后渗透模块,利用后渗透插件,即可实现主机信息收集、主机提权、 内网网络拓扑发现、主机取证、密码获取、系统截图、键盘记录等功能。
插件管理模块:根据相关文档快速的编写插件,工具还提供代码自动生 成功能方便插件的编写。插件库管理支持随时提交、导入新插件,利用动态 导入加载技术,实现无延迟载入新插件。为了保证插件的有效性和准确性, 提供了插件的启用、禁用操作功能方便随时配置插件库规则。为了更好的维 护插件库增添了插件的审核机制,保证插件库里面的插件都是优质的插件。 具备完善的插件库管理功能,可以提交插件、查看插件列表、审查插件。
指纹管理模块:指纹管理主要为了维护指纹库而设计,可以在该页面查 看所有的指纹库中的规则信息。指纹管理模块提供提交指纹功能,方便渗透 人员随时添加指纹信息。利用动态导入技术,可以实现无延迟载入新指纹到 指纹库中。添加指纹规则支持Web通用框架、中间件、开发语言、第三方框 架等。识别手段支持字符串、MD5、数据包头、特殊页面状态码等方式。为 了更好的维护指纹库,增添了指纹的审核机制,保证指纹库里面的插件都是 优质的指纹规则。指纹管理包含提交指纹、指纹列表、审查指纹功能。
WAF绕过技术模块:很多WAF(网站应用级入侵防御系统,Web ApplicationFirewall)防护设备被部署在网络节点中,本模块用于绕过防护设 备。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据 上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也 可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本 发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的 形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁 碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机, 服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种探测漏洞的装置,可以是计算机终端,该装 置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以 下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管 以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件 的组合的实现也是可能并被构想的。
图5是根据本发明实施例的探测漏洞的装置的结构框图,可以应用在服 务器中,如图5所示,该装置包括:确定模块50,采集模块52,探测模块54, 其中,
确定模块50,用于确定渗透目标所属的局域网,其中,所述渗透目标为 通过网络连接的网络系统;
采集模块52,用于采集所述局域网的内网相关信息,以及采集所述局域 网的外网相关信息;
探测模块54,用于使用所述内网相关信息和所述外网相关信息探测所述 渗透目标的对外漏洞;
获取模块56,用于利用所述对外漏洞获取所述渗透目标的操作权限;
生成模块58,用于将所述对外漏洞确定为所述局域网的危险入口,所述 操作权限确定为所述网络系统的非法权限,生成所述渗透目标的渗透测试报 告。
可选的,所述采集模块包括以下至少之一:第一采集单元,用于采集所 述局域网的域名资产信息;第二采集单元,用于采集所述局域网的IP地址信 息;第三采集单元,用于采集所述网络系统的服务器的开放端口信息和开放 服务信息;第四采集单元,用于采集所述网络系统的构架信息,其中,所述 构架信息包括:开发语言、部署服务器的操作系统、中间件、第三方代码使 用的通用框架;第五采集单元,用于采集所述网络系统的web目录信息,其 中,所述web目录信息包括以下至少之一:网站目录结构、网站目录下保存 的指定类型的文件、后台页面地址。
可选的,所述第一采集单元包括:查询子单元,用于使用以下至少之一 查询所述局域网的一级域名:网络搜索引擎,线上公开代码仓库,线上样本 分析平台、域名系统DNS解析记录中、安全套接字层SSL证书信息中、网站 跨域策略文件crossdomain.xml、全网数据查询接口。
所述第一采集单元还包括:第一获取子单元,用于通过DNS枚举,得到 所述一级域名的子域名;第二获取子单元,用于利用DNS区域传送功能获取 所述子域名的子域名信息。
可选的,所述采集模块包括以下至少之一:第六采集单元,用于从所述 局域网的外网获取所述渗透目标所属单位的人力资源信息;第七采集单元, 用于从所述局域网的外网采集所述渗透目标所属单位的单位邮箱信息;第八 采集单元,用于从所述局域网的外网采集所述渗透目标的历史渗透记录,其 中,所述历史渗透记录包括:后台地址,密码信息,文件上传点,虚拟专用 网络VPN信息,目录遍历漏洞。
可选的,所述探测模块包括:钓鱼单元,用于使用所述外网相关信息对 所述网络系统进行钓鱼测试;探测单元,用于在收到所述钓鱼测试的成功反 馈后,使用所述内网相关信息探测所述渗透目标的对外漏洞。
可选的,所述装置还包括:执行模块,用于在所述获取模块利用所述对 外漏洞获取所述渗透目标的操作权限之后,用于使用所述操作权限执行以下 操作至少之一:访问所述渗透目标的业务系统;访问所述渗透目标的本地数 据;在所述渗透目标的内网进行横向渗透。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后 者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中; 或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程 序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步 骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下 步骤的计算机程序:
S1,确定渗透目标所属的局域网,其中,所述渗透目标为通过网络连接 的网络系统;
S2,采集所述局域网的内网相关信息,以及采集所述局域网的外网相关 信息;
S3,使用所述内网相关信息和所述外网相关信息探测所述渗透目标的对 外漏洞;
S4,利用所述对外漏洞获取所述渗透目标的操作权限;
S5,将所述对外漏洞确定为所述局域网的危险入口,所述操作权限确定 为所述网络系统的非法权限,生成所述渗透目标的渗透测试报告。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读 存储器(Read-Only Memory,简称为ROM)、随机存取存储器(RandomAccess Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程 序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储 器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一 项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中, 该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行 以下步骤:
S1,确定渗透目标所属的局域网,其中,所述渗透目标为通过网络连接 的网络系统;
S2,采集所述局域网的内网相关信息,以及采集所述局域网的外网相关 信息;
S3,使用所述内网相关信息和所述外网相关信息探测所述渗透目标的对 外漏洞;
S4,利用所述对外漏洞获取所述渗透目标的操作权限;
S5,将所述对外漏洞确定为所述局域网的危险入口,所述操作权限确定 为所述网络系统的非法权限,生成所述渗透目标的渗透测试报告。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中 所描述的示例,本实施例在此不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施 例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可 通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例 如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划 分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些 特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接 耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接, 可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单 元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单 元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本 申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的 全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个 存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服 务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。 而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随 机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等 各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润 饰,这些改进和润饰也应视为本申请的保护范围。