# macOS 渗透视频教程
## 1.基础
* 1.课程介绍
* 2.认识macOS操作系统
* 3.常用软件准备
* 4.macOS版本发展
* 5.macOS系统架构
* 6.macOS内核发展
* 7.Mach原语
* 8.动态分析系统调用过程
* 9.安全机制介绍
* 10.macOS生态
## 2.文件系统
* 11.Apple专有文件系统
* 12.系统卷保护
* 13.POSIX目录
* 14.LaunchDaemons和LaunchAgents
* 15.Applications
* 16.Frameworks
* 17.Extensions
* 18.Property List files
* 19.Bundles
* 20.日志系统
## 3.Objective-C/C++
* 21.c语言基础
* 22.c++类
* 23.c+引用
* 24.c++继承
* 25.c++重载
* 26.OC语言基础
* 27.Swift语言基础
## 4.cocoa
* 28.应用程序环境
* 29.其它图形库
* 30.第一个cocoa程序
* 31.窗口对象
* 32.视图
* 33.基本控件
* 34.布局
* 35.设计模式
* 36.事件
* 37.文件与拖放
* 38.系统服务
* 39.消息推送
* 40.多文档应用
* 41.framework
* 42.macOS-sandbox
* 43.案例-获取root权限
* 44.案例-进程查看器
## 5.D语言(Dtrace)
* 45.Dtrace介绍
* 46.Dtrace入门
* 47.D程序结构
* 48.对比c语言
* 49.Dtrace子程序
* 50.推理追踪
* 51.Dtrace脚本
* 52.提供器与探测器
* 53.案例追踪syscall
## 6.macho文件格式
* 54.macho文件介绍
* 55.macho头部
* 56.加载命令
* 57.macho代码节
* 58.macho数据节
* 59.链接与动态库
## 7.底层原理(runtime)
* 60.Objc4源码编译
* 61.OC对象本质
* 62.class-dump
* 63.NSObject的内存本质
* 64.OC复杂的继承结构
* 65.属性与方法
* 66.glibc与libmalloc
* 67.OC类的种类
* 68.isa和superclass
* 69.objc_msgSend
* 70.KVO
* 71.KVC
* 72.Category与Extension
* 73.关联对象
* 74.block
* 75.Runtime相关api
* 76.dyld介绍
* 77.dyld共享缓存
* 78.dyld源码阅读
## 8.lldb
* 79.lldb介绍与附加
* 80.lldb有无符号断点操
* 81.线程与栈
* 82.lldb寄存器与打印操
* 83.模块(镜像)操作
* 84.objc_msgSend参数打
* 85.lldb内存操作与反汇
* 86.编写第一个lldb脚本
* 87.利用lldb脚本打印堆栈详细信
* 88.lldb脚本实现trace
* 89.lldb脚本实现UI_inspector
## 9.shellcode与汇编
* 90.操作系统构架
* 91.汇编语言介绍
* 92.寄存器
* 93.函数
* 94.函数调用约定(函数传参)
* 95.shellcode编写与提取
* 96.shellcode调试
* 97.asm编写shellcode
* 98.系统调用编写
* 99.反向shell编写
* 100.用c编写shellcode
## 10.hook与注入
* 101.注入介绍
* 102.注入分类
* 103.静态注入dylib
* 104.动态注入dylib
* 105.macho添加节
* 106.macho注入shellcode
* 107.DYLD_INSERT_LIBRARIES介绍
* 108.DYLD_INSERT_LIBRARIES限制dyld源码分析
* 109.Dylib劫持介绍
* 110.Dylib劫持dyld源码分析
* 111.Dylib劫持实战
* 112.劫持Dlopen
* 113.hook介绍
* 114.函数回调
* 115.OC函数替换
* 116.inline hook原理
## 11.hook框架
* 117.tweak命令环境搭建
* 118.xcode集成环境搭建
* 119.通过tweak复习oc反射
* 120.tweak hook oc普通函数
* 121.tweak hook oc构造函数
* 122.tweak oc类添加函数同时调用
* 123.tweak oc修改参数
* 124.tweak 遍历所有动态库与框架
* 125.tweak hook动态库导入导出函数
* 126.tweak hook framework
* 127.tweak hook未导出的函数
* 128.tweak hook无符号函数
* 129.tweak hook c++函数
* 130.tweak hook block
* 140.swift反射与函数名粉碎
* 141.tweak hook swift普通方法
* 142.tweak hook swift构造函数
* 143.CaptainHook使用
* 144.tweak添加其它dylib库
* 145.hook 指令介绍
* 146.hook syscall介绍
* 147.tweak命令工具
* 148.frida 环境搭建
* 149.frida 常用命令使用介绍
* 150.frida hook Objc常用方法
* 151.frida hook Objc中常用容器类
* 152.frida hook native层
* 153.frida hook 其它情况
* 155.frida 主动调用
* 156.frida hook Swift
* 157.UI hook
## 12.认证与安全框架
* 158.介绍
* 159.传统UN*X认证
* 160.setuid和setgid
* 161.PAM认证
* 162.各守护进程
* 163.各种账号
* 164.内核扩展介绍与环境搭建
* 165.开发第一个驱动程序
* 166.kauth
* 167.MACF
* 168.NKE
* 169.3环过滤框架
## 13.签名
* 签名与密码简介
* 对称加密
* 非对称加密
* 证书
* macOS签名流程
* dyld签名审查源码分析
* 重签名与重打包介绍
* 重签名-GUI工具
* 重签名-tweak原理分析
* 重签名-动态库
* 第三方签名工具
## 14.ollvm
* llvm介绍
* llvm项目编译与安装
* clang编译与调试(xcode)
* clang外部项目构建与安装(xcode)
* Compiler-RT介绍与使用
* libc++标准库介绍
* 使用llvm独立工具
* 编写第一个llvm项目
* clang插件编写
* clang前端-之实现一个自定义检查规范
* 编写第一个llvm pass(编译与调试)
* clang前端-之实现clang诊断
* clang前端-之理解词法分析与实现遍历
* 实现一个函数名称加密Pass
* ollvm介绍
* ollvm编译(macOS)
* ollvm集成xcode
* 使用ollvm注意事项
* ollvm老版本代码提取(移植)
* ollvm源码分析之sub(指令替换)
* ollvm源码分析之fla(控制流程平坦化)
* ollvm源码分析之bcf(虚假控制流程)
* ollvm源码分析之其它杂项
* 最后一个实战字符串加密Pass
## unicorn
* unicorn介绍
* unicorn源码编译
* unicorn简单使用与调试
* unicorn 源码框架了解
* 实现一个最简单的my_qemu(kvm)
* shellcode 指令追踪使用
* shellcode 指令追踪源码分析
* 使用中断事件hook源码分析 (syscall)
* 使用中断事件hook源码分析(arm syscall)
* 内存操作事件hook(读写执行)
* 内存操作事件hook源码分析
* 异常事件使用与源码分析
* 再谈unicorn(框架定位与缺陷)
* 模拟单个参数函数与获取返回值(x86_64构架)
* 模拟多个参数函数(x86_64构架)
* 模拟获取全局变量函数(x86_64构架)
* 外部符合libc库函数调用模拟(x86_64构架)
* 模拟多个函数调用链(x86_64构架)
* 模拟base64编码(x86_64构架)
* aes算法模拟(x86_64构架)
* des算法模拟(x86_64构架)
* rc4算法模拟(x86_64构架)
* 其它算法模拟思路(x86_64构架)
* 模拟单个参数函数与获取返回值(arm64构架)
* 模拟多个参数函数(arm64构架)
* 模拟获取全局变量函数(arm64构架)
* arm构架中的算法模拟(arm64构架)
* unicorn macho文件模拟
* unicorn调试器介绍
* unicorn结合capstone使用
* 生成CFG(控制流程图)
* ollvm反混淆思路
## Daemon与XPC
* Daemon介绍
* Daemon管理
* 编写第一个Daemon
* Daemon分类
* Daemons
* User agents
* Privileged helpers
* Login items
* System extensions
* XPC service
* 再谈XPC
* XPC消息传递
* XPC安全
## 用户层网络
* socket服务器客户端复习
* http_post提交简单实现
* openssl简单使用
* https实现请求百度
* https服务器客户端简单实现
* https服务器客户端实现添加CA验证
* https服务器客户端双向证书验证实现
* https解密思路
* http抓包原理及实现
* https抓包原理与实现
* https双向证书验证绕过原理
* 数据包中证书提取实现
## 漏洞利用基础
* 缓冲区溢出-栈溢出
* 缓冲区溢出-堆溢出
* pwntools使用
* 堆练习House of Force
* ROP链原理
* ret2text
* ret2shellcode
* ret2syscall
* ret2libc
* jmp rsp
* 其它常见二进制漏洞-整数溢出漏洞
* 其它常见二进制漏洞-格式化字符串漏洞
* 其它常见二进制漏洞-双重释放漏洞
* 其它常见二进制漏洞-数组越界访问漏洞
## macOS安全机制与绕过
* macOS Sandbox
* Sandbox Containers
* Sandbox debug
* Disable Sandbox
* Sandbox Profile文件(SBPL)
* 编写自己的Sandbox Profile
* 系统的Sandbox Profile
* Sandbox逃逸
* Sandbox逃逸-QuickLook
* Sandbox逃逸-Word
* macOS TCC
* TCC 内部结构
* TCC绕过
* CVE-2020-29621漏洞分析与利用
* CVE-2020-24259漏洞分析与利用
* 获得全盘访问权限
* 符号链接
* 文件系统权限模型
* 寻找错误的链接
* CVE-2020-3855漏洞分析与利用
* 驱动加载限制
* 驱动加载过程
* CVE-2020-9939
## libFuzzer
* libFuzzer介绍
* libFuzzer安装
* 第一个空libFuzzer测试程序
* 利用libFuzzer测试第一个程序
* LibFuzzer 语料库(corpus)
* fuzzing-任意数据输入
* fuzzing-以Null结尾的字符串输入
* fuzzing-基于文件的输入
* fuzzing-作为输入的CPP字符串
* fuzzing-非缓冲区数据
* Sanitizers 介绍
* 内存越界访问-ASan
* Double-free-ASan
* (带符号)整数溢出-UBSan
* 未初始化内存-MSan
* 内存泄漏-LSan
* 实例-CVE-2014-0160
* 实战-Libcaca-fuzzing(上)
* 实战-Libcaca-fuzzing(下)
* 高效fuzzing介绍
* Seed实例
* dictionaries实例
* coverage实例
* 结构感知模糊测试介绍
* 自定义LibFuzzer Data参数
* 程序状态 Fuzzing
* protobuf mutator
* 语法Fuzzing-protobuf
* 实战-Fluent Bit Fuzzing
* 实战-PHP Fuzzing
* 实战-Chromium fuzzing
* Python fuzzing
## C2&&frameworks
* C2介绍
* payloads编码
* 加密payloads(异或)
* 加密payloads(AES)
* 加密payloads(RC4)
* 加密payloads(RSA)
* api简单混淆
* 字符串内存中动态加解密
* macho文件插入后门
* Metasploit Framework介绍
* Metasploit 源码架构
* ruby语法复习
* MSF源码调试环境搭建
* 调试分析渗透攻击模块(exploit)
* 调试分析攻击载荷模块(payload)
* 调试分析编码器模块(encodes)
* 调试分析后渗透攻击模块(post)
* 调试分析辅助模块(auxiliary)
* 反射式注入复习
* 反向shell原理与实现(c语言)
* 反向shell原理与实现(汇编)
* payload生成源码再次调试
* payload运行原理(sockedi调用约定上)
* sockedi调用约定(下)
* sockedi调用约定抓包分析
* sockedi调用约定调试分析(后门)
* 自己实现MSF loader(c语言)
* MSF stagers开发(go语言)
* reverse_http 原理与实现
* reverse_https 原理与实现
* CobaltStrike介绍与安装
* CobaltStrike使用
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...