OSCP 2021攻略之旅--从小白到通过

1.背景

本文提供给0基础小白,指导其如何学习通过OSCP。

本人CS硕士毕业,毕业后加入一家网络安全公司一直做传统网络安全产品研发工作(FW/IDS/IPS/WAF/scanner)。现任谋厂研究员,主要从事安全研究相关工作。

由于以前是纯开发类工作,且开发的是网络安全类产品。所以对于安全有一定了解,尤其是网络安全防护相关知识。从来没有接触过渗透测试相关工作,且感觉黑客技术十分神秘十分向往。一次机缘巧合,了解到了OSCP。OSCP无理论考试,直接通过入侵的靶机来获取考试分数,非常hacking style。经过一番深入了解,决定学习OSCP来满足自己对黑客入侵的好奇心。

学习OSCP之前,没接触过渗透,对于漏洞和漏洞利用相关仅仅是概念上的了解。具备的知识技能如下,

  • 强大的Linux C 开发能力;
  • 精通算法数据结构,高效的编写代码能力;
  • 有能力在大学讲台直接开讲的计算机网络和操作系统知识;
  • 非常熟悉并使用常见网络安全产品;
  • 由于上了7年CS的学,精通各类软件开发,主流编程语言(C/C++/JAVA/Python etc.)都可直接上手。

毕业时加入网安公司,其实是想学习下黑客技术。没想到开发网安产品本质和就是开发写代码,虽然对编程比较热爱,但还是有些遗憾,违背初衷。但也在此过程中获取非常扎实的计算机网络知识,对于防火墙原理、TCP/IP协议、流量分析相当精通。这也为后面学习OSCP理解一些渗透原理打下基础。

2.学习方法

当初想学习黑客技术,苦于无从下手。“XX天黑客从入门到精通”这类书看了不少,还是摸不到头绪。直到了解到了OSCP和国外大神列出的学习方法。其实很简单,就是一个字–“刷!”。

渗透测试是一门完完全全的实战性学科,纸上谈兵,光读书,不实践是完全没用的。讲渗透测试的书太多了,即使看完一些公认最经典入门书籍,真正让你去黑别人还是无从下手。因为书里讲的是工具的使用,而黑客入侵最重要的是什么?绝对不是工具,而是思路。Metasploit已经将自动化渗透设计的如此强大,但如果你没有一个好的思路,给你再好的工具也是白给。这和编程一样,写出一个功能强大效率惊人的程序,关键不是用什么编程语言或IDE开发工具,而是选择什么数据结构和算法(思路),真正的大神用简单的文本编辑器和C语言就能写出叹为观止的程序。

能灵活运用复杂算法编写高端程序的大神都懂的,这项技能的获得绝对不是靠着每天写无聊的业务逻辑代码。而是在刷题网站(leetcode,poj etc.)上不断刷复杂的算法题。就是这项思路相关的技能,是牛逼程序员和码农的分水岭。黑客技术也是一样。由于在网安公司任职过,也接触过一些攻防、安全运维的人。确实也是没遇到过真正黑客大神的缘故,以前觉得他们很牛逼,现在觉得那是真的菜,大部分就是搞搞Web,工具扫扫完成任务的类型。和他们了解过,平时怎么提高技术,都搪塞而过。

程序员刷算法题提高编程技能,而黑客怎么提高自己的技能呢?——刷靶机!这里主要介绍两个著名的靶场,也是学习OSCP推荐的两个靶场,

  • Vulnhub:完全开源,可以随意下载靶机,使用vitualbox导入配置好网络即可使用,无windows靶机。
  • Hack the box:每个月10欧,内容丰富,强力推荐学习。

回到OSCP的考试,前期做完了解,给自己做了一份学习计划,这个学习计划主要分了三个阶段。

1)熟悉渗透测试阶段

完成Vulnhub靶机30台,网上有针对OSCP练习Vulnhub靶机的分类。从easy级别的开始做,medium级别和OSCP考试难度相似(但套路不同),hard级别靶机选做(步骤真的太复杂)。以下是Vulnhub OSCP 的一个列表,不是最全的,也没必要将最全的做完。
OSCP 2021攻略之旅--从小白到通过_第1张图片
此表三列,从左到右分别是easy、media、harder。开始练习时肯定没有思路不知道从何下手,直接搜每个靶机的writeup即可,按照writeup上的步骤完成靶机。这里搜writeup时,一定要看老外写的writeup,不要担心英语问题,截图能让你看明白。多搜几篇,一个靶机的思路可能有好几种,都研究研究,才有提高。还有重要的一点,要做笔记,内容为主要以下几个方面。

  • 靶机名
  • 靶机思路
  • 遇到的漏洞
  • 陌生的命令

通过对这几项的总结,做完这个列表中的靶机,即使是0基础的小白,对渗透测试也会有一个较为深入的理解。可以开始报名OSCP,进行下一阶段学习。

2)OSCP课程学习阶段

通过Vulnhub的靶机练习,此时对渗透已经了一定基础,此时报名,刚好可以通过教材进行系统性学习,这样学习效率会更高。

