中文首发丨OSCE(Offensive Security Certified Expert)考证全攻略

2019-06-19 298275人围观 ,发现 9 个不明物体 网络安全资讯

*本文原创作者:安全圈套的套哥,本文属于FreeBuf原创奖励计划,未经许可禁止转载

在OSCP认证之后又拿下来OSCE认证,在整个申请考试和备考过程中遇到不少问题,通过与小伙伴交流和自己的摸索终于通关。网上对于OSCE认证的中文介绍基本没有(能找到的资料比OSCP少很多),也没看到详细攻略,但在漏洞挖掘方面OSCE认证在国内已经越来越受到企业的认可,参加考试的人也越来越多了(当然比之OSCP的人数还是少很多的……)。

本文简述OSCE考证相关问题,给需要的朋友参考。

一、OSCE认证是什么?

首先介绍下OSCE认证,与OSCP不同的是CE更侧重“漏洞挖掘”,CP更侧重“渗透测试”。简单来说就是OSCE需要针对特定系统进行未知漏洞挖掘。官方的课程是“Cracking the Perimeter”(https://www.offensive-security.com/information-security-training/cracking-the-perimeter/),其中包括:

web程序漏洞挖掘,比如跨站脚本、目录穿越等漏洞的挖掘和利用;

后门和手动免杀技术;

高级漏洞挖掘技术,比如vista下的MS07-017漏洞的分析和利用、egghunter技术、fuzzing技术的实例讲解、shellcode的一些技巧等等;

思科网络设备的漏洞挖掘(这部分内容有点鸡肋,并没有逆向分析固件的技术,所以略有失望)等等。

课程还是很不错的,文档内容不多,但是想学会并完全掌握,需要自学不少基础知识。

关于认证的官方介绍:https://www.offensive-security.com/information-security-certifications/osce-offensive-security-certified-expert/

1.PNG

OSCE认证是需要通过48小时在线考试后获得,其课程是CTP课程,证书持有者对先进渗透测试技能有深入的理解并能够识别各种操作系统中难以发现的漏洞和错误配置并对其进行利用。

认证条件:

考试形式:由于OSCE比OSCP的认证难度略大,考生拥有48小时的时间在线完成考试,具体如何分配时间由考生自己决定。题目是4个(随机抽取),需要按照题目要求完成作答,部分题目需要找到漏洞并获得服务器最高权限(ROOT/SYSTEM)。基于难度级别,成功执行的攻击会获得相应的积分(30分或者15分)。48小时结束之后,你还有24小时去完成并提交考试报告(需要详细说明攻击步骤和里程碑截屏来证明确实攻破并获得相应权限)。

考试费用:$1200美元(30天实验室访问+认证)当然也有更多时长的实验室访问套餐,详情如下,具体选哪个可根据自身情况自行选择:

2.PNG

二、课程内容有哪些?

OSCE的整个课程还是比较体系化的,但因为漏洞挖掘这个方向内容太大太杂,因此课程好说主要集中在几个有代表性的技术上,主要内容包括:web方面的代码审计、windows平台下的PE文件的修改、缓冲区溢出漏洞的发现与利用、思科设备的漏洞利用等等。

其中教材中会涉及一些具体实例还是很好的,可以动手练习加深知识的理解。当然问题就是大部分技术都是windows平台下的,比如缓冲区溢出技巧,只讲到了简单的VISTA下的地址随机化的简单突破,代码审计也只讲了php代码的几个简单漏洞,手动加壳免杀这个在现在加壳软件已经横行的年代是不是略显落后……

当然通过这个教程还是可以掌握一些高级技巧的,比如egghunter、手写shellcode、fuzzing等,学习下来确实可以加深对漏洞分析和原理的理解,如果能耐心学完,你就算入了二进制的坑了。

三、学习方式是怎样?

目前官方推荐自学,官方会提供教材(约145页的PDF教材)和教学视频(约3.5小时的mp4视频)以及为学员提供的交流论坛和在线的lab实验室环境。可以看出这个比OSCP的内容从教材页数和视频时长都少了不少,但实际上学过就知道了,学习过程中是需要很多额外的基础知识的……不要被教材的页数和时长骗到哦。

首先就是注册了,比较有意思的是OSCE注册就是一个破解题目,需要通过破解拿到注册所需的注册码等信息才能完成注册。难度基本与CTF初级相当,还是比较简单的,掌握js和shellcode一些基础就可以顺利完成。

注册后约定lab时间并付款后,官方会在lab开始那天邮件你教材和视频文件的下载链接,并开通论坛账号及实验环境vpn链接,你就可以学习教程并链接lab环境进行实验练习了。如果之前注册过OSCP的考试,这个就简单很多了,就不用核实身份信息之类的过程,论坛账号也会和之前OSCP的一样。

通过自学教程你会掌握漏洞挖掘中的基本技能,在通过lab环境下的实战靶机练习将理论练习实际会对学习的知识有更深入的理解。其中lab环境下靶机数量也比OSCP少很多,但难度还是有所增加的。

我在买的是30天的ab实验,练习了30天后感觉确实不够,主要是基础比较差。但基本了解了lab环境和漏洞发现及利用的方法。又找了些其他的资源进行学习,教材也是看了好几遍,最后才有点信心参加考试。 

四、怎么考试呢?

考试预约与OSCP的基本一样,就不多说了,不同的是考试时间是48小时答题+24小时写报告,并且没有监考。开始这个时间是肯定够用的,但实际考试中我有一个题目没有时间全部完成……

考试是在线进行的,vpn连上考试系统后会有考试说明。具体来说就是你在约定的考试时间会收到官方的邮件,会给你一个考试环境的vpn连接文件,使用方法与lab的一样,并告诉你考试题目的IP地址和需要的账号及密码,题目满分是90分,75分通过。分数还是很有意思的,一共4道题目,分值是30+30+15+15,也就是说两个30分的题目是一定要做出来的,剩下两个15分的题目最多只能扔掉1个……

有了这个预判,我计划先搞定2个30分的,再去看15分的题目。我约的是早上8:00的开始,因为没有监考,心情还是很放松的,vpn连接进考试环境,网络还算稳定,开始答题。

其中一个30分的题目和OSCP很像,都是需要先拿到shell获得root权限,并拿到proof.txt。找到漏洞后利用的时候出现了困难,已知忙到中午还没有搞定,于是就先吃了午饭休息了一下,下午开始继续搞这个题目,通过google找到了利用中遇到的问题的解决方法,所以提示国内的小伙伴,必要的时候google和百度都不能少……

开始另一个30分的题,开始fuzzing—无果—继续fuzzing—还是无果……一直到晚上都没有找到头绪,由于没做出题目没有心情吃完饭,一直到深夜就有些疲惫了,又困又饿吃了点水果喝了点酸奶就睡了……

第二天起来先吃了早饭,就开始看题,先把fuzzing的那个题放在了一边。看了剩下的两个15分的题目,发现1道比较简单,另1道有点难,迅速的搞定了简单的那个。心里稍微安稳了一些,算了下分数30+15=45,也就是说那个fuzzing的必须拿下,剩下那个15分的可有可无。

换了几个fuzzing工具都没有成功后,有点慌了。休息了一会吃个午饭,后面开始一步一步的调试分析,这个过程是比较煎熬的,进展很慢也看不到预期结果,一直调试到晚上,才有了一点小进展,有了这个小突破就可以顺利fuzzing了,终于fuzzing到了一些东西,然而漏洞利用也是麻烦,试了几种方法都没成功,最后回去翻了下教材……修改了下代码才算成功。

看着应该是够75分了,也已经到深夜了,但心情还是很激动的,根本睡不着,开始搞那个剩下的15分的题目……

反复计算和调试shellcode,各种计算—分析—调试—再计算—再分析—再调试……都不知道搞了多久,终于感觉是调试好了,正准备上考试环境打一下最后这个题目呢,vpn连不上了……一看时间,早上8点了时间到了。还是有点可惜的,不知道最后这个题目的答案我做得对不对……

心情一放松下来就是精疲力尽,不过还是得咬牙坚持写完报告。老规矩还是先确认了下截图,每个步骤的截图都在,关键步骤都有备份多张截图……然后就先定了闹钟睡觉去了,下午起来开始写报告,有了上次考OSCP的经验,报告还是比较顺利的。当然需要使用官方的模板,把每个题目解法描述清楚,因为只做完了3道题目,所以报告内容不算多。晚饭前就把报告写好了,检查了两遍,修改了一些语句和错误拼写。(这次用谷歌翻译的不多,基本都是手写,自上次OSCP考试后感觉英文好了很多^_^)

报告全部才30多页,最后做成pdf压缩,上传到官方给的url,再把下载连接发给官方指定邮件。

报告发送后24小时内会收到一封时间,告诉你已经收到你的报告,5个工作日内将告诉你开始结果。然后我等了大概3个工作日就收到了邮件:

3.PNG

五、考试难不难?

个人认为相比OSCP还是提升了难度的,当然也可能是我逆向分析的基础不好。也问了些做漏洞挖掘的小伙伴,基本评价是中等偏上的难度,如果要在实际工作中做这方面的工作那是还需要学习和掌握更多技能的,毕竟考试只是选取了几个典型的技术点。

比如教材的免杀中的方法针对特征码检测是有效的,但如果内存查杀或者主动防御就不一定会好用了;代码审计的章节也只是浮光掠影的讲了几个php代码的漏洞,并没有完全覆盖owasp的top10类型,就更别说业务逻辑漏洞了;缓冲区溢出这块也都是windows应用层的利用方法,并没有内核级漏洞的技术内容;思科设备漏洞的也比较水,并不是想象中的固件逆向分析。

然而通过学习还是掌握了不少技能的,如果是初学者,我建议还是需要认真的学完教程,并在lab环境中多加练习,也可以到exploit-db上找一些案例来练习。

对于我个人来说,基础比较差,低估了题目难度,还好运气好压线通过,以后还是需要多积累,多做练习。

六、备考有什么建议?

a.英文的重要性就不用多说了,只要撸下来OSCP或者OSCE保证你的英文水平进步一大块^_^;

b.在OSCE学习中笔记尤为重要,因为需要补的知识太多了,记号笔记多复习,考试的时候也能派上用场;

c.多交流。官方的论坛感觉交流的并不是很多,主要还是需要圈子内多交流;

d.与OSCP不同,OSCE的练习可以是线下做的,不定要完全依赖于lab环境,是可以自己下载有漏洞的软件本地调试的,所以练习就方便多了。

七、哪些好的资料可以分享?

我在学习和备考的时候参考的一些不错的资源,汇总如下。

图书:

《0day安全:软件漏洞分析技术(第2版)》

《漏洞战争:软件漏洞分析精要》

《加密与解密(第4版)》

网上资源:

github上可以搜索“OSCE”找到很多资源,如:

https://github.com/ihack4falafel/OSCE

https://github.com/dhn/OSCE

https://github.com/73696e65/windows-exploits

但是每个人的基础不一样,别人总结的不一定适合你,建议大家还是多多总结多多交流。

*本文原创作者:安全圈套的套哥,本文属于FreeBuf原创奖励计划,未经许可禁止转载

相关推荐
发表评论

已有 9 条评论

取消
Loading...

特别推荐

推荐关注

活动预告

填写个人信息

姓名
电话
邮箱
公司
行业
职位
css.php