灰帽黑客(第5版)

admin 2022年10月8日12:23:07评论66 views字数 6790阅读22分38秒阅读模式

微信公众号:计算机与网络安全


灰帽黑客(第5版)
(全文略)

本书由致力于以道德和负责任的工作方式来提升个人、企业和国家的整体安全性的信息安全专业人员编撰,适合相关专业人士阅读。本书旨在向您提供过去只有少数黑客才了解的信息。无论是个人,还是一家机构的防御者,在面对黑帽黑客时,对敌人的深入了解非常重要,包括他们的策略、技能、工具和动机。因此本书将带您领会灰帽黑客的思路,即道德黑客使用攻击性技术达到防御性目的。道德黑客始终尊重法律和他人的权利,并且相信,通过先行的自我测试和完善,对手将无处下手,知难而退。


全书分5部分,共25章。


第I部分介绍打赢安全战需要的所有工具和技术,使你通透理解更高级的主题。该部分节奏明快,无论是初出茅庐的新手,还是想将安全技能提高到新水平的专业人员,都必须掌握其中的知识点。第I部分的内容包括:

● 白帽、黑帽和灰帽黑客的定义及特征

● 在实施任何类型的正义黑客行动前应该了解的一些棘手道德问题

● 编程生存技能,这是灰帽黑客编写漏洞攻击程序或审查源代码必备的技能

● 模糊测试,这是挖掘零日漏洞的利器

● 逆向工程,这是剖析恶意软件或研究漏洞的必备技能

● 软件定义的无线电
第II部分从业务角度分析黑客攻击。不管你因为爱好还是谋生而从事黑客攻击,该部分的内容都适合你阅读。如果你是一位资深黑客,该部分的提示将让你功力倍增。该部分介绍一些让道德黑客合法赚钱的软技能:

● 如何进入渗透测试行当

● 通过红队改善企业的安全态势

● 适用于启动阶段的紫队

● 介绍Bug赏金计划,讲述如何以合乎道德的方式通过查找漏洞获得赏金
第III部分讨论开发程序来攻击系统漏洞所需的技能。其他书籍都介绍过此类主题,但旧式漏洞攻击程序到现在已经过时,不再奏效。因此,该部分将更新内容,介绍如何突破系统保护。该部分介绍的主题如下:

● 如何在不使用漏洞攻击程序的情况下获得shell访问权限

● 基本和高级Linux漏洞攻击程序

● 基本和高级Windows漏洞攻击程序

● 使用PowerShell攻击系统漏洞

● 现代Web漏洞攻击

● 使用补丁开发漏洞攻击程序
第IV部分分析高级恶意软件。在很多方面,这是网络安全领域最高级的主题。在网络战中,恶意软件扮演着冲锋陷阵的角色。该部分介绍用于执行恶意软件分析所需要的工具和技术。该部分介绍的主题如下:

● 分析移动恶意软件

● 分析最新的勒索软件

● 分析ATM恶意软件

● 使用下一代蜜罐在网络上查找高级攻击者和恶意软件
第V部分讨论物联网(Internet of Things,IoT)攻击主题。物联网会受到攻击,其中的漏洞会被人利用。该部分介绍的主题如下:

● 受到攻击的物联网

● 剖析嵌入式设备

● 攻击嵌入式设备

● 分析针对物联网设备的恶意软件

目录

