基于AI的自动化渗透测试系统的后渗透方法.pdf

上传人:没水****6 文档编号:10567177 上传时间:2021-06-24 格式:PDF 页数:15 大小:529.90KB
收藏 版权申诉 举报 下载
基于AI的自动化渗透测试系统的后渗透方法.pdf_第1页
第1页 / 共15页
基于AI的自动化渗透测试系统的后渗透方法.pdf_第2页
第2页 / 共15页
基于AI的自动化渗透测试系统的后渗透方法.pdf_第3页
第3页 / 共15页
文档描述:

《基于AI的自动化渗透测试系统的后渗透方法.pdf》由会员分享,可在线阅读,更多相关《基于AI的自动化渗透测试系统的后渗透方法.pdf(15页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010303509.9 (22)申请日 2020.04.17 (71)申请人 北京墨云科技有限公司 地址 100085 北京市海淀区上地信息路12 号1幢4层C401 (72)发明人 谢鑫刘兵周欢李克萌 何础成董昊辰 (74)专利代理机构 北京巨弘知识产权代理事务 所(普通合伙) 11673 代理人 赵洋 (51)Int.Cl. G06F 21/57(2013.01) G06F 16/951(2019.01) G06N 3/04(2006.01) G06N 3/08(200。

2、6.01) (54)发明名称 一种基于AI的自动化渗透测试系统的后渗 透方法 (57)摘要 本发明公开了一种基于AI的自动化渗透测 试系统的后渗透方法, 包括以下步骤: S1、 提权; S2、 提取账号密码数据; S3、 文件系统遍历和生成 所述敏感信息; S4、 判断是否需要进行迭代攻击; S5、 判断是否进行跳板攻击。 本发明提供的一种 基于AI的自动化渗透测试系统的后测试方法, 能 够有效的提高渗透测试的稳定性和效率。 权利要求书3页 说明书8页 附图3页 CN 111488586 A 2020.08.04 CN 111488586 A 1.一种基于AI的自动化渗透测试系统的后渗透方法,。

3、 其特征在于: 包括以下步骤: S1、 后渗透模块(300)识别当前shell为普通权限后, 自动通过漏洞利用进行提权; S2、 所述后渗透模块(300)自动从内存中提取账号密码数据; S3、 所述后渗透模块(300)自动对文件系统进行遍历, 所述专项智能模块(430)根据所 述文件系统的内容识别敏感数据的文件, 提取和生成所述敏感信息; S4、 所述决策大脑模块(420)根据所述敏感信息进行判断是否需要进行迭代攻击, 若判 断为是则返回迭代攻击判断, 若判断为否则进入步骤S5; S5、 所述决策大脑模块(420)判断是否进行跳板攻击, 若判断为是则针对相邻目标网络 返回攻击面和情报数据、 漏。

4、洞信息收集, 若判断为否则进入渗透测试报告生成。 2.根据权利要求1所述的一种基于AI的自动化渗透测试系统的后渗透方法, 其特征在 于: 基于AI的自动化渗透测试系统包括: 信息收集模块(100): 用于对网络目标进行攻击面和情报信息采集, 用于分析和生成所 述网络目标存在的漏洞信息, 用于将所述攻击面和情报信息、 所述漏洞信息传送至渗透攻 击模块(200)和人工智能模块(400), 用于接收所述人工智能模块(400)传送的驱动指令; 渗透攻击模块(200): 用于接收所述信息收集模块(100)传送的所述攻击面和情报信 息、 所述漏洞信息, 用于对所述漏洞信息进行验证并利用所述漏洞信息对所述网。

5、络目标进 行攻击, 获取所述网络目标的访问权或信息, 并将所述访问权或信息传送至后渗透模块 (300)和所述人工智能模块(400), 用于接收所述人工智能模块(400)传送的驱动指令; 后渗透模块(300): 用于接收所述渗透攻击模块(200)传送的所述访问权或信息, 用于 对所述网络目标进行提权和提取情报信息, 用于对所述网络目标关联网络中的其它对象进 行探测和跳板攻击, 用于将所述权限信息和所述情报信息传送至所述人工智能模块(400), 用于接收所述人工智能模块(400)传送的驱动指令; 人工智能模块(400): 用于接收所述信息收集模块(100)传送的所述攻击面和情报信 息、 所述漏洞信。

6、息, 用于接收所述渗透攻击模块(200)传送的所述网络目标的访问权或信 息, 用于接收所述后渗透模块(300)传送的所述权限信息和所述情报信息, 用于根据所述攻 击面和情报信息、 所述漏洞信息、 所述访问权或信息、 所述权限信息和所述情报信息生成攻 击方法并根据所述攻击方法生成驱动指令, 用于向所述信息收集模块(100)、 所述渗透攻击 模块(200)和所述后渗透模块(300)发送驱动指令; 漏洞风险优先级重置模块(500): 用于根据所述漏洞对所述网络目标造成的实际风险 进行风险值计算, 根据漏洞的CVSS值、 漏洞利用是否成功、 漏洞利用成功后所造成的风险和 基于所述漏洞的迭代利用最终造成。

7、的风险对所述风险值进行调整, 用于根据调整后的所述 风险值对所述漏洞的危险度进行排序; 渗透测试报告模块(600): 用于根据所述人工智能模块(400)和所述漏洞风险优先级重 置模块(500)的输出数据生成渗透测试报告。 3.根据权利要求2所述的一种基于AI的自动化渗透测试系统的后渗透方法, 其特征在 于: 所述攻击面和情报信息包括IP、 域名、 旁域、 端口、 URL、 API入口路径、 数据库链接入口、 邮箱地址、 姓名、 电话号码、 被注释掉的路径、 后台登录入口、 前台登录入口、 文件上传入口, 服务、 操作系统版本、 中间件版本、 数据库版本、 网络设备版本、 应用组件版本、 应用框。

8、架、 开 发语言、 WEBshell、 凭证信息、 弱口令、 敏感信息、 绝对路径信息; 所述漏洞信息包括系统漏 权利要求书 1/3 页 2 CN 111488586 A 2 洞、 WEB应用漏洞和不安全配置。 4.根据权利要求2所述的一种基于AI的自动化渗透测试系统的后渗透方法, 其特征在 于: 所述信息收集模块(100)包括: 爬虫模块(110): 用于针对所述网络目标的域名或WEB应用类目标通过广度优先或深度 优先策略全量爬取静态页面和动态页面, 用于对所述静态页面和所述动态页面的HTML页面 代码内容进行识别并分析可以用于攻击的所述攻击面和情报信息, 用于将所述攻击面和情 报信息传送至。

9、漏洞扫描模块(130), 用于接收所述人工智能模块(400)传送的所述驱动指 令; 爆破模块(120): 用于通过子域爆破、 URL爆破、 路径爆破、 弱口令爆破和webshell爆破 对所述网络目标的域名、 URL路径、 弱口令和webshell入口进行爆破并获取所述攻击面和情 报信息, 用于将所述攻击面和情报信息传送至所述漏洞扫描模块(130), 用于接收所述人工 智能模块(400)传送的所述驱动指令; 漏洞扫描模块(130): 用于接收所述爬虫模块(110)传送的所述攻击面和情报信息, 用 于接收所述爆破模块(120)传送的所述攻击面和情报信息, 用于根据所述攻击面和情报信 息对所述网络。

10、目标进行漏洞扫描并生成所述漏洞信息, 用于将所述攻击面和情报信息、 所 述漏洞信息传送至所述渗透攻击模块(200), 用于接收所述人工智能模块(400)传送的所述 驱动指令。 5.根据权利要求4所述的一种基于AI的自动化渗透测试系统的后渗透方法, 其特征在 于: 所述访问权或信息包括系统权限、 数据库的库表结构信息、 遍历目录信息; 所述系统权 限包括权限所在的目标、 系统信息、 用户名称和shell远控系统; 所述情报信息包括用户/用 户组、 密码信息、 令牌、 敏感信息和网络信息。 6.根据权利要求2所述的一种基于AI的自动化渗透测试系统的后渗透方法, 其特征在 于: 所述人工智能模块(4。

11、00)包括: 专家系统模块(410): 用于存储决策知识, 用于将所述决策知识传送至决策大脑模块 (420); 决策大脑模块(420): 用于接收所述专家系统模块(410)传送的所述决策知识, 用于根 据所述决策知识进行攻击建模, 用于接收所述信息收集模块传送的所述攻击面和情报信 息、 所述漏洞信息, 用于接收所述渗透攻击模块(200)传送的所述网络目标的访问权或信 息, 用于接收所述后渗透模块(300)传送的所述权限信息和所述情报信息, 用于将所述攻击 面和情报信息、 所述漏洞信息、 所述网络目标的访问权或信息、 所述权限信息和所述情报信 息输入所述攻击建模生成驱动指令, 用于向所述信息收集。

12、模块(100)、 所述渗透攻击模块 (200)和所述后渗透模块(300)发送驱动指令; 专项智能模块(430): 用于根据不同场景向所述决策大脑模块提供决策支撑。 7.根据权利要求6所述的一种基于AI的自动化渗透测试系统的后渗透方法, 其特征在 于: 所述专项智能模块(430)包括: 信息收集决策模块(431): 用于对攻击面和情报信息收集过程进行决策; 图灵对抗模块(432): 用于对WEB应用系统登录界面中的字符验证码进行识别; 情报识别与提取模块(433): 根据所述情报信息, 识别和提取对攻击有帮助的情报数 据; 权利要求书 2/3 页 3 CN 111488586 A 3 指纹分析决。

13、策模块(434): 当所述网络目标指纹、 版本信息被修改以隐藏系统真实信息 时, 基于多维指纹信息分析, 进行模糊决策, 以匹配更多可以使用的攻击组件; 数据解析与攻击载荷生成决策模块(435): 根据攻击目标和网络环境信息, 综合决策, 拼接和动态调整参数以生成攻击载荷; 对于WEB应用, 对URL的数据结构进行解释, 以生成针 对性的漏洞利用和攻击载荷; 并根据每次攻击执行后返回的结果, 判断攻击是否正确, 分析 攻击失败的原因, 并为下一次攻击载荷生成决策提供依据。 权利要求书 3/3 页 4 CN 111488586 A 4 一种基于AI的自动化渗透测试系统的后渗透方法 技术领域 00。

14、01 本发明涉及网络数据安全技术领域, 具体涉及一种基于AI的自动化渗透测试系统 的后渗透方法。 背景技术 0002 渗透测试(Penetration Test)是完全模拟黑客可能使用的攻击技术和漏洞发现 技术, 对目标系统的安全作深入的探测, 发现系统最脆弱的环节, 发现复杂、 相互关联的安 全问题、 更深层次的弱点, 并将入侵的过程和细节产生报告给用户。 渗透测试工作流程主要 分为三个阶段: 预攻击阶段、 攻击阶段、 后攻击阶段。 预攻击阶段: 目的是进行信息收集工 作。 一般通过基本网络信息的获取、 常规漏洞扫描等工具对目标进行检测、 分析来获取信 息。 攻击阶段: 目的是对目标进行攻击。

15、, 获取系统的一定权限。 一般通过基于通用设备、 数据 库、 操作系统和应用的攻击, 口令猜解技术等方式来完成。 后攻击阶段: 目的是对目标维持 一定的权限, 并进行横向渗透。 一般来说, 可以通过提权、 口令破解、 跳板攻击等手法来达到 目的。 0003 目前, 渗透测试工作一般有以下两种方式: 0004 (1)人工服务方式。 由富有经验的安全工程师, 凭借人工经验, 利用网络安全扫描 器、 专用安全测试工具对网络中操作系统、 网络设备、 应用系统等进行非破坏性质的模拟攻 击。 但需要投入的人力资源较大, 对测试者的专业技能要求较高, 渗透测试报告的价值直接 依赖于测试者的专业技能, 无法提。

16、供标准化渗透测试服务; 同时, 渗透测试服务人员短缺问 题一直长期存在。 0005 (2)自动化工具方式。 使用Metasploit Framework(简称MSF)等漏洞利用框架, 虽 然通过渗透测试任务配置向导, 建立一个测试任务。 自动化工具会自动收集目标网络信息, 根据目标指纹选取匹配的攻击组件对目标执行攻击, 然后基于测试结果输出渗透测试报 告。 但其渗透测试对象有局限, 不支持情报信息识别和提取, 对于WEB应用系统无法检测出 相关风险, 不支持迭代攻击, 不支持基于实际业务风险进行漏洞风险优先级排名等问题, 要 发挥其能力仍然需要具备相当经验的渗透测试人员操作使用。 发明内容 0。

17、006 本发明是为了解决现有技术中渗透测试在使用人工服务和自动化工具时存在的 上述技术问题, 提供一种基于AI的自动化渗透测试系统的后渗透方法, 能够有效的提高渗 透测试的稳定性和效率。 0007 本发明提供一种基于AI的自动化渗透测试系统的后渗透方法, 包括以下步骤: 0008 S1、 后渗透模块识别当前shell为普通权限后, 自动通过漏洞利用进行提权; 0009 S2、 后渗透模块自动从内存中提取密码数据; 0010 S3、 后渗透模块自动对文件系统进行遍历, 专项智能模块根据文件系统的内容识 别敏感数据的文件, 提取和生成所述敏感信息; 说明书 1/8 页 5 CN 111488586。

18、 A 5 0011 S4、 决策大脑模块根据敏感信息进行判断是否需要进行迭代攻击, 若判断为是则 返回迭代攻击判断, 若判断为否则进入步骤S5; 0012 S5、 决策大脑模块判断是否进行跳板攻击, 若判断为是则针对相邻目标网络返回 攻击面和情报数据、 漏洞信息收集, 若判断为否则进入渗透测试报告生成。 0013 攻击面和情报信息、 漏洞信息收集包括以下步骤: 0014 S21、 决策大脑模块判断渗透测试任务的类型, 当设定的目标为IP地址或IP地址段 时进入步骤S22, 当设定的目标为URL或域名时进入步骤S23; 0015 S22、 决策大脑模块生成驱动指令并传送至信息收集模块, 信息收集。

19、模块根据驱动 指令对网络目标的端口和服务进行扫描, 检测所有可能的WEB应用入口, 进入步骤S24; 0016 S23、 决策大脑模块生成驱动指令并传送至信息收集模块, 信息收集模块反查所述 网络目标的IP地址, 并对网络目标的端口和服务进行扫描, 检测所有可能的WEB应用入口, 进入步骤S24; 0017 S24、 当存在URL或域名入口时, 决策大脑模块生成驱动指令并将驱动指令传送至 爬虫模块, 爬虫模块根据驱动指令进行全量URL爬取和页面HTML代码内容爬取, 并将爬取数 据传送至专项智能模块; 0018 S25、 专项智能模块对页面HTML代码进行情报识别与提取, 为爆破模块和渗透攻击。

20、 模块提供情报数据; 0019 S26、 当存在域名时, 决策大脑模块生成驱动指令并将驱动指令传送至爆破模块, 爆破模块根据驱动指令、 情报数据和域名字典进行子域名爆破, 将数据传送至漏洞扫描模 块; 0020 S27、 当存在URL路径时, 决策大脑模块生成驱动指令并将驱动指令传送至爆破模 块, 爆破模块根据驱动指令、 情报数据和URL路径字典进行URL路径爆破, 将数据传送至漏洞 扫描模块; 0021 S28、 当存在SMB、 Rlogin、 RDP、 ftp、 telnet、 SSH、 SNMP、 数据库服务、 管理后台和 webshell等访问入口时, 决策大脑模块生成驱动指令并将驱动。

21、指令传送至爆破模块, 爆破 模块根据驱动指令、 情报数据和弱口令字典进行弱口令爆破, 若当登录页面存在一次性验 证码时, 图灵对抗模块对验证码进行识别和自动填写, 将数据传送至漏洞扫描模块; 0022 S29、 漏洞扫描模块对目标IP、 域名或URL进行系统漏洞扫描、 web应用漏洞扫描和 安全配置扫描, 生成漏洞信息并将漏洞信息传送至人工智能模块。 0023 渗透攻击包括以下步骤: 0024 S31、 判断攻击类别, 当对系统进行渗透攻击时进入步骤S32, 当对WEB应用进行渗 透攻击时进入步骤S35; 0025 S32、 决策大脑模块根据攻击面和情报数据、 漏洞信息决策建立攻击分支节点, 。

22、并 通过漏洞利用成功率进行优先级排序; 0026 S33、 从优先级最高的漏洞开始, 根据专项智能模块的数据解析与攻击载荷生成决 策生成单个或多个攻击载荷对漏洞进行逐个检测, 并判断是否所有漏洞攻击利用是否均未 成功, 若判断为是则进入步骤S34, 若判断为否则进入步骤S38; 0027 S34、 专项智能模块综合所有指纹情报信息进行指纹分析决策, 采用模糊匹配的方 式, 匹配出其它漏洞, 返回步骤S32; 说明书 2/8 页 6 CN 111488586 A 6 0028 S35、 决策大脑模块根据攻击面和情报数据、 漏洞信息建立攻击分支节点并通过漏 洞利用成功率进行优先级排序; 0029 。

23、S36、 从优先级最高的漏洞开始, 根据专项智能模块的数据解析与攻击载荷生成决 策对相关URL进行数据解释, 拼接成单个或多个攻击载荷对漏洞进行逐个检测, 并判断漏洞 是否利用成功, 若判断为是则进入步骤S38, 若判断为否则进入步骤S37; 0030 S37、 专项智能模块对反馈信息进行分析, 优化调整参数后返回步骤S36; 0031 S38、 记录漏洞验证结果和攻击利用结果: 对于利用失败的结果, 进行记录; 对于利 用成功的结果获取到敏感信息的情况, 进行敏感信息记录; 对于利用成功的结果获取权限 的情况反弹shell, 获取到网络目标的访问权限。 0032 迭代攻击判断包括以下步骤: 。

24、0033 S41、 决策大脑模块根据步骤S3中漏洞验证结果和漏洞利用结果生成迭代攻击决 策并判断是否进行迭代攻击, 当判断为是时进入步骤S42, 当判断为否时进入步骤S5; 0034 S42、 当判断进行下一轮攻击利用则进入步骤S33或者S36; 当判断进行新攻击目标 探测时, 进入步骤S2; 0035 本发明所述的一种基于AI的自动化渗透测试系统的后渗透方法, 作为优选方式, 基于AI的自动化渗透测试系统包括: 0036 信息收集模块: 用于对网络目标进行攻击面和情报信息采集, 用于分析和生成网 络目标存在的漏洞信息, 用于将攻击面和情报信息、 漏洞信息传送至渗透攻击模块和人工 智能模块, 。

25、用于接收人工智能模块传送的驱动指令; 攻击面和情报信息包括IP、 域名、 旁域、 端口、 URL、 API入口路径、 数据库链接入口、 邮箱地址、 姓名、 电话号码、 被注释掉的路径、 后 台登录入口、 前台登录入口、 文件上传入口, 服务、 操作系统版本、 中间件版本、 数据库版本、 网络设备版本、 应用组件版本、 应用框架、 开发语言、 WEBshell、 凭证信息(账号、 口令)、 弱口 令、 敏感信息、 绝对路径信息; 所属漏洞信息包括系统漏洞、 WEB应用漏洞和不安全配置; 0037 渗透攻击模块: 用于接收信息收集模块传送的攻击面和情报信息、 漏洞信息, 用于 对漏洞信息进行验证并。

26、利用漏洞对网络目标进行攻击, 获取网络目标的访问权或信息, 并 将访问权或信息传送至后渗透模块和人工智能模块, 用于接收人工智能模块传送的驱动指 令; 0038 后渗透模块: 用于接收渗透攻击模块传送的访问权或信息, 用于对网络目标进行 提权和提取情报信息, 用于对网络目标关联网络中的其它对象进行探测和跳板攻击, 用于 将权限信息和情报信息传送至人工智能模块, 用于接收人工智能模块传送的驱动指令; 0039 人工智能模块: 用于接收信息收集模块传送的攻击面和情报信息、 漏洞信息, 用于 接收渗透攻击模块传送的网络目标的访问权或信息, 用于接收后渗透模块传送的权限信息 和情报信息, 用于根据攻击。

27、面和情报信息、 漏洞信息、 访问权或信息、 权限信息和情报信息 生成攻击方法并根据攻击方法生成驱动指令, 用于向信息收集模块、 渗透攻击模块和后渗 透模块发送驱动指令; 0040 漏洞风险优先级重置模块: 用于根据漏洞对网络目标造成的实际风险进行风险值 计算, 根据漏洞的CVSS值、 漏洞利用是否成功、 漏洞利用成功后所造成的风险和基于漏洞的 迭代利用最终造成的风险对风险值进行调整, 用于根据调整后的风险值对漏洞的危险度进 行排序; 说明书 3/8 页 7 CN 111488586 A 7 0041 渗透测试报告模块: 用于根据人工智能模块和漏洞风险优先级重置模块的输出数 据生成渗透测试报告。。

28、 0042 本发明所述的一种基于AI的自动化渗透系统的迭代攻击方法, 作为优选方式, 信 息收集模块包括: 0043 爬虫模块: 用于针对网络目标的域名或WEB应用类目标通过广度优先或深度优先 策略全量爬取静态页面和动态页面, 用于对静态页面和动态页面的HTML页面代码内容进行 识别并分析可以用于攻击的攻击面和情报信息, 用于将攻击面和情报信息传送至漏洞扫描 模块, 用于接收人工智能模块传送的驱动指令; 0044 爆破模块: 用于通过子域爆破、 URL爆破、 路径爆破、 弱口令爆破和webshell爆破对 网络目标的域名、 URL路径、 弱口令和webshell入口进行爆破并获取攻击面和情报信。

29、息, 用 于将攻击面和情报信息传送至漏洞扫描模块, 用于接收人工智能模块传送的所述驱动指 令; 0045 漏洞扫描模块: 用于接收爬虫模块传送的攻击面和情报信息, 用于接收爆破模块 传送的攻击面和情报信息, 用于根据攻击面和情报信息对网络目标进行漏洞扫描并生成漏 洞信息, 用于将攻击面和情报信息、 漏洞信息传送至渗透攻击模块, 用于接收人工智能模块 传送的驱动指令。 0046 本发明所述的一种基于AI的自动化渗透系统的迭代攻击方法, 作为优选方式, 人 工智能模块包括: 0047 专家系统模块: 用于存储决策知识, 用于将决策知识传送至决策大脑模块; 0048 决策大脑模块: 用于接收专家系统。

30、模块传送的决策知识, 用于根据决策知识进行 攻击建模, 用于接收信息收集模块传送的攻击面和情报信息、 漏洞信息, 用于接收渗透攻击 模块传送的网络目标的访问权或信息, 用于接收后渗透模块传送的权限信息和情报信息, 用于将攻击面和情报信息、 漏洞信息、 网络目标的访问权或信息、 权限信息和情报信息输入 攻击建模生成驱动指令, 用于向信息收集模块、 渗透攻击模块和后渗透模块发送驱动指令; 网络目标的访问权或信息包括目标、 系统信息、 用户名称和shell远控系统等系统权限、 数 据库的库表结构信息、 遍历目录信息; 情报信息包括用户/用户组、 密码信息、 令牌、 敏感信 息和网络信息; 0049 。

31、专项智能模块: 用于根据不同场景向决策大脑模块提供决策支撑。 0050 决策大脑的攻击建模包括以下过程: 0051 1)确定建模的对象和目的。 建模对象为最优攻击动作与影响因素之间的关系。 建 模的目的是选择在特定影响因素下的最优原子攻击方法。 0052 2)选择影响因素。 根据实际渗透测试中获得的经验, 最优攻击动作的选择一般与 下列因素有关: 目标权限, 目标漏洞, 目标服务, 辅助攻击情报(如账号密码), 网络过滤规 则。 0053 3)收集样本数据。 在实际渗透测试中收集到的样本数据。 0054 4)设计神经元网络。 该模型为一非线性拟合问题, 采用多层前向网络。 其中, 输入 节点数。

