0x00.前言

距离上一次写博客已经有半年有余了,最近通过了OSCP,现在写一个记录总结。

0x01.OSCP

1.简要介绍

OSCP全称Offensive Security Certified Professional,直译为 进攻性安全认证专家,是由Offensive Security 提供的一项道德黑客认证,教授渗透测试方法和 Kali Linux 发行版(前身为BackTrack)中包含的工具的使用。OSCP 是一项实践渗透测试认证, 要求持有者在安全的实验室环境中成功攻击和渗透各种现场机器。它被认为比其他道德黑客认证更具技术性,是为数不多的需要实际渗透测试技能证据的认证之一。

考试时间:OSCP的考试时长是一天,确切地说,是23小时45分钟,你必须在规定的时间内对1个AD域,和3台独立机器进行hack,拿到至少70的分数,就可以通过。在考试结束后,还会留给你24小时的时间用来完成你的报告,并且提交。

20160817_181537

2.课程价格

OSCP就在最近几天,将课程价格再次上调了100刀,目前的价格已经上涨了到了1599刀,难以想象这在几年前只要999刀。并且已经取消了30天和60天lab的套餐,目前没有特殊渠道的话,只有购买90天lab的套餐。

image-20230116000451576

3.关于2022的新版考试的改革内容

image-20230116003019333

Offsec在2021年12月1日的这篇文章中宣布了OSCP的考试变更,OSCP在2022年1月11日对考试内容做出了改变,之后的考试全部使用新的考试结构,以下是主要变化

  • 1.增加AD域:新的考试将变为由三台独立机器和一个AD域组成,域包括两台客户端计算机和一台域控,其中独立机器每台20分,3台也就是60分,而剩下的40分则全部分布在AD域上,且AD域将不会由过程分,也就是说,要么完全利用拿到域控得到满分,要么就是0分,没有过程分的容错,要求0失误。
  • 2.提高奖励积分:原先练习的奖励分从5分提高到了10分,且新出了主题练习“Topic exercises”,不需要像传统练习一样写动辄几百页的报告。要强调的是,主题练习只能在你lab有效期内完成,我当时就是不知道这个,基本没做主题练习。
  • 3.缓冲区溢出由原来的必考变为现在的抽考。
  • 4.具体的其他改变可以看官方的说明:对新的 OSCP 考试有何期待

另外,OSCP从2022 年4月5日开始取消了纸质证书,开始只使用电子证书,美其名曰使证书“现代化”,具体可以看官方的这篇说明

PEN-200-OSCP-certificate

0x03.备考过程

六月底报的名,在此之前我只是打了几十台HTB和VulnHub,当时正好快放暑假了。我花了大概两周大概过了一遍教材,我偷了懒,跳过了很多,包括AD部分。当时我的基础实际上还十分不牢靠,对于Win的机器接触很少,对于AD更是从未接触过。这也导致了我在lab上进展缓慢的问题,再加上在八月份参加了国护,三个月的lab我只是堪堪完成了28台机器,甚至lab里有的几个AD域,我都没来得及打。不过后续的时间里我借助以下几个平台完成了我的后续准备,

  • PG(Proving Grounds)(19刀/月)(最贴合OSCP考试的机器)
  • HTB(Hack The Box)(14刀/月)(很有学习价值,平均难度要比OSCP高)
  • HTB Academy(Hack The Box Academy)(8刀/月,前提是学生订阅)(HTB新出的,我认为是升级版的THM,里面的课程非常详尽)
  • THM(TryHackMe)(8英镑/月)(应该是对新手最友好的学习平台,很适合用来学习新的理论知识)
  • CyberSec(CyberSecLabs)(10英镑/月)(似乎已经停止更新了,里面的AD靶机还不错)

OSCP like list这个列表中,我完成了HTB的Linux Box大概30多台,Windows Box大概10多台,PG Practice全部完成(除了最后的几台),VulnHub大概20多台。为了完善提权的知识体系,我完成了Tib3rius的Windows和Linux的提权课程。我重点讲一下AD的学习资源,因为在目前考试中,AD是最重要的部分,且由于考试改革并不算太久,相关整合起来的资料也不算多。

