我的OSCP之旅回顾与分享

前言

开门见山的说,让我们了解下什么是 OSCP。

Offensive Security 认证专家(Offensive Security Certified Professional,缩写 OSCP),是 Offensive Security 提供的一项道德黑客认证,它教授渗透测试方法和Kali Linux发行版(BackTrack的后续版本)中所包含工具的使用方法。OSCP是一项实践的渗透测试认证,要求持有者在安全的实验室环境中成功攻击和渗透各种实时机器。它被认为比其他道德黑客认证更具有技术性,并且是少数的需要实际渗透测试技能证明的认证之一。
完成课程后,学生将有资格参加认证挑战。他们有24小时在一个陌生的实验室成功完成考试要求。文档必须包括使用的程序和成功渗透的证明,包括每次考试都要更改的特殊标记文件。考试成绩由认证委员会审核,并在72小时内回复。

我真正想考它的时候在 2019 年,但那段时间因为是新进互联网公司(加班很严重)干甲方安全,除了工作上的事几乎没有其他时间给自己充电,所以一直拖着,再加上一些人生大事就更加延后我要考它的想法。

直到我入职了现在的公司,因为工作节奏不紧张有很多自由时间,所以我又将它提上了计划。

学习过程

考它之前我去阅读了一些网上考过的 Writeup,发现有人总结了学习Box列表。其中 HackTheBox 让我记忆深刻。

因为我之前有的时候无聊,在家没事干又想学习就去打打 HackTheBox 的活跃靶机。索性在2020年初我就购买了一年的VIP,给自己定下的目标是消灭所有已退休的简单靶机,然后再去考OSCP。

所以我并没有按照Box列表中的内容来,而是选择按照退休机器创建时间从早往后挨个打。

41035363.png

一年下来,成果就是从原先的十几台靶机打到现在的一百多台机器,退休的中等难度机器也消灭一半了。基本思路就是自己先打一边,碰到非常困难或没有头绪的时候就看眼官方的Writeup,然后继续直到获得Root Flag。

有段时间甚至有点魔怔,上班无聊就打HackTheBox,下班就打HackTheBox,周末就打HackTheBox…

完后在看一下 0xdf 文章和 IPPSEC 的视频进行复盘,每台靶机写一篇Writeup。相信我,这样学习真的很有用,只要你自律一点耐得住寂寞,会从中学到很多新的技巧,让你眼前一亮(反正我的桌子被我拍了很多次… 啪,牛逼~)。

虽然开始会有点难碰到些挫折让人沮丧,但只要思路一通,就这?

这一年VIP很值,明年再续个SVIP。

对了,考试中会有一个必考的 Buffer Overflow 题。在刷HackTheBox时大部分是Linux的溢出,与实际可能不符合,所以特意去找了Windows类的。

然后去刷了一遍 https://tryhackme.com/room/bufferoverflowprep 。

这个真的强力推荐做一遍做好笔记,考试的时候翻出来对你有用,等于是送你25分。

报考流程

当我发现我逐渐能够一天消灭一个,甚至是一天消灭两个简单Box后我决定报告OSCP。

在 8月21 号我缴费$999购买了30天lab和一次考试机会的套餐,因为用的是企业邮箱所以免去了前期的认证问题(听说是可以用自己注册个企业邮件bypass)。

这里有个小插曲,没仔细看英文上的lab时间选择的意思,我以为是让你选考试开始时间其实是开始30天Lab的时间,而考试时间是在你30天lab结束后才可以考(而在等待的这段时间我依然是在刷HackTheBox)。

其他的没啥特殊的正常填写姓名地址这些。然后我傻嘻嘻的等到了9月19号收到了官方发来的邮件,里面含有PWK学习的视频、电子书、Lab 30天VPN账号等。总之很详细的内容,含实验环境说明、考试指南、学员交流论坛等。

在配置文件中找到VPN连接地址,随便就测了一下速度发现ping不通(官方配置了不响应ping),用 mtr 测一下300多延迟,地址美国弗吉尼亚州阿什本。

