《白帽子安全开发实战》介绍了常见的渗透测试工具与防御系统的原理、开发过程及使用方法。大部分系统是用Go语言开发的,部分系统是用OpenResty/Lua语言开发的。这两种语言都有简单易学、开发效率高的特点。
全书共10章,分3篇来组织内容。第1篇为安全开发基础,介绍了常见的安全防护体系、安全开发对白帽子和企业安全建设的重要作用,以及Go语言与OpenResty/Lua语言开发环境的配置等;第2篇为渗透测试工具开发,讲解了扫描器、常见的后门、嗅探器等常见的渗透测试工具的原理、开发和防御方法;第3篇为安全防御系统开发,介绍了恶意流量分析系统、Exchange邮箱安全网关、蜜罐与欺骗防御系统、代理蜜罐、Web应用防火墙与零信任安全网关的原理与开发过程。
《白帽子安全开发实战》适合信息安全从业者、安全产品开发人员、系统管理员、网络安全与信息安全爱好者及开源技术爱好者等阅读学习。
第1篇 安全开发基础
第1章 信息安全与安全开发基础
1.1 互联网企业信息安全
1.1.1 互联网企业信息安全的工作内容
1.1.2 常用的安全防御参考模型
1.1.3 互联网企业基础设施安全
1.2 安全开发技能对安全从业者的作用
1.3 安全开发能力对企业安全建设的作用
1.3.1安全团队具备自研能力的好处
1.3.2自研与采购的取舍
1.4开发环境配置
1.4.1 Go语言开发环境的配置
1.4.2 Go语言的开发工具
1.4.3 OpenRestyLua语言开发环境的配置
第2篇 渗透测试工具开发
第2章 扫描器
2.1 端口扫描器
2.1.1 TCP全连接端口扫描器
2.1.2 支持并发的TCP全连接端口扫描器
2.1.3 TCP半连接端口扫描器
2.1.4 同时支持两种扫描方式的端口扫描器
2.1.5 端口扫描器测试
2.2 弱口令扫描器
2.2.1 弱口令扫描器插件的实现
2.2.2 弱口令扫描器插件注册
2.2.3 弱口令扫描器任务执行功能的实现
2.2.4 弱口令扫描器命令行的实现
2.2.5 弱口令扫描器测试
2.3 代理服务扫描器
2.3.1 HTTPHTTPS代理检测模块
2.3.2 SOCKS代理检测模块
2.3.3 代理服务扫描模块任务执行功能的实现
2.3.4 代理扫描器命令行的实现
2.3.5 代理扫描器测试
第3章 常见的后门
3.1正向后门
3.2 反向后门
3.3 Webshell
3.4 Lua环境下的后门技术与防御
3.4.1 OpenResty与Tengine介绍
3.4.2 Lua版Webshell的原理与防御
3.4.3 Lua环境下的挂马技术与防御
3.4.4 Lua环境下的数据监听原理与防御
3.4.5 Lua代码的隐藏与加密3.5C&C服务器
3.5.1 什么是C&C服务器
3.5.2 HTTPHTTPS的C&C服务器的架构
3.5.3 C&C服务器被控制端
3.5.4 C&C服务器控制端
3.5.5 C&C服务器测试与防御
3.5.6 用HTTP2加密C&C的通信
第4章 嗅探器
4.1 什么是嗅探器
4.2 基于gopacket库的嗅探器
4.2.1 gopacket包介绍
4.2.2 协议分析程序的实现
4.2.3 具有密码监听功能的嗅探器的实现和防御
4.3 ARP嗅探器
4.3.1 ARP欺骗原理
4.3.2 构造ARP数据包
4.3.3 解析ARP数据包
4.3.4 ARP嗅探器的实现
4.3.5 ARP嗅探器测试与防御
4.4 致敬经典:用Go语言实现一个WebSpy
4.4.1 WebSpy介绍
4.4.2 Go语言版的WebSpy的实现
4.4.3 WebSpy编译与测试
第3篇 安全防御系统开发
第5章 恶意流量分析系统
5.1 恶意流量分析系统的架构
5.2 数据采集传感器
5.2.1 TCP五元组数据获取
5.2.2 DNS数据包解析与获取
5.2.3 HTTP数据的解析与获取
5.2.4采集到的数据回传功能实现
5.2.5 传感器的配置与命令行参数的实现
5.2.6 传感器功能测试
5.3 服务器端的实现
5.3.1 接收传感器发送的数据
5.3.2 恶意IP分析功能的实现
5.4 恶意流量系统应用实战
5.4.1 恶意流量系统的服务端部署
5.4.2 数据采集传感器的部署
第6章 Exchange邮箱安全网关
6.1 Exchange服务器的介绍
6.1.1 Exchange协议与URL
6.1.2 Exchange服务器面临的安全风险
6.2 Exchange邮箱安全架构的演进
6.3 OpenRestyLua技术栈介绍
6.3.1 OpenResty的执行阶段介绍
6.3.2 APISIX插件的实现
6.4 Exchange邮箱安全网关的实现
6.4.1 Web端插件的工作流程与实现
6.4.2 计算机端插件的工作原理与实现
6.4.3 移动端插件的工作流程与实现
6.5 设备授权接口的实现
6.5.1 WBXML协议解析的接口
6.5.2 推送授权消息的接口
6.6 Exchange邮箱安全网关应用实战
6.6.1 配置Upstream
6.6.2 配置Services
6.6.3 配置路由
6.7 如何平滑地升级APISIX
第7章 蜜罐与欺骗防御系统
7.1 蜜罐与欺骗防御系统的概念与区别
7.2 蜜罐的架构
7.3 蜜罐Agent
7.3.1 Agent策略模块的实现
7.3.2 非监听端口数据采集模块的实现
7.3.3 高交互蜜罐的转发模块的实现
7.3.4 日志传输模块的实现
7.4 蜜罐高交互服务
7.4.1 反向代理服务的实现
7.4.2 SSH服务的实现
7.4.3 MySQL服务的实现
7.4.4 Redis服务的实现
7.4.5 Web服务的实现
7.5 日志服务器
7.6 欺骗防御系统应用实战
7.6.1 蜜罐高交互服务的部署
7.6.2 日志服务器的部署
7.6.3 蜜罐Agent的部署
7.6.4 利用欺骗防御系统感知内网的攻击者
第8章 代理蜜罐
8.1 什么是代理蜜罐
8.2 代理蜜罐的架构
8.3 代理蜜罐Agent
8.3.1 支持MITM代理的实现
8.3.2 记录代理的请求数据
8.3.3 记录代理的响应数据
8.3.4 自定义HTTPS证书
8.4 代理蜜罐Server
8.4.1 代理蜜罐Server端的数据库处理
8.4.2 代理蜜罐Sever端API接口的实现
8.5 数据分析程序
8.6 代理蜜罐管理端
8.6.1 管理端数据库操作部分实现
8.6.2蜜罐管理端页面展示模块的实现
8.7 代理蜜罐应用实战
8.7.1 代理蜜罐Agent的部署与发布
8.7.2 代理蜜罐Server的部署
8.7.3 Supervisor的安装与使用
8.7.4 代理蜜罐管理端的部署
8.7.5 代理蜜罐的使用场景
第9章 Web应用防火墙
9.1 什么是WAF
9.1.1 WAF的常见架构
9.1.2 反向代理型的WAF架构介绍
9.1.3 WAF的组成模块
9.2 反向代理型WAF的实现
9.2.1 策略加载模块的实现
9.2.2 安全检测模块的实现
9.3 WAF管理端的实现
9.3.1 策略管理功能的实现
9.3.2 接入的站点管理功能的实现
9.3.3 多台WAF的策略与站点同步功能的实现
9.3.4 WAF策略同步的API实现
9.4 WAF应用实战
9.4.1 WAF的部署
9.4.2 WAF管理端的部署
9.4.3 接入站点管理与策略管理
9.4.4 攻击检测效果测试
第10章 零信任安全
10.1 什么是零信任安全
10.1.1 零信任的逻辑架构
10.1.2 BeyondCorp介绍
10.1.3 BeyondCorp架构与关键组件介绍
10.2 什么是零信任安全代理
10.3 零信任安全代理的实现
10.3.1 反向代理与路由模块的实现
10.3.2 认证模块的实现
10.3.3 鉴权模块的实现
10.4 挂载认证与鉴权中间件
10.5 零信任安全代理应用实战
参考文献