32、取因素数5, 输出层有2个参数, 原子攻击方法和成功概率。 根据经验公式, 隐藏层节 点数取输入层的2-3倍, 这里取10。 对该神经元网络直接采用高级语言进行模拟。 0055 5)神经元网络的训练。 选择神经元网络学习方法, 并对神经元网络进行训练。 这里 说明书 4/8 页 8 CN 111488586 A 8 选择多层神经元网络的经典学习方法BP算法。 利用该学习方法, 将样本数据输入神经 元网络, 逐层计算网络输出, 将网络输出与标准的最佳原子攻击集相比较。 如果在最佳原子 攻击方法集范围内, 则结束该样本的训练, 进入下一样本的训练。 否则反向计算各层误差, 然后逐层调整网络全职, 。

33、使最终输出落入最佳攻击方法集范围。 当所有样本训练结束后, 整 个训练过程结束。 0056 6)模型的验证。 输入非训练样本数据, 输入神经元网络, 比较网络输出与样本理想 输出, 如果在最佳原子攻击方法集范围内, 则接受该模型。 否则, 需要重新收集样本、 重新进 行网络设计并重新进行训练, 直到获得满意结果为止。 0057 7)模型的应用。 经过验证的模型, 可运用于实际生产中。 具体步骤如下: 将各个实 测的影响因素输入神经元网络, 由神经元网络输出原子攻击方法和成功概率, 并由渗透攻 击模块执行攻击, 以对目标进行有效攻击。 0058 本发明所述的一种基于AI的自动化渗透系统的迭代攻击。

