1、渗透测试是什么?
- 渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。渗透测试是通过各种手段对目标进行一次渗透(攻击),通过渗透来测试目标的安全防护能力和安全防护意识。
- 打个比方:比如电视剧《我是特种兵》里面的演习,特种部队(进攻方)渗透到蓝军(防守方)的指挥部进行斩首,如果斩首成功,那么就可以知道蓝方的防守能力不够好,需要改进,反之就是特种部队的特种作战能力不足,需要提升。那么渗透测试工程师就相当于特种部队里面的特战队员,我们需要对我们的目标做一次渗透,以测试目标的防护能力。渗透测试工程师就相当于矛,目标就相当于盾。
2、学习渗透测试的战略方针是什么?
其实这个方针很简单,但是很多人就是无法严格贯彻执行。简单来说就是:多学,逮住几套视频,使劲看,使劲学,使劲啃透。
3、所谓技术大神是怎么样的呢?技术好?
说技术好是很宽泛的,很表面的。我们把技术好剖析开来就是:懂得多,解决问题能力强。其中,想要懂得多比较容易实现,多学习知识就行了,但是否能把知识用于工作,这就是解决问题的能力了,这个能力需要培养,也有的人解决问题的能力天生就比别人好,这也就是为什么有些学历低的人,却比很多学历高的人混的还要好的一个很重要的原因了。
知识的积累
想要懂得多,就要话大量时间去看,去记,去实践,去总结。大家可以看到,无论是电视上还是现实中,绝大多数满腹诗论的人都较为低调,因为他们把自己一天中大量的时间花在了学习和研究上面。那么我们学习渗透测试,到底该如何去学呢?找到一个有足够多技术总结的文章或者是视频教程来学习,一定要静心学习,学习从来都不是浮躁的人能做好的事情,无论是学语文数学还是渗透测试。学完一套就学第二套,起码得看三套视频,这三套有很多知识点是重叠的,但是因为讲解人的讲解方法不同,你也就会有不一样的理解,更能帮助你消化吸收知识。三套视频总课时加起来得有250课,如果每课约为20分钟,那就是5000分钟,大约就是连续学习84个小时,如果这84个小时的知识你都懂了,那么恭喜你,你入门了,你能对小型网站发起渗透测试了。
4、解决问题的能力
解决问题之前要找到问题出现的根本原因。比如你觉得你跟你的女(男)朋友分手是因为某一件事出现了分歧的争吵,但事实上是因为你们的观念不同,因为你们不够相爱,争吵只是你们分手的导火索,并不是根本原因。
所以,透过现象看本质非常重要,这关乎我们能否彻底的把问题解决。
那时候有个人跟我说,他看了很多教程,也懂很多知识,但就是无法实战,所以他实习的时候不敢去面试安全公司。
他表达得有点粗俗:“我看过很多视频,也懂得怎么利用某个漏洞,但是当面对一个网站的时候,我就是不懂的怎么下手,就比如有个美女躺在我身下,我都不知道怎么下手。”
回到渗透测试上来,他不知道如何对一个网站下手,我问他为什么?他说不知道,这就是我们开头说到的,不知道如何对一个网站下手是他不敢去面试安全公司的一个原因,但是根本原因是他不会变换方法,没有舍我其谁的勇气。
5、学习渗透测试的具体方法是什么?
- 关注一些安全站点:这样可以了解最新的东西,提高对安全的亲切度,这样你不惧怕它,才能靠近它,占有它。
- www.freebuf.com www.anquanke.com xianzhi.aliyun.com/forum www.dark5.net
- 找几部高质量的视频教程,坚持学完,并做好每个视频的笔记。我以前学习是别人每讲完一个知识点我就把视频暂停,然后把笔记做好再继续看的,甚至把视频里面的代码抄下来,自己读再一遍那个代码(虽然读不懂,但是混个脸熟也挺好)。
- 制定一个小阶段的学习计划及目标。
- 建立一个自己的博客,把自己的所学、自己的笔记记录下来。这个很重要,因为这样你可以以一个第三者的视角看待自己的东西,找出不足,你就可以改进。
- 每天看几篇漏洞文章,以增加自己的漏洞知识储备量。
- 每天遇到新的问题,我们不妨用笔记录下来,一个一个地解决,不要着急,古人云:欲速则不达,慢慢的,你的只是储备量就会多起来的。
- 买两本纸质书籍当作理论支撑,因为视频里面讲的理论没有以文字呈现,大家理解起来也是有困难的。这里推荐几本:入门级别的《Web安全渗透剖析》,进阶级别的《白帽子讲web安全》、《网络攻防实战研究:漏洞利用与提权》。
- 找一些跟自己志同道合的朋友一起学习。比如加一些讨论氛围好的QQ群,一些小密圈,一些论坛。
6、学习过程中遇到的各种疑难杂症怎么解决?
渗透要不要学编程?
相信人都会有这个疑虑,那么作为职业的渗透测试的我,可以跟大家说一下我的看法。
学习渗透测试之前要明白渗透测试这个领域包含什么东西,渗透测试是集合计算机各领域的知识于一体衍生出来的计算机新领域。
请看下图:
从上图就可以清晰地看到,渗透测试会涉及包括但不限于数据库的知识、网络技术的知识、操作系统的知识、编程的知识。所以你觉得你要不要学习编程呢?
计算机各领域的知识水平决定你渗透水平的上限
比如你编程水平高,那你在代码审计的时候就会比别人强,写出的漏洞利用工具就会比别人的好用;比如你数据库知识水平高,那你在进行SQL注入攻击的时候,你就可以写出更多更好的SQL注入语句,能绕过别人绕不过的WAF;比如你网络水平高,那你在内网渗透的时候就可以比别人更容易了解目标的网络架构,拿到一张网络拓扑就能知道自己在哪个部位,拿到以一个路由器的配置文件,就知道人家做了哪些路由;再比如你操作系统玩得好,你提权就更加强,你的信息收集效率就会更加高,你就可以高效筛选出想要得到的信息。
7、计算机各领域的知识水平,我们该学到什么程度呢?
计算机各领域的知识水平决定你渗透水平的上限
那咱们零基础是不是要把上面的都学得很好了再搞渗透呢?
并不是的,作为初学者,可以先学习那些基础,比如你先学一个编程语言的基础,用PHP做例子,你起码要懂if else这些、连接数据库;比如学数据库,用MySQL做例子,那至少也是要会增删改查、子查询这几个操作;网络的话比较难,也是很抽象的,你做外网的渗透,至少要懂基础的http协议,知道端口是什么,知道网站是怎么架设起来的;操作系统的基础相对比较好学,主要是各种命令的作用,各种软件的安装和使用
8、渗透测试的思维是怎么样的?
- 我们所谓的猥琐的思维就是渗透要的思维,也就是大家常说的鬼点子多,鬼主意多。这意味着我们要从不同角度去思考同一件事情,但我们在渗透的时候要始终贯彻一个方针:换位思考。比如管理员会怎么设置网站,管理员会怎么设置密码,管理员会… …
9、学习渗透的过程中遇到问题问谁?怎么问?
- I、学会利用搜索引擎
渗透测试注定是一个非常有破坏性的技术,所以很多问题都没办法直接搜索到答案,这就考验各位的学习能力了。比如用Google、Baidu变换关键字来搜索。 - II、到论坛提问
去问别人,一定要把问题描述清楚,最后是把出现问题的地方截图一起发出来,方便好心人回答 - III、加入一些培训
培训都是有答疑解惑的服务的。
10、渗透工具的问题
我一开始就是用的Baidu找的工具来用的,当然,现在也差不多,只是多了朋友间的相互传递。你 不要怕有后门,因为都是要放在虚拟机里面运行的,只要还原一下VM的快照就完事了。而且随着学习的深入,你就会发现,其实平常用的工具就几个:Burp suite、AWVS、App scan、SQLmap、浏览器。
至于其他的扫描器的话,很多都是脚本语言来写的,比如Python,只要是个正常人都不会往Python脚本里面加入后门。亦或者是Java。这些东西在官网下载,或者一些可信度高的网站下载就可以了,就比如上面的网址提供的下载。
11、关于渗透测试实战的问题
网络安全法规愈发完善,我们不小心可能就做了违法乱纪的事情,所以请大家切勿瞎搞。我们可以去一些在线靶场去测试我们的所学,比如墨者靶场;还可以在本地搭建一些本地靶场,比如Dvwa;
12、关于学到什么程度才能去工作?
如果是在校生的话,人家企业是会放宽条件的。安全方面的也有很多个方向的,比如有渗透、安服、审计,这个就要看你往哪个方向走了,360行,行行出状元,不要问我哪一行吃香,没有产出,你连呼吸都是错的!
至于学到什么程度,你可以去看人家招聘信息啊,然后去应聘啊,不要怕应聘,主要是测试自己是否达到人家的要求,如果达不到就继续学习呗,反正你还在读书。如果不是学生又要转行,最快的就是找培训。
最后
希望大家都能入门成为一名网络安全相关的行业的工程师!我这里也准备了一些kali渗透、内网渗透的教程,需要的小伙伴可以留言获取。