报名需要企业邮箱,不能用公开邮箱进行报名。如果没有公司的企业邮箱,大家可以先申请域名(要钱),然后使用腾讯/网易企业邮箱进行注册(免费)。报名缴费后,是不会第一时间将教材和连接lab的VPN发给你的,约两周左右,自己可以推迟时间。收到教材连接的邮件后,lab进入计时。大家购买lab时注意,购买一个月太短,最好两个月起。如果考虑做课后题,最好买三个月,课后题量巨大,但做完可以得到5分(笔者未做题,第一次65分遗憾未通过)。以下以三个月为例安排学习计划,

  • OSCP教材学习(15天-1个月):教材内容非常好,强烈建议大家学习,笔者看了不少渗透方面的书籍,和OSCP教材比都是弟弟。OSCP教材设计十分巧妙,pfd+video+lab三者结合起来,缺一不可,但也需要考生有一定英文能力,听力和阅读过关。最后一章大实验串讲也是非常经典,强烈建议大家学习。教材某些章节考试不考,需要考生自己斟酌学习。
  • 完成课后习题(15天-1个月):认真做完要求的练习题,不光能够的到考试的5分,也能让你的渗透知识体系有一个质的提升。
  • lab靶机练习(1个月-1.5个月):总共70台靶机,至少攻略30台以上,也没必要做太多,因为很多都是横向。lab没有writeup,只能从官方论坛中找网友提示,这是try harder必经的过程。笔者曾经一个靶机做了20h+,做出来后非常兴奋。

经过这个阶段学习,你已经具备了非常完备的渗透测试体系知识,并且相关技术能力也有了一个质的提升,具备独立完成靶机的能力了。此时你的耐心和毅力也有了非常强力的提升,try harder!

3)强化阶段

经过前两个阶段的学习,你已经具备一名渗透测试人员基本的知识和技能。但要通过考试,可能还是不够。OSCP lab难度低于OSCP考试的,而且windows相关靶机提权花样感觉也不是很多。笔者也是在看了看国外大神通过OSCP后给的建议,刷HTB。下表是HTB OSCP相关的最新列表,
OSCP 2021攻略之旅--从小白到通过_第2张图片

建议先刷前两列,linux和windows交替进行练习。笔者亲历,这个列表右边一列很难。昨天两列从上到下难度一次增高。前面的靶机可以当作完成教材学习后实力的验证。后面的靶机如果不会,可以参考writeup,多看几个,看看不同人的手法,会有很大提升。做完后总结,总结很重要。HTB连30台左右可以参加考试。笔者考试一刷不过,二刷怒练50+。

以上三个阶段的学习计划,适合0基础的同学。如果本身是做这项工作的同学,大家可以自行调整。

3.考试心得

看了其他大神的一些通过心得,感觉考试这块都大同小异。此处我分析下个人的心得,大概三个方面进行分析,在完全不泄露考试内容的基础上,让每个同学少踩坑或不踩坑。

考前准备:

  • 必须要有,需要使用google搜索。google,github黑客的双刀。
  • 时间安排,笔者一次早9点开始,一次下午3点开始。推荐9点开始,24H不停歇。一般下午开始考虑到晚上休息分上下半场,但实际如果没有拿到足够分数,睡觉睡不着。
  • 考试日期,一定要注意我国新闻大事件,最好避开大型节假日和国内重大事件。因为会断网,让你无法连接考试VPN。当然,其实也可以。
  • 护照准备好,考前20分钟验证身份,只有有效护照能够通过。身份证、驾照等证件没有你的英文名,官方不认同直接取消考试。

考试注意:

  • BOF练熟,步骤不能简化,可能会扣分。可以参考教材的步骤,一步一步进行。
  • 考试要求限制使用的工具,一定要注意,此处不详细赘述。
  • 兔子洞,这是考试的特点,除了bof和10分题,其他的题各种兔子洞。在枚举入口时一定要注意,很明显的漏洞直接跳过不用浪费时间进行测试。
  • Poc修改,涉及到开源Poc的基本上都是修改后才能用的。
  • 靶机系统加固,注意有些反向连接不成功可能是防火墙。
  • 截图注意,此处非常重要。如果只得了70分,那截图就决定生死。每个关键步骤都要截图,越详细越好。做完一个后一定要检查截图!
  • 提交flag,提交flag的页面是没有验证机制的,就是你随便提交内容,都会接受。在提交flag时一定细心,如果提交少了一位,不得分。
  • 使用自动化扫描脚本(非禁止的自动化工具),笔者使用nmapautomator,同学们下载后不要直接使用,需要测试修改脚本内容自己进行调试。如果直接使用,扫描时间巨长。

考试策略:

  • 考试时先做BOF,同时开始nmapautomator扫描另外4个靶机。当BOF做完时,直接能够得到另外4个靶机的扫描结果。可以考虑先做10分题。根据笔者考试经验,想要通过考试,必须硬刚25分题。如果放弃25分,需要完成两台20分才能获得足够分数,而其中一台的低权限shell可能会很难。考试过程中对兔子洞一定要敏感,看似入口的地方肯定不是。

希望大家能够通过我的心得,在考中游刃有余,顺利通过。

4.未来展望

OSCP只是一个开始,它将我带入了黑客技术的大门。通过对课程的学习和考试,也让我拥有了异常强大的耐心和毅力,try harder! 后面可能会考虑OSCE3 (OSEP/OSWE/OSED),也会和大家继续分享黑客技术相关知识,帮助更多想要学习的同学入门。
请大家关注我的新专栏,《零基础黑客训练》。帮助更多真正想要入门渗透测试的同学学习!

你可能感兴趣的:(OSCP 2021攻略之旅--从小白到通过)