【Kali Linux】高级渗透测试实战篇

news2024/9/21 16:43:57

这里写目录标题

  • 前言
  • 内容简介
  • 读者对象
  • 随书资源
  • 目录

前言

对于企业网络安全建设工作的质量保障,业界普遍遵循PDCA(计划(Plan)、实施(Do)、检查(Check)、处理(Act))的方法论。近年来,网络安全攻防对抗演练发挥了越来越重要的作用。企业的安全管理者通过组织内部或外部攻击队,站在恶意攻击者的视角,识别自身网络安全建设过程中的防护短板,检验安全应急预案的有效性并持续优化,为业务发展提供更强的保驾护航能力。

请添加图片描述

内容简介

本书是企业进行网络安全对抗演练不可多得的参考书,对攻击队和防守队都适用。
本书系统地介绍了安全测试流程的最佳实践和常见误区,围绕Kali Linux这个开源工具,详细阐述了各类测试技术的原理和操作方法。即使是初学者,也可以在本书深入浅出的指引下轻松上手。对于富有经验的渗透测试人员,本书更是提供了进阶实战场景的实用脚本和代码库资源,相信能给读者带来新的启发。

企业攻防对抗演练是攻防双方的思路、策略、技术和情报能力的综合比拼。“敌暗我明”“攻防力量不对称”的情况往往瞬息万变,结果胜负是一时的,过程常态化才是主旋律。在现实的网络空间安全中,这样的常态化每天都在上演,安全团队只有正确制定攻防演练的目标,才能得到企业对安全工作的认可。

读者对象

如果你是一名渗透测试人员、IT专家或网络安全顾问,希望利用 Kali Linux 的一些高级功能最大限度地提高网络安全测试的成功率,那么这本书就是为你准备的。如果你以前接触过渗透测试的基础知识,将有助于你理解本书内容。

随书资源

本书的代码包托管在 GitHub 上,链接如下:

https://github.com/PacktPublishing/Mastering-Kali-Linux-for-Advanced-Penetration-Testing-4E

对于更多丰富的代码包和精彩视频,感兴趣的读者可从以下地址获取:

https://github.com/PacktPublishing/

我们还提供了一个 PDF 文档,包含本书中使用的屏幕截图/图表的彩色图像。你可以从以下地址下载:

https://static.packt-cdn.com/downloads/9781801819770_ColorImages.pdf

请添加图片描述

目录

译者序

前言

关于作者

关于技术审校

第1章 基于目标的渗透测试 1

1.1 恶意威胁者的类型 1

1.2 安全测试概念 2

1.3 漏洞评估、渗透测试和红队演习的

局限性 2

1.4 基于目标的渗透测试概述 3

1.5 测试方法论 4

1.6 Kali Linux的功能介绍 6

1.7 Kali Linux的安装与更新 7

1.7.1 使用便携设备 7

1.7.2 在树莓派4上安装 Kali 8

1.7.3 在虚拟机上安装Kali 9

1.7.4 安装Docker应用 12

1.7.5 在AWS云上启动Kali 13

1.7.6 在GCP上启动Kali 15

1.8 在Android设备(非破解)上运行

Kali 20

1.9 配置 Kali Linux 21

1.9.1 重置默认密码 21

1.9.2 配置网络服务和安全通信 22

1.9.3 调整网络代理设置 23

1.9.4 远程访问安全Shell 23

1.9.5 加速 Kali 操作 24

1.9.6 与主机系统共享文件夹 24

1.9.7 使用Bash脚本自定义Kali 26

1.10 建立一个验证实验室 26

1.11 CloudGoat 36

1.12 使用 Faraday 管理协同的渗透

测试 39

1.13 总结 40

第2章 开源情报与被动侦察 41

2.1 目标侦察的基本原则 41

2.1.1 OSINT 42

2.1.2 进攻性OSINT 43

2.1.3 收集域名信息 43

2.1.4 Maltego 44

2.1.5 OSRFramework 47

2.1.6 网络存档 47

2.1.7 Passive Total 48

2.2 网络爬虫 49

2.2.1 收集用户名和邮件地址 49