34、方法, 作为优选方式, 专 项智能模块包括: 0059 信息收集决策模块: 用于对攻击面和情报信息收集过程进行决策; 0060 图灵对抗模块: 用于对WEB应用系统登录界面中的字符验证码进行识别; 0061 情报识别与提取模块: 根据情报信息, 识别和提取对攻击有帮助的情报数据; 0062 指纹分析决策模块: 当网络目标指纹、 版本信息被修改以隐藏系统真实信息时, 基 于多维指纹信息分析, 进行模糊决策, 以匹配更多可能使用的攻击组件; 0063 数据解析与攻击载荷生成决策模块: 根据攻击目标和网络环境信息, 综合决策, 拼 接和动态调整参数以生成攻击载荷; 对于WEB应用, 对URL的数据结。

35、构进行解释, 以生成针对 性的漏洞利用和攻击载荷; 并根据每次攻击执行后返回的结果, 判断攻击是否正确, 分析攻 击失败的原因, 并为下一次攻击载荷生成决策提供依据。 0064 本发明具有以下优点: 0065 (1)与人工服务方式相比 0066 1)以机器人程序模拟黑客可能使用的攻击技术/方法、 漏洞发现技术, 对系统和网 络进行非破坏性质的攻击性测试, 实现渗透测试服务标准化, 服务水平稳定, 不受人的不确 定因素的影响; 0067 2)机器人程序内置全面的漏洞验证、 漏洞利用组件, 全面覆盖WEB应用、 主机、 数据 库、 中间件、 网络设备、 大数据平台、 云计算平台、 虚拟化系统、 工。

