我的OSCE3之路——OSEP

前言

OffSec Experienced Pentester (OSEP) 可以看做OSCP的DLC,涵盖的内容实际上是两大块:防御规避和Windows域。

OSCP的Windows域内容比较基础,不涉及委派、ACL滥用、域间信任等内容,OSEP则对其进行了补充,所以这是我的下一个目标。

课程内容与对比

OSEP对应的课程为PEN-300(Advanced Evasion Techniques and Breaching Defenses),它并没有像PEN-200(OSCP)那样频繁更新,上次更新可能是2021年,这就导致了其中并不涵盖最新的技术,如ZeroLogonKrbRelayUpADCS利用等,这也是其为人诟病的地方。

另外,PEN-300中的防御规避技术比较基础(或者叫老旧),所以不要指望单靠这个就能学会实战免杀,尤其是对抗EDR这种环境。

因为内容的相似性,OSEP常常会被用来和CRTPCRTO对比。CRTP我认为要比OSEP的Windows域部分更加深入,而且会更多地教你使用Windows本身的东西来完成攻击(基本靠PowerShell)。

CRTO的优势在于可以在实验室环境中使用最新版的Cobalt Strike,但更多的是教你如何利用Cobalt Strike完成攻击而不是告诉你具体的原理。另外,CRTO学习材料的内容很少,尤其是与OSEP几百页的PDF相比。

两者都比OSEP便宜很多,所以看个人选择,我主要是奔着OSCE3去的。

另外,2021年10月份,OSEP考试被泄露过一次,官方因此重新制作了考试环境,据一些人说,新考试比旧考试要难,Lab中的练习还不够,最好再去HackTheBox ProLabs进行练习,这个看个人选择。

考试要求

考试时长为47小时45分钟,结束后同样有24小时的时间来提交报告。

考试环境模拟一个企业网络,给你一个入口地址,需要先打点(漏洞或钓鱼),之后才能继续进行横向等操作,考试环境具体有多少台机器也是未知的,非官方消息是在20台左右。

考试通过则需要达成以下两个条件之一:

  • 拿到100分(每个local.txtproof.txt为10分)
  • 拿到secret.txt,具体位置由考试面板提供

考试限制使用商业工具、chatgpt类问答AI,不限制Metasploit社区版、sqlmap等工具。

OSEP考试并不存在任何奖励分。

备考

课程中的大部分内容我都接触过,所以我读完课程材料大概花了半个月左右,包括做课后练习。有下面几个点需要注意:

  1. OSCP的知识很重要,据朋友说,他在考试中遇到了不少OSCP类型的主机,也就是考验你的枚举和漏洞利用能力,所以我认为,OSEP就是OSCP的大型DLC,一定要扎实地掌握OSCP内的知识。
  2. HackTheBox Pro Labs是比较好的拓展练习,时间和金额充裕可以都做完,如果来不及的话,Cybernetics先做完,这是最贴近OSEP的(虽然多了ADCS的内容)。
  3. 防御规避部分主要涉及:AppLocker、CLM、AMSI、Defender,就按照每台机器都开了所有安全机制来准备相关工具和代码。
  4. 测试防御规避时,按照由简单到复杂的顺序来,例如Word宏钓鱼:下载exe执行 -> VBA Shellcode Loader -> VBA远程加载PowerShell -> ...,每一项手法和代码都在课程环境中测试好,保证考试时没问题。
  5. 和准备OSCP一样,每种攻击都要多学几种方式完成,例如Bypass AppLocker,课程中只教了一个LOLBAS,最好多掌握几个。

读完材料后,大概在7月27号开始做Lab,也同样是6个challenge,前四个都相当于小的专项练习,域也只是单域,5和6则涉及了多个域,难度也基本上是按照序号来的。
个人感觉OSEP的Lab要比OSCP有意思得多,在8月11号做完了6个challenge
20230911171655VDsbXU4RIWcm
完成challenge后就买了一个月的HTB ProLabs开始练习,预定了9月7号8:00的考试。

HTB ProLabs我没打完,因为环境是共享的,实在是太不稳定了,非常怀念独占的环境,想重置就重置,最后只把wp看了一遍,然后将近20天的时间都没事干,只整理了一下笔记以及可能会用到的代码。

期间和不少考过试的人请教经验,基本上都说Lab做完不难,但OSCP中的枚举不能忘,像CME、winpeas都要用起来。

考试

当天早上8点开考,这次考前验证步骤熟练了很多,没出现什么情况。

考试本身难度适中,比Lab略难一点,但没有超过太多,不做HTB ProLabs我觉得也是够的,不过有一点需要注意,一定不要仅仅依赖一种方法或者工具完成某个攻击,万一考试中那个方法用不了就抓瞎了。

花了12个小时,我拿到了10个flag,但之后花了20个小时都没能拿到新的。
20230911171721BFn6gBjmiaxL
最终在9月8号晚上结束考试并提交了报告,报告只写了43页,因为基本上没用自定义代码。

有个在discord认识的哥们,比我早一天提交,但他第三天就收到了结果,速度还是挺快的。

为了及时得知自己的考试结果,借用赵今师傅的监控脚本,搞了个自动提醒,解放双手,在9月11号凌晨收到了通过的消息:
20230911171743h8IZ6tYC6SOj
20230911171751mWhn1UCxIpdb

结语

总结一下:

  • 免杀和域都不难,课程里的手法都能过,但尽量准备备用手法,防止意外情况
  • 熟练使用BloodHoundCrackMapExecRubeus等工具
  • 仍然记住:枚举是关键

打算休息几天,然后开始OSWE的学习😄