屁颠屁颠去问我朋友线路能优化吗,因为我一直白嫖的它的路由组网VPN,打HackTheBox连新加坡的地址ping能稳定在80延迟,贼牛皮。然后得到的回复是那地方没法优化。好吧,最终顶着280~400的延迟做Lab环境(最后考试也是这样)。

因为邮件里有预约考试的链接,所以我立马就预约了10月21号的考试,因为听别人说最好是在做完Lab之后考试,这将会是最好的考试状态(最终因为突发原因,改为了11月18号进行)。

靶场的结构可以见 https://www.offensive-security.com/offsec/pwk-labs-success/ 地址,这里我就不过多赘述。

lab分为多个段共计60多台机器,不同的段需要拿到特定的flag提交后才能解锁,因为为买的是30天的Lab,所以我最终没有攻破所有机器,只拿下了Public段里的35台机器。里面的多个机器是有关联关系的,所以你一定要仔细搜刮credential才能进入其他的机器。

如果做题时碰到解决不了的可以去论坛寻找提示,里面关于剧透的暗语用的挺奇葩的。比如权限提升指的是PE…

在做Lab的时候,记得编写你的Lab报告除了前两台实例机器,满足10台机器的测试报告和考试报告一起提交可以加5分。所以别嫌麻烦与你提交的考试报告一样详细,好好写吧。

注意关于截图的部分都按照考试指南中来,有实例图告诉你最终要哪些内容的。

更多的内容可以参考如下地址,师傅们写的都很详细:

  • http://blog.terrynini.tw/tw/2021-OSCP-%E5%9B%9E%E9%A1%A7%E8%88%87%E5%88%86%E4%BA%AB/
  • http://f4l13n5n0w.github.io/blog/2015/05/05/jing-yan-fen-xiang-oscp-shen-tou-ce-shi-ren-zheng/
  • https://blog.0xprashant.in/posts/oscp-review/

办理护照

考试时是需要手持证件验证你的身份的,可以出示护照或者港澳通行证,不能使用身份证进行验证。如果你的摄像头不清晰,可以提前将护照扫描后存在电脑中,到时候打开给他看就好了。

话说第一次办理护照想想还有点小激动,在市民云APP中查询可以小程序预约办理护照,然后就先预约了随后几天去现在办理时却出了点状况(不需要网上提提前预约,屁用没用)。

在咨询台,先问了我是急着办理吗?我说不是,然后她直接叫我回去,因为疫情问题将延迟办理护照。我问她那延多久,她说无期限延期让我回去等公众号公告,除非是非常忙否则都不能办。我心想我也是第一次来问问看后续还需带哪些东西来,然后我问题她我后续需要哪些材料。她直接就不鸟我了,卧槽把我人气炸了你知道吗。

我心想疫情期间我还是别给人家工作人员添堵了,走出移民大厅去地铁的路上,想想我还是问清楚比较好。不然下次来我不还得折腾?转头又走回移民局。我特意不去问她换了个人问,说我就线上考试用并不出国,她说她也不知道,不过可以让我去领导窗口去和领导沟通,要是他说可以办那就可以办。然后我就去领导窗口了(以后各位碰到这种情况,直接问有没有领导窗口找领导沟通比这靠谱多了)。

在详细说明我不出国仅办理护照用于线上考试验证,领导就详细的和我说了我需要准备的东西:所在单位的在职证明、OSCP的介绍(截图打印)、考试指南中为什么用到护照的说明(截图打印),拿好这些材料下次来办就好了。

你看看你看看,还是找领导靠谱,之前那伞兵脑子就是有泡。第二周我在来的时候直接说我首次办理护照材料都有不出国,然后就放行去后面领号办理护照了。一个上午就搞定,查看材料、问询办证理由、签字、拍照完最后填写地址邮政到家,等待14天左右就能收到护照了。

考试过程

我预约的考试时间是早上10点,早在考前两天会收到通知邮箱里面附有详情的考试准备内容,按要求装好相关浏览器插件即可。

9点45分准时进入监考页面,并配置好摄像头共享和屏幕共享,然后发现监考人已经在等待我了。在他的要求下检查完护照,随后捧着笔记本让其看了一圈房间且包含桌子的下方。随后检查我的手机放着位置,告知远离监考摄像头范围。10点整收到含有正式考试的VPN连接配置和账号密码、需要攻击的靶机地址、提交flag的控制台地址等。连接好vpn后,将脚本扫描后的信息发送给监考人就可以开始考试了。

