一、OSCP简介

安全技术类的证书有很多,像是CEH, Security+, CISSP等等。除了众多侧重于笔试的安全认证,OSCP(Offensive Security Certified Professional) 是为数不多得到国际认可的安全实战类认证。参考阅读:你值得拥有的8大国际安全认证
CISSP每年需要提交教育学分,考试费用、年度维护费也比较高。OSCP认证是长期有效的。考一个还算是比较值得的。
博主也说明一点,拥有OSCP证书不代表你具备多么高超的渗透测试能力或经验。但是通过OSCP培训,确实可以给你建立出比较清晰的渗透测试思维。这才只是个开始
这套渗透测试方法论,是公开的,博主确实也看到很多从业多年的渗透测试人员,有自己总结的一套方法论。比如可以参考《Penetration Testing》这本书:https://book.douban.com/subject/25883745/

所以这个证书或培训,主要还是看个人的需要啦。

二、经验分享

1、关于OSCP

  • OSCP认证阶段分为:线上培训Lab环境、线上考试Exam环境(2个阶段/环境)
  • 官网是https://www.offensive-security.com/information-security-certifications/oscp-offensive-security-certified-professional/
  • 参加OSCP认证,必须参加他们的线上课程。详情可见线上课程大纲:https://www.offensive-security.com/documentation/penetration-testing-with-kali.pdf
  • 线上课程Lab环境按天数分为3种(最小是30天)
    • Course + 30 days lab(有保持渗透测试训练的安全人员,可以考虑买最少的,毕竟价格还是很贵的)
    • Course + 60 days lab
    • Course + 90 days lab
  • 如果你不是很有把握必过的话,30天Lab环境是不够做完练习题、10台Lab机器报告、50多台Lab环境机器提权的。
  • 官网价格表:https://www.offensive-security.com/information-security-training/penetration-testing-training-kali-linux/ 搜“OSCP COST”
  • 培训资料
    • PDF
    • Video
    • Lab环境
      • 分为4个子网(Public、Development、IT、Admin)
      • 一开始学生是进入的与Public连通的Student网络
      • Lab环境是学员共用的,所以大家的操作会有很小的影响,至少博主没有遇到什么很不文明的行为
      • 50多台主机,有些主机可能拥有多个网卡(会有不同的用处哦~)😊
      • 学生目标是尽可能取得所有主机上的root/system权限
      • 攻击路径思路,其实比较自由,可能多条路径拿到root/system权限。时间足够的话,可以尝试多条路径。(但是价格太贵了,感兴趣的可以到后面博主提到的模拟平台上练习)
    • Exam环境(大约2天时间完成)
      • 5台主机(目标23小时45分攻破)
      • 考试要求资料!一定要看仔细了!有些工具是禁用的!不然会0分!(重考又要交钱,仔细点省点钱哈)
      • 24小时完成一份英文报告
      • 考试成绩是实战Got Proof File,加上报告(按照考试要求写,所以一定要读清楚考试要求)。总共达到70分以上算通过
    • Forum & IRC
      • 上面会有一些小小的提示,Lab环境有一些机器比较难,博主看了下其他学员的对话,才找到思路。
      • 看他们的对话,感觉他们都好可爱。有些没有思路在上面询问的,有些有思路了在那儿Dance Dance的。
      • 另外一个很重要的一点建议,最好可以先看下论坛里面官方提供的一台机器的教学帖子。思路、方法、工具,写的非常详细,而且还用多种方式进行攻击,算是做到out of 100的样板吧。(不过在Lab环境里面,金钱和时间上都不允许这么做啊,有兴趣的可以到博主后面提到的模拟练习环境玩)
    • Revert
      • 先回滚再进行攻击,以免其他学员的操作影响到你。
      • 每天有8次回滚主机的机会,博主只遇到1、2台机器回滚次数不够用。其实也可以换一台主机玩,不用死磕那台。
      • Exam环境可以无限revert,自己的独立环境不受其他学员影响
    • Proof.txt V.S. network-secret.txt
      • Proof.txt是奖励或证明文件
      • network-secret.txt是开启下一个网段的钥匙

2、模拟练习平台

Key Takeaway
OSCP Lab环境价格太高了,下面推荐几个免费的跟Lab环境类似的练习平台。这样很久没做渗透测试的同学,也可以找找感觉先。直接去Lab环境下找感觉,这有点太奢侈了。。。

3、相关书籍

4、考试必备

三、个人历程

博主参加了10月份为期30天的培训,预约到了11月初的考试。
考完试很快就收到了邮件反馈。

1、培训前

7月-9月的时间,陆陆续续有在Root Me、vulnhub上练习。特别在root-me上刷题的时候,还写了好多总结文章。地址:http://happytree.farbox.com/archive,考完OSCP,博主还想继续保持在rootme上刷题,真的很有帮助。