36、业控制系统、 物联网设备等 对象, 具备 “全域” 技术能力, 知识面盲点少; 0068 3)机器人程序可以无限复制, 复制成本低, 不存在人才短缺的缺点; 0069 4)机器人程序可以无限复制, 复制成本低, 可满足海量IT系统的渗透测试的需要; 0070 5)机器人程序可以无限复制, 复制成本低, 所有系统都可以以更短的间隔周期进 行渗透测试, 大幅缩减风险暴露窗口; 0071 6)不存在引入外部 “人” 的安全风险, 渗透测试范围和过程可控, 渗透测试过程可 审计, 不存在数据外泄, 或者瞒报有价值的安全漏洞等方面的风险, 降低第三方安全服务人 员依赖。 0072 (2)与现有的自动化工。

37、具相比 0073 1)支持全域对象的自动化渗透测试: 除了支持对操作系统、 网络设备、 数据库、 中 说明书 5/8 页 9 CN 111488586 A 9 间件等系统对象进行自动化渗透测试; 还可以有效支持对于WEB应用类目标的自动化渗透 测试, 包括SQL注入、 上传漏洞等通用类漏洞的渗透测试, 产出效果优良; 0074 2)对通过修改目标指纹/版本号刻意隐藏目标真实情况的渗透目标, 仍可在增加 有限攻击算力的情况下, 准确分析其存在的漏洞: 提供漏洞利用结果综合评估分析攻击实 际效果, 当攻击效果达不到预期时, 提供指纹分析决策支持, 通过对多维指纹信息分析, 进 行模糊决策, 以匹配。

