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

这里写目录标题

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

前言

对于企业网络安全建设工作的质量保障,业界普遍遵循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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

实现无公网IP环境下远程访问本地Jupyter Notebook服务的方法及端口映射

文章目录 前言1. Python环境安装2. Jupyter 安装3. 启动Jupyter Notebook4. 远程访问4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5. 固定公网地址 前言 Jupyter Notebook,它是一个交互式的数据科学和计算环境,支持多种编程语言,如…

哈希表与有序表

哈希表与有序表 Set结构 key Map结构 key-value 哈希表 哈希表的时间复杂度都是常数项级别的,但常数较大 增删改查的时间都是常数级别的,与数据量无关 当哈希表存储的值是基础数据类型(Integer - int),哈希表中内…

Sharding-JDBC分库分表四种分片算法

1. 精确分片算法 精确分片算法(PreciseShardingAlgorithm)精确分片算法(与IN语句),用于处理使用单一键作为分片键的与IN进行分片的场景。需要配合StandardShardingStrategy使用 2. 范围分片算法 范围分片算法&#…

达梦8 在CentOS 系统下静默安装

确认系统参数 [rootlocalhost ~]# ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited【1048576(即 1GB)以上或 unlimited】 scheduling priority (-e) 0 file size (blocks, -f) unlimite…

面试十分钟不到就被赶出来了,问的实在是太变态了...

干了两年外包,本来想出来正儿八经找个互联网公司上班,没想到算法死在另一家厂子。 自从加入这家外包公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到11月一纸通知,所有人不许加班,薪资…

ubuntu18.04.6的安装教程

目录 一、下载并安装virtualbox virtualbox7.0.8版本的安装 二、Ubuntu的下载与安装 ubuntu18.04.6操作系统 下载 安装 一、下载并安装virtualbox VirtualBox是功能强大的x86和AMD64/Intel64虚拟化企业和家庭使用的产品。VirtualBox不仅是面向企业客户的功能极其丰富的高…

解读bl616的startup.S文件

startup.S是bl616的启动文件,以汇编格式存在。这就导致对需要看懂此文件的人要level高一些了,再加上汇编竟然是risc-v的,而不是arm的,导致本人还要恶补一下risc-v的汇编指令和risc-v的寄存器。 这里推荐一下比较的介绍risc-v架构…

神经网络与卷积神经网络

全连接神经网络 概念及应用场景 全连接神经网络是一种深度学习模型,也被称为多层感知机(MLP)。它由多个神经元组成的层级结构,每个神经元都与前一层的所有神经元相连,它们之间的连接权重是可训练的。每个神经元都计算…

终端登录github两种方式

第一种方式 添加token,Setting->Developer Setting 第二种方式SSH 用下面命令查看远程仓库格式 git remote -v 用下面命令更改远程仓库格式 git remote set-url origin gitgithub.com:用户名/仓库名.git 然后用下面命令生成新的SSH秘钥 ssh-keygen -t ed2…

JVM笔记

一、内存结构 1.程序计数器 概念: 记住下一条jvm指令的执行地址(通过寄存器实现)。 JAVA的执行流程是这样的:JAVA语言首先被编译为字节码(.class)语言,字节码不能被计算机识别,所以还会由JVM中的解释器解释…

MybatisPlus-Generator

文章目录 一、前言二、MybatisPlus代码生成器1、引入依赖2、编写生成代码3、配置说明3.1、全局配置(GlobalConfig)3.2、包配置(PackageConfig)3.3、模板配置(TemplateConfig)3.4、策略配置(StrategyConfig)3.4.1、Entity 策略配置3.4.2、Controller 策略配置3.4.3、Service 策略…

[LeetCode周赛复盘] 第 360 场周赛20230827

[LeetCode周赛复盘] 第 360 场周赛20230827 一、本周周赛总结2833. 距离原点最远的点1. 题目描述2. 思路分析3. 代码实现 2834. 找出美丽数组的最小和2. 思路分析3. 代码实现 2835. 使子序列的和等于目标的最少操作次数1. 题目描述2. 思路分析3. 代码实现 2836. 在传球游戏中最…

Linux-crontab使用问题解决

添加定时进程 终端输入: crontab -e选择文本编辑方式,写入要运行的脚本,以及时间要求。 注意,如果有多个运行指令分两种情况: 1.多个运行指令之间没有耦合关系,分别独立,则可以直接分为两个…

云原生架构:在云环境中构建弹性应用

随着云计算技术的快速发展,云原生架构已经成为现代软件开发的热门话题。作为一种在云环境中构建和运行应用程序的方法论,云原生架构强调弹性、可扩展性和灵活性,使开发者能够更好地应对复杂的业务需求。本文将深入探讨云原生架构的核心概念、…

SSM学习内容总结(Spring+SpringMVC+MyBatis)

目录 1、什么是SSM2、学习内容汇总2.1、Spring2.2、SpringMVC2.3、MyBatis2.4、SSM整合 🍃作者介绍:准大三本科网络工程专业在读,持续学习Java,努力输出优质文章 🍁作者主页:逐梦苍穹 👀近期目标…

2023-08-31 LeetCode每日一题(一个图中连通三元组的最小度数)

2023-08-31每日一题 一、题目编号 1761. 一个图中连通三元组的最小度数二、题目链接 点击跳转到题目位置 三、题目描述 给你一个无向图,整数 n 表示图中节点的数目,edges 数组表示图中的边,其中 edges[i] [ui, vi] ,表示 ui…

webpack(三)loader

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

基于JAVA SpringBoot和HTML婴幼儿商品商城设计

摘要 随着网络技术的发展与普遍,人们的生活发生了日新月异的变化,特别是计算机的应用已经普及到经济和社会的各个领域.为了让消费者网上购物过程变得简单,方便,安全,快捷,网上商城购物成了一种新型而热门的购物方式。网上商城在商品销售的发展中占据了重要的地位,已成为商家展示…

0基础学习VR全景平台篇 第93篇:智慧景区教程

一、上传素材 1.上传全景素材 第一步:进入【素材管理】 第二步:选择【全景图智慧景区】分类 第三步:选择相对景区作品分组,上传全景素材 2.素材标注 第一步:选择上传成功后素材,点击【未标注】 第二步&…

Elasticsearch:为什么从 Elasticsearch 7.0.0 及更高版本中删除了映射类型 type?

在 Elasticsearch 7.0.0 或更高版本中创建的索引不再接受 _default_ 映射。 在 6.x 中创建的索引将继续在 Elasticsearch 6.x 中像以前一样运行。 7.0 中的 API 中已弃用类型 type,并对索引创建、放置映射、获取映射、放置模板、获取模板和获取字段映射 API 进行了重…