2.2.2 获取用户信息 50

2.2.3 在线搜索门户 50

2.2.4 其他商业工具 54

2.3 Google Hacking数据库 54

2.3.1 使用Google Hacking脚本

查询 54

2.3.2 数据转储站点 56

2.3.3 防御性OSINT 56

2.3.4 威胁情报 57

2.3.5 用户密码列表分析 58

2.4 自定义密码破解字典 59

2.4.1 使用CeWL绘制网站地图 59

2.4.2 使用twofi从Twitter提取字典 59

2.5 总结 60

第3章 主动侦察 61

3.1 隐蔽扫描技术 62

3.1.1 调整源IP协议栈和工具识别

特征 62

3.1.2 修改数据包参数 63

3.1.3 使用匿名网络代理 65

3.2 DNS侦察和路由映射 67

3.3 使用集成侦察工具 68

3.3.1 recon-ng框架 69

3.3.2 使用针对IPv6的工具 72

3.3.3 映射目标路由 74

3.4 识别外部网络基础设施 76

3.5 防火墙外的映射 77

3.6 IDS/IPS识别 77

3.7 主机枚举 78

3.8 端口、操作系统和服务发现 79

3.9 使用netcat编写你自己的端口

扫描器 80

3.9.1 对操作系统进行指纹识别 80

3.9.2 确定活跃的服务 81

3.10 大规模扫描 82

3.10.1 DHCP信息 83

3.10.2 内网主机的识别和枚举 83

3.10.3 原生的MS Windows命令 84

3.10.4 ARP广播 86

3.10.5 ping扫描 86

3.10.6 使用脚本将masscan扫描和

nmap扫描结合 87

3.10.7 利用SNMP的优势 89

3.10.8 SMB会话中的Windows账户

信息 90

3.10.9 发现网络共享 91

3.10.10 对活动目录域服务器的侦察 92

3.10.11 枚举微软Azure环境 93

3.10.12 集成侦察工具 95

3.11 利用机器学习进行侦察 96

3.12 总结 98

第4章 漏洞评估 99

4.1 漏洞术语 99

4.2 本地和在线漏洞数据库 100

4.3 用nmap进行漏洞扫描 103

4.3.1 Lua脚本介绍 104

4.3.2 定制NSE脚本 105

4.4 网络应用程序漏洞扫描器 106

4.4.1 Nikto 106

4.4.2 定制Nikto 107

4.4.3 OWASP ZAP 108

4.5 移动应用程序的漏洞扫描器 111

4.6 OpenVAS网络漏洞扫描器 112

4.7 商业漏洞扫描器 114

4.7.1 Nessus 115

4.7.2 Qualys 116

4.8 针对性的扫描器 117

4.9 威胁建模 118

4.10 总结 120

第5章 高级社会工程学和物理安全 121

5.1 掌握方法论和TTP 122

5.1.1 技术 123

5.1.2 针对人的攻击 124

5.2 控制台上的物理攻击 124

5.2.1 samdump2和chntpw 125

5.2.2 粘滞键 128

5.3 创建一个流氓物理设备 129

5.4 社会工程工具包 132

5.4.1 社会工程攻击 134

5.4.2 凭证采集Web攻击方法 135

5.4.3 多重Web攻击方法 137

5.4.4 HTA网络攻击方法 138

5.4.5 使用PowerShell纯字符进行shellcode注入攻击 140

5.5 隐藏可执行文件和混淆攻击者的

URL 141

5.6 利用DNS重定向升级攻击 142

5.6.1 鱼叉式网络钓鱼攻击 143

5.6.2 使用Gophish的电子邮件网络

钓鱼 146

5.7 使用Gophish发起网络钓鱼攻击 147

5.8 利用批量传输作为网络钓鱼来传递

有效负载 151

5.9 总结 151

第6章 无线攻击和蓝牙攻击 153

6.1 无线和蓝牙技术简介 153

6.2 配置Kali进行无线攻击 154

6.3 无线网络侦察 154

6.4 绕过隐藏ESSID 157

6.5 绕过MAC地址认证和开放认证 159

6.6 攻击WPA和WPA2 161