1.AD的准备

关于AD,THM上我做了以下这些房间,

image-20230115225929426

以及CyberSeclabs的八台AD靶机,每个靶机涉及到的知识点都各不一样,

image-20230115230236965

以及HTB的AD轨道

image-20230115230453972

以及HTB Academy的Active Directory Enumeration & Attacks模块,这个模块是我最推荐的,物超所值,

image-20230115231257150

关于隧道和端口转发,

如果时间和money有富余,可以考虑做一做,

  • THM中的一个独立实验室:Throwback(48英镑/月)
image-20230115235856152
  • THM中的一个困难房间,实际上对OSCP来说有点过分了:Holo
  • HTB中的Pro lab,诸如Dante
image-20230115235944940

0x04.考试过程

在12月中旬前,觉得自己准备的差不多了,就预约了1月9号早上8: 00的考试,不预约更早是因为前面的时间都被约满了,如果强行约的话只能在凌晨几点开始考试,这绝对不是我想要的时间。在考前的这十多天内,就是一个查漏补缺的过程,一一列举自己某些还没掌握牢固的知识点,去找资料学习巩固,去找靶场复现,当然我的重点自然是AD,因为我没有拿练习的奖励分,这意味着我必须解决AD,否则面临的就是失败。直到考前两天,我都在重复着这个过程。到考前一天,我才停止了所有的备考行为,让自己休息调整,不过实际上也没怎么休息,就是在刷视频和逛论坛中结束了一天。

因为早上8点钟开始考试,所以我在晚上11点就上床躺着了。我以为我会像往常一样很快进入睡眠,不过显然是我想多了,,我在床上翻来覆去,横竖是睡不着,说是紧张也不对,紧张只能算一小部分,因为我已经把我该做的准备都已经做了,我不认为会因为某个不知道的技术知识点而导致考试失败。相比于紧张,跃跃欲试的兴奋可能会更多一些。总之,是一种很奇怪的心理活动。我感到大脑里一片空洞,思维在不断向外发散,飞速地穿过记忆里的事情,以及可能的每个分支。我很想让自己停下来,但我没有刻意去控制。就这样,再看时间时,已经是凌晨2点了,,起床洗了把脸,又继续躺着。一直到将近凌晨3点,忽然听见了窗外一阵悉悉索索的声音,仔细听了听才知道是半夜下起了小雨,听着淅淅沥沥的雨声我的思绪终于也平静了不少,再过了好一会就睡着了,但是后半夜的睡眠也很浅,中途醒来过好几次。

