声明
学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec]
前言
本文涵盖OSCP备考经验和须知。干货满满,请各位师傅认真阅读,可以避免踩坑!!!
目录
一、OSCP认证
OSCP认证概述
OSCP (Offensive Security Certified Professional)是由Offensive Security推出的一项国际公认的渗透测试认证考试。该认证面向系统管理员、网络管理员和安全专业人员,旨在帮助学员更好地理解网络攻击和相关技术,成为专业的渗透测试人员。OSCP被公认为渗透测试领域含金量最高、最受认可的技术认证之一。
OSCP(Offensive Security Certified Professional) 也是为数不多得到国际认可的安全实战类认证,目前在国外受到广泛认可。
OSCP认证须知
认证条件:无,对工作年限没要求,不论是在校生还是已经工作了都可以考。
注意:在2024年11月1日之后,通过更新后的考试认证,将获得OSCP和OSCP+认证。
OSCP 终身有效:作为终身认证,表明一旦学习者获得 OSCP 认证,就可以终身使用这个资质来证明自己在渗透测试领域的能力。这体现了该认证对学习者早期技能水平的认可,并且在一定程度上说明 OSCP 认证所涵盖的知识和技能具有基础性和长久性的价值。
OSCP + 三年有效期:OSCP + 认证在 3 年后到期,这一规定强调了持续学习和更新知识的重要性。在复杂多变的网络安全领域,技术和攻击手段不断更新,安全防护措施也日益复杂。要求认证持有者在 3 年后重新评估或者更新认证,代表着他们需要不断跟进网络安全领域的新知识、新技术,如新兴的漏洞类型、新的攻击和防御技术等。这也体现了学习者对在复杂的网络安全领域继续接受教育的承诺,确保他们的技能始终能够适应行业的发展需求。
OSCP课程(PWK)介绍
OSCP认证的配套课程为PWK (Penetration Testing with Kali Linux),主要教授如何使用Kali Linux进行渗透测试。PWK课程历史悠久,是业界最早推出、最完善、最完整的渗透测试培训课程。该课程主要面向想要专业从事渗透测试、中高级红队人员以及安全服务工程师等。
PWK课程包括以下内容:
- 全英文教材(800多页PDF文档+视频)
- 24章教学内容,每章都有课后练习(对通过考试至关重要)
- 官方实验室网络(靶场)
由于OSCP考试注重实战能力,仅通过看书、看视频、背命令是很难通过考试的。因此官方提供了实验环境供学员进行靶机练习。购买课程后,还可以获得官方学生论坛账号,与全球网络安全从业者交流讨论。通过OSCP认证的学员可以进入专门的子论坛。
OSCP学习方法
-
掌握课程内容,完成相关练习
- 熟练掌握各项技术和工具的使用。相 的课后练习该做的都做一做写一写,要保证自己对相应的技术和课程都是有熟练掌握的
-
攻击实验环境靶机
- 可以自己私下去找课程对应的实验环境的靶机去进行练习
- 在官方实验环境中至少完成60+台靶机(没有基础的话需要更多)。尽量去进行一个命令熟练度,打靶熟练度的练习 (越熟练越好,形成肌肉记忆) 考试的时候可以查看笔记,但是过于浪费时间了 (有时间限制 考试任务很重)
-
练习渗透测试报告编写
- 考试通过的关键不仅在于成功渗透目标靶机,清晰、专业的报告也至关重要。当OSCP考试结束后24小时内需提交完整的渗透测试报告,即使所有靶机都被攻克,一份质量欠佳的报告也可能导致考试失败。 报告应详尽地记录渗透测试过程,以便评委充分理解你的方法和技术。
二、OSCP考试
OSCP考试介绍
-
在线考试,通过电脑链接考试环境,官方会给你一个 vpn,通过VPN连接到考试环境。考试时长23小时45分钟,考试内容包含6台靶机(3台独立机器+域环境中的3台机器)。
-
考前有15分钟,考试环境的确认工作,监考官会需要检查你的考试环境以及电脑确保不会有作弊的嫌疑。
-
得分机制:
- 三台独立机器:突破每台机器的边界(10分)、提权(10分),独立机器最高20分
- 域环境:域环境下的三台机器需完全控制才能获取40分。
- 最后考试至少70分及格,所以域环境必须全部拿下,但凡一个权限没提够就拿不到40分,就是直接挂。
-
考试结束后24小时内需提交渗透测试报告,因为测试报告的评分是人工评分,所以报告质量影响最终分数。
-
考试结束后一般10 个工作日得到成绩(会颁布电子证书),成绩合格确认证书邮寄地址(如果有纸质的话)。
-
备考周期建议6-9个月,每天至少1-2台靶机练习保持手感。
OSCP考试靶场
PG(Proving Grounds):这个是offsec的亲儿子,也有很多前辈推荐里面的机器作为OSCP的练习,考试里单机的难度大概相当于里面的中等难度机器
OSCP Lab:OSCP现在只有3个月lab time的选择,这是绝对够时间打完OSCP所有lab的,因为它包含OSCP所有lab机器,考试机器也是从这里面抽
其他靶场:自己课外收集的一些测试靶场
练习顺序:其他靶场——>PG——>OSCP Lab
OSCP考试费用
从官网进行查看,官网上是给了几个套餐,可以根据自身情况进行选择
OSCP考试建议
- 考试内容不限于教材,教材只是全面系统地介绍渗透测试,但考试涉及的漏洞、攻击手法等远不止教材所包含的。要掌握渗透测试的整体流程、思路和方法论,这样才能在面对陌生环境时迅速找到突破口。
- 保持良好的身心状态,把自己当成一个运动员,以巅峰状态应考。如果暂时没有报名考试,就把课程内外的靶机反复练习,否则肌肉记忆会退化。
- 尽量独立完成靶机练习,锻炼自己发现问题、独立思考的能力。实在解决不了再去寻求他人的方向性指导,不要直接索要答案。
- 多做笔记,总结经验教训,分析自己的渗透思路。不建议直接去看别人的攻略,考试的时候谁也帮不了你。
- 和其他学员多交流思路,但不要直接分享payload。比如遇到密码无法破解的情况,别人直接把密码告诉你并没有任何帮助,反而会让你失去独立思考的机会。
- 考试必须保底拿下80分才能通过,不能压线,因为渗透测试报告可能会给你扣分。
- 我们英文不好的同学需要一个翻译软件去和监考老师进行沟通。因为监考老师基本都是海外OSCP老师,所以要准备翻译软件去正常沟通
- 考试需要一个截屏软件去把考试的操作进行截图,方便后续写渗透测试报告。注意别用微信、QQ的截图功能,别打开微信、QQ!
- 建议准备英文身份证明材料(护照)、多个国家VPN(至少4、5个不同国家VPN)、一天的食物和饮料(红牛提神饮料)等。
OSCP考试注意项
-
快照还原次数为24次,只提供还原快照,如果一些操作导致环境崩坏就需要我们进行快照还原,但是快照还原之后,之前的那些漏洞利用操作也全部作废,需要重新进行操作。
-
突破边界后再文件里面有一个loacl.txt,里面有一个flag,有一个字符串需要提交。但是直接拿下最高权限,在根目录下会有proof.txt文件或者Windows 系统则在 admin 桌面
-
考试期间,以下四个模块不限次数使用
-
Multi-handler
Multi Handler,也常被称为exploit/multi/handler,是 Metasploit 框架中的一个模块,用于建立监听器,接收来自被成功利用漏洞的主机的反向连接 (reverse shell)。 它不直接进行漏洞利用,而是作为漏洞利用成功后的有效载荷 (payload) 的接收端。
- 作用:建立一个监听器,等待被攻击主机主动连接回来。
- 使用场景:当你在目标主机上成功利用漏洞后,需要与其建立一个连接来执行命令或进行进一步的渗透。
- 工作原理:Multi Handler 会设置一个监听端口,并根据你选择的 payload 类型(例如 Meterpreter、shellcode 等)配置相应的处理程序。 当目标主机上的 payload 被执行时,它会尝试连接到 Multi Handler 监听的端口,从而建立反向连接。
-
msfvenom
msfvenom 是 Metasploit 框架中的一个命令行工具,用于生成各种类型的 payloads,例如 shellcode、可执行文件、注入代码等。 这些 payloads 可以被用于各种漏洞利用场景。
- 作用:生成用于漏洞利用的 payloads。
- 使用场景:需要一个特定的 payload 来利用目标主机上的漏洞,例如,生成一个 Windows 可执行文件,其中包含 Meterpreter payload,然后想办法让目标主机执行这个文件。
- 工作原理: msfvenom 可以根据你指定的参数,例如 payload 类型、目标平台、编码方式等,生成相应的 payload。
-
pattern_create.rb
pattern_create.rb 是 Metasploit 框架中的一个 Ruby 脚本,用于生成独特的字符串模式,用于确定缓冲区溢出漏洞的偏移量。
- 作用: 生成用于确定缓冲区溢出偏移量的唯一字符串模式。
- 使用场景: 当你进行缓冲区溢出漏洞利用时,需要确定精确的偏移量,以便将你的 shellcode 注入到正确的位置。
- 工作原理: pattern_create.rb 会生成一个包含各种字符的字符串,其中每个字符序列都是唯一的。 将这个字符串作为输入发送给存在缓冲区溢出漏洞的程序,然后查看程序崩溃时的寄存器或内存中的值,就可以使用 pattern_offset.rb 确定偏移量。
-
pattern_offset.rb
pattern_offset.rb 是 Metasploit 框架中的一个 Ruby 脚本,用于根据 pattern_create.rb 生成的模式和程序崩溃时的值来计算缓冲区溢出漏洞的偏移量。
- 作用: 计算缓冲区溢出漏洞的偏移量。
- 使用场景: 在使用 pattern_create.rb 生成模式并使程序崩溃后,使用 pattern_offset.rb 来确定 shellcode 应该放置的精确偏移量,这对于确定漏洞利用 的切入点等很重要。
- 工作原理: 你将程序崩溃时寄存器或内存中的值提供给 pattern_offset.rb,它会在 pattern_create.rb 生成的模式中查找匹配的字符序列,并返回相应的偏移量。
-
OSCP考试黑名单
避免踩坑,考试必看!
- 在考试期间你只能使用一台笔记本电脑,不能接触其他的电子设备,且考试期间你不能登陆和考试无关的其他应用程序,比如打开QQ 、微信等。不允许使用 ChatGPT 等相关 AI工具进行辅助,一经发现考试直接判为不通过,甚至官方会对你终生禁止考试!
- OSCP考试期间限制自动化工具(sqlmap等)使用,但不限制使用的漏洞范围(手动渗透),违反规定可能被终生禁止考试!
- 平时常用的商业工具一律不能使用、带 pro 的不能用(比如burpsuite pro 等),考试一使用直接判为不通过!
- metasploit (exp 漏洞利用整个考试只能对一台机器使用,并且要提前跟考官沟通),不提前打招呼直接判为不通过!
- 考试持续时间很长,如果需要去休息或者上厕所一定要提前和监考老师沟通,不能擅自离场!
三、渗透测试
渗透测试的理解
渗透测试是一个循环往复的过程,从对目标系统几乎零了解(可能只知道一个域名)开始,通过不断的信息收集、攻击和尝试,最终达到完全控制目标系统的目的。
渗透流程
- 信息收集: 渗透测试的灵魂。从仅有目标域名(或其他少量信息)出发,尽可能多地收集信息,例如 Whois 信息、Google Hacking 查找信息泄露、IP 地址、开放端口、服务版本、历史漏洞等。信息收集的渠道越多,攻击面越广,渗透成功的可能性越大。 红队攻击过程中,大量的探测和尝试都会以失败告终,因此充分的信息收集至关重要。
- 边界突破 (撕口子): 利用收集到的信息,针对目标系统进行漏洞利用,例如利用 Web 应用程序漏洞 (SQL 注入、跨站脚本攻击等)、系统漏洞等,突破目标系统的边界防御,获取初始访问权限 (通常是低权限)。 此阶段需要大量的实践、试错和调整。 漏洞利用的难度与其对系统边界的突破能力成反比,例如反射型 XSS 漏洞由于难以直接获取系统控制权,其危害性相对较低。
- 内网信息收集和权限提升: 突破边界后,在已控制的主机上进行内网信息收集,例如内网主机、网段、服务等。 同时,尝试提升权限,从低权限提升到高权限,最终获得对该主机的完全控制。 常用的提权技术包括内核漏洞利用、密码破解等。
- 横向移动: 利用已控制主机的信息和权限,向内网其他主机进行横向渗透。 例如,利用密码重用、哈希传递、内网系统漏洞等进行攻击。 此阶段同样需要持续的信息收集和漏洞利用尝试。
- 目标定位和拿下 (Target Acquisition & Data Exfiltration): 在控制了足够多的主机后,渗透者开始定位其最终目标,例如敏感数据、关键系统等。 找到目标后,拿到目标主机的最高权限。
- 痕迹清理 (Covering Tracks): 为了避免被发现,渗透结束后清理攻击痕迹,例如删除日志文件、清除 shell 历史记录等。
学习建议
- 实践操作: 渗透测试的核心能力在于动手实践,需要像吃饭喝水一样成为一种本能。
- 方法论: 可以遵循 OWASP 等框架,也可以开发自己的方法论。
- 法律法规: 渗透测试必须有组织、有计划、有授权。 未授权的渗透测试是违法行为。
- 地域差异: 不同国家/地区的文化、工具和网络环境不同,需要根据具体情况调整渗透测试策略。
- 持续学习: 渗透测试技术不断发展,需要持续学习和更新知识。
核心思想: 渗透测试是一个迭代循环的过程,信息收集是贯穿始终的关键环节。 通过持续的信息收集、漏洞利用和权限提升,最终实现对目标系统的完全控制。 实践操作和方法论的运用至关重要。 所有操作必须遵守法律法规,并获得授权。
学习心得:
通过入门到渗透测试以及现在接触红队的知识,经历过陆陆续续的挫折。其实在真正的红队攻击当中,也是充满了挫败感的,绝大多数的攻击和探测都是以失败结尾的。因为现在很多企业或者说渗透对象都是已经做过安全整改、有很多安全设备和策略,所以一般的嗅探、Top10等 都会面临失效。当然也有可能你运气比较好,一打就打到了薄弱点上了。但是这样要基于大量的经验的积累, 和一定得运气才能做到的。所以渗透最重要的是信息收集的渠道, 渠道越多信息越多,这样攻击面就越广,成功率越高。在大量的收集之后,做一个去重操作,得到完整得信息资产脉络。
总之,渗透测试是一个充满挑战和学习的过程,需要不断地实践、总结和提高。 信息收集是关键,实践操作是核心,法律法规是底线。
各位师傅有什么想法,欢迎评论区交流!!!
微信公众号:泷羽Sec-白一安
后续OSCP靶机的打靶笔记会在公众号上持续更新,请多多关注~~~