前言
先介绍一下OSCP报名之前个人的基础,以供参考。
本人是浙江某双非院校的一名学生,参加了学校的CTF社团,学习过pwn和web,对C,C++,python,java,php有一定的了解。熟悉linux和windows系统的基本命令,但渗透测试没有什么经验。本站的另一篇文章《2020 我的OSCP认证满分通过之路与Offensive Security新认证体系展望》出自学校CTF社团会长之手,部分内容他也已经讲的很完善了,我就不多赘述。我也是经他介绍才得知OSCP,了解之后在大二结束后的暑假开始着手OSCP考试。
为什么我想考OSCP
了解到OSCP是在大一和会长的一次聊天,上网搜集了信息之后觉得这个证书虽然国内的知名度不是很高,但全实操的考试让他的含金量远远超过国内的其他割韭菜证书,比较值得。并且看到那张帅气的证书的时候,更坚定了我要考的决心。
开始着手报名是在今年4月全国HW时,我在北京HW,没有攻击流量,清闲的我突然想到了OSCP这件事,便打开OffSec的官网查看信息,当时只是把考试须知和报名信息看了一遍。和一般的网站不同,要注册账号,需要先填写信息,报名缴费。打算在暑假开始的我现在能做的就是做准备。
准备
在7月13号放暑假之前,我提前开始准备报名:
- 一张工商的星座信用卡(学生申请比较容易通过,虽然额度是0)
- paypal账号(付款用)
- 驾照(确认本人信息的时候用)
- 钱💰(HW收入)
- 足够的练习(推荐htb)
我个人是没有什么渗透经验的,OSCP考试对于我来说就像是攀登90度的高山,所以我需要先开始练习。练习网站我个人推荐Hack The Box,题目质量相当高,可以先做starting-point和activity的机器。想做退休的机器的话要开会员,vip+一个月10欧元,vip+是单独的靶机,不用和他人混着用一台。(刚才去看了一眼,好像现在涨价了,普通的vip也要89人民币了,vip+更是要127人民币)
还有的话就是VulnHub,免费,但题目质量不太行,偏向ctf,有点猜谜。
具体哪些机器和oscp的相似,可以参考这个网站
我是刷了大概120台HTB的机器,大多是跟着WP做的,主要是为了扩展思路,学习基本的渗透方法。然后就去准备期末考了。
报名
报名官网:
https://www.offensive-security.com/pwk-oscp/
填报个人信息的表单长这样:
Next之后会让你选择开始时间,这里注意⚠️,开始时间不是从你缴费完那时候起,而是要让你选一个时间,时间跨度可能会很大。我是7月15号付款,但是开始时间最近的也只能选7月25号了。所以这里要准备好一个提前量,否则会浪费你的时间。选完时间之后就可以付费了。我是用paypal绑定银联付款的。
价格
可以买1个月(999美元),2个月(1199美元),3个月(1349美元)和一年的,我买的是3个月,花了8740.44人民币。因为我考虑到如果第一次考试失败,中间还要冷静期,3个月刚刚好,总比到时候续费强(X 错误想法,个人建议学生党和时间充裕的上班族买两个月足矣,lab一共75台机器,我是花了一个月10天左右就做完了,除了两台有点问题的)
重考
引用官网
https://help.offensive-security.com/hc/en-us/articles/360050164111-OSCP-Exam-FAQ
重考费用一次150刀,第一次考试失败有4个星期的冷静期,第二次是8个星期,第三次是12个星期。和以前的半个月相比长了好多。以后OSCP考试也只会越来越严格,建议想考的师傅尽早考。
付款完成之后,OffSec会发一封邮件给你,里面是你的学生ID,课程开始时间,一些注意事项,并且告诉你他们正在审核你的信息。审核结束之后会通知你(这里有个坑点,后面我讲)。
第二天,OffSec就发来邮件通知我,信息审核不通过,需要完整的家庭或账单地址,格式如下:
- 房屋/建筑物编号及街道名称
- 城市,州/省
- 国家
- 邮政编码
还需要手机号和另一个邮件地址(不能是QQ邮箱,可以用新浪或者163)。
此外,还需要双语的彩色证件。这里我踩坑了,之前可能驾照,港澳台通行证都可以通过认证,但现在不行了,必须要双语证件(如护照)或者公证翻译过的身份证。我想这些信息我填表的时候都填过,可能是填的有缺失,就又填了一遍,还又发了一次驾照照片过去。结果第三天凌晨收到邮件,仍然被打回了。这是我意识到,我需要去一趟出入境管理局。于是我起了个早,打车去了管理局,结果神奇的发现原来我在小的时候爸妈就带我来办理过护照了,万幸,如果现在办理护照,严重的疫情不知道会办理多久。不过也不能白来,我就办理了港澳台通行证。所以还没有护照的师傅我建议尽早办理,因为OSCP的个人信息审核需要在7天内完成,办理护照7天很可能是来不及的!
接下来就是漫长的等待了。于是我决定先给自己放个假,和同学商量了一下,组建了一个MC的服务器+宝可梦MOD来玩,结果三天就完了个遍,又重新搞了个虚无世界3的MOD,一直玩到25号。
PDF学习
很不幸,25号要去富阳的亲戚家吃饭,起早查看邮件,下载了PDF和视频就出门了。晚上回来已经是8点钟。PDF一共851页,和之前300页的时期完全不能比,并且有AD域渗透(考试不考)。比较让人不爽的是PDF还在用MSF5,有些部分还介绍了一些没啥用的工具。不过毕竟OffSec也只是个卖证书的资本公司,让他时时更新PDF确实不太可能。
为了给Lab留足够的时间我计划一天100页,在9天内搞定,视频只看PDF讲的不清楚、看不懂的部分。幸好第一天都是一些介绍类的内容,第一章和第二章的内容也不是很难,奋战到12点多完成了第一天的任务。之后的每天也是重复学习,做每一章的练习,截图,写word。把PDF的练习全部做完,并且完成lab里的10台机器的WP(第一台和第二台除外,因为已经有官方WP),就可以得到5分的加分,有时候通过就需要这5分。因为对考试的难度不是很了解,我尽可能拿到所有能拿的分。
其中对于web师傅来说,bof部分可能有点小麻烦,毕竟有些师傅是第一次接触二进制。不过不需要紧张,oscp的bof非常简单,而且大概率是win的,照着pdf做就可以。
AD域渗透部分建议看一看,对于没有基础的新手还是有点用处的,是一些概念和利用手法。
要注意做好笔记,我是用Typora写的md笔记。最好自己写,别人的你以为你有了你会了,实际用起来就是另外一回事了。
Lab学习
按时完成了PDF的学习,开始lab。尝试裸连lab,失败,在kali上安装了V2rayA,然后科学上网才连接上。lab部分和pdf部分比起来就有意思多了,你还能体验到哥谭市的淳朴民风。做lab卡住能依赖的只有论坛和discord,论坛里过于剧透会被管理员删除,个个都化身谜语人,没点功底还真猜不出他们想说什么。但是论坛里的提示是完全足够做完lab的,我最后是完成了73台,还有两台个人感觉有点问题,连接非常不稳定,就弃了。个人建议多刷点,public网段可以多刷几遍,因为是多人一起用的靶机,可能会有漏掉的细节(比如别人帮你做了开头,你没意识到)。内网段做一遍也够了,因为有很多依赖关系,这台需要那台上的凭证……做起来相当麻烦。
以下是官网的通过率和lab完成率的关系图:
lab结构
https://www.offensive-security.com/offsec/pwk-labs-success/
lab分为Public段、IT段、Development段、Admin段、Sandbox组。其中IT、Dev、Admin都是内网段,需要在特定的public机器上拿到密钥才能解锁,并且需要在那台机器上搭隧道,尤其是admin段,要搭两个隧道,非常麻烦。sandbox对应的是pdf的最后一章的域渗透机器组,几台机器组合的非常巧妙,强烈建议做一下。每天有12次重置机器的机会,不够还可以找技术人员刷新。
每位学生都会被分配一台win10,一台win server,一台debian,可以远程连接,一些练习和lab都需要用到,尤其是bof部分。个人建议使用xfreerdp。
考试
考试前
考试是需要提前预约的,加上第一次一共可以修改3次。我在完成了pdf的学习后(大概8月初)就预约了10月3号的考试。但实际在9月10号就完成了lab的练习,public网段刷了3遍,刷的实在有点想吐了。发现今年的中秋和国庆不是连在一起的。考虑到冷静期,赶紧修改了时间到9月20号。不过大部分时间都被约走了,只好选了上午11点。
考前注意事项
- 多看几遍考前须知,不要违规!
- 提前熟悉录屏方法。考试用的是浏览器应用的录屏,在浏览器里操作就可以,记得开启弹窗。
- 遇到问题找Live Chat或者发邮件!工作人员都是很客气的,礼貌一点,在他们的能力范围内都会帮你解决。你付了钱的,大胆一点。
考试中
中秋回家,先休息了一天,翻了翻pdf和之前的笔记。确保连接畅通,准备好多个科学上网。这里其实可以先申请一次模拟考的,确认网络状态。但是我没仔细看邮件,也就没去申请。由于考试要持续24小时,晚上11点上床休息,好好睡一觉。
第二天睡到9点起来,吃了早饭,进入监考室(不需要安装软件,都是在浏览器里进行)等待考官。准备一下还是10点,就又复习了一会。到了10点47分,考官进来了,要求我出示双语证件,我把护照给他看了。然后他要我拿着电脑把房间内都扫一遍,看看有没有违规的地方。看了一圈之后他让我把手机藏好,不要放在桌子上。然后重新扫了一圈,就通过考前准备了。
等到11点,一封邮件发过来,里面有用户名和密码,还有6个IP(5台靶机和一台调试机器,调试机器就和你的学生win10机一样,基本就是让你用来调试bof的),控制台(用来重置机器和提交proof)以及提交报告的网址。尝试连接,可以连接。和考官说了一声,运行了附带的一个检查网络的脚本,发给考官看了之后,就可以开始考试了。
题目的分值分布是:
- 25分的BOF
- 25分、20分、20分、10分的常规机器
满分100分,通过考试需要70分,最快通过的组合就是25bof+20+20+5分练习 或者 25bof+20+25。所以10分的机器比较鸡肋,不用太关注。
我的做题顺序是这样打算的:
先做25分的bof,拿下25分,心里有点底。然后两台20分里挑一台。做完之后去做25的,最后做10分的。
但是考试开始,我正在调试bof的时候,发生了断网,连续断了2次,持续了10分钟左右。当时确实是有点慌了,把路由器拔掉电源等了一会重新插上之后才稳定,万幸,后面也没有发生过断网。
25分的bof的找坏字符是最耗费时间的步骤,一定要仔细。还有一件事,一定要重置每台机器!!!虽然考前须知里说了考试开始之前他们会把每台机器都重置一遍,但是实际是根本没有,我的bof的机器如果不是调试软件我忘了怎么恢复初始界面布局,去重置机器,可能这题我就直接卡死,做不出来了!重置机器之前和之后得到的数据地址完全不同,多了我需要的数据。瞬间变得贼简单,本来我还在想有点难啊。bof一定要拿下,白给的25分,非常简单,跟着pdf做都可以。据说还有一台linux的bof,但大概率是win的。
为了节省时间,我用nmap的快捷扫描先扫了两台20分的,扫完之后用autorecon再重新挂着扫一遍,和考官说了一声吃饭去了。吃完回来继续做题。选了一台20分的,一上来就给我卡住了。各个方向都没找到漏洞,就先放弃了,就用nmap的full扫描用扫了一遍(这里很关键,autorecon不知道怎么回事,有几个端口没扫出来,但是nmap扫出来了)。但我仍然没什么头绪,就去看另外一台20分的。没什么头绪的时候一定要果断放弃,每个地方最多花费1小时,我是买了一个有45分钟提示的台灯,每到45分钟就休息5分钟,顺便换个方向。一旦陷入兔子洞不能出来,就容易钻牛角尖,有时候,事情真的不是你想的那样,换个你觉得不可能的方向,反而有可能打通。
好在另外一台20分的挺简单的,比较对我的电波,除了提权比较少见,卡了一会之外,没有太难的。此时我已经有45分。我考虑了一下,选择转战25分的机器。25分的机器相当精彩,相当多的兔子洞,多个网页,多个漏洞的组合利用,要求学生耐心的枚举,尝试每一种可能。最后,在google的帮助下,成功找到了漏洞点,组合利用,拿下25分。
此时我已经有了70分,可以通过考试了,但我担心报告可能会扣分(报告只扣分,不加分),正在此时家人喊我吃晚饭了。我就和考官说了一声,去吃了个晚饭。回来继续,我先去试了试10分的,结果网上的脚本没一个可行的,遂放弃,转战20分。
在重新枚举之后,因为时间有点久了,有点神智不清,意外按到回车,在百度上进行了一次没打完关键词的搜索,结果找到了一篇中文写的漏洞利用文章,非常感谢这位师傅🙏。尝试了漏洞点之后发现确实是可以利用。一顿操作拿下20分。最后只剩下10分。但我的一次msf的机会还没用,尝试修改了一下网上的脚本,还是不行,直接msf一把梭,打穿。此时是晚上7点30分,距离考试开始过了8个半小时,AK了所有的靶机。
完成了之后我询问考官能不能现在开始写报告,得到了可以的回复,我就开始整理截图,写报告。官方给出的报告模版个人觉得不是很好,可以根据自己的习惯进行修改,关键点就是要让检查你报告的人可以跟着你的报告复现出来,那基本就不会扣分。别忘了IP&proof的截图。最后写了108页,写到12点上交报告,和考官说了一声,结束考试。
写完报告就可以提交了,如果你还写完了练习的报告。注意⚠️,练习和考试的报告是分开的,名字也不一样,但要放到同一个7z压缩包里。
考试后
等了3天,第3天还做了个噩梦,梦到自己没过,吓了一跳。醒来发现有新邮件,点开是We are happy…,悬着的心才放下。然后就是点击邮件里的链接,填写证书收货地址,还可以领取网络OSCP标志,装饰在自己的社交网络上。
证书大概1个月多之后寄到了,速度还挺快,晚上看还在香港,第二天下午就送到家了。
工具
端口扫描 — nmap、autorecon
目录扫描 — gobuster、dirsearch(dirsearch只在gobuster失效的时候用,其他情况一律用gobuster,dirsearch的扩展名爆破有问题)
抓包 — Burp Suite
加密识别 — hashid、hash-identifier
密码爆破 — john、hashcat
凭证爆破 — hrdya、crackmapexec
负载生成 — msfvenom
sql注入 — 手注,任何自动注入工具都是禁止的
漏洞利用 — Google、MSF(只能用一次)
端口转发 — chisel
文件下载 — curl、wget
提权(Linux) — LinEnum.sh、linpeas.sh、linuxprivchecker.py、linux-exploit-suggester.sh
提权(Win) — Windows-Exploit-Suggester、PowerTools、winPEAS、Sherlock
漏洞网站 — Exploit-DB、Google、github
注意⚠️,linpeas.sh的sudo token模块需要修改,会自动利用提权,详细可以参考官网文章
写在最后
OSCP的考试本质就是枚举,鉴别兔子洞,手工利用。它带来的感觉是其他事情都难以取代的,个人感觉有点像高考,或者科目二和科目三。但它又和高考有所不同,因为渗透测试是爱好。并且它带来的成就感也远超科目二和科目三通过时的感觉。
如果有师傅也想考的,想咨询更多细节,可以发email给我。
Email: cl571875717@gmail.com
最后,永不放弃,Try Hander !
发表评论
您还未登录,请先登录。
登录