第1部分 备战
第1章 灰帽黑客——道德和法律
1.1 了解敌人
1.1.1 当前的安全状况
1.1.2 识别攻击
1.2 灰帽黑客之道
1.2.1 模拟攻击
1.2.2 测试频率及关注点
1.3 网络安全相关法律的演
1.4 本章小结
第2章 编程技能
2.1 C编程语言
2.1.1 C语言程序的基本结构
2.1.2 程序示例
2.1.3 使用gcc进行编译
2.2 计算机内存
2.2.1 存取存储器
2.2.2 字节序
2.2.3 内存分段
2.2.4 内存中的程序
2.2.5 缓冲区
2.2.6 内存中的字符串
2.2.7 指针
2.2.8 内存知识小结
2.3 Intel处理器
2.4 汇编语言基础
2.4.1 机器语言、汇编语言与C语言
2.4.2 AT&T与NASM
2.4.3 寻址模式
2.4.4 汇编文件结构
2.4.5 汇编过程
2.5 使用gdb进行调试
2.5.1 gdb基础
2.5.2 使用gdb进行反汇编
2.6 Python编程技能
2.6.1 获取Python
2.6.2 Python的“Hello world”程序
2.6.3 Python对象
2.6.4 字符串
2.6.5 数值
2.6.6 列表
2.6.7 字典
2.6.8 Python文件操作
2.6.9 Python套接字编程
2.7 本章小结
第3章 下一代模糊测试
3.1 模糊测试简介
3.2 模糊测试器的类型
3.2.1 数据异模糊测试器
3.2.2 数据生成模糊测试器
3.2.3 遗传模糊测试
3.3 Peach数据异模糊测试
3.4 Peach数据生成模糊测试
3.5 AFL遗传或进化模糊测试
3.6 本章小结
第4章 下一代逆向工程
4.1 代码标注
4.1.1 使用IDAscope的IDB标注
4.1.2 C 代码分析
4.2 协作分析
4.2.1 利用FIRST协作知识
4.2.2 使用BinNavi进行协作
4.3 动态分析
4.3.1 使用Cuckoo沙箱自动执行动态分析
4.3.2 使用Labeless填补静态工具与动态工具之间的空隙
4.3.3 实验4-1:将IDA标注应用于x64dbg调试器
4.3.4 实验4-2:将调试器内存区域导入IDA
4.4 本章小结
第5章 软件定义的无线电
5.1 SDR入门
5.1.1 从何处购买
5.1.2 了解管理规则
5.2 示例
5.2.1 搜索
5.2.2 捕获
5.2.3 重放
5.2.4 分析
5.2.5 预览
5.2.6 执行
5.3 本章小结
第2部分 从业务角度分析黑客攻击
第6章 成为一名渗透测试人员
6.1 从新手成长为专家的历程
6.1.1 渗透测试精神
6.1.2 渗透测试分类
6.1.3 未来的黑客攻击
6.1.4 了解技术
6.1.5 知道什么是“良好”的
6.1.6 渗透测试培训
6.1.7 实践
6.1.8 学位课程
6.1.9 知识传播
6.2 渗透测试人员和职业技能
6.2.1 个人责任
6.2.2 成为一名值得信赖的顾问
6.2.3 管理渗透测试
6.3 本章小结
第7章 红队的行动
7.1 红队的基本行动
7.1.1 策略、行动和战术重点
7.1.2 评估比较
7.2 红队的目标
7.3 常见问题
7.3.1 范围受限
7.3.2 时间受限
7.3.3 参与者受限
7.3.4 克服条件的限制
7.4 沟通
7.4.1 规划会议
7.4.2 确定可衡量的事件
7.5 理解威胁
7.6 攻击框架
7.7 测试环境
7.8 自适应测试
7.8.1 外部评估
7.8.2 物理安全评估
7.8.3 社交工程攻击
7.8.4 内部评估
7.9 吸取的教训
7.10 本章小结
第8章 紫队的行动
8.1 紫队简介
8.2 蓝队的基本行动
8.2.1 了解敌人
8.2.2 了解自己
8.2.3 安全程序
8.2.4 事故响应程序
8.2.5 常见的蓝队挑战
8.3 紫队的基本行动
8.3.1 决策框架
8.3.2 破坏杀伤链
8.3.3 杀伤链对策框架
8.3.4 沟通
8.4 紫队的优化和自动化
8.5 本章小结
第9章 漏洞赏金计划
9.1 漏洞披露的
9.1.1 完全向供应商披露
9.1.2 完全向公众披露
9.1.3 负责任的披露方式
9.1.4 再没有免费的Bug
9.2 漏洞赏金计划
9.2.1 漏洞赏金计划的类型
9.2.2 激励措施
9.2.3 围绕漏洞赏金计划的争议
9.2.4 主流的漏洞赏金计划促进者
9.3 Bugcrowd详解
9.3.1 程序所有者Web界面
9.3.2 程序所有者API示例
9.3.3 研究人员Web界面
9.4 通过发现漏洞谋生
9.4.1 选择一个目标
9.4.2 如有必要,进行注册
9.4.3 理解游戏规则
9.4.4 发现漏洞
9.4.5 报告漏洞
9.4.6 领取赏金
9.5 事故响应
9.5.1 沟通
9.5.2 鉴别和分级
9.5.3 修复
9.5.4 向用户披露
9.5.5 公关
9.6 本章小结
第3部分 漏洞攻击
第10章 不使用漏洞获取权限
10.1 捕获口令哈希
10.1.1 理解LLMNR和NBNS
10.1.2 理解Windows NTLMv1和NTLMv2身份认证
10.1.3 使用Responder
10.1.4 实验10-1:使用Responder获取口令
10.2 使用Winexe
10.2.1 实验10-2:使用Winexe访问远程系统
10.2.2 实验10-3:使用Winexe提升权限
10.3 使用WMI
10.3.1 实验10-4:使用WMI查询系统信息
10.3.2 实验10-5:使用WMI执行命令
10.4 利用WinRM
10.4.1 实验10-6:使用WinRM执行命令
10.4.2 实验10-7:使用WinRM远程运行PowerShell
10.5 本章小结
第11章 基本的Linux漏洞攻击
11.1 堆栈操作和函数调用过程
11.2 缓冲区溢出
11.2.1 实验11-1:meet.c溢出
11.2.2 缓冲区溢出的后果
11.3 本地缓冲区溢出漏洞攻击
11.3.1 实验11-2:漏洞攻击的组件
11.3.2 实验11-3:在命令行上进行堆栈溢出漏洞攻击
11.3.3 实验11-4:使用通用漏洞攻击代码进行堆栈溢出漏洞攻击
11.3.4 实验11-5:对小缓冲区进行漏洞攻击
11.4 漏洞攻击的开发过程
11.5 本章小结
第12章 高级的Linux漏洞攻击
12.1 格式化字符串漏洞攻击
12.1.1 格式化字符串
12.1.2 实验12-1:从任意内存读取
12.1.3 实验12-2:写入任意内存
12.1.4 实验12-3:改变程序执行
12.2 内存保护机制
12.2.1 编译器的改进
12.2.2 实验12-4:绕过栈保护
12.2.3 内核补丁和脚本
12.2.4 实验12-5:Return to Libc漏洞攻击
12.2.5 实验12-6:使用ret2libc保持权限
12.2.6 结论
12.3 本章小结
第13章 基本的Windows漏洞攻击
13.1 编译和调试Windows程序
13.1.1 实验13-1:在Windows上编译程序
13.1.2 Windows编译选项
13.1.3 在Windows上使用Immunity Debugger进行调试
13.1.4 实验13-2:程序崩溃
13.2 编写Windows漏洞攻击程序
13.2.1 回顾漏洞攻击程序的开发过程
13.2.2 实验13-3:攻击ProSSHD服务器
13.3 理解SEH
13.4 理解和绕过Windows内存保护
13.4.1 SafeSEH
13.4.2 绕过SafeSEH
13.4.3 SEHOP
13.4.4 绕过SEHOP
13.4.5 基于堆栈的缓冲区溢出检测(/GS)
13.4.6 绕过/GS
13.4.7 堆保护
13.5 本章小结
第14章 高级的Windows漏洞攻击
14.1 DEP
14.2 ASLR
14.3 EMET和Windows Defender Exploit Guard
14.4 绕过ASLR
14.5 绕过DEP和ASLR
14.5.1 VirtualProtect函数
14.5.2 ROP
14.5.3 指令片段
14.5.4 构建ROP链
14.6 通过内存泄漏突破ASLR
14.6.1 触发缺陷
14.6.2 跟踪内存泄漏
14.6.3 内存泄漏武器化
14.6.4 构建RVA ROP链
14.7 本章小结
第15章 PowerShell漏洞攻击
15.1 为什么使用PowerShell
15.1.1 利用现有资源
15.1.2 PowerShell日志记录
15.1.3 PowerShell的可移植性
15.2 加载PowerShell脚本
15.2.1 实验15-1:攻击条件
15.2.2 实验15-2:在命令行上传递命令
15.2.3 实验15-3:编码的命令
15.2.4 实验15-4:通过Web启动
15.3 使用PowerSploit进行漏洞攻击和后漏洞攻击
15.3.1 实验15-5:设置PowerSploit
15.3.2 实验15-6:通过PowerShell运行Mimikatz
15.3.3 实验15-7:使用PowerSploit创建持续访问
15.4 使用Empire实现命令和控制
15.4.1 实验15-8:设置Empire
15.4.2 实验15-9:使用Empire执行命令和控制
15.4.3 实验15-10:使用Empire攻克系统
15.5 本章小结
第16章 下一代Web应用程序漏洞攻击
16.1 XSS演化史
16.1.1 设置环境
16.1.2 实验16-1:温习XSS
16.1.3 实验16-2:XSS规避Inter防线
16.1.4 实验16-3:使用XSS更改应用程序逻辑
16.1.5 实验16-4:为XSS使用DOM
16.2 框架漏洞
16.2.1 设置环境
16.2.2 实验16-5:CVE-2017-5638漏洞攻击
16.2.3 实验16-6:CVE-2017-9805漏洞攻击
16.3 Padding Oracle Attack
16.4 本章小结
第17章 下一代补丁漏洞攻击
17.1 有关二进制比较的介绍
17.1.1 应用程序比较
17.1.2 补丁比较
17.2 二进制比较工具
17.2.1 BinDiff
17.2.2 turbodiff
17.2.3 实验17-1:首次文件比较
17.3 补丁管理流程
17.3.1 微软星期二补丁
17.3.2 获得并提取微软补丁
17.3.3 实验17-2:比较MS17-010
17.4 通过比较补丁进行漏洞攻击
17.4.1 DLL旁路漏洞
17.4.2 实验17-3:比较MS16-009
17.5 本章小结
第4部分 高级恶意软件分析
第18章 剖析移动平台恶意软件
18.1 Android平台简介
18.1.1 Android应用程序包
18.1.2 应用程序清单
18.1.3 分析DEX
18.1.4 Java反编译
18.1.5 DEX反编译
18.1.6 DEX反汇编
18.1.7 示例18-1:在模拟器中运行APK
18.1.8 恶意软件分析
18.1.9 示例18-2:运用Droidbo行黑盒APK监控
18.2 iOS平台
18.2.1 iOS安全
18.2.2 iOS应用程序
18.2.3 实验18-1:分析二进制属性列表文件
18.2.4 实验18-2:iPhone 4S越狱
18.2.5 实验18-3:解密Apple商店应用程序
18.3 本章小结
第19章 剖析勒索软件
19.1 勒索软件的
19.2 赎金支付选项
19.3 剖析Ransomlock
19.3.1 示例19-1:动态分析
19.3.2 示例19-2:静态分析
19.4 Wannacry
19.5 本章小结
第20章 ATM恶意软件
20.1 ATM概览
20.2 XFS概览
20.2.1 XFS体系结构
20.2.2 XFS管理器
20.3 分析ATM恶意软件
20.3.1 ATM恶意软件的类型
20.3.2 攻击者是如何在ATM上安装恶意软件的
20.3.3 剖析恶意软件
20.3.4 针对ATM恶意软件的对策
20.4 本章小结
第21章 欺骗:下一代蜜罐
21.1 欺骗简史
21.1.1 作为欺骗形式的蜜罐
21.1.2 部署时的考虑事项
21.1.3 设置虚拟机
21.2 开源蜜罐
21.2.1 实验21-1:Dionaea
21.2.2 实验21-2:ConPot
21.2.3 实验21-3:Cowrie
21.2.4 实验21-4:T-Pot
21.3 可选的商业化产品:TrapX
21.4 本章小结
第5部分 物联网
第22章 攻击目标:物联网
22.1 IoT
22.1.1 连接设备的类型
22.1.2 无线协议
22.1.3 通信协议
22.1.4 安全方面的考虑事项
22.2 Shodan IoT搜索引擎
22.2.1 Web界面
22.2.2 实验22-1:使用Shodan命令行工具
22.2.3 Shodan API
22.2.4 实验22-2:测试Shodan API
22.2.5 实验22-3:使用MQTT
22.2.6 未经身份认证访问MQTT带来的启示
22.3 IoT蠕虫:只是时间问题
22.3.1 实验22-4:Mirai依然存在
22.3.2 预防措施
22.4 本章小结
第23章 剖析嵌入式设备
23.1 CPU
23.1.1 微处理器
23.1.2 微控制器
23.1.3 SoC
23.1.4 常见的处理器架构
23.2 串行接口
23.2.1 UART
23.2.2 SPI
23.2.3 I2C
23.3 调试接口
23.3.1 JTAG
23.3.2 SWD
23.4 软件
23.4.1 启动加载程序
23.4.2 无操作系统
23.4.3 实时操作系统
23.4.4 通用操作系统
23.5 本章小结
第24章 攻击嵌入式设备
24.1 对嵌入式设备中的漏洞进行静态分析
24.1.1 实验24-1:分析更新包
24.1.2 实验24-2:执行漏洞分析
24.2 使用硬件执行动态分析
24.2.1 设置测试环境
24.2.2 Ettercap
24.3 使用模拟器执行动态分析
24.3.1 FIRMADYNE工具
24.3.2 实验24-3:设置FIRMADYNE
24.3.3 实验24-4:模拟固件
24.3.4 实验24-5:攻击固件
24.4 本章小结
第25章 反制物联网恶意软件
25.1 对物联网设备的物理访问
25.1.1 RS-232概述
25.1.2 RS-232引脚排列
25.1.3 练习25-1:排除医疗设备的RS-232端口故障
25.2 建立威胁实验室
25.2.1 ARM和MIPS概述
25.2.2 实验25-1:使用QEMU设置系统
25.3 动态分析物联网恶意软件
25.3.1 实验25-2:动态分析恶意软件
25.3.2 PANDA
25.3.3 BeagleBone Black开发板
25.4 物联网恶意软件的逆向工程
25.4.1 ARM/MIPS指令集速成
25.4.2 实验25-3:IDA Pro远程调试和逆向工程
25.4.3 练习物联网恶意软件逆向工程
25.5 本章小结

附:灰帽黑客(第5版).pdf


- The end -

原文始发于微信公众号(计算机与网络安全):灰帽黑客(第5版)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月8日12:23:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   灰帽黑客(第5版)https://cn-sec.com/archives/1302700.html

发表评论

匿名网友 填写信息