38、更多可能适用的验证或者利用组件, 进行更全面的漏洞攻击利用, 确保 目标风险可以被正确识别; 0075 3)支持全面情报信息识别和提取: 提供信息搜集决策支持, 对攻击面信息搜集过 程进行决策, 以决定搜集什么信息, 怎么搜集; 提供情报识别与提取支持, 支持从目标识别 和提取情报信息, 如账号密码信息、 邮箱信息、 电话号码、 姓名、 数据库链接入口等, 以贴合 实际业务环境的情报信息进行渗透测试; 0076 4)自动评估、 优化校正和动态生成攻击payload: 对于WEB应用, 提供数据解析与攻 击载荷生成决策支持, 对URL的数据结构进行解释, 以生成针对性的漏洞利用和攻击载荷; 并根。

39、据每次攻击执行后返回的结果, 评估漏洞利用结果信息, 以不断优化调整攻击载荷, 提 升漏洞利用成功率; 0077 5)支持自动迭代攻击: 在对各个漏洞进行单点验证或利用基础上, 提供迭代攻击 决策支持, 支持基于目标的情报信息进行自主规划和决策攻击路径和攻击方法。 支持自主 基于情报信息和漏洞联合利用, 支持自主基于2个或者以上漏洞的联合利用, 支持自主利用 所获取的信息、 权限等进行迭代攻击。 可发现复杂、 相互关联的安全问题, 发现深层次风险; 0078 6)支持基于实际业务风险进行漏洞风险优先级重置: 直接根据漏洞对业务系统造 成的实际风险进行优先级排序, 有效提升安全漏洞修复效率和效用。

