安全研究/行业动态/实现自动化渗透测试的必要性
实现自动化渗透测试的必要性
2026-06-11 10:28分享

渗透测试采用黑白盒测试方法对安全体系的评估,他是综合性的,对安全人员的各方面的技能知识都要了解很多,比如前端,后端,数据库,编程语言,网络协议,操作系统,代码审计及poc exp编写能力,对主流漏洞有深刻理解,会主流的安全测试工具。有如此强大的知识面和知识链的渗透测试工程师自然是薪资不菲,不管对甲方亦或者是乙方,都是时间和财力上的一大消耗。并且当今职业渗透测试工程师的水平也参差不齐,一些水平较低的渗透测试工程师很难高质量地找出漏洞或者进行威胁等级评判。而自动化渗透测试技术的成熟则可以有效解决以上问题,由此可见,渗透测试自动化是未来的发展趋势也是未来网络安全行业的需要。

1、现有自动化渗透测试工具的缺陷

虽然很多安全厂商/安全团队/dalao已经开发出了一些自动化渗透测试工具,但是当前并没有一款(已知)工具成熟可用,原因如下:

1.多数自动化渗透测试工具在爬虫算法上存在很强的片面性,例如在面度Ajax或者其他动态网页技术的Web站点时显得有些吃力,容易产生安全评估方面的误差。

2.对于新出现的Web安全漏洞显得束手无策。当前很多自动化渗透测试工具并没有持续大量扩充漏洞库,这就导致现有工具存在较为严重的时效性。

3.现有工具对于单一漏洞探测已有较高成功率,但是无法评估多漏洞叠加的危害,无法进行综合利用。

4.单一的模块化的设计理念可能存在较为严重的技术片面性,难以保证在渗透测试的每一个环节都能达到相同的高质量效果

2、 关于自动化渗透测试工具的新设计理念

正如之前所说,自动化渗透测试工具在现阶段还存在比较大的缺陷,那么如何弥补缺点成了我们新的问题。

在之前的模块化自动渗透测试工具的基础上,我们开始思考,分组-模块化会不会拥有更好的效果?

所谓分组-模块化就是在现有模块化的基础上,添加更多的专一性更强的新模块,若干个能完成同一单一任务模块组成一个工具组,借用这种方式来解决当前自动工具的技术片面性,同时以提权工具组为例,我们可以更加方便的调用其他工具,增加漏洞库。

对于分组的方式我们也已经有了初步的想法。我们计划将整个渗透测试自动化体系分为4组。

信息收集+无脑入侵组:该分组将包括信息收集模块,端口扫描模块,高精度社工模块,cms识别与cms漏洞扫描模块,爬虫模块,SSH爆破模块,命令执行漏洞扫描利用模块等。

Web站点安全组:该分组将包括Sqli模块,高危漏扫模块,cms漏洞扫描模块,数据库语句执行接口模块,XSS自动检测模块,管理员页面爆破模块,waf自动爆破模块等。

服务器提权组:端口扫描模块,命令执行漏洞扫描 模块,漏洞库模块,漏洞利用模块等。

内网渗透组:主机扫描识别模块,端口扫描模块,命令执行漏洞扫描模块,漏洞库模块,漏洞利用模块,FTP爆破模块等。

3、 分组-模块化的优势

自动化渗透测试体系采用分组-模块化的结构之后,可以在很大程度上解决技术上的片面性,成熟的分组-模块化自动渗透测试体系几乎可以完成渗透测试工程师能完成的全部任务,而穿透的模块却容易因某个模块的技术缺陷导致后面渗透测试工作的低效甚至失效。

对于多漏洞叠加的危害传统的模块化渗透测试工具可能无法对其威胁性进行评估,而分组-模块化的渗透测试体系可以在很大程度上解决以上问题,原因也正是该体系克服了模块化工具的技术片面性。

更满足当前乃至未来渗透测试的需求,从渗透测试的角度来说更加完整可靠,从安全评估的角度来说更加完整科学。

4、 缺陷及解决方案

从Heybe的说明上我们可以看出,Heybe的渗透测试所需时间非常短,而采用了分组-模块化之后,随着模块的大量增多,任务量增大,势必会消耗更多的时间进行渗透测试,而一些紧急的任务所追求的是速度与效率,由此可见该体系的最大问题是效率。

为此我们学习了一些相关脚本,发现多数Python 编写的脚本均采用了单一线程,而Python的计算效率是有方法提高的。当面临效率问题的时候,可以采用某种适当的方法提高相应的效率,尤其是在端口扫描阶段和字典爆破,我们进行了相关测试,多线程 的方案效率远远高于单一线程。

除了进行多线程处理之外,多任务组同时工作更是对该体系效率的一大提高,信息收集+无脑入侵组和Web站点安全组同时利用彼此的工具进行工作,对于已知漏洞出现后,服务器提权组迅速做出相应均可以在很大程度上提高效率。