前言
OSCP在2023年3月15日发布公告,更新2023年内容(PEN-200-2023),包含全面的教材更新以及最早6个月后的考试更新,见:https://www.offsec.com/offsec/pen-200-2023/
我在更新后的第一时间激活了课程并在三个月后通过了考试,因此本文是针对这个窗口期(内容更新后到考试更新前)的一个备考总结。
- 我的OSCP NOTE(偏向于Payload记录):
- 我的Vulnhub靶机Walkthrough(偏向于初期上手和思路记录):50台Vulnhub靶机Walkthrough
- 我的OSCP教材笔记:包含了部分课后题记录和教材原文,等脱敏后公开
- 新版LAB Walkthrough、PG Walkthrough,按规定不能公开。
- 官方的考试相关手册、FAQ:PEN-200 (PWK): Updated for 2023 OSCP Exam Guide OSCP Exam FAQ
Part 1:要不要参加这个考试,我能收获什么
OSCP的介绍网上很多我不再赘述,本身它是一个包含了教材(全英)+视频(部分章节内容)+实验环境(考试模拟)形式的考试,通过几个月的自学能收获什么?
以我个人来衡量的话,我在之前有一年的渗透+红队工作经验,与考试内容算是有比较大的关联性,所以我会把知识点拆分成具体的小项,用一个表格来对比我在OSCP学习中获得的增益,以0%为完全不了解,100%为完全掌握,做了一个以下的估量:
能力名称 | 原始值 | 通过OSCP能积累到的值 | 备注 |
---|---|---|---|
Web漏洞挖掘(Initial Access) | 70% | 20% | 考试里的比较基础 |
Windows提权 | 10% | 80% | 比较全面 |
Linux提权 | 10% | 80% | 比较全面 |
代码能力 | ? | 10% | 只有Fixing Exploit部分会用到,相当基础 |
免杀 | ? | 5% | 基本不考察 |
Tunneling+Pivoting | 20%(只用过Frp、nps) | 70% | 会对端口转发、搭建隧道有比较系统的学习,域渗透三台机器会涉及到一次或两次Pivot |
域渗透 | 10% | 60% | 会对域内认证方式、常见攻击方式(AS-REP Roasting、金银票据、DC Sync等)、常见横移方式(PTH、PTT等)有学习,不涉及委派(OSEP内容) |
再次强调上述只是一个估量,技术值这种东西说不准,我的80%可能只是大佬的20%,大概是这么个意思就好。
除此之外,作为一个有实操环境(课后题和LAB)的实践型考试,在模拟环境中可能会遇到各种各样奇怪的问题,这里能学习到的知识就取决于你深挖的程度,这就看是想节约时间考试还是深挖多学了。举两个例子:
(LAB的)某环境打下入口Windows后想翻一下数据库里有没有额外信息,发现没有对外端口,RDP上去后发现本地也没有开数据库端口的监听,但是sqlserver服务确实在跑,用SQL Server Management Studio也能直接连上。web.config没有写端口,问群里大佬指出是用Named Pipes命名管道连接的:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\SuperSocketNetLib\np PipeName REG_SZ \.\pipe\MSSQL$SQLEXPRESS\sql\query
(LAB的)某环境已经获得一个低用户权限,需要本地文件包含一个webshell以获取WEB用户的权限,但是把shell放到常用的/tmp目录下就包含不到(返回什么忘了),即使chmod 777。放到一些其他的有权限的目录下却能包含到,我搜官方群也有人问这个问题但是没有回复。经右边工位大佬告知,这是Linux的一个我不知道的功能叫PrivateTmp,相当于进程自己映射了独立的/tmp和/var/tmp目录以提高安全性。并且这里使用不同权限的shell(比如SSH和webshell)看到的/tmp目录内容也会不相同,就是真实/tmp和映射的/tmp的问题。
参考:systemd之PrivateTmp
所以收获也不只是考试范围内容的收获。
Part 2:对于考试的建议
1.不要过度准备 - DON’T OVER-PREPARE
这是我觉得最重要的一条,就是OSCP并没有那么难。
广泛的练习范围决定了你在练习中必然会遇到超纲内容。在Vulhub/PG/LAB中遇到脑洞的、CTF的、超纲的,请记住不要纠结,它们有九成的可能性不会出现在考试中。并且通过考试的分数是有冗余的,你可以有个别机器解不出来。我的一位“考友”同事到考试的时候积累了三十六万字的语雀笔记,他自己也觉得触目惊心并且没有必要。
我大概Vulhub+PG+官方LAB一共也就打了100台机器的样子,拿到BONUS的10分就去考试了:
2.关于考试软件环境
- 不要使用最新版Kali Linux,使用2022.x版本可以避免一些新版本的依赖问题
- 对于python脚本需要安装pip的情况,使用venv虚拟环境
- 配置多个版本的Crackmapexec,稳定版、最新版,并且不要相信它的RDP爆破结果,还是要hydra跑一遍
- 新版的LAB和考试已经可以裸连,配置代理不再成为必选项。在我经历备考的这段时间被连接问题折磨了无数次,断连、重置、无法停止实例,击溃我的是好多次Pivot到第三台了环境重置了,又要从入口一切重来。。。所以有了offline sec这个称呼和文章开头的那张图。不过升级完成后,我从上海的裸连体验还是比较好的。
最后我在周六的下午三点开始考试,在晚上9点钟左右达到了可以通过的分数,在24小时内完成了报告,获得了我的OSCP认证: