关于 Offensive Security 认证的一些感想

取得了OSCP,但是这仅仅证明我长久以来计划得到了实现。初次之外证明不了什么,它并不能满足我就是技术很厉害的那种人的想法。

OSCP 在 Offensive Securiry 中仅仅是很普通的角色,不,准确的说是 KLCP 才是。

虽然现在工作中,学习中已经大家普遍赞同我很厉害,但是放在全世界对比,我就是渣渣。学无止境我还是知道的。

既然如此我想给自己再订一些人生目标,拿到 Offensive security 的 OSEE 认证。OSEE 认证需要同时通过3个认证才能获取。分别是如下3个认证。

OSWE 专门针对于web应用攻击得高阶课程

OSEP 专门针对于安全防守绕过,防火墙和防病毒软件得绕过,还有域信息得一些技术

OSED 主要是针对windows user mode的攻击课程,包括BoF, Reserver Engineering等。


这三个认证对于我来说,分别是 OSWE 最简单,OSEP 中等,OSED 最难。所以我打算先考 OSEP,然后 OSWE,最后专攻 OSED,分 2 年拿下。其实我感觉用不了那么久,以防万一吧。

  • OSCP   PEN-200  ----  已在 2021 年 9 月底获取
  • OSWP  PEN-210
  • OSED   EXP-301
  • OSWE  WEB-300
  • OSCE   CTP-OSCE


第一,OSEP
第二,OSWE
第三,OSED

一切才刚刚开始。
——————————————2021年9月29日—————————————————


第一,OSEP

