猜你喜欢
白帽子安全开发实战

白帽子安全开发实战

书籍作者:赵海锋 ISBN:9787111667889
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:7664
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

《白帽子安全开发实战》介绍了常见的渗透测试工具与防御系统的原理、开发过程及使用方法。大部分系统是用Go语言开发的,部分系统是用OpenResty/Lua语言开发的。这两种语言都有简单易学、开发效率高的特点。

全书共10章,分3篇来组织内容。第1篇为安全开发基础,介绍了常见的安全防护体系、安全开发对白帽子和企业安全建设的重要作用,以及Go语言与OpenResty/Lua语言开发环境的配置等;第2篇为渗透测试工具开发,讲解了扫描器、常见的后门、xiu探器等常见的渗透测试工具的原理、开发和防御方法;第3篇为安全防御系统开发,介绍了恶意流量分析系统、Exchange邮箱安全网关、蜜罐与欺骗防御系统、代理蜜罐、Web应用防火墙与零信任安全网关的原理与开发过程。

《白帽子安全开发实战》适合信息安全从业者、安全产品开发人员、系统管理员、网络安全与信息安全爱好者及开源技术爱好者等阅读学习。


作者简介

赵海锋(netxfly),2006年开始在互联网企业从事信息安全工作,有10多年大型互联网企业的信息安全工作经验,参与了多家互联网公司的安全体系建设,积累了丰富的企业信息安全建设经验,擅长企业信息安全技术体系的建设与安全支撑系统的研发。

编辑推荐

《白帽子安全开发实战》融合了信息安全行业技术专家10多年一线工作经验,介绍了常见的渗透测试工具与防御系统的原理、开发过程以及使用方法。语言简练、内容实用、注重实践,讲解透彻,且免费提供所有源码。难点处配有二维码视频,使读者身临其境,迅速、深入地掌握各种经验和技巧,真正提高安全开发能力。

前言

信息安全经过多年的发展已经比较成熟了,稍有一定规模的安全团队都具备自研安全工具与安全系统的能力,信息安全从业者必须掌握安全开发技能,否则难以进一步提高与精进。

本书介绍了常见的渗透测试工具与防御系统的原理、开发过程以及使用方法。读者可以直接使用随书配套的项目,也可以在其基础上进行二次开发。

本书中的大部分系统是用Go语言开发的,部分系统是用OpenResty/Lua语言开发的。

 Go语言是谷歌开源的一种编译型的静态编程语言,被称为云时代的C语言,具有简单易学、内置支持并发和支持跨平台等特点。

 OpenResty/Lua是一个基于Nginx与Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块及大多数的依赖项。可以用于搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关,在安全领域主要用来实现Web应用防火墙、安全代理等产品。

这两种语言都是近年来非常热门的语言,它们的共同特点是简单易学、开发效率高。

本书内容:

全书共10章,分为3篇,内容如下。

第1篇为安全开发基础,介绍了互联网企业信息安全的工作内容、常用的安全模型与互联网企业基础设施的安全,从而引出了安全开发能力对安全从业者与企业安全建设的作用。最后介绍了Go语言、OpenResty/Lua语言开发环境的配置方法。

第2篇为渗透测试工具开发,共3章,具体内容如下。

第2章介绍了端口扫描器、弱口令扫描器、代理服务扫描器的原理、种类及实现过程。其中包括TCP全连接与半连接扫描器,支持SSH、FTP、MySQL、Redis、MSSQL、PostgreSQL和MongoDB等多种服务的扫描器,以及HTTP、SOCKS5代理服务器的扫描器等。

第3章首先介绍了常见后门的种类与原理,然后分别介绍了正向后门、反向后门、Webshell与Lua环境下技术的后门与防御,最后介绍了一个基于HTTP2的命令与控制服务器的开发过程。

第4章介绍了嗅探器原理、基于gopacket库的嗅探器、ARP嗅探器,以及如何用Go语言实现一个WebSpy。

第3篇为安全防御系统开发,共6章,具体内容如下。

第5章介绍了一个恶意流量分析系统,它分为数据采集传感器与服务器端两个组件,数据采集传感器采集TCP、DNS、HTTP包并发给服务器端进行检测。

第6章介绍了Exchange邮箱安全网关的原理与作用,并详细介绍了如何用OpenResty/Lua开发Exchange邮箱网关的Web端、计算机端与移动端插件,之后详细介绍了设备授权接口的实现,以及如何通过钉钉、企业微信等推送授权信息等功能,最后演示了邮箱安全的配置与使用。

第7章首先介绍了蜜罐与欺骗防御系统的概念与区别,然后分别用Go语言实现了蜜罐的Agent和支持SSH、MySQL、Redis与Web服务的高交互蜜罐。最后演示了蜜罐与欺骗防御系统的部署与使用。

第8章介绍了代理蜜罐的原理、作用和框架,并介绍了如何用Go语言开发代理蜜罐Agent、Server、管理端,以及如何用Python开发数据分析程序,最后介绍了代理蜜罐的部署方法、使用场景以及使用的效果。

第9章首先介绍了Web应用防火墙(WAF)的原理与常见的架构,然后介绍了如何用OpenResty开发反向代理型的WAF,并介绍了如何用Go语言开发一个WAF管理端,最后演示了WAF的配置、管理端的使用,以及WAF的应用效果。

第10章首先介绍了零信任安全模型与谷歌的BeyondCrop项目,然后介绍了零信任网关IAP的概念,以及如何用Go语言开发一个支持反向代理、认证与授权策略功能的零信任安全网关,最后介绍了零信任网关的配置与使用。

致谢

感谢我任职过的公司,让我在工作的实践中有了学习、成长与积累的机会,也感谢在工作中一直给予我帮助与鼓励的领导与同事们,他们包括且不限于:

 赵彦(ayazero)@美团、陈驰(CFC4N)@美团、母大治@美团、王生新@美团、延晋@美团、韩清华@美团。

 陈洋(cy07)@小米、王书魁(piaca)@小米、张杰(大毛)@小米。

同时也感谢机械工业出版社的李培培编辑,她在我写作的过程中给予了很大的鼓励与专业建议。

由于本人水平有限,疏漏之处在所难免,恳请广大读者批评指正。

本书中涉及的所有项目的源代码都提交到了随书附带的Github中,地址为 https://github.com/netxfly/sec-dev-in-action-src

联系方式:

 邮箱:[email protected]

 博客: http://sec.lu。

 Github:https://github.com/netxfly。

 知乎专栏:https://zhuanlan.zhihu.com/netxfly。


目录

第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 零信任安全代理应用实战

参考文献