全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 计算机网络

灰帽黑客(第5版)

  • 定价: ¥128
  • ISBN:9787302527688
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:清华大学
  • 页数:555页
  • 作者:(美)艾伦·哈珀//...
  • 立即节省:
  • 2019-06-01 第1版
  • 2019-06-01 第1次印刷
我要买:
点击放图片

导语

  

    《灰帽黑客(第5版)》在漏洞原理、代码调优、内存数据提取的技巧、动态调试、静态分析等各个方面,结合各种实验,指导读者构造漏洞代码,亲自动手来完成对漏洞的利用。难能可贵的是,漏洞代码量非常少,对初学者来说很容易理解,这是市面上大部分技术书籍所不具备的优点。作为一本经典图书,本书追随计算机技术的发展,一直在更新。但不可否认,相对于技术的发展,书本的内容存在滞后。但本书向广大读者介绍了计算机攻击技术的基本原理和运用,而这部分变化相对较小。广大读者在掌握本书内容的基础上,可参考其他资料,进一步提升自身能力。

内容提要

  

    多位安全专家披露的久经考验的安全策略助你加固网络并避免数字灾难。《灰帽黑客(第5版)》在上一版本的基础上做了全面细致的更新,新增了13章内容,分析敌方当前的武器、技能和战术,提供切实有效的补救措施、案例研究和可部署的测试实验,并揭示黑客们如何获取访问权限、攻击网络设备、编写和注入恶意代码及侵占Web应用程序和浏览器。这个与时俱进的知识宝库也透彻讲解Android漏洞攻击、逆向工程技术和网络法律等主题,呈现物联网等新主题。

目录

第Ⅰ部分  备战
第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  本章小结
第Ⅱ部分  从业务角度分析黑客攻击
第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  本章小结
第Ⅲ部分  漏洞攻击
第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规避Internet防线
    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  本章小结
第Ⅳ部分  高级恶意软件分析
第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:运用Droidbox进行黑盒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  本章小结
第Ⅴ部分  物  联  网
第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  本章小结