| 作者 |
| 吴涛 方嘉明 吴荣德 徐焱 查克·伊斯特姆 |
| 丛书名 |
| 网络空间安全技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9782009221049 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------Python安全攻防:渗透测试实战指南--------------------------- 随着近几年互联网的发展,Python在各行各业发挥着举足轻重的作用。除应用在科学计算、大数据处理等人们熟知的领域外,在信息安全领域中使用也异常广泛。这是因为对于黑客或者渗透测试工程师来说python语言不仅上手容易,而且还有大量丰富的开源库。通过python可以帮助他们又好又快的完成一项任务,以少量的代码便可实现所需功能。本书结合具体场景和真实案例,详细叙述了python在渗透测试过程中所涉及到的信息收集、漏洞检测、数据爆破、模糊测试、流量分析等方面的实现过程。本书内容详细,过程清晰,非常易于读者深入理解。可为成为一名合格的网络安全员打下坚实的基础 ---------------------------渗透测试基础:可靠性安全审计实践指南--------------------------- 本书对渗透测试领域的基础进行了详细讲述,涵盖渗透测试的全生命周期,具有系统性的特点;在讲述的每个主题中都提供了大量的实用工具,并结合实例进行讲解,具有理论联系实际的实战性。虽然每个主题没有进行特别深入的讲解(比如,单就Metasploit一个主题就可以写成一本书),但是符合本书讲解各种基础知识的特点。在读完本书后,读者可以建立对渗透测试的清晰视图,有助于建立完整的知识体系,有利于学习的入门和后续的技能精进。 |
| 目录 |
---------------------------Python安全攻防:渗透测试实战指南--------------------------- 推荐序 前言 第1章 渗透测试概述 1 1.1 信息安全发展史 1 1.2 信息安全行业的现状 4 1.3 渗透测试的基本流程 5 1.4 渗透测试的具体方法 8 1.5 小结 15 第2章 Python语言基础 16 2.1 Python环境的搭建 16 2.1.1 Windows系统下的安装 17 2.1.2 Linux系统下的安装 19 2.2 编写第一个Python程序 20 2.3 Python模块的安装与使用 21 2.4 Python序列 23 2.4.1 列表 23 2.4.2 元组 26 2.4.3 字典 26 2.5 Python控制结构 28 2.5.1 选择结构 28 2.5.2 循环结构 28 2.6 文件处理 29 2.7 异常处理结构 32 2.8 Socket网络编程 34 2.9 可执行文件的转换 36 2.9.1 在Windows系统下转换 36 2.9.2 在Linux系统下转换 38 2.10 小结 39 第3章 渗透测试框架 40 3.1 Pocsuite框架 40 3.1.1 功能介绍 41 3.1.2 安装 41 3.1.3 使用方法 42 3.2 POC脚本编写 44 3.2.1 Flask服务器模板环境搭建 44 3.2.2 POC脚本的编写步骤 45 3.3 EXP脚本编写 48 3.4 小结 51 第4章 信息搜集 52 4.1 被动信息搜集 52 4.1.1 DNS解析 52 4.1.2 子域名挖掘 54 4.1.3 邮件爬取 56 4.2 主动信息搜集 60 4.2.1 基于ICMP的主机发现 61 4.2.2 基于TCP、UDP的主机发现 66 4.2.3 基于ARP的主机发现 73 4.2.4 端口探测 77 4.2.5 服务识别 80 4.2.6 系统识别 85 4.2.7 敏感探测 88 4.3 网络空间搜索引擎 89 4.3.1 常见搜索引擎平台 90 4.3.2 搜索引擎语法 92 4.3.3 搜索引擎API的使用 95 4.4 小结 98 第5章 漏洞检测与防御 99 5.1 未授权访问漏洞 99 5.1.1 Redis未授权访问漏洞 99 5.1.2 漏洞利用 100 5.1.3 检测方法 103 5.1.4 防御策略 107 5.2 外部实体注入漏洞 107 5.2.1 简介 107 5.2.2 检测方法 111 5.2.3 防御策略 114 5.3 SQL盲注漏洞 114 5.3.1 简介 114 5.3.2 基于布尔型SQL盲注检测 114 5.3.3 基于时间型SQL盲注检测 123 5.3.4 防御策略 127 5.4 SQLMap的Tamper脚本 128 5.4.1 简介 128 5.4.2 Tamper脚本的编写(一) 131 5.4.3 Tamper脚本的编写(二) 139 5.5 服务器端请求伪造漏洞 145 5.5.1 简介 145 5.5.2 检测方法 146 5.5.3 防御策略 147 5.6 网络代理 148 5.7 小结 152 第6章 数据加密 153 6.1 常见的加密算法 153 6.1.1 对称加密算法 154 6.1.2 非对称加密算法 155 6.1.3 分组密码工作模式 156 6.2 PyCryptodome库安装 160 6.3 Base64编/解码 160 6.3.1 Base64编码原理 161 6.3.2 用Python实现Base64编/解码 163 6.4 DES加密算法 164 6.4.1 DES加密原理 164 6.4.2 用Python实现DES加解密 166 6.5 AES加密算法 167 6.5.1 AES加密原理 167 6.5.2 用Python实现AES加解密 169 6.6 MD5加密算法 171 6.6.1 MD5加密原理 171 6.6.2 用Python实现MD5加密 173 6.7 小结 174 第7章 身份认证 175 7.1 社会工程学密码字典 176 7.1.1 字典的生成 176 7.1.2 防御策略 180 7.2 后台弱口令问题 181 7.2.1 编写脚本 181 7.2.2 防御策略 187 7.3 SSH口令问题 187 7.3.1 编写脚本 187 7.3.2 防御策略 192 7.4 FTP口令问题 193 7.4.1 编写脚本 193 7.4.2 防御策略 199 7.5 小结 199 第8章 模糊测试 200 8.1 简介 200 8.2 绕过安全狗 201 8.3 绕过安全狗优化 206 8.4 模糊测试结合WebShell 208 8.5 模糊测试工具 209 8.5.1 XSS模糊测试工具XSStrike 210 8.5.2 Sulley模糊测试框架 211 8.6 防御策略 214 8.7 小结 214 第9章 流量分析 215 9.1 流量嗅探 215 9.1.1 工作原理 216 9.1.2 工具编写 217 9.2 ARP毒化 222 9.2.1 工作原理 223 9.2.2 工具编写 227 9.2.3 防御策略 230 9.3 DoS 231 9.3.1 数据链路层DoS 231 9.3.2 网络层DoS 234 9.3.3 传输层DoS 236 9.3.4 应用层DoS 238 9.3.5 防御策略 241 9.4 小结 241 第10章 Python免杀技术 242 10.1 生成shellcode 242 10.2 shellcode的加载与执行 244 10.3 常见的免杀方式 250 10.4 防御策略 253 10.5 小结 254 第11章 远程控制工具 255 11.1 简介 255 11.2 Python相关的基础模块 256 11.3 被控端的编写 260 11.4 主控端的编写 264 11.5 远程控制工具的使用 268 11.6 Cobalt Strike的使用及拓展 270 11.7 小结 282 附录 Python实战项目 283 ---------------------------渗透测试基础:可靠性安全审计实践指南--------------------------- 译者序 前言 作者、技术评审者、译者简介 第1章 渗透测试概览1 1.1 什么是渗透测试1 1.1.1 审计2 1.1.2 漏洞扫描2 1.1.3 渗透测试2 1.1.4 混合测试3 1.2 术语3 1.3 方法论4 1.3.1 测试本质4 1.3.2 方法6 1.4 道德问题7 1.4.1 一切皆为机密8 1.4.2 不要跨越底线8 1.4.3 保护客户系统9 1.5 法律问题9 1.5.1 计算机欺诈和滥用法案:美国法典第18卷第1030条9 1.5.2 非法访问存储的通信:美国法典第18卷第2071条10 1.5.3 身份盗窃惩罚及赔偿法案10 1.5.4 访问设备欺诈及相关行为:美国法典第18卷第1029条10 1.5.5 州法律10 1.5.6 国际法10 1.6 认证12 1.6.1 CEH12 1.6.2 GPEN13 1.6.3 OSCP13 1.6.4 Mile213 1.6.5 CISSP14 1.6.6 PPT14 1.6.7 本书与认证14 1.7 渗透测试职业15 1.7.1 安全管理员15 1.7.2 商业渗透测试15 1.7.3 政府/国防15 1.7.4 执法人员16 1.8 构建自我技能16 1.9 小结16 1.10 技能自测17 1.10.1 多项选择题17 1.10.2 作业18 第2章 标准19 2.1 PCI DSS19 2.2 NIST 800-11521 2.2.1 规划阶段21 2.2.2 执行阶段22 2.2.3 后执行阶段23 2.3 美国国家安全局信息安全评估方法23 2.4 PTES24 2.5 CREST(英国)25 2.6 综合(整合标准为统一方法)26 2.6.1 预参与阶段26 2.6.2 实际测试阶段27 2.6.3 报告阶段28 2.7 相关标准30 2.8 其他标准30 2.8.1 ISO 2700230 2.8.2 NIST 800-12(修订版1)31 2.8.3 NIST 800-1431 2.9 小结32 2.10 技能自测32 2.10.1 多项选择题32 2.10.2 作业34 第3章 密码学35 3.1 密码学基础35 3.2 加密历史35 3.2.1 恺撒密码36 3.2.2 阿特巴希密码36 3.2.3 多字母替换37 3.2.4 栅栏密码38 3.3 现代方法38 3.3.1 对称加密38 3.3.2 对称方法改进41 3.3.3 实际应用41 3.4 公钥(非对称)加密41 3.4.1 RSA42 3.4.2 Diffie-Hellman44 3.4.3 椭圆曲线密码学44 3.5 数字签名45 3.6 哈希45 3.6.1 MD545 3.6.2 SHA45 3.6.3 RIPEMD46 3.6.4 Windows 哈希46 3.7 MAC和HMAC46 3.7.1 彩虹表47 3.7.2 哈希传递49 3.8 密码破解程序49 3.9 隐写术49 3.9.1 历史隐写术50 3.9.2 方法和工具51 3.10 密码分析52 3.10.1 频率分析53 3.10.2 现代方法53 3.10.3 实际应用54 3.11 延伸学习55 3.12 小结56 3.13 技能自测56 3.13.1 多项选择题56 3.13.2 作业57 第4章 目标侦察58 4.1 被动扫描技术58 4.1.1 netcraft58 4.1.2 builtwith60 4.1.3 archive.org60 4.1.4 Shodan61 4.1.5 社交媒体62 4.1.6 谷歌搜索63 4.2 主动扫描技术63 4.2.1 端口扫描63 4.2.2 枚举67 4.3 Wireshark69 4.4 Maltego72 4.5 其他开源情报工具73 4.5.1 OSINT网站73 4.5.2 Alexa74 4.5.3 网站主要提示74 4.6 小结74 4.7 技能自测74 4.7.1 多项选择题74 4.7.2 作业75 第5章 恶意软件77 5.1 病毒77 5.1.1 病毒如何传播77 5.1.2 病毒类型79 5.1.3 病毒示例81 5.2 特洛伊木马83 5.3 其他形式的恶意软件84 5.3.1 rootkit85 5.3.2 基于Web的恶意代码85 5.3.3 逻辑炸弹86 5.4 创建恶意软件86 5.4.1 恶意软件编写技能的等级86 5.4.2 GUI工具87 5.4.3 简单脚本病毒88 5.4.4 创建特洛伊木马90 5.4.5 改变已有病毒92 5.5 小结92 5.6 技能自测92 5.6.1 多项选择题92 5.6.2 作业93 第6章 Windows攻击95 6.1 Windows详情95 6.1.1 Windows历史95 6.1.2 引导过程97 6.1.3 重要的Windows文件97 6.1.4 Windows日志98 6.1.5 注册表99 6.1.6 卷影复制102 6.2 Windows密码哈希102 6.3 Windows黑客攻击技术103 6.3.1 哈希值传递103 6.3.2 chntpw104 6.3.3 Net User脚本104 6.3.4 系统身份登录105 6.3.5 管理员查找105 6.4 Windows脚本106 6.4.1 net users106 6.4.2 net view106 6.4.3 net share106 6.4.4 net service107 6.4.5 netshell107 6.5 Windows密码破解108 6.5.1 离线NT注册表编辑器108 6.5.2 LCP108 6.5.3 pwdump109 6.5.4 ophcrack109 6.5.5 John the Ripper109 6.6 Windows恶意软件检测110 6.7 Cain and Abel工具112 6.8 小结113 6.9 技能自测113 6.9.1 多项选择题113 6.9.2 作业115 第7章 Web黑客攻击116 7.1 Web技术116 7.2 具体网站攻击117 7.2.1 SQL脚本注入117 7.2.2 XSS122 7.2.3 其他网站攻击124 7.3 工具125 7.3.1 Burp Suite125 7.3.2 BeEF131 7.4 小结131 7.5 技能自测132 7.5.1 多项选择题132 7.5.2 作业133 第8章 漏洞扫描134 8.1 漏洞134 8.1.1 CVE134 8.1.2 NIST135 8.1.3 OWASP135 8.2 数据包抓取136 8.2.1 tcpdump136 8.2.2 Wireshark137 8.3 网络扫描程序140 8.4 无线扫描/破解程序141 8.5 通用扫描程序142 8.5.1 MBSA142 8.5.2 Nessus143 8.5.3 Nexpose144 8.5.4 SAINT145 8.6 Web应用程序扫描程序145 8.6.1 OWASP ZAP145 8.6.2 Vega146 8.7 网络威胁情报148 8.7.1 threatcrowd.org148 8.7.2 Phishtank148 8.7.3 互联网风暴中心148 8.7.4 OSINT149 8.8 小结149 8.9 技能自测150 8.9.1 多项选择题150 8.9.2 作业150 第9章 Linux简介153 9.1 Linux历史153 9.2 Linux命令155 9.2.1 ls命令155 9.2.2 cd命令156 9.2.3 管道输出157 9.2.4 finger命令157 9.2.5 grep命令158 9.2.6 ps命令158 9.2.7 pstree命令159 9.2.8 top命令160 9.2.9 kill命令161 9.2.10 基础文件和命令162 9.2.11 chown命令162 9.2.12 chmod命令163 9.2.13 bg命令164 9.2.14 fg命令164 9.2.15 useradd命令165 9.2.16 userdel命令165 9.2.17 usermod命令166 9.2.18 users命令167 9.2.19 who命令168 9.3 169 9.3.1 /root169 9.3.2 /bin169 9.3.3 /sbin169 9.3.4 /etc170 9.3.5 /dev171 9.3.6 /boot171 9.3.7 /usr172 9.3.8 /var172 9.3.9 /proc173 9.4 图形用户界面173 9.4.1 GNOME173 9.4.2 KDE173 9.5 小结174 9.6 技能自测174 9.6.1 多项选择题174 9.6.2 作业175 第10章 Linux黑客攻击177 10.1 Linux系统进阶177 10.1.1 sysfs177 10.1.2 crond179 10.1.3 shell命令180 10.2 Linux防火墙182 10.2.1 iptables183 10.2.2 iptables配置184 10.2.3 syslog185 10.3 syslogd186 10.4 脚本编写186 10.5 Linux密码190 10.6 Linux黑客攻击技巧191 10.6.1 引导攻击191 10.6.2 退格键攻击192 10.7 小结192 10.8 技能自测192 10.8.1 多项选择题192 10.8.2 作业193 第11章 Kali Linux简介194 11.1 Kali Linux历史194 11.2 Kali基础194 11.3 Kali工具196 11.3.1 recon-ng196 11.3.2 Dmitry198 11.3.3 Sparta199 11.3.4 John the Ripper201 11.3.5 Hashcat202 11.3.6 macchanger202 11.3.7 Ghost Phisher203 11.4 小结204 11.5 技能自测205 11.5.1 多项选择题205 11.5.2 作业205 第12章 常用黑客技术206 12.1 Wi-Fi测试206 12.1.1 热点创建206 12.1.2 使用Kali当作热点208 12.1.3 WAP管理测试209 12.1.4 其他Wi-Fi问题210 12.2 社会工程学210 12.3 DoS211 12.3.1 著名的DoS攻击211 12.3.2 工具212 12.4 小结214 12.5 技能自测214 12.5.1 多项选择题214 12.5.2 作业215 第13章 Metasploit简介216 13.1 Metasploit背景217 13.2 Metasploit入门218 13.3 msfconsole基本用法220 13.3.1 基础命令220 13.3.2 搜索221 13.4 使用Metasploit扫描223 13.4.1 SMB扫描程序223 13.4.2 SQL Server扫描224 13.4.3 SSH服务器扫描225 13.4.4 匿名FTP服务器225 13.4.5 FTP服务器226 13.5 如何使用exploit227 13.6 exploit示例227 13.6.1 层叠样式表227 13.6.2 文件格式exploit229 13.6.3 远程桌面exploit230 13.6.4 更多exploit231 13.6.5 常见错误231 13.7 后漏洞利用232 13.7.1 获取已登录用户232 13.7.2 检查虚拟机232 13.7.3 枚举应用程序233 13.7.4 更加深入靶机233 13.8 小结234 13.9 技能自测235 13.9.1 多项选择题235 13.9.2 作业235 第14章 Metasploit进阶237 14.1 meterpreter模块和后漏洞利用237 14.1.1 arp237 14.1.2 netstat238 14.1.3 ps238 14.1.4 导航238 14.1.5 下载和上传239 14.1.6 桌面239 14.1.7 摄像头240 14.1.8 键盘记录器241 14.1.9 其他信息241 14.2 msfvenom242 14.3 Metasploit攻击进阶244 14.3.1 格式化所有驱动器244 14.3.2 攻击Windows Server 2008 R2244 14.3.3 通过Office攻击Windows245 14.3.4 Linux攻击245 14.3.5 通过Web进行攻击246 14.3.6 其他Linux攻击246 14.3.7 Linux后漏洞利用247 14.4 小结247 14.5 技能自测247 14.5.1 多项选择题247 14.5.2 作业248 第15章 Ruby脚本简介249 15.1 入门249 15.2 Ruby基础脚本250 15.2.1 第一个脚本250 15.2.2 语法251 15.2.3 面向对象编程257 15.3 小结258 15.4 技能自测258 15.4.1 多项选择题258 15.4.2 作业260 第16章 使用Ruby编写Metasploit exploit261 16.1 API261 16.2 入门263 16.3 研究已有exploit264 16.4 扩展已有exploit266 16.5 自己编写exploit268 16.6 小结269 16.7 技能自测269 16.7.1 多项选择题269 16.7.2 作业270 第17章 常用黑客知识271 17.1 会议271 17.2 暗网272 17.3 认证和培训274 17.4 网络战和恐怖主义276 17.5 小结277 17.6 技能自测277 17.6.1 多项选择题277 17.6.2 作业278 第18章 更多渗透测试主题279 18.1 无线渗透测试279 18.1.1 802.11279 18.1.2 红外线282 18.1.3 蓝牙282 18.1.4 其他无线形式283 18.1.5 Wi-Fi黑客攻击284 18.2 大型机和SCADA287 18.2.1 SCADA基础287 18.2.2 大型机289 18.3 移动渗透测试289 18.3.1 蜂窝技术术语289 18.3.2 蓝牙攻击290 18.3.3 蓝牙/手机工具290 18.4 小结293 18.5 技能自测293 18.5.1 多项选择题293 18.5.2 作业294 第19章 渗透测试项目示例295 19.1 渗透测试提纲295 19.1.1 预测试活动295 19.1.2 外部测试296 19.1.3 内部测试297 19.1.4 可选项298 19.2 报告大纲299 19.3 小结299 19.4 作业300 附录 多项选择题答案301 |