Kali Linux:网络与安全专家的终极武器
Kali Linux,对于许多网络和安全专业人士来说,这是一个无人不知、无人不晓的名字。它是专为网络和安全测试、渗透测试以及数字取证等任务而设计的强大操作系统。本篇文章将深入介绍Kali Linux的特点、优势以及如何使用它来进行各种安全任务。
Kali Linux 是一款基于 Debian 的发行版,这意味着它拥有强大的社区支持和丰富的软件资源。它被设计为具有快速、轻量级的特性,特别适合在虚拟机和闪存驱动器上运行。Kali Linux 的目标是成为网络和安全专业人士的首选工具,它提供了广泛的网络安全工具和技术,帮助用户在各种环境中发现和防御漏洞。
使用 Kali Linux 进行安全任务可以包括以下步骤:
本书面向安全分析师、渗透测试人员、IT专家、网络安全顾问等。
本书介绍了如何使用 Kali Linux 对计算机网络、系统以及应用程序进行渗透测试。渗透测试是指模拟恶意的外部人员、内部人员对企业的网络或系统进行攻击。与漏洞评估不同,渗透测试中还包括对漏洞的利用。因此,它验证了漏洞是存在的,如果不采取补救措施,企业的系统就有被破坏的风险。
本书将带你完成渗透测试之旅:使用 Kali Linux 中的有效实践去测试新的网络防御措施。其中既包括如何选择有效的工具,又包括如何躲避检测技术以达到快速入侵目标网络的目的。
如果你是一名渗透测试人员、IT 专家或网络安全顾问,希望利用 Kali Linux 的一些高级功能大限度地提高网络安全测试的成功率,那么这本书就是为你准备的。如果你以前接触过渗透测试的基础知识,将有助于你理解本书内容。
本书将通过分析黑客采用的攻击战术来提升测试者的渗透测试技能:通过实验室集成到云服务,从而了解在渗透测试中通常被忽略的一个开发维度;探索在虚拟机和容器化环境中安装和运行Kali Linux的不同方法,以及使用容器在AWS上部署易受攻击的云服务,利用配置错误的S3桶来访问EC2实例;深入研究被动和主动侦察,从获取用户信息到大规模端口扫描,在此基础上,探索了不同的脆弱性评估,包括威胁建模;讲述了如何在受损系统上使用横向移动、特权升级以及命令与控制(C2);探索在互联网、物联网、嵌入式外围设备和无线通信中使用的高级渗透测试方法。
维杰·库马尔·维卢(Vijay Kumar Velu),资深信息安全从业者、作者、演讲人和博主。V0ay目前是马来西亚Big4的副总监之一,拥有超过11年的IT行业经验,专门为各种网络安全问题提供技术解决方案,包括简单的安全配置审查、网络威胁情报,以及事件响应等。
目 录 译者序 前言 关于作者 关于技术审校 第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 隐藏可执行文件和混