6.6.1 暴力破解攻击 161

6.6.2 使用Reaver对无线路由器进行

攻击 165

6.7 拒绝服务对无线通信的攻击 166

6.8 破坏启用WPA2的企业 167

6.9 使用bettercap 169

6.10 使用Wifiphisher进行Evil Twin

攻击 170

6.11 WPA3 172

6.12 蓝牙攻击 173

6.13 总结 175

第7章 Web漏洞利用 176

7.1 Web应用攻击方法论 176

7.2 黑客思维导图 177

7.3 Web应用/服务漏洞扫描 179

7.3.1 检测Web应用防火墙和负载

均衡器 180

7.3.2 识别Web应用指纹和CMS 182

7.3.3 从命令行镜像网站 184

7.4 客户端代理 184

7.4.1 Burp代理 185

7.4.2 Web抓取和目录暴力攻击 189

7.4.3 Web服务漏洞扫描器 190

7.5 针对特定应用的攻击 190

7.6 浏览器攻击框架 202

7.7 了解BeEF浏览器 206

7.8 总结 211

第8章 云安全漏洞利用 212

8.1 云服务介绍 212

8.2 EC2实例中的漏洞扫描和应用

开发 215

8.2.1 Scout Suite 216

8.2.2 Prowler 218

8.3 测试S3桶的错误配置 225

8.4 利用安全许可的缺陷 228

8.5 混淆CloudTrail日志的内容 236

8.6 总结 236

第9章 绕过安全控制 237

9.1 绕过NAC 237

9.1.1 准入前NAC 238

9.1.2 准入后NAC 240

9.2 绕过应用程序级别的控制 240

9.3 绕过文件查杀 244

9.3.1 使用Veil框架 245

9.3.2 使用Shellter 250

9.4 无文件化和规避杀毒 252

9.5 绕过Windows操作系统控制 253

9.5.1 用户账户控制 253

9.5.2 混淆PowerShell和使用无文件

技术 257

9.5.3 其他Windows特有的操作系统

控制 260

9.6 总结 262

第10章 漏洞利用 263

10.1 Metasploit框架 263

10.1.1 函数库 263

10.1.2 界面 264

10.1.3 模块 265

10.1.4 数据库设置和配置 266

10.2 使用MSF对目标进行攻击 270

10.3 利用MSF资源文件对多个目标进行

攻击 274

10.4 使用公开的漏洞 275

10.4.1 找到并验证公开可用的漏洞 275

10.4.2 编译和使用漏洞 276

10.5 开发一个Windows漏洞利用 278

10.5.1 通过模糊测试识别漏洞 279

10.5.2 调试和复现崩溃的情况 281

10.5.3 控制应用程序的执行 283

10.5.4 识别正确的坏字符并生成shellcode 285

10.5.5 获取Shell 286

10.6 PowerShell Empire框架 288

10.7 总结 290

第11章 目标达成和横向移动 292

11.1 在被入侵的本地系统上活动 292

11.1.1 对被入侵的系统进行快速

侦察 293

11.1.2 寻找并获取敏感数据—掠夺

目标 294

11.1.3 后渗透工具 296

11.2 横向升级和横向移动 302

11.2.1 破坏域信任和共享 303

11.2.2 PsExec、WMIC和其他

工具 305

11.2.3 使用服务的横向移动 309

11.2.4 跳板和端口转发 310

11.3 总结 312

第12章 权限提升 313

12.1 常见权限提升方法 313

12.2 从域用户提升到系统管理员权限 314

12.3 本地权限提升 316

12.4 从管理员提升到系统级别权限 317

12.5 凭证收集和权限提升攻击 320

12.5.1 密码嗅探器 320

12.5.2 Responder 322

12.5.3 对基于TLS的LDAP进行中间

人攻击 324

12.6 活动目录中访问权限的提升 329

12.7 入侵Kerberos—黄金票据攻击 333

12.8 总结 338

第13章 命令与控制 339

13.1 持久化 339

13.2 使用持久化代理 340

13.2.1 使用Netcat作为持久化

代理 340

13.2.2 使用schtasks配置持久化

任务 343

