很多小伙伴问我如何学习OSCP这种实操类的课程,秉承官方“Try Harder”的精神,我是推荐自学的,因为在自学的过程中可以发现自己的知识体系中的各种不足,通过“踩坑”–“填坑”–“再踩坑”–“再填坑”的过程不刚可以磨练意志和心性,也可以夯实基础。
有幸在2019年通过了OSCP和OSCE的认证,也分享了一些考试经验如:
1、OSCP(Offensive Security Certified Professional)考证全攻略
近期也建立了“OSCP&OSCE”的微信交流群和免费知识星球来与大家技术交流,但还是有不少小伙伴对这类考试的学习过程和方法存在一些疑问,这里我结合自己的经验及这段时间的辅导经验给大家分享一下。
在官方报名后会有教材和视频教程的,课程体系架构还是比较全面和完善的,既有基础的基本操作也有实战类的套路练习,结合官方提供的lab环境可以进行很好的练习。
总结归纳后,我个人觉得内容基本可以分三方面:
1、缓冲区溢出调试与漏洞利用编写缓冲区溢出需要了解基础的栈溢出原理、调试方法及exp编写方法。难度不大,属于逆向分析比较基础的程度,但是对于没有逆向分析经验的小伙伴还是需要认真学习下的。
2、漏洞发现及利用漏洞发现部分需要掌握常用的扫描器使用方法,尤其教材中介绍过的扫描软件是必须掌握的,相关软件的命令都是熟练使用,当然你不用完全背下来,考试的时候是允许看笔记和上网查资料的。漏洞利用部分基本都是已公开漏洞的利用方法,比如通过exploit-db找到了相应的漏洞,需要先分析漏洞原理,结合遇到的系统实际情况对exp进行修改,比如端口、路径信息、shellcode信息等需要结合实际情况修改,修改exp的能力是常考的哦。
3、权限提升我个人认为提权是难点,包括操作系统低版本提权、服务缺陷提权、文件权限不当提权等等方法,当然网上也有不少一键提权的神器,但在考试中基本很难成果,建议还是要细心做好信息搜集,找到提权的考点,如系统版本、服务还是第三方软件,要善用提权辅助工具,虽然不能直接提权成功,但对于信息搜集是很有帮助的。
首先是对教材的学习,很多小伙伴问我英文不好是不是没有办法学这个教材和视频,我的个人经验是只要肯付出时间和精力,是可以学会的,因为我的英文水平也不好,学教材的时候基本都是百度和谷歌翻译的,视频中说的内容基本和教材一样我主要是看的操作,因此我常常和小伙伴说“教材靠翻译,视频看操作”,教材后面的练习建议学完一章就动手做一章,不光可以巩固学到的理论,做好笔记也可以给考试加分(教材每章练习+lab里10台不同漏洞靶机报告=考试额外加5分),因此教材是必须要认真学习的。
其次靶机练习,靶机练习很重要,是积累实战经验不可缺少的步骤,因为法律法规的要求我们不可以针对实际提供服务的系统进行渗透,因此只能搭建靶机或者使用lab环境进行练习。lab环境中的靶机就不用多说了,报名后约好lab时间,当天会收到邮件,使用邮件中的vpn文件及账号密码即可连接lab环境开始实验练习,当然目前lab里的机器版本都比较老,但作为熟悉测试套路还是够用的。下面我们重点说说其他免费靶机,我推荐的是vulnhub和hackthebox,列表如下:
1、 GoldenEye
2、 Lampiao
3、 Raven (1 、2)
4、 Wintermute
5、 Tr0ll (1 、2)
6、 W1r3s
7、 Lord of the Root
8、 DerpnStink
9、 Kioptrix (1-5)
10、 FristiLeaks
11、 Stapler
12、 Pwnlab init
13、 BrainPan (BoF!)
14、 VulnOS 2
15、 IMF
16、 SkyTower
17、 SickOS (1、2)
1、 Bashed
2、 Popcorn
3、 Shocker
4、 Blue
5、 Bank
6、 Jeeves
7、 Tartarsauce
8、 Grandpa
9、 Granny
10、 CronOS
建议:在靶机练习的时候要记得做好笔记和定期经验总结,比如,总结常规渗透测试的套路、提权的通用流程、常用的工具、脚本、漏洞库等。通过长期积累不仅对考试有帮助,对日后从事渗透测试工作都是很有帮助的。
最后是经验交流,一个自己学习是难免走入死胡同或者遇到兔子洞无法摆脱,因此还是建议加入交流圈子,遇到困难可以互相交流,总结学习经验可以分享给小伙伴们。
1、报名或要参加考试,大陆考生务必要准备好**;
2、非敏感时期lab和考试是不用梯子可以直接连接的,但非常时期是要备好梯子的;
3、教材、lab靶机、考试内容等信息是不允许交流和外泄的,被官方发现是会邮件警告甚至吊销证书的;
4、lab练习的时候,靶机是共用的,也就是说你在做某一个靶机的时候,其他同学可能会重置这台靶机导致你连不上或者异常,注意出问题及时看靶机状态;
5、记得kali要改root密码,lab环境共用,有调皮的小伙伴会尝试root/toor远程ssh你的kali的;
6、考试的时候如果出现问题到及时和监考说必要的时候需要和官方联系,比如考试面板突然无法访问、vpn断开后无法重连、靶机恢复后ping不通、考题异常等,不要自己找原因,这样会很浪费时间,可以与官方联系让官方工程师确认下靶机环境,因为已经有不止一位小伙伴遇到考试环境问题了,所以大家要多注意;
7、报告问题是老生常谈了,截图要完整,步骤要清晰,shell需要是交互式shell,不用过于纠结英文语法问题,对于非英语母语国家的考生报告官方不会过于苛刻的要求语法和单词拼写的,但你也不能太过分用拼音写哈;
8、报告上传并邮件官方后12小时内会有官方人工的邮件确认,告诉你大概10个工作日内反馈你考试结果。千万记得如果你上传并邮件后12小时未收到确认邮件,务必要联系官方确认下,因为报告确认这步是人工审核确认,是的确有坑漏掉邮件的。
希望大家通过努力学到技术也能顺利拿到证书。期间多少辛苦只有过来人才会知道,才会更深刻的感受“Try harder”。我个人觉得oscp的定位是能发现系统中的已公开漏洞并通过修改exp来对漏洞进行利用,属于渗透测试中入门偏上的程度,并没有到达挖掘未知漏洞的程度,因此各位想学习并考试的小伙伴可以结合自身情况看下是否适合,osce会有一些漏洞挖掘的内容,比如代码审计、fuzz等后续我也会和大家分享OSCE的学习方法和经验,希望能对大家有所帮助。
*本文原创作者:安全圈套的套哥,本文属于FreeBuf原创奖励计划,未经许可禁止转载