[Day6] 渗透测试证照 - OSCP 小分享

前言

前面几篇写了一些有趣没什麽人讨论的攻击手法,中场休息偷懒一下
之前在PTT上看到有人讨论OSCP,想说也来分享一下我的经验
(本篇同步刊载於PTT,铁人赛版本内容有再次整理)

正文

概要

OSCP全称Offensive Security Certified Professional,是一张渗透测试证照,全程实战测验,考生有23小时45分钟的时间拿下随机抽取的5台主机(必定会有一台Windows BOF),考完後要在24小时内交出一份渗透测试报告。

OSCP的报名可以直接看官网,就不再赘述,总之第一次报名一定要连同教材一起买(重考不需要)

报名後你会收到教材(2020有更新):

  1. 一份800多页的PDF
  2. 影片档(但我没什麽看XD)
  3. 课程Lab的使用权

注: 教材上会有你个人资料的浮水印,外流会导致你的资格被取消,请小心保管

在购买课程之前,要想一下行程规划。Lab使用权我买30天,但也没花多少时间打,有点浪费XD。但我在此之前已经有在Hackthebox练了一阵子。购买课程之後,尽早安排考试时间,不然会剩下的时段可能跟你平常的作息不一样。一样就没差

考试感想与小技巧

我当时大概打了7~8个小时通关(包含休息),早上9点到下午5点左右,OSCP考试的配分是10, 20, 20, 25, 25

Tip: 考试之前可以在Kali开5个Workspace,防止搞混

我打的步骤是先nmap扫10分的,再到另一个workspace边打25分的Windows BOF,有趣的是,我本来打算从10分的Machine开始打,结果我先root两台25分,然後两台20分,10分卡到最後XD。

题目其实都不难,会浪费你时间的都是typo、rabbit hole和enumeration,


  • Typo: 我自己10分的那题就是因为我手残在生後门的时候写错format,不然其实三行command就root了差点把我自己手剁了(X,Typo问题会让你不小心就浪费一堆没必要的时间。

  • Rabbit hole: 这绝对是可以浪费大部分人时间的问题,如果你同个东西试了半小时以上,先休息一下,换别条路打。中途休息真的很重要,我每打完一台/卡超过30分钟就会去休息一下,滑个手机,看个脱口秀放松一下。另外有些exploit虽然能用,但永远没办法拿来RCE,只是为了浪费你时间,这种也算Rabbit hole

  • Enumeration,我的作法是先扫一遍基础的
    nmap -sC -sV -T4 -v <IP> -oN init.nmap
    -v是为了可以不用等整个扫完就能先看到port开了哪些,可以猜测跑哪些服务,在等结果的时候可以先手动看一些服务,例如21就看一下有没有Anonymous Login,111就showmount,445就跑一下smbmap等等的。nmap出结果之後,还没看到甚麽特别有把握打进去的服务时(或是都打不进去时),就再跑一次nmap扫全port。


另外需要注意的是,OSCP中的考试会需要你改exploit的某个部分,所以在跑exploit之前,确保你知道你跑了甚麽东西,会拿到甚麽,例如有些POC里面是可能预设是去拿某个web config file,但你可能透过前面leak出来的资讯,知道了某些档案的位置,像是ssh key,这时候就可以改exploit去拿ssh key。或是exploit里面是做command injection,可能就要改成reverse shell、改port等等的。

PrivEsc
在练习/进行Privilege Escalation,还不清楚sciprt里面跑的那些有甚麽意义的时候,不要太依赖Script,有时候资讯太多会让你失去方向,你也可以写一个自己的script。我自己在考OSCP准备了两三个script但完全没用上XD。当然在你熟悉之後,Script确实可以帮你节省很多时间,也建议不要只使用单一的Script,交叉使用比较不容易遗漏。

有些指令你刚拿到low-shell时就可以先run看看,基本的像是id,sudo -l,netstat,我靠这类简单的command就足够在OSCP全root了。

可以注意一下像是netstat有没有跑在local的服务,有的话可以做个port forward。也有两次提权的题目(不过在Hackthebox这几乎是惯例了)。另外也可以看看有没有甚麽特别的程序/软件,如果找到的话就离root不远了,我私心特别爱玩提权XD,但OSCP的提权都不会太难,不用太担心。

学习资源

  • Hackthebox Academy
    如果对PT还不是很熟,在报名OSCP之前推荐你去看看。另外最近Hackthebox的机器有越来越难的趋势(相对於以前),所以你Easy Box打得很辛苦不用灰心,可以从退休机器开始练。

  • TryHackMe
    我主要是玩它的Windows Buffer Overflow,里面有一个lab和10个task,跟OSCP很像,基本上练个两三个task就不用担心了。即使你已经有Linux Pwn的底子也推荐你去熟悉一下Immunity Debugger,可以帮助你打得更快。

  • ippsec
    主要是Hackthebox退休机器的Writeup影片,推荐的原因是因为他会示范不使用metasploit去完成机器,适合新手学习,他还有另一个网站ippsec.rock,可以用来搜寻特定主题的影片。

总结

我真正在打的时间其实并不多,8个小时大概休息了2~3个小时(中间睡了个觉),扣掉一些typo, enum,rabbit hole那些的,实际打的时间并不是很长,建议一定要很清楚每个指令和参数的意义,不要只是copy/paste,我就是因为copy我之前的指令才搞这麽久XD。(经验血泪史)
OSCP这张证照含金量和CP值蛮不错的,值得花时间准备,推荐大家可以试试看。如果有关於这张证照的其他问题,可以留言问我。最近想要准备OSWE/OSEP,如果有幸考过再上来分享。


下篇预告: Local File Inclusion / Remote File Inclusion


<<:  30天轻松学会unity自制游戏-Boss死亡问题跟通关画面

>>:  <Day6>你得先开个证券户

16.unity介面按钮

今天来做按钮功能 一、创立UI按钮 二、撰写点击事件(方法) 接着搭配脚本,把脚本拉进去 publi...

Day 15:Git

前言 git 是一种版本控制软件 (Version Control Software, VCS),V...

Day10:选择排序(Selection Sort)

选择排序(Select Sort) 选择排序是重复进行「将数列中最小值,与左边的值对调」,一直保持由...

[Day28] 第二十八章-查询订单api (express)

前言 前面完成建立订单的api後 我们今天要把查询订单做完 扣除今天剩下2天的时间 今天在把查询做完...

[Day19] 参数(上)

前面讲 函式 function 时提到参数,回头看自己打的文章发现错误的地方修正了一下。 Param...