2、Lab进行中

  • 一开始是打算把练习题和Lab环境报告写了的,因为可以在考试成绩上挣5分。
  • 不过最后时间实在是不够了,如果你不是很有把握必过的话,30天Lab环境是不够做完练习题、10台Lab机器报告、50多台Lab环境提权的。而且还需要一些时间做总结记录,毕竟还是为了学习成长为主。
    • 最后博主Lab环境只剩2台admin机器的本地提权没做完,临Lab到期那天晚上本来博主准备再刷完的,可惜跟另外一个更紧急的事有时间冲突。
    • 做完了全部的练习题,但是没有写10台Lab机器的报告。临近考试前,写了1台机器的报告当练习。
  • 当时在网上看别人的经验总结,说Public网段的humble、pain、sufferance三台机器很难。所以这三台机器是留到最后来做的,但出乎意料的是humble、sufferance、pain并不困难。也有可能是因为我把这三台放到最后来做,然后个人能力成长了再来做就不觉得难了。sufferance会稍微有点难,不过恰好我关注了g0tmi1k的blog、github,刚好看到了那篇文章。😊

  • Stuck的时候,多google、多逛逛论坛、看看PDF、做做练习题。😊
  • 有些机器暂时没有任何思路,有可能是需要结合其他机器上的信息。Lab环境有很多机器之间是有联系的,hostname为什么叫这个,网段名叫Public、Dev、IT、Admin都是有原因的。管理员、用户会怎么思考、会在机器上做什么。😊
    • 特别是内网的机器上,很多需要依赖信息搜集,才能攻破的机器。😊
  • 博主那段时间,经常都是2、3点才睡觉,经常都是思路来了,就想马上验证。但是觉得那样不好咯,因为不够清醒,可能会忽略掉一些信息。有思路了,记下来,睡个好觉再起来干。时间对每个人都是公平的。

3、Exam环境考试

  • 考试前,好怕报告被扣分,毕竟博主从来没写过英文报告。所以把Lab环境中找了一台机器写报告。其实OSCP的英文报告要求比起工作中的渗透测试报告要求简单多了。
    • 不过博主的英文报告的用词,肯定还是不够好的,这点博主是有自知之明的。所以OSCP真的只是博主的一个开始。
  • 实战时间是23小时45分钟,目标是拿到5台机器的root/system权限
    • 机器总共是5台(2台25分、2台20分、1台10分)。
    • 最后博主只完成了4台的,加最后1台的有限的普通用户权限。
    • 考试这里还是时间的问题,其实考试的题目比Lab环境的要简单一些,思路都很明显。可能官方还是考虑到时间会不够的问题。
    • 考试时,如果你不确定这是5台中唯一会使用到metasploit的机器,最好不要对这个台机器使用MSF。因为官方只允许使用MSF在1台机器上。
    • 博主考试的时候,MSF的机会,用了1台机器,主要是因为时间快不够了。
  • 时间安排
    • 博主因为是下午4点开始的考试,一开始时间还不紧迫。睡觉前搞定了一台10分和一台25分的机器,晚上还睡了个美容觉,结果第二天时间就有点紧张了。
    • 做完一台20分的题,还剩一台20分和一台25分的题。
      • 后面时间有点不够,剩下那台20分的就用的MSF。
      • 25分那题确定了只能手工搞,最后的时间就基本在手工测这台25分的机器。很遗憾不够时间做完。
    • 建议考前可以在vulhub上找一些机器预估一下自己的时间。
  • 所以最后实战考试是做到了75分,不过我写报告的时候,也把最后那台的进展写上去了。

四、难易程度

  • 总体来说,还是属于演练的难度,故意放上有漏洞的机器。除了有几台是故意搞了一些rabbit hole,还有一些有点脑洞(像是CTF那种题)。
  • 难度不算太大,适合做训练。除了一些rabbit hole题、脑洞题,可能不太适合作为训练题。
  • 难的机器基本都在Public网段,内网的机器很多都是靠信息搜集。
  • OSCP的题目,是偏漏洞利用的,几乎不需要做太多编程、漏洞挖掘。
  • 只能说一句,比起很多CTF比赛的题目,OSCP真的是太简单了。这可能也是跟定位有关,主要就是以培训、模拟渗透测试环境为目的。

五、其他建议

  • 中国有很多类似OSCP的认证,形式、内容都差不多的机构,不过可能在国际上的认可度,还没像OSCP这样。所以看自己的需要吧。
  • OSCP认证价格略贵,不太适合学生。学生党,多参加CTF、学校/公司的安全比赛,或者到我前面提到的“模拟练习平台”上做练习,性价比更高。当然如果你真的需要这个证书也是可以的。
  • OSCP资料全是英文的,单纯从学习、吸收效果上来看,对于英语不够好的同志来说是有点信息丢失的。光是从培训效果上来说,花了那么多钱,却丢失了信息,有点划不来。
  • 当然你所经历的一切,都会为你打开另外一片天地。😊