40、; 0079 7)支持自动化跳板攻击: 在获得目标主机权限后, 支持基于该主机, 自动对关联网 络中的其它对象进行探测和跳板攻击, 过程不需要人工参与; 0080 8)图灵对抗: 自动识别WEB应用系统登录界面是否存在一次性验证码, 如果存在, 则自动对验证码进行识别, 并自动打码。 附图说明 0081 图1为一种基于AI的自动化渗透测试方法后渗透方法流程图; 0082 图2为一种基于AI的自动化渗透测试系统组成图; 0083 图3为一种基于AI的自动化渗透测试系统信息收集模块组成图; 0084 图4为一种基于AI的自动化渗透测试系统人工智能模块组成图; 0085 图5为一种基于AI的自动化渗。

41、透测试系统专项智能模块组成图。 0086 附图标记: 0087 100、 信息收集模块; 110、 爬虫模块; 120、 爆破模块; 130、 漏洞扫描模块; 200、 渗透 攻击模块; 300、 后渗透模块; 400、 人工智能模块; 410、 专家系统模块; 420、 决策大脑模块; 430、 专项智能模块; 431、 信息收集决策模块; 432、 图灵对抗模块; 433、 情报识别与提取模 块; 434、 指纹分析决策模块; 435、 数据解析与攻击载荷生成决策模块; 500、 漏洞风险优先级 重置模块; 600、 渗透测试报告模块。 说明书 6/8 页 10 CN 111488586 。

