我的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年,这就导致了其中并不涵盖最新的技术,如ZeroLogon
、KrbRelayUp
、ADCS
利用等,这也是其为人诟病的地方。
另外,PEN-300
中的防御规避技术比较基础(或者叫老旧),所以不要指望单靠这个就能学会实战免杀,尤其是对抗EDR
这种环境。
因为内容的相似性,OSEP
常常会被用来和CRTP
、CRTO
对比。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.txt
或proof.txt
为10分) - 拿到
secret.txt
,具体位置由考试面板提供
考试限制使用商业工具、chatgpt类问答AI,不限制Metasploit
社区版、sqlmap
等工具。
OSEP
考试并不存在任何奖励分。
备考
课程中的大部分内容我都接触过,所以我读完课程材料大概花了半个月左右,包括做课后练习。有下面几个点需要注意:
OSCP
的知识很重要,据朋友说,他在考试中遇到了不少OSCP
类型的主机,也就是考验你的枚举和漏洞利用能力,所以我认为,OSEP
就是OSCP
的大型DLC,一定要扎实地掌握OSCP
内的知识。HackTheBox Pro Labs
是比较好的拓展练习,时间和金额充裕可以都做完,如果来不及的话,Cybernetics
先做完,这是最贴近OSEP
的(虽然多了ADCS
的内容)。- 防御规避部分主要涉及:AppLocker、CLM、AMSI、Defender,就按照每台机器都开了所有安全机制来准备相关工具和代码。
- 测试防御规避时,按照由简单到复杂的顺序来,例如Word宏钓鱼:
下载exe执行 -> VBA Shellcode Loader -> VBA远程加载PowerShell -> ...
,每一项手法和代码都在课程环境中测试好,保证考试时没问题。 - 和准备
OSCP
一样,每种攻击都要多学几种方式完成,例如Bypass AppLocker
,课程中只教了一个LOLBAS
,最好多掌握几个。
读完材料后,大概在7月27号开始做Lab
,也同样是6个challenge
,前四个都相当于小的专项练习,域也只是单域,5和6则涉及了多个域,难度也基本上是按照序号来的。
个人感觉OSEP的Lab
要比OSCP有意思得多,在8月11号做完了6个challenge
:
完成challenge
后就买了一个月的HTB ProLabs
开始练习,预定了9月7号8:00的考试。
但HTB ProLabs
我没打完,因为环境是共享的,实在是太不稳定了,非常怀念独占的环境,想重置就重置,最后只把wp看了一遍,然后将近20天的时间都没事干,只整理了一下笔记以及可能会用到的代码。
期间和不少考过试的人请教经验,基本上都说Lab
做完不难,但OSCP中的枚举不能忘,像CME、winpeas都要用起来。
考试
当天早上8点开考,这次考前验证步骤熟练了很多,没出现什么情况。
考试本身难度适中,比Lab
略难一点,但没有超过太多,不做HTB ProLabs
我觉得也是够的,不过有一点需要注意,一定不要仅仅依赖一种方法或者工具完成某个攻击,万一考试中那个方法用不了就抓瞎了。
花了12个小时,我拿到了10个flag,但之后花了20个小时都没能拿到新的。
最终在9月8号晚上结束考试并提交了报告,报告只写了43页,因为基本上没用自定义代码。
有个在discord认识的哥们,比我早一天提交,但他第三天就收到了结果,速度还是挺快的。
为了及时得知自己的考试结果,借用赵今师傅的监控脚本,搞了个自动提醒,解放双手,在9月11号凌晨收到了通过的消息:
结语
总结一下:
- 免杀和域都不难,课程里的手法都能过,但尽量准备备用手法,防止意外情况
- 熟练使用
BloodHound
、CrackMapExec
、Rubeus
等工具 - 仍然记住:枚举是关键
打算休息几天,然后开始OSWE
的学习😄