关于自动化渗透测试的理念

0x00 背景

2014BlackHat大会上发布了一款名为Heybe的工具,Heybe是一款包含多个模块的自动渗透测试工具。据称,Heybe可以在几分钟内完成对目标公司所有系统的测试。

    Heybe包含的模块:

    Fener,优化过的主机快速发现工具。Fener利用多种网络工具,来发现目标网络中的所有主机。

    Kevgir,自动化漏洞扫描工具,使用速度优化过的Kevgir可以在几分钟内完成对目标的特定漏洞扫描。

    Sees,高精准度的社会工程学工具。

    Kacak,发现Windows中的域并自动接管。

    Depdep,分析流量中泄漏出来的敏感信息。

    Cilingir,密码破解程序,可以捕获密码/hash并进行破解。捕获的密码可以传送到服务器上进行破解,并可以将破解成功的密码本地储存供后续使用。

    Levye,暴力破解程序,不但可以破解常见的协议并支持OpenVPN等不常见的协议的破解。

 

0x01 实现自动化渗透测试的必要性

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

 

0x02 现有自动化渗透测试工具的缺陷

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

 

0X04 分组-模块化的优势

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

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

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

 

0x05 缺陷及解决方案

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

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

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

 

0x06 结语

    总之,自动化渗透测试是未来发展的趋势,我们提出的分组-模块化目前还是理念为主,正在进行block demo 的编写,算法优化等还需要后期继续努力,希望自动化渗透测试能够快速实现,推动网络安全的发展。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值