渗透测试是什么?
渗透测试(Penetration Test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
换句话来说,渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。
我们认为渗透测试还具有两个显著特点:
- 渗透测试是一个渐进的并且逐步深入的过程。
- 渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。
作为网络安全防范的一种新技术,对于网络安全组织具有实际应用价值。但要找到一家合适的公司实施渗透测试并不容易。
渗透测试中使用哪些技术方法
端口扫描 有授权的情况下直接使用 nmap、msscan、自己写 Python 脚本等端口扫描工具直接获取开放的端口和获取服务端的 banner 信息。
漏洞扫描 使用 Nessus、AWVS、AppScan 等漏扫工具直接扫描目标,可以直接看到存活主机和主机的漏洞情况。
漏洞攻击 如果只是使用端口扫描,只是发现开放的端口,在获取 banner 信息后需要在漏洞库(Seebug, ExploitDB)上查找对应 CVE,后面就是验证漏洞是否存在。安全检查一般是尽可能地发现所有漏洞,对漏洞的风险进行评估和修复。入侵的话只关注高危远程代码执行和敏感信息泄露漏洞等可以直接利用的漏洞。漏洞验证可以找对应的 CVE 编号的 POC、EXP,利用代码在 ExploitDB、Seebug 上查看或者在 GitHub 上搜索是否有相关的漏洞验证或利用的工具。
Web 应用 可以直接寻找注入、上传、代码执行、文件包含、跨站脚本等漏洞,来进行攻击。一般可以使用 AWVS 直接扫描常见漏洞。
我们理解的渗透测试是通过各种手段对目标进行一次渗透(攻击),通过渗透来测试目标的安全防护能力和安全防护意识。 打个比方:比如电视剧《我是特种兵》里面的演习,特种部队(进攻方)对指挥部进行斩首,如果斩首成功,那么就可以知道蓝方的防守能力不够好,需要改进,反之就是特种部队的特种作战能力不足,需要提升。那么渗透测试工程师就相当于特种部队里面的特战队员,我们需要对我们的目标做一次渗透,以测试目标的防护能力。渗透测试工程师就相当于矛,目标就相当于盾。
学习渗透测试的战略方针是什么?
其实这个方针很简单,但是很多人就是无法严格贯彻执行。简单来说就是:多学,逮住几套视频,使劲看,使劲学,使劲啃透。
所谓技术大神是怎么样的呢?技术好?说技术好是很宽泛的,很表面的。我们把技术好剖析开来就是:懂得多,解决问题能力强。其中,想要懂得多比较容易实现,多学习知识就行了,但是否能把知识用于工作,这就是解决问题的能力了,这个能力需要培养,也有的人解决问题的能力天生就比别人好,这也就是为什么有些学历低的人,却比很多学历高的人混得还要好的一个很重要的原因了。
知识的积累
想要懂得多,就要花大量时间去看,去记,去实践,去总结。大家可以看到,无论是电视上还是现实中,绝大多数满腹诗论的人都较为低调,因为他们把自己一天中大量的时间花在了学习和研究上面。那么我们学习渗透测试,到底该如何去学呢?找到一个有足够多技术总结的文章或者是视频教程来学习,一定要静心学习,学习从来都不是浮躁的人能做好的事情,无论是学语文数学还是渗透测试。学完一套就学第二套,起码得看三套视频,这三套有很多知识点是重叠的,但是因为讲解人的讲解方法不同,你也就会有不一样的理解,更能帮助你消化吸收知识。三套视频总课时加起来得有 250 课,如果每课约为 20 分钟,那就是 5000 分钟,大约就是连续学习 84 个小时,如果这 84 个小时的知识你都懂了,那么恭喜你,你入门了,你能对小型网站发起渗透测试了。
解决问题的能力
解决问题之前要找到问题出现的根本原因。比如你觉得你跟你的女朋友分手是因为某一件事出现了分歧的争吵,但事实上是因为你们的观念不同,因为你们不够相爱,争吵只是你们分手的导火索,并不是根本原因。所以,透过现象看本质非常重要,这关乎我们能否彻底的把问题解决。
那时候有个人跟我说,他看了很多教程,也懂很多知识,但就是无法实战,所以他实习的时候不敢去面试安全公司。他表达得有点粗俗:'我看过很多视频,也懂得怎么利用某个漏洞,但是当面对一个网站的时候,我就是不懂的怎么下手。'
我特别纳闷,既然美女都躺下了,你为何不替她宽衣解带?不会宽衣解带?那你也不懂去看看岛国的爱情动作教育片?那其实说到底就是你看不到自己的知识储备量不够。既然知识不够,那就胆子来凑啊,不会宽衣解带,就撕开啊!还是不会撕开,那你就脸皮厚一点,让人家女生自己来啊。这种事情的最终目的是达到双方都愉悦的目的,谁主动都可以的啊。
回到渗透测试上来,他不知道如何对一个网站下手,我问他为什么?他说不知道,这就是我们开头说到的,不知道如何对一个网站下手是他不敢去面试安全公司的一个原因,但是根本原因是他不会变换方法,没有舍我其谁的勇气。


