前言
四月份通过了OSCP的考试,把自己的经历和经验分享给大家,希望可以帮助到有需要的朋友多走些捷径,少走些弯路。
OSCP介绍
OSCP(Offensive Security Certified Professional),是Offensive Security提供的一项道德黑客认证。OSCP是一项实践的渗透测试认证,要求持有者在安全的实验室环境中成功攻击和渗透各种实时机器。它被认为比其他道德黑客认证更具有技术性,并且是少数的需要实际渗透测试技能证明的认证之一。
在新加坡与美国及日本等国,拥有证书后找工作直接会被通知面试,进行第二轮面试,有些大集团的安全部门会特意指定招聘拥有这张证书的持有者来筛选简历。国内刚刚起步,相信以后会越来越认可。
而且不像CISSP,CEH等证书需要每年提交教育学分,还有年度维护费用,OSCP完全没有维护费用,长期有效,考一个还算是比较值的。
官方介绍:
考试形式:OSCP的认证考试也是另类的存在,考生拥有24小时的时间(实际是23小时45分钟)去完成考试,具体如何分配时间由考生自己决定。题目是5台主机(随机抽取),目标是攻入并拿到最高权限(ROOT/SYSTEM)。基于难度级别,成功执行的攻击会获得相应的积分。24小时结束之后,你还有24小时去完成并提交考试报告(需要详细说明攻击步骤和里程碑截屏来证明确实攻破并获得相应权限)。
考试费用:基本考试费用为 800 美元(30天实验室访问+认证考试)。如果觉得30天实验室不够用可以直接买60天或90天,具体费用如下。第一次考试如果没有通过,可以选择直接重新考试,费用为150美元。或者可以购买额外的实验室访问天数,每次购买都会额外提供一次考试机会。
备考资源
由于OSCP实验室比较贵,所以建议没有十足把握的同学可以参照以下考试路径进行学习和准备。以下备考资源都需要一定的英语能力,但是既然选择了OSCP,英语能力还是不可回避的问题。其实也不要求特别高,能根据借助翻译软件阅读英文技术资料就足够了。
1.Virtual Hacking Labs
如果你是一个渗透新人,强烈推荐使用这个VHL入门,相比于OCSP实验室便宜很多,一个月99美元,提供一个质量很不错的300多页的英文课件,特别适合新手入门。其中的机器是分难度等级的,大概Advanced级别相对于OSCP实验室最简单的机器,而Beginner级别的机器更简单些,很适合刚入门渗透的同学。
而且买一个月实验室,root二十台主机会提供一个证书,如果你有CISSP、CEH等证书,还可以用VHL的证书赚取维护积分。
2.VulnHub
VulnHub是一个提供各种漏洞环境的平台,里面提供各种靶机镜像,大部分可以使用VMware或者VirtualBox打开运行。VulnHub下载靶机是完全免费,里面有非常多的靶机,下面列出了一些类似于OSCP风格的靶机。也可以Google “VulnHub OSCP like machines”搜索更多类似OSCP的靶机。
Beginner | Intermediate |
---|---|
Kioptrix: Level 1 (#1) | Kioptrix: 2014 |
Kioptrix: Level 1.1 (#2) | Vulnix |
Kioptrix: Level 1.2 (#3) | Mr-Robot |
Kioptrix: Level 1.3 (#4) | HackLAB |
PwnLab | |
Stapler | |
Pluck | |
FristiLeaks | |
W1R3S |
VulnHub靶机的下面都有其它人总结的Walkthrough,我们可以自己先做,然后查看其他人写的Walkthrough,有时候一台机器会有不同的方法,查看Walkthrough可以学到新的思路和技术。
3.HackTheBox
HTB是一个在线靶场,申请账号时需要一个注册邀请码,邀请码需要通过做个简单的Web CTF获的。注册成功后就可以在靶场里练习渗透测试技能,并与其他类似兴趣的成员交流想法和方法。
在不购买VIP的情况下,有20台Active Machines可供练习。
当然还是推荐买一个VIP,每个月10欧元,物美价廉。VIP的好处有很多,有额外的100多台Retired Machines可以练习,Active Machines是禁止在HTB的论坛里讨论的,但是Retired Machines可以讨论,并且提供Walkthrough可以学习。
Youtube上有叫IppSec定期上传HTB的Retired Machines的教程,跟着他的视频学习也可以学习很多技术。HTB上每个Retired Machines下面也会有对应的视频连接。
HTB上也有很多like OSCP的机器。下面这个图是我在Twitter上看到的,我当时就是按照这个做的,大家可以Google “HTB OSCP like machines”搜索更多类似OSCP的靶机。
4.RootMe
RootMe也是一个在线的靶场,与其它靶场不同的是,RootMe里面除了有CTF靶机外,还有单独练习某些方向的练习题,并且练习题会附带一些与此题相关的技术文档用来学习。
所提供的方向如下截图,每个方向都有十几个到几十个不同的练习题,非常适合强化弱项的能力。
我的技术背景
人在长春,外企工作。12年末上大四开始入职现在的公司做developer,工作至今。做过iOS/MR,大部分的经历主要是做Web开发。从15年末开始接触安全方面的技术,当时公司做的新加坡政府的项目,上线之前需要第三方公司进行渗透测试,之后测试结果由我来负责提供解决方案,主要也是对这方面的技术比较有兴趣,所以慢慢就积累下来了。17年之后开始负责整个公司的测试人员的渗透测试培训和开发人员安全编码培训,以及一些安全相关技术的技术探索。18年4月通过CEH,19年4月通过OSCP。
我的准备过程
2018年8月开始做Virtual Hacking Labs,买了一个月的实验室,做了二十几台靶机,收到了VHL Certificate of Completion用来维护我的CEH证书。
2018年10月开始做穿插着做VulnHub、HackTheBox、RootMe。
2018年12月初,感觉已经没有动力做练习了(不花钱的做不进去…),就报名并付款了60天的OSCP实验室。这里需要注意的一下,并不是购买当天就直接可以进入OSCP Labs的,我是12月3号付款,我的实验室开始时间是12月23号。记得报名付款时会有显示,现在付款,Labs会什么时候开始。
2018年12月23日~2019年2月23日是我的Labs时间。开始当天OSCP会发送一封邮件,其中包括培训视频,培训课件,实验室链接信息等。之后就可以愉快的OSCP之旅了。我用了一个星期看完了培训视频和培训课件,并做完了课件中的练习并做好笔记。然后开始做实验室中的靶机。一直到最后我拿下40多台靶机。很可惜没有把实验室里面的靶机全部搞定,我报名的时候没有计划好,正好赶上工作最忙的一段时间,晚上加班到家九点,然后回家继续弄到后半夜,过年还加了两天班。。大家可以吸取教训,开始Labs之前,估计一下自己接下来一段时间的工作再报名。
实验室时间结束之后,我把考试定在了4月6号。又在VulnHub、HackTheBox玩了一个多月的时间,然后参加的考试。考试时间是考生自己到OSCP的网站上预定的,所以周六周日会比较抢手,可能需要提前一个月预订才能订到。所以感觉自己已经快到可以考试的程度时常看看OSCP的预订网站,然后计划一下自己的考试时间。
考试过程
我的考试是安排在4月6日周六上午的9点,8点左右起床洗洗涮涮,然后准备迎接考试。现在的OSCP考试是有监考系统了,需要提前15分钟连接ScreenConnect和WebCam来进行身份验证,需要准备护照来给监考人员看,并且ScreenConnect和WebCam会在考试中一起开启,也就是一直会有人监考,不过并不会影响考试,我们只需要把它最小化,该干嘛干嘛即可。当你离开时,或者离开回来时通知一下监考就行。其它的有没有监考没有什么区别。
9点开始考试,收到考试环境的链接信息邮件。连上考试的VPN,加上查看考试规则,基本上开始考试就已经9点20左右了。优先做了buffer overflow的25分题,它是五个靶机里面最简单的一道题。10点20就拿到25分。11点57拿下另一台root权限,这是一台10分的机器。13点47拿下一台机器的User权限,14点03拿下这台机器的Root权限。这是我的感觉非常好,因为我已经拿下了25+10+20=55分。加上做练习题的5分,一共拿到了60分。才用了5个小时。感觉自己胜利在望。吃了点东西,睡了一个多小时午觉(可能是前一天晚上太兴奋,导致没睡多久,所以下午特别困…)。
大概16点左右继续考试,还剩两台机器,然后我就被卡住了,一直到晚上快22左右都没有什么进展,为了放松转换一下思路,跟媳妇聊会天,逗逗我姑娘,然后继续考试。果然家是最大的能量补给站,回来后很快就有了思路,拿下了一个User权限,这时已经有70分了,可以通过了考试了,接下来就不是很着急了。因为一直在想怎么考试的思路,所以也基本睡不着,晚上睡了一个小时。然后第二天早上7点又拿下了另一个机器的User权限,感觉已经稳过了,就重新整理了一下所有的截图和步骤,补充一下缺少的部分。然后坐等考试结束。
考完试是第二天早上,睡一觉,起来把整理好的截图和攻击细节重新整理成英文的Report。OSCP有一个建议的Report文档,里面写的很详细,还有建议的整改方案,利用的漏洞介绍等等。我并没有按照它的样式写Report,只是把攻击过程加截图用简单的英文写好,写了一个39页的pdf,加上之前的练习和Labs的笔记一起打包提交了。接下来的事情就是等待。
4月13日,在等待了一个星期之后,Offensive Security终于给我发了邮件,通知我考试通过。
整个考试过程大概就是这样的。
考试时是可以在一台机器上使用msf的,我用在了第四台机器的提权,但是..没起作用….后来猜测这个机器的提权信息应该是藏在某个应用的配置中,考试的时候也没想那么多,一顿操作猛如虎,完全不灵^_^。所以其实不用msf也完全可以通过,只是msf简化了攻击过程。
考试有个需要注意的地方就是,监考系统ScreenConnect和WebCam是有最低配置要求的,具体可以查看OSCP Proctored Exams, 比如要求系统最低版本为win8.1等等。我真有一个朋友因为使用了Win7电脑而无法参加考试,最后不得不赶去借同事的电脑,这样非常浪费时间,毕竟考试的时间有限,所以考试之前把该准备的都准备好了非常有必要。
建议的学习方法
建议可以一边做渗透的机器,一边总结整理自己的渗透思路,比如提权,每台机器的提权方式都是不同的,整理Linux/Windows都有哪些的渗透手段。没思路时可以参考之前的笔记寻找思路。
这里再给大家分享一个GitHub上别人整理的提权方法:https://github.com/sagishahar/lpeworkshop
重要的是总结和整理,把自己遇到过得机器,遇到的技术都整理成自己的笔记,这样不管过了多久,翻看笔记都能给自己带来思路。
另外建议把提权时使用的exploit和对应机器的版本记录一下,这样下次遇到一样版本的机器就可以直接把之前的exploit拿出来用,可以节省很多时间。
备考论坛
和一起备考的人一起分享自己经验,学习他人的经验,是拓展自己的思路和学习方法非常好的途径,最近为了写这个总结,我也搜了一下国内的OSCP论坛或者帖子,感觉是也有的,不过看起来都是收费的,或者是为了收费而开的,不评论好坏。这里我总结的都是几个我在备考时常上的国外论坛:
1.Reddit
Reddit上的OSCP子模块,还算活跃可以在这里分享自己的经历,也可以看看别人的经历,学习别人的经验。经常在这里看到有人发考了3次4次不过,第5次通过之类的经历..
2.Discord
https://discordapp.com/channels/425588397516521482/425588397516521484
Discord的OCSP频道,类似于一个聊天室,可以在里面分享自己经验或寻求帮助,更实时一些。OSCP官方也有自己的IRC,在课程开始后会随着邮件一起发送过来,但是比较少上。
3.Offensive Security Forums
这个论坛的地址也会随着课程开始的邮件一起发送过来,论坛里面可以找到OSCP课程的每一个练习或每一个靶机的子论坛,大家可以在里面互相沟通技巧,给一些小提示。里面谈论的东西不能太过剧透,不然会被管理员删除。
分享学习资料
Windows提权:
https://www.fuzzysecurity.com/tutorials/16.html
https://github.com/netbiosX/Checklists/blob/master/Windows-Privilege-Escalation.md
Linux提权:
https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/
各种语言的Reverse Shell:
http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet
关于OSCP Labs网络连接问题
由于某些不可抗因素,OSCP Labs的网络连接问题可能一直都是想要报名考OSCP的同学比较担心的问题,这里给大家讲一下我的经验。
在报名交钱之前,Offensive Security会发送一封带有OSCP Labs 连接信息的邮件,让你测试网络连接。OSCP推荐延迟在300一下,并且没有丢包就可以。我当时测试时,是可以连上的,有少量丢包情况,并且延迟在300多。但是纠结了一下还是报名了,毕竟准备了那么长时间,不能半途而废。
当我的Labs开始时,问题来了,OSCP Labs连了3天就彻底连不上了。只能自己想办法了,还好有个VPS,先连接VPS再连接OSCP Labs VPN,问题就搞定了。
这里不熟悉VPN的同学可能会搞混具体怎么操作。其实很简单,就是直接在你的kali里面连接你自己VPS中搭的VPN,VPS里面配置好route,然后同时开另一个连接OSCP Labs的VPN即可。我使用的是搬瓦工,一键创建VPS,所有的配置自动完成。
为了连接OSCP Labs,逼着我熟悉了各种翻墙姿势,也是一种收获..
考试之前跟OSCP support确认了一下是否可以连接VPS再连接考试环境,他们的回答是不推荐这么做,但是也不反对,出了问题他们不负责。
其它
想到的能分享给大家的就是上面这些,还有什么问题可以在这里留言。
希望可以多认识一些圈里面的朋友,这也是我写这篇分享最主要的目的。
最后
来一首 Offensive Security – Try Harder 鼓励一下自己吧。
成功之后的开心只有自己能体会,当通过考试那一刻,付出多少努力都是值得的。
*本文原创作者:daxin09,本文属FreeBuf原创奖励计划,未经许可禁止转载
来源:freebuf.com 2019-09-11 12:30:20 by: daxin09
请登录后发表评论
注册