0x1 前言
0x2 OSEP (2023/09/07)
前言
课程内容与对比
OSEP对应的课程为PEN-300(Advanced Evasion Techniques and Breaching Defenses),它并没有像PEN-200(OSCP)那样频繁更新,上次更新可能是2021年,这就导致了其中并不涵盖最新的技术,如ZeroLogon、KrbRelayUp、ADCS利用等,这也是其为人诟病的地方。
Lab
中的练习还不够,最好再去HackTheBox ProLabs
进行练习,这个看个人选择。考试要求
-
拿到100分(每个 local.txt
或proof.txt
为10分) -
拿到 secret.txt
,具体位置由考试面板提供
Metasploit
社区版、sqlmap
等工具。备考
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,最好多掌握几个。
Lab
,也同样是6个challenge
,前四个都相当于小的专项练习,域也只是单域,5和6则涉及了多个域,难度也基本上是按照序号来的。Lab
要比OSCP有意思得多,在8月11号做完了6个challenge
:challenge
后就买了一个月的HTB ProLabs
开始练习,预定了9月7号8:00的考试。HTB ProLabs
我没打完,因为环境是共享的,实在是太不稳定了,非常怀念独占的环境,想重置就重置,最后只把wp看了一遍,然后将近20天的时间都没事干,只整理了一下笔记以及可能会用到的代码。Lab
做完不难,但OSCP中的枚举不能忘,像CME、winpeas都要用起来。考试
Lab
略难一点,但没有超过太多,不做HTB ProLabs
我觉得也是够的,不过有一点需要注意,一定不要仅仅依赖一种方法或者工具完成某个攻击,万一考试中那个方法用不了就抓瞎了。花了12个小时,我拿到了10个flag,但之后花了20个小时都没能拿到新的。结语
-
免杀和域都不难,课程里的手法都能过,但尽量准备备用手法,防止意外情况 -
熟练使用BloodHound、CrackMapExec、Rubeus等工具 -
仍然记住:枚举是关键
0x3 OSWE (2023/12/16)
前言
OSWE
对应的课程为WEB-300(Advanced Web Attacks and Exploitation)
,主要考察白盒代码审计,所涉及的语言和框架也不止一种,有PHP
、Java
、.NET
等。WEB-300
我个人认为是300级课程中难度最低的一个,原因是相比PEN-300
,随机性更小;而EXP-301
是我基本不懂的二进制领域。考试规则
OSCP
和OSEP
,OSWE
的考试严格约定了不允许下载源码到本地这一规则,我想这还是因为考试保密的要求,因为OSWE
的考试核心就是源码,拿到了就能复制一个考试环境出来,OSCP
及OSEP
是做不到这一点的。看其他人的review,说到考试中总共会给5台机器:
-
调试机一台:上面配置好了VSCode之类的工具,可以通过这台去远程调试; -
测试机两台,给系统登录权限,搭建了目标应用,上面没有flag; -
目标机两台,有flag,没有登录权限,其他部分都和测试机一样。
Exam Guide
中确认每一项的分数是多少,但按照很多人的经验,至少需要完全完成其中一台机器,及完成另一台的权限认证绕过(这一点可能要在考试时得到的Specific Instructions
中确认)。备考
requests
库这些都需要熟练掌握。-
最好把课程里的练习都做了,包括 Extra Mile
,每个练习都按照考试的标准写好脚本 -
扩展练习:https://pentesterlab.com/badges/codereview、https://portswigger.net/web-security/dashboard -
和其他OffSec考试一样,有兔子洞,所以需要合理规划时间 -
可以列一个漏洞checklist,每种语言常见的漏洞类型,以此为参考,通读代码,逐个测试 -
借助Burp插件可以加快速度,比如:burp-requests(将Burp请求转换为Python requests脚本)、Copy2Java(将Burp请求转换为Java代码)
Challenge
只有三个:Answers
、DocEdit
和Sqeakr
,也不用提交flag. 前两个为完全白盒,最后一个需要黑盒先拿到源码再进行审计。Challenge
的,每个Challenge
都可以用不止一种路径完成。考试
data-ciphers
和data-ciphers-fallback
这两行,而本地kali的openvpn版本是2.6,可以兼容。-
这里没用预编译,可能有SQL注入 -
这里有XML处理,可能有XXE -
这里有文件上传,可能可以传webshell -
……
小结
0x4 OSED (2024/03/08)
前言
OSED
对应的课程为EXP-301(Windows User Mode Exploit Development)
,从名字就可以看出,这是一门Windows平台漏洞利用的课程,简单来说就是Windows Pwn.
EXP-301
的主要内容是Windows下32位的漏洞利用,很多人认为在现在的环境下还教32位有点过时,但这门课并不是进阶课程,而是Pwn的入门课程,所以用32位其实没什么不妥,真正高阶的Exploit Development
课程应该看EXP-401
.
-
熟悉调试器 -
熟悉32位漏洞利用的基本概念 -
能够熟练编写Python3代码 -
能够基本阅读和理解C代码 -
能够基本阅读和理解基础的汇编代码
考试规则
OSED
考试同样为48小时,同样需要监考和提交报告。考试总共会出现3道题目,完成目标的要求都是获取交互式shell,然后读取proof.txt
.IDA Free
和WinDBG
完成逆向调试,不能使用其他的调试或者反编译工具,比如Ghidra
、IDA Pro
、x32dbg
等。这一点很多人不喜欢,因为WinDBG的指令确实反人类,OffSec官方说这样要求是为了保证评分流程的流畅。pwntools
、mona
等。Python3
的,可以使用Metasploit
社区版作为辅助。OSED
考试所需报告的要求也是有变化的,脚本需要单独作为文件而不是放在PDF中。OSWE
类似,OSED
考试同样严禁下载考试文件到本地。除非考试说明特别要求,即使这样也需要在考试结束时删除该文件。备考
EXP-301
的课程板块相对来说没那么多,主要就是这些:-
WinDbg使用介绍 -
基础堆栈溢出 -
SEH溢出 -
Egghunters -
Custom Shellcode -
DEP绕过 -
ASLR绕过 -
格式化字符串
-
给Crash PoC的DEP Bypass,ROP必须多练,一定掌握熟 -
Custome Shellcode,会指定你需要通过哪个函数达成什么效果 -
对逆向能力要求高的压轴题
EXP-301
总共有三个challenge,第二个主要考察DEP绕过+ROP,第一个和第三个都需要一些逆向工作。因为时间和工作原因,没来得及做challenge,只能把课程材料多熟悉了几遍。-
https://red.0xbad53c.com/training-reviews/offensive-security/osed -
https://darkwing.moe/2022/10/07/OSED%E5%8F%97%E9%A8%93%E8%A8%98/ -
https://github.com/epi052/osed-scripts -
https://github.com/0xbad53c/osed-tools -
https://github.com/nop-tech/OSED -
https://github.com/nop-tech/code_caver
@y4ng
师傅:-
CreateProcess执行calc.exe -
WinExec执行calc.exe -
CreateServiceA创建一个服务 -
GetUserNameA + MessageboxA 弹出"Hello 用户名" -
GetUserNameW + MessageboxW 弹出"主机名 用户名"
-
github.com/xct/vulnbins -
exploits/50472 10-Strike Network Inventory Explorer -
exploits/17665 D.R. Software Audio Converter 8.1 -
exploits/44522 exploits/47411 Easy File Sharing Web Server 7.2 -
exploits/46269 Faleemi Desktop Software 1.8 -
exploits/50650 vuplayer 2.49 -
exploits/43156 VX Search 10.2.14
考试
1. ROP非常重要,练得越多,你的ROP就越熟练,遇到一些限制环境也能找到另外的构造思路
2. 常见汇编指令要熟悉,不然想要实现某个功能却不知道用什么指令,那真是没地方哭
3. 每种题目要针对性地多练练,常见的坑就能提前踩好
4. 做好文档和脚本的管理,考试中我因为用混了没改的脚本导致浪费好长时间
5. 有时候仅能用的gadget会有副作用,比如让你的堆栈产生各种变化,要学会怎么消除它们
还好这次速度也很快,大概在交完报告的第二天晚上就出了结果。当时的我正在和朋友聊天,手机突然传来叮的一声,这是推送软件的声音提醒,只有当考试结果通过时才会响起。
OffSec Certified Expert 3
(OSCE3
),这一刻真有种如释重负的感觉。突然就想起来刚开始学习OffSec证书时,在某个人的OSCP review里看到的一句话:这不是短跑,而是一场马拉松。小结
0x5 番外: OSDA (2024/04/04)
前言
OSDA
即OffSec Foundational Security Operations and Defensive Analysis
,是一个面向蓝队人员的证书,对应的课程名称为SOC-200
,看名字就知道是面向SOC分析师岗位的。这一点要吐槽下,国外的蓝队岗位划分比较细,有SOC、DFIR、Threat Hunt等等,国内则是一锅粥,恨不得5000块招一个三头六臂无所不能的进来。SOC-200
使用的SIEM是ELK
,有的人觉得不教Splunk
简直对不起这个价钱,我倒无所谓,反正OSCP
和OSCE3
已经值回票价了,剩下再考到都是赚的。考试规则
ELK
来进行各种操作,例如查询日志、查看告警等,也就是不存在上机排查环节。您需要撰写一份专业报告,包括您收集的所有证据、有关攻击者技术的结论以及每个阶段的妥协方案。您必须记录所有发现结果,包括 SIEM 的所有屏幕截图以及用于确定攻击者操作的任何查询。此外,您必须描述攻击者在每个阶段在网络中获得的访问类型。您的文档应该足够详尽,以便技术上有能力的读者可以逐步复制您的分析。
备考
MITRE ATT&CK
的各个阶段进行讲解,后面则会专门教授ELK
的使用,以一次事件来完整演示日志调查、告警规则编写这个流程。考试
-
考试环境不是非常稳定,万一发现找不到应该找的日志,就重置。只不过重置很费时间,尤其是打到后面几个阶段,每次重置要十几分钟,还要再花时间一个阶段一个阶段走过去,基本上得一小时起步 -
每次启动阶段的时间可以记录下来,这是防止后面你突然发现某个攻击环节明显缺信息了,还能根据时间再回去找,不必重置环境 -
每个阶段里的事件数量不是固定的,有可能是多个,有可能只有一个,所以如果找不到别的痕迹就直接开始下一个阶段吧 -
考试不要求写检测规则,只需要把你找到的攻击者的手法描述清楚就行,贴上截图、所用到的KQL语句等,不需要把每个查询都写上,稍微复杂点的(有多个过滤或限定条件)写上就行
小结
0x6 总结
-END-
如果本文对您有帮助,来个点赞、在看就是对我们莫大的鼓励。
推荐关注:
团队全员均持CISP-PTE(注册信息安全专业人员-渗透测试工程师)认证,积极参与着各类网络安全赛事并屡获佳绩,同时多次高水准的完成了国家级、省部级攻防演习活动以及相关重报工作,均得到甲方的一致青睐与肯定。
原文始发于微信公众号(弱口令安全实验室):Zero to Hero: OSCE3之路
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论