42、A 10 具体实施方式 0088 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。 0089 实施例1 0090 如图1所示, 本实施例在使用过程中包括以下步骤: 0091 S1、 后渗透模块300识别当前shell为普通权限后, 自动通过漏洞利用进行提权; 0092 S2、 后渗透模块300自动从内存中提取账号密码数据; 0093 S3、 后渗透模块300自动对文件系统进行遍历, 专项智能模块430根据文件系统的 内容识别敏感数据的文件, 提取和生成敏感信息; 0094 S4、 决策。

43、大脑模块420根据所述敏感信息进行判断是否需要进行迭代攻击, 若判断 为是则返回迭代攻击判断, 若判断为否则进入步骤S5; 0095 S5、 决策大脑模块420判断是否进行跳板攻击, 若判断为是则针对相邻目标网络返 回攻击面和情报信息、 漏洞信息收集, 若判断为否则进入渗透测试报告生成。 0096 如图2所示, 一种基于AI的自动化渗透测试系统, 包括: 0097 信息收集模块100: 用于对网络目标进行攻击面和情报信息采集, 用于分析网络目 标存在的漏洞临床, 用于将攻击面和情报信息、 漏洞信息传送至渗透攻击模块200和人工智 能模块400, 用于接收人工智能模块400传送的驱动指令; 攻击。

44、面和情报信息包括IP、 域名、 旁域、 端口、 URL、 API入口路径、 数据库链接入口、 邮箱地址、 姓名、 电话号码、 被注释掉的路 径、 后台登录入口、 前台登录入口、 文件上传入口, 服务、 操作系统版本、 中间件版本、 数据库 版本、 网络设备版本、 应用组件版本、 应用框架、 开发语言、 WEBshell、 凭证信息(账号、 口 令)、 弱口令、 敏感信息、 绝对路径信息; 漏洞信息包括系统漏洞、 WEB应用漏洞和不安全配 置; 如图3所示, 信息收集模块100包括: 0098 爬虫模块110: 用于针对网络目标的域名或WEB应用类目标通过广度优先或深度优 先策略全量爬取静态页面。