今天下载了 OSEP 的课程大纲看了下,完全就是一大堆不明白的名词。


  • 1  规避技术和突破防御:一般课程信息
  •     1.1  关于PEN-300 课程
  •     1.2  提供的材料
  •         1.2.1  PEN-300 课程材料
  •         1.2.2  访问内部 VPN 实验室网络
  •         1.2.3  offensive security 学生论坛
  •         1.2.4  在线支持和 RocketChat
  •         1.2.5  OSEP 考试尝试
  •     1.3  课程实施策略
  •         1.3.1  欢迎和课程信息邮件
  •         1.3.2  课程资料
  •         1.3.3  课程练习
  •     1.4  关于 PEN-300 VPN 实验室
  •         1.4.1  控制面板
  •         1.4.2  机器重置
  •         1.4.3  客户端机器
  •         1.4.4  kali 虚拟机
  •         1.4.5  实验室行为和实验室限制
  •     1.5  关于OSEP 考试
  •     1.6 收尾
  • 2  操作系统和编程理论
  •     2.1  编程理论
  •         2.1.1  程序语言级别
  •         2.1.2  编程概念
  •     2.2 windows 概念
  •         2.2.1  Windows 的窗口
  •         2.2.2  Win32 API
  •         2.2.3  注册表
  •     2.3 收尾
  • 3  office客户端代码执行
  •     3.1  Dropper 病毒
  •         3.1.1  Staged vs Non-staged Payloads
  •         3.1.2  建立我们自己的 Droppers
  •         3.1.3  通过 HTML 投毒
  •     3.2  利用 Office 投毒
  •         3.2.1  安装office
  •         3.2.2  介绍 VBA
  •         3.2.3  让 powershell 帮助我们
  •     3.3  装腔作势(伪装)
  •         3.3.1  网络钓鱼托词
  •         3.3.2  切换身份(?
  •     3.4  在 word 内存中执行 shellcode
  •         3.4.1  从VBA 中调用 win32 API
  •         3.4.2  VBA shellcode 运行器
  •     3.5  powershell shellcode 运行器
  •         3.5.1  从 powershell 中调用 win32 api
  •         3.5.2  移植 shellcode 运行器到 powershell
  •     3.6  在内存中维持 powershell
  •         3.6.1  Add-Type 编译
  •         3.6.2  利用 UnsafeNativeMethods
  •         3.6.3  反射 DelegateType
  •         3.6.4  反射 shellcode 运行器在 PowerShell
  •     3.7  与代理通信
  •         3.7.1  Powershell Proxy-Aware 通信
  •         3.7.2  玩弄 User-Agent 头信息
  •         3.7.3  给我一个 SYSTEM 代理
  •     3.8  收尾
  • 4  客户端代码执行 和 Windows Script Host
  •     4.1  在 Jscript 中 创建一个基本 Dropper
  •         4.1.1  Jscript 在 windows 的执行
  •         4.1.2  Jscript Meterpreter Dropper
  •     4.2  Jscript 和 C#
  •         4.2.1  介绍 Visual Studio
  •         4.2.2  DotNetToJscript
  •         4.2.3  从 C# 调用 Win32 API
  •         4.2.4  C# 里的 shellcode 运行器
  •         4.2.5  Jscript shellcode 运行器
  •         4.2.6  用 SharpShooter 生成 payload
  •     4.3  重新访问内存中 powershell
  •         4.3.1  Reflective Load
  •     4.4  收尾
  • 5 Process 注入和迁移
  •     5.1  为 shellcode 找一个宿主
  •         5.1.1  进程注入和迁移理论
  •         5.1.2  在 C# 中进程注入
  •     5.2  DLL 注入
  •         5.2.1  DLl 注入理论
  •         5.2.2  使用C# 进行 Dll 注入
  •     5.3  反射DLL注入
  •         5.3.1  反射DLL注入理论
  •         5.3.2  反射DLL注入在 Powershell
  •     5.4  进程空心(?)
  •         5.4.1  进程空心理论
  •         5.4.2  进程空心在 C#
  •     5.5  收尾
  • 6 防病毒软件规避介绍
  •     6.1  杀毒软件概览
  •     6.2  模拟目标环境
  •     6.3  在文件中查找签名
  •     6.4  使用 metasploit 绕过杀毒软件
  •         6.4.1  metasploit 编码器
  •         6.4.2  metasploit 加密器
  •     6.5  使用C#绕过杀毒软件
  •         6.5.1  C# shellcode 运行器 对决杀软
  •         6.5.2  加密C# shellcode 运行器
  •     6.6  扰乱我们的行为
  •         6.6.1  简单定时睡眠
  •         6.6.2  Non-emulated APIs
  •     6.7  办公室请绕开杀入软件
  •         6.7.1  绕过杀软在VBA中
  •         6.7.2  踩在 Microsoft Word 头上绕
  •     6.8  在VBA中隐藏 Powershell
  •         6.8.1  检测Powershell shellcode 运行器
  •         6.8.2  使用wmi 解锁
  •         6.8.3  混淆 VBA
  •     6.9  收尾
  • 7  高级防病毒软件规避
  •     7.1  Intel 体系结构和win10
  •         7.1.1  WinDbg 介绍
  •     7.2  反恶意软件扫描接口
  •         7.2.1  理解AMSI
  •         7.2.2  钩子和 Frida
  •     7.3  在powershell中反射绕过 SAMSI
  •         7.3.1  妈的Context 是什么?
  •         7.3.2  攻击初始化
  •     7.4  在PowerShell中破坏AMSI
  •         7.4.1  理解分配流程
  •         7.4.2  内部修补
  •     7.5  UAC 绕过对决windows自带防火墙
  •         7.5.1  FodHelper UAC 绕过
  •         7.5.2  改进 FodHelper
  •     7.6  在 JScript中绕过AMSI
  •         7.6.1  检测 AMSI API 流程
  •         7.6.2  那是你的注册Key 吗?
  •         7.6.3  我是我自己的可执行文件
  •     7.7  收尾
  • 8 应用程序白名单
  •     8.1  应用程序白名单理论和设置
  •         8.1.1  应用程序白名单理论
  •         8.1.2  AppLocker 设置和规则
  •     8.2  基本绕过
  •         8.2.1  信任的文件夹
  •         8.2.2  使用 dll 绕过
  •         8.2.3  修改数据流
  •         8.2.4  第三方执行
  •     8.3  使用Powershell 绕过 AppLocker
  •         8.3.1  Powershell 约束语言模式
  •         8.3.2  自定义运行空间
  •         8.3.3  Powershell CLM 绕过
  •         8.3.4  反射注入返回
  •     8.4  使用 C# 绕过AppLocker
  •         8.4.1  定位一个地址
  •         8.4.2  逆向加载过程
  •         8.4.3  给我一个代码执行
  •         8.4.4  调用地址部分1
  •         8.4.5  调用地址部分2
  •     8.5  绕过AppLocker 使用JScript
  •         8.5.1  Jscript 和 MSHTA
  •         8.5.2  XSL 转换
  •     8.6 收尾
  • 9  绕过网络拦截
  •         9.1  DNS 拦截
  •             9.1.2  处理DNS过滤
  •         9.2  web 代理
  •             9.2.1  绕过web代理
  •         9.3  IDS 和 IPS 传感器
  •             9.3.1  案例学习:自定义证书绕过诺顿 HIPS
  •         9.4  抓包设备
  •         9.5  HTTPS 查看
  •         9.6  域名(前域)Domain Fronting
  •             9.6.1  使用Azure CDN前域
  •             9.6.2  域名前域在实验室
  •         9.7  DNS 隧道
  •             9.7.1  DNS 隧道是怎么工作的
  •             9.7.2  使用 dnscat2 进行隧道
  •         9.8  收尾
  • 10 linux Post-Exploitation
  •         10.1  用户配置文件
  •                 10.1.1  vim 配置简单后门
  •                 10.1.2  vim 配置简单键盘记录器
  •         10.2  绕过AV
  •                 10.2.1  卡巴斯基端点安全
  •                 10.2.2  antiscan.me
  •         10.3  共享库
  •                 10.3.1  共享库在linux是怎么工作的
  •                 10.3.2  通过 LD_LIBRARY_PATH进行注入
  •                 10.3.3  通过 LD_PRELOAD 溢出
  •         10.4  收尾
  • 11  绕过kiosk 浏览器
  •         11.1  kiosk 枚举
  •                 11.1.1  kiosk 浏览器枚举
  •         11.2  命令执行
  •                 11.2.1  探索文件系统
  •                 11.2.2  利用Firefox 配置
  •                 11.2.3  枚举系统信息
  •                 11.2.4  继续深入
  •         11.3  发送溢出
  •                 11.3.1  模拟交互式外壳
  •         11.4  权限提升
  •                 11.4.1  思考跳出盒子
  •                 11.4.2  RootShell 在一个小时以上
  •                 11.4.3  获取到root终端访问
  •         11.5  Windows kiosk 突破技术
  •         11.6 收尾
  • 12 windows 认证
  •         12.1  本地windows认证
  •                 12.1.1 SAM 数据库
  •                 12.1.2  强化本地管理员账户
  •         12.2  Tokens 访问
  •                 12.2.1  AccessToken 理论
  •                 12.2.2  假冒提升
  •                 12.2.3  无痕访问的乐趣
  •         12.3  Kerberos 和域认证
  •                 12.3.1  Kerberos 认证
  •                 12.3.2  mimikatz
  •         12.4  离线处理认证
  •                 12.4.1  内存导出
  •                 12.4.2  miniDumpWriteDump
  •         12.5  收尾
  • 13  windows 横向移动
  •         13.1  远程桌面协议
  •                 13.1.1  使用RDP横向移动
  •                 13.1.2  使用metasploit 端口映射RDP协议
  •                 13.1.3  使用chisel端口映射RDP
  •                 13.1.4  RDP 作为一个控制台
  •                 13.1.5  从RDP中窃取明文文本
  •         13.2  无文件横向移动
  •                 13.2.1  认证和执行理论
  •                 13.2.2  在C#中实现无文件移动
  •         13.3  收尾
  • 14  linux 横向移动
  •         14.1  用ssh横向移动
  •                 14.1.1  ssh keys
  •                 14.1.2  ssh 持久化
  •                 14.1.3  ssh 劫持 ControlMaster
  •                 14.1.4  使用SSH-agent和SSh agent转发劫持SSH
  •         14.2  DevOps
  •                 14.2.1  Ansible 介绍
  •                 14.2.2  Ansible 枚举 
  •                 14.2.3  Ad-hoc 命令
  •                 14.2.4  Ansible PlayBooks
  •                 14.2.5  为Ansible用户认证,溢出PlayBooks
  •                 14.2.6  Ansible Playbooks 的弱权限
  •                 14.2.7  通过Ansible模块泄露敏感数据
  •                 14.2.8  介绍 Artifactory
  •                 14.2.9  Artifactory 枚举
  •                 14.2.10 破坏 Artifactory 备份
  •                 14.2.11 破坏 Artifactory’s 数据库
  •                 14.2.12 添加一次次要的 Artifactory 管理员账户
  • 15  微软sql server 攻击
  •         15.1  域里面的sqlserver攻击
  •                 15.1.1 sqlserver 枚举
  •                 15.1.1 sqlserver 认证
  •                 15.1.1 UNC 路径注入
  •                 15.1.1 延迟我的hash
  •         15.2  sqlserver 权限提升
  •                 15.2.1  权限提升
  •                 15.2.2  获取代码执行
  •                 15.2.3  自定义资源
  •         15.3  链接的sqlserver
  •                 15.3.1  跟踪一个链接
  •                 15.3.2  回到我家
  •         15.4  收尾
  • 16  域溢出
  •         16.1  AD 对象安全权限
  •                 16.1.1 对象权限理论
  •                 16.1.2 滥用 GenericAll
  •                 16.1.3 滥用 WriteDACL
  •         16.2  Kerberos 委派
  •                 16.2.1  不受约束的委派
  •                 16.2.2  我是一个域控制器
  •                 16.2.3  受约束的授权
  •                 16.2.4  基于资源的受限委派
  •         16.3  活动目录森林理论
  •                 16.3.1  在目录森林受信任的域目录
  •                 16.3.2  枚举目录森林
  •         16.4  烧毁目录森林
  •                 16.4.1  拥有额外的目录森林和扩展 SIDs
  •                 16.4.2  打印我们的目录森林
  •         16.5  越过森林
  •                 16.5.1  在目录森林中信任的域目录
  •                 16.5.2  枚举森林之外
  •         16.6  追加一个额外的目录森林
  •                 16.6.1  向我展示你的扩展SID
  •                 16.6.2  链接后的 sql server在目录森林中
  •         16.7  收尾
  • 17  组合拼凑
  •         17.1  枚举和shell
  •                 17.1.1 初始化枚举
  •                 17.1.2 获得最初的立足点
  •                 17.1.3 Post Exploitation 枚举
  •         17.2  攻击委派
  •                 17.2.1  在 web01 中权限升级
  •                 17.2.2  获取到 hash
  •                 17.2.3  委派我的票据
  •         17.3  拥有域
  •                 17.3.1  横向移动
  •                 17.3.2  成为一个域管理
  •         17.4  收尾
  • 18  在lab 中更努力
  •         18.1  模拟真实生活
  •         18.2  收尾

评论