13.2.3 使用Metasploit框架维护

持久化 345

13.2.4 使用Metasploit创建独立的

持久化代理 346

13.2.5 使用在线文件存储云服务进行

持久化 347

13.3 域前置 356

13.4 数据渗出 361

13.4.1 使用现有系统服务(Telnet、RDP和VNC) 361

13.4.2 使用ICMP 362

13.4.3 隐藏攻击的证据 363

13.5 总结 365

第14章 嵌入式设备与RFID攻击 366

14.1 嵌入式系统和硬件架构 366

14.2 固件解包和更新 369

14.3 RouterSploit框架概述 372

14.4 UART 375

14.5 使用ChameleonMini复制RFID 377

14.6 总结 382

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/959668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

排序算法的稳定性

稳定性:对于一个数,经过多次排序,保留一个数之间的相对次序 在基础类型数据上,稳定性用处不大 在非基础类型上,可以做到对于相同元素来说,排完序相同元素之间的相对次序不变 归并排序在merge的过程中先拷贝…

TL6478(TI TMS320C6748 DPS)EVM开发板技术讲座 第二讲:USB转串口驱动安装

在开展我们的TL 6748 DSP开发版开发之前,需要先安装usb转串口驱动,才能使得我们的电脑上查询到该设备,使用该设备。底板上存在UART1、UART2,将评估板的 UART2 RS232 调试串口通过 RS232 交叉串口母母线、USB 转 RS232 公头串口线连接至 PC 机的 USB 接口。1. 驱动下载 USB…

制作广告宣传片需要注意什么

广告宣传片可以通过生动的图像、音乐和文字来展示产品或服务的独特卖点,吸引潜在客户的注意力。它可以突出产品或服务的特点,使其在竞争激烈的市场中脱颖而出。在制作广告宣传片时,有几个关键要点需要注意,深圳广告宣传片制作公司…

Java 复习笔记 - 基础篇

文章目录 Java 跨平台原理高级语言的编译运行方式 Java JRE和JDKJava 注释(一)什么是注释?(二)注释的分类(三)注释的使用细节 Java 关键字(一)什么是关键字?&…

Android Activity 启动流程 二:setContentView

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、概览二、setContentView()三…

Docker切换文件系统为VFS

一、介绍 Docker支持AUFS、Btrfs、Device Mapper、OverlayFS、VFS、ZFS六种不同的存储驱动。 1. AUFS AUFS是一种常见的存储驱动程序,它也使用了Linux内核的AUFS文件系统。它的优点是支持所有的Linux发行版,可以在不同的容器之间共享文件系统&#xf…

重大工程建造云服务平台源码 SpringCloud+Vue

技术架构: 微服务JavaSpring Cloud VueUniApp MySql 开发语言:Java 开发工具:Idea 前端框架:Vue 后端框架:Spring Cloud 数 据 库:MySql 移 动 端:UniApp 系统端口:PC端&…

Vue2 集成 CodeMirror 实现公式编辑、块状文本编辑,TAG标签功能

效果图 安装codemirror依赖 本示例为Vue2项目&#xff0c;安装低版本的依赖 npm i codemirror5.65.12 npm i vue-codemirror4.0.6 实现 实现代码如下&#xff0c;里边涉及到的变量和函数自行替换即可&#xff0c;没有其他复杂逻辑。 <template><div class"p…

排盘程序算法探寻举例(陆先生八字)

算法实现&#xff1a; 1.庚生未月&#xff0c;燥土不能生金&#xff0c;日支申金为日主墙根&#xff0c;月干辛金比劫透出傍身&#xff0c;月干强。年干甲木自做寅木强根&#xff0c;又得月支乙木中气&#xff0c;甲木强旺有力&#xff0c;时干丙火七杀得未土余气&#xff0c;…

VMware Aria Operations SSH 身份验证绕过漏洞 (CVE-2023-34039)

zhi.oscs1024.com​​​​​ 漏洞类型身份验证不当发现时间2023-08-30漏洞等级严重MPS编号MPS-d9wr-56qmCVE编号CVE-2023-34039漏洞影响广度广 漏洞危害 OSCS 描述VMware Aria Operations for Networks 是 VMware 公司提供的一款网络可视性和分析工具&#xff0c;用于优化网络…