早上我订了6: 30的闹钟,洗漱完就下楼去吃了个早餐,年糕挺香的。尽管我平时没有吃早餐的习惯,但是为了保证考试时大脑的活跃,必须得吃点东西。7: 30时我已经坐在了电脑前加入的监考室,不一会监考官也加入了,按照他的要求,检查了护照,和电脑的环境,以及让他通过摄像头检查房间的各个角落,说实话捧着电脑围着房间转真的有点滑稽,特别是还得检查桌子底下,前置摄像头一点都不好用。弄完这些正式开始考试是在8: 20左右,我直接进入了AD。在foothold费了点时间,在11: 00左右,拿下了入口机器的管理员权限,然后就和监考官打了一声招呼说去休息一会,出去喝了几口水,在客厅来回转了几圈,这么快拿到权限的确在我的意料之外,我感到肾上腺素在增加,稍作休息后就继续考试。接着在临近13: 00时,我完成了整个AD域,看了下时间差不多该去吃午饭了,就和监考官说了一声后就离开了。下楼后我骑着小电动上了街,一边大口地呼吸新鲜空气,一边思考今天午饭的去处。不像平常一样就近解决是因为我想多转一会吹吹风,待在房间里一上午实在有点闷。最后在悠闲地逛了半小时后,去了一家高中常去的兰州拉面店,吃了一碗面,接着回去睡了一个小时午觉。到下午将近18: 00点时,我解决了第一台独立机器,算了一下,这时候我有了60分,然后跟考官说了一句,又出去休息了。我下了楼打算在小区里转转,这时候天已经快黑了,由于小区最近新建了几个娱乐设施,晚上出来散步的人多了不少。看到有位父亲带着他的小孩在放烟花,我反正也没啥事,就静静地站在旁边看了起来。不知道什么时候起我又开始回想起了考试的细节,因为有一台独立机器我尝试了好一会还是没有拿到foothold,看着一枚枚的烟花不停从小孩的手中发射向上冲,然后爆炸,我突然灵光一闪,想到了一种我前面没有尝试过的可能,这在之前我并不是没有想到,只是我没做过多思考就略过了。等到他们的烟花放完,我也没做停留就回到房间里接着考试,果然,跟我想的一样,我一尝试,立马得到了foothold,其实一切都早已摆在了桌面上,我只是一直忽视了眼前的东西。比起foothold,privilege escalation则更加简单,我几乎不费吹灰之力就完成了。之后我接着尝试了最后一台独立机器,不过一时间并没有取得什么进展,我有点迷失在了信息的海洋里,我感觉我可能进入了兔子洞,尽管我的精力还有富余,但是我已得到了需要通过的分数,我需要留一些精力来完成我的报告(我没有边做边截图),我不想在最后一台机器上花费太多时间,然后疲惫的完成报告,这并不是一个稳妥的做法。我在此之前并没有写过报告,报告的一些繁琐格式以及冗长的截图和说明要求让我感到很头大。所以我选择放弃了拿满分的可能性,选择了一种更为稳妥的做法。时间是21: 30,跟监考官打了一声招呼后我就下楼了。这时候虽然有点饿了,不过我也没急着去吃晚饭,还是骑着小电动悠闲的绕着我所在的这座小城市转着,并且观察这座小城市的其他人们正在做什么,这能让我更安心一些,不知道为什么,或许这样会让我感觉与现实世界的联系更加多一些。总之,这是我的一项爱好,可以有效帮助我调节情绪和心态。悠哉游哉转了一个小时多一点,到22: 30,这么晚了很多店面都已经关门了,就在附近找了一个麻辣烫的店面,点了一份麻辣烫。回去之后先洗了个澡,然后开始写报告,大概00: 30开始,一直到早上7: 15左右,把报告完善的差不多了,说实话到后半夜已经有点神志不清了,不过我还是尽力强打精神,生怕遗漏哪个截图,或者提交错了hash。结束了考试后我就直接倒床上睡了,跟昏迷了似的。睡醒之后再检查完善了一遍报告,就提交了上去。我是10号下午五点多提交的报告,然后在12号早上六点,一觉醒来就看到了考试通过的邮件,总算是松了一口气,毕竟OSCP的报告要求太严格,总是觉得自己遗漏了什么。

0x05.总结

1.关于备考的总结

于我而言,备考的过程还是有一些艰难的。

另一个收获是,对于自己情绪的管控的能力要比之前强一些了,心态也变得更加平和了。

2.关于考试的总结

对于新版的考试结构,好多人都说是提高了难度,其实我感觉还是有待商榷:

  • 如果从备考角度来讲,新增了AD内容,那确实增加了不少负担,但AD的学习对于我们当下的安全从业者也是必要的。
  • 如果从考试角度来讲,AD的加入会给考试通过的稳定性更高一些,换句话来说,AD降低了考试的随机性,因为AD的内容不像独立机器,很难做一些CTF向的东西,而且目前对于AD的考查并不算深入。

然后现在的考试就是,如果想要通过只有两种法子,

  • AD域40分+独立机器30分
  • 独立机器60分+奖励分10分

第一种要求AD不能失误,第二种要求独立机器不能失误,且必须完成练习拿到奖励分。

整体上讲,考试的过程还是比较轻松的,时间并不算紧张。

OSCP-CERT_00