45、和动态页面, 用于对静态页面和动态页面的HTML页面代码内容进 行识别并分析可以用于攻击的攻击面和情报信息, 用于将攻击面和情报信息传送至漏洞扫 描模块130, 用于接收人工智能模块400传送的驱动指令; 0099 爆破模块120: 用于通过子域爆破、 URL爆破、 路径爆破、 弱口令爆破和webshell爆 破对网络目标的域名、 URL路径、 弱口令和webshell入口进行爆破并获取攻击面和情报信 息, 用于将攻击面和情报信息传送至漏洞扫描模块130, 用于接收人工智能模块400传送的 所述驱动指令; 0100 漏洞扫描模块130: 用于接收爬虫模块100传送的攻击面和情报信息, 用于接收。

46、爆 破模块120传送的攻击面和情报信息, 用于根据攻击面和情报信息对网络目标进行漏洞扫 描并生成漏洞信息, 用于将攻击面和情报信息、 漏洞信息传送至渗透攻击模块200, 用于接 收人工智能模块400传送的驱动指令; 0101 渗透攻击模块200: 用于接收信息收集模块100传送的攻击面和情报信息、 漏洞信 息, 用于对漏洞信息进行验证并利用漏洞对网络目标进行攻击, 获取网络目标的访问权或 信息, 并将访问权或信息传送至后渗透模块300和人工智能模块400, 用于接收人工智能模 块400传送的驱动指令; 网络目标的访问权或信息包括权限所在的目标、 系统信息、 用户名 称和shell远控系统等系统。

47、权限, 数据库的库表结构信息和遍历目录信息; 说明书 7/8 页 11 CN 111488586 A 11 0102 后渗透模块300: 用于接收渗透攻击模块200传送的访问权或信息, 用于对网络目 标进行提权和提取情报信息, 用于对网络目标关联网络中的其它对象进行探测和跳板攻 击, 用于将权限信息和情报信息传送至人工智能模块400, 用于接收人工智能模块400传送 的驱动指令, 情报信息包括用户/用户组、 密码信息、 令牌、 敏感信息和网络信息; 0103 人工智能模块400: 用于接收信息收集模块100传送的攻击面和情报信息、 漏洞信 息, 用于接收渗透攻击模块200传送的网络目标的访问权。

48、或信息, 用于接收后渗透模块300 传送的权限信息和情报信息, 用于根据攻击面和情报信息、 漏洞信息、 访问权或信息、 权限 信息和情报信息生成攻击方法并根据攻击方法生成驱动指令, 用于向信息收集模块100、 渗 透攻击模块200和后渗透模块300发送驱动指令; 如图4所示, 人工智能模块400包括: 0104 专家系统模块410: 用于存储决策知识, 用于将决策知识传送至决策大脑模块420; 0105 决策大脑模块420: 用于接收专家系统模块410传送的决策知识, 用于根据决策知 识进行攻击建模, 用于接收信息收集模块100传送的攻击面和情报信息、 漏洞信息, 用于接 收渗透攻击模块200。

49、传送的网络目标的访问权或信息, 用于接收后渗透模块300传送的权限 信息和情报信息, 用于将攻击面和情报信息、 漏洞信息、 网络目标的访问权或信息、 权限信 息和情报信息输入攻击建模生成驱动指令, 用于向信息收集模块100、 渗透攻击模块200和 后渗透模块300发送驱动指令; 0106 专项智能模块430: 用于根据不同场景向决策大脑模块420提供决策支撑; 如图5所 示, 专项智能模块430包括: 0107 信息收集决策模块431: 用于对攻击面和情报信息收集过程进行决策; 0108 图灵对抗模块432: 用于对WEB应用系统登录界面中的字符验证码进行识别; 0109 情报识别与提取模块4。

50、33: 根据情报信息, 识别和提取对攻击有帮助的情报数据; 0110 指纹分析决策模块434: 当网络目标指纹、 版本信息被修改以隐藏系统真实信息 时, 基于多维指纹信息分析, 进行模糊决策, 以匹配更多可能使用的攻击组件; 0111 数据解析与攻击载荷生成决策模块435: 根据攻击目标和网络环境信息, 综合决 策, 拼接和动态调整参数以生成攻击载荷; 对于WEB应用, 对URL的数据结构进行解释, 以生 成针对性的漏洞利用和攻击载荷; 并根据每次攻击执行后返回的结果, 判断攻击是否正确, 分析攻击失败的原因, 并为下一次攻击载荷生成决策提供依据; 0112 漏洞风险优先级重置模块500: 用。

展开阅读全文
内容关键字: 基于 AI 自动化 渗透 测试 系统 方法
关于本文
本文标题:基于AI的自动化渗透测试系统的后渗透方法.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10567177.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1