链表形式队列

&#x1f308;队列相关概念 1.储存了数据的节点从一端&#xff08;队尾&#xff09;进入队列&#xff08;入队尾插&#xff09;&#xff0c;从另一端&#xff08;队头&#xff09;出队列&#xff08;出队头删&#xff09;&#xff0c;先进先出。进行插入操作的一端称为队尾&am…

软件测试Day4|软件测试理论02

目录 6. 测试用例基础6.1 测试用例的定义6.2 测试用例要素6.3 测试用例设计和编写的作用 7. 黑盒测试用例设计方法7.1 用例设计方法分类7.2 测试数据选择7.2.1 等价类划分&#xff08;1&#xff09;等价类划分原理&#xff08;2&#xff09;确定等价类的原则&#xff08;3&…

群晖DS923+扩展ECC 64G内存

1 有必要上64G吗&#xff1f; 如果你不运行大型应用以及安装的套件不多&#xff0c;并且不使用虚拟机&#xff0c;确实没有太大必要。 但是大内存除了这些用处&#xff0c;还会被系统作为缓存使用。在资源监控中查看内存结构&#xff0c;虽然内存利用率只有4%&#xff0c;但缓存…

企业供应链数字化怎么做?企业数字化供应链流程落地方式

什么是供应链&#xff1f;简单来说&#xff0c;供应链是围绕客户需求&#xff0c;以提高产品流通各个环节的效率为目标&#xff0c;通过资源整合的方式来实现产品从设计、生产到销售、服务整个环节的组织形态。如同人工智能、区块链、5G等技术的发展带来的各种行业变化&#xf…

mov怎么改成mp4?跟我一起操作吧

mov怎么改成mp4&#xff1f;mov因为并不是一种常见的视频文件格式&#xff0c;因此大家对这种视频文件可能知道的并不多&#xff0c;但如果你是用的是苹果手机&#xff0c;那么你会发现苹果手机拍摄的视频转移到电脑上后就是mov格式的&#xff0c;因为mov格式的视频并没有受到大…

运算放大器典型应用(一)

这里写目录标题 一、反向比例运算电路怎么优化&#xff1f;平衡电阻的讨论 二、同向比例运算电路三、电压跟随器重要事项 四、加法运算电路反向加法同向加法 五、减法运算电路专用减法器 六、积分电路微分电路七、对数指数运算电路八、测量放大电路&#xff08;仪表放大电路&am…

低代码概念——初步认识低代码

随着数字化转型和软件需求的不断增长&#xff0c;传统的手写代码开发方式已经无法满足迅速推出应用程序的需求。为了加快软件开发的速度并降低技术门槛&#xff0c;低代码开发模式应运而生。 一、低代码的定义 低代码是一种软件开发方法&#xff0c;通过使用可视化编程工具和少…

webpack(三)loader

定义 loader用于对模块的源代码进行转换&#xff0c;在imporrt或加载模块时预处理文件 webpack做的事情&#xff0c;仅仅是分析出各种模块的依赖关系&#xff0c;然后形成资源列表&#xff0c;最终打包生成到指定文件中。 在webpack内部&#xff0c;任何文件都是模块&#x…

堆的 shift up(Java 实例代码)

目录 堆的 shift up Java 实例代码 src/runoob/heap/HeapShiftUp.java 文件代码&#xff1a; 堆的 shift up 本小节介绍如何向一个最大堆中添加元素&#xff0c;称为 shift up。 假设我们对下面的最大堆新加入一个元素52&#xff0c;放在数组的最后一位&#xff0c;52大于父…

蓝桥杯 2240. 买钢笔和铅笔的方案数c++解法

最近才回学校。在家学习的计划不翼而飞。但是回到学校了&#xff0c;还是没有找回状态。 现在是大三了&#xff0c;之前和同学聊天&#xff0c;说才大三无论是干什么&#xff0c;考研&#xff0c;找工作&#xff0c;考公&#xff0c;考证书 还都是来的及的。 但是心里面…