我打的第一个题就是25的buf题,因为这个比较容易按照之前的步骤来就好,没想到自己手飘了,复制代码到调试机器的时候多打了个字符,导致坏字节对比一直有问题,最后在12点30分才完成。

然后使用Nmap脚本扫描剩余的四台机器的开放端口,和监考人说明休息一个半小时,期间吃饭、睡午觉。

13点30分回到电脑前,开始做25分的题,在14点20分找到了正确的路线拿到立足点,15点27分成功拿下该机器。

然后休息了半小时。

15点56分开始了其中一道20分的题攻击,16点49分成功完成local,但在提权中碰到了困难,是一个不常见的提权方式最终在17点47分拿下这台机器。

此时已经70分稳了,心情开始放松很愉悦了,向监考人说明休息一个半小时,期间吃饭、吃零食憧憬着满分完成。

18点20分开始攻击另外一道20分,根据扫描结果找了一圈傻眼了,啥有效利用信息都搜不到一直干到21点30分没有任何进展,沮丧的情况下转向最后那台10分的机器,很快在21点41分拿下了这台机器。

然后… 然后开始了漫长的沮丧,对那个20分的题目束手无策。和监考人申报对这台机器使用MSF(考试中是允许对其中的一天机器使用MSF的攻击模块进行攻击的),可是没有一个是生效的,多次重置机器也是一样拿不下。

根据监考人反馈的在线咨询窗口,联系机器的维护人员帮忙验证Box是否正常,在消耗两次重置机会的情况后被告知Box一切正常。

就是这么蛋疼拿不下来,从头到尾对这台Box一点进展都没有,持续到凌晨一点半的时候人也麻了,因为没有安排过多的休息时间到这个时候头开始胀痛了。

在检查完所有Box的报告配图是否完整、截取flag是否满足要求后,在凌晨两点整和监考人确认结束本场考试。

最终已85分(25buf+25+20+10+5报告)结束了本次考试,开始上床睡觉顶不住了(中了急性扁桃体发炎的Buff)。

结束考试

第二天早上10点被闹钟叫醒,吃完早餐后开始写报告。因为有写Lab报告的经验在写Exam报告时没太大的问题,保持内容完整且步骤清晰完整即可。

这里提一嘴,写报告用 https://github.com/noraj/OSCP-Exam-Report-Template-Markdown 简直太方便了,注意不要使用中文字符、中文符号等影响生成报错,到下午5点完成了Exam报告,总共56页全程机翻哈哈哈哈。Lab报告因为有10台Box的步骤内容,所以最后是110页。

最后按要求将两份报告放一起用7z打包,提交报告等待审核。

审核的很快,在提交报告后的第二天晚上就收到了告知我通过OSCP的邮件。邮件内含有需要你填写的证书接收地址、创建网络证书的链接以及兑换 40 个 ISC2 CPE 学分的材料。

整体上还是符合我自己的预期是通过考试,但没想到并不是已满分的成绩过的稍微有点沮丧,目前在犹豫下一个报考CISSP还是OSWE。

最后,考证仅是你学习路上的一个需要经过的路标,别看得太重一次没过下次更努力就好,享受学习的乐趣,享受进步的过程。

TRY HARDER!

参考

  • https://docs.google.com/spreadsheets/u/1/d/1dwSMIAPIam0PuRBkCiDI88pU3yzrqqHkDtBngUHNCw8/htmlview
  • https://app.hackthebox.com/users/115594
  • https://tryhackme.com/room/bufferoverflowprep
  • https://guif.re/bo
  • https://www.offensive-security.com/offsec/pwk-labs-success/
  • http://blog.terrynini.tw/tw/2021-OSCP-%E5%9B%9E%E9%A1%A7%E8%88%87%E5%88%86%E4%BA%AB/
  • https://github.com/noraj/OSCP-Exam-Report-Template-Markdown


版权声明

除非另有说明,本网站上的内容均根据 Creative Commons Attribution-ShareAlike License 4.0 International (CC BY-SA 4.0) 获得许可。