本文提供给0基础小白,指导其如何学习通过OSCP。
本人CS硕士毕业,毕业后加入一家网络安全公司一直做传统网络安全产品研发工作(FW/IDS/IPS/WAF/scanner)。现任谋厂研究员,主要从事安全研究相关工作。
由于以前是纯开发类工作,且开发的是网络安全类产品。所以对于安全有一定了解,尤其是网络安全防护相关知识。从来没有接触过渗透测试相关工作,且感觉黑客技术十分神秘十分向往。一次机缘巧合,了解到了OSCP。OSCP无理论考试,直接通过入侵的靶机来获取考试分数,非常hacking style。经过一番深入了解,决定学习OSCP来满足自己对黑客入侵的好奇心。
学习OSCP之前,没接触过渗透,对于漏洞和漏洞利用相关仅仅是概念上的了解。具备的知识技能如下,
毕业时加入网安公司,其实是想学习下黑客技术。没想到开发网安产品本质和就是开发写代码,虽然对编程比较热爱,但还是有些遗憾,违背初衷。但也在此过程中获取非常扎实的计算机网络知识,对于防火墙原理、TCP/IP协议、流量分析相当精通。这也为后面学习OSCP理解一些渗透原理打下基础。
当初想学习黑客技术,苦于无从下手。“XX天黑客从入门到精通”这类书看了不少,还是摸不到头绪。直到了解到了OSCP和国外大神列出的学习方法。其实很简单,就是一个字–“刷!”。
渗透测试是一门完完全全的实战性学科,纸上谈兵,光读书,不实践是完全没用的。讲渗透测试的书太多了,即使看完一些公认最经典入门书籍,真正让你去黑别人还是无从下手。因为书里讲的是工具的使用,而黑客入侵最重要的是什么?绝对不是工具,而是思路。Metasploit已经将自动化渗透设计的如此强大,但如果你没有一个好的思路,给你再好的工具也是白给。这和编程一样,写出一个功能强大效率惊人的程序,关键不是用什么编程语言或IDE开发工具,而是选择什么数据结构和算法(思路),真正的大神用简单的文本编辑器和C语言就能写出叹为观止的程序。
能灵活运用复杂算法编写高端程序的大神都懂的,这项技能的获得绝对不是靠着每天写无聊的业务逻辑代码。而是在刷题网站(leetcode,poj etc.)上不断刷复杂的算法题。就是这项思路相关的技能,是牛逼程序员和码农的分水岭。黑客技术也是一样。由于在网安公司任职过,也接触过一些攻防、安全运维的人。确实也是没遇到过真正黑客大神的缘故,以前觉得他们很牛逼,现在觉得那是真的菜,大部分就是搞搞Web,工具扫扫完成任务的类型。和他们了解过,平时怎么提高技术,都搪塞而过。
程序员刷算法题提高编程技能,而黑客怎么提高自己的技能呢?——刷靶机!这里主要介绍两个著名的靶场,也是学习OSCP推荐的两个靶场,
回到OSCP的考试,前期做完了解,给自己做了一份学习计划,这个学习计划主要分了三个阶段。
1)熟悉渗透测试阶段
完成Vulnhub靶机30台,网上有针对OSCP练习Vulnhub靶机的分类。从easy级别的开始做,medium级别和OSCP考试难度相似(但套路不同),hard级别靶机选做(步骤真的太复杂)。以下是Vulnhub OSCP 的一个列表,不是最全的,也没必要将最全的做完。
此表三列,从左到右分别是easy、media、harder。开始练习时肯定没有思路不知道从何下手,直接搜每个靶机的writeup即可,按照writeup上的步骤完成靶机。这里搜writeup时,一定要看老外写的writeup,不要担心英语问题,截图能让你看明白。多搜几篇,一个靶机的思路可能有好几种,都研究研究,才有提高。还有重要的一点,要做笔记,内容为主要以下几个方面。
通过对这几项的总结,做完这个列表中的靶机,即使是0基础的小白,对渗透测试也会有一个较为深入的理解。可以开始报名OSCP,进行下一阶段学习。
2)OSCP课程学习阶段
通过Vulnhub的靶机练习,此时对渗透已经了一定基础,此时报名,刚好可以通过教材进行系统性学习,这样学习效率会更高。
报名需要企业邮箱,不能用公开邮箱进行报名。如果没有公司的企业邮箱,大家可以先申请域名(要钱),然后使用腾讯/网易企业邮箱进行注册(免费)。报名缴费后,是不会第一时间将教材和连接lab的VPN发给你的,约两周左右,自己可以推迟时间。收到教材连接的邮件后,lab进入计时。大家购买lab时注意,购买一个月太短,最好两个月起。如果考虑做课后题,最好买三个月,课后题量巨大,但做完可以得到5分(笔者未做题,第一次65分遗憾未通过)。以下以三个月为例安排学习计划,
经过这个阶段学习,你已经具备了非常完备的渗透测试体系知识,并且相关技术能力也有了一个质的提升,具备独立完成靶机的能力了。此时你的耐心和毅力也有了非常强力的提升,try harder!
3)强化阶段
经过前两个阶段的学习,你已经具备一名渗透测试人员基本的知识和技能。但要通过考试,可能还是不够。OSCP lab难度低于OSCP考试的,而且windows相关靶机提权花样感觉也不是很多。笔者也是在看了看国外大神通过OSCP后给的建议,刷HTB。下表是HTB OSCP相关的最新列表,
建议先刷前两列,linux和windows交替进行练习。笔者亲历,这个列表右边一列很难。昨天两列从上到下难度一次增高。前面的靶机可以当作完成教材学习后实力的验证。后面的靶机如果不会,可以参考writeup,多看几个,看看不同人的手法,会有很大提升。做完后总结,总结很重要。HTB连30台左右可以参加考试。笔者考试一刷不过,二刷怒练50+。
以上三个阶段的学习计划,适合0基础的同学。如果本身是做这项工作的同学,大家可以自行调整。
看了其他大神的一些通过心得,感觉考试这块都大同小异。此处我分析下个人的心得,大概三个方面进行分析,在完全不泄露考试内容的基础上,让每个同学少踩坑或不踩坑。
考前准备:
考试注意:
考试策略:
希望大家能够通过我的心得,在考中游刃有余,顺利通过。
OSCP只是一个开始,它将我带入了黑客技术的大门。通过对课程的学习和考试,也让我拥有了异常强大的耐心和毅力,try harder! 后面可能会考虑OSCE3 (OSEP/OSWE/OSED),也会和大家继续分享黑客技术相关知识,帮助更多想要学习的同学入门。
请大家关注我的新专栏,《零基础黑客训练》。帮助更多真正想要入门渗透测试的同学学习!