在网络安全领域,Kali Linux 是渗透测试人员和安全研究员最常用的操作系统。它基于 Debian 构建,预装了超过 600 个安全工具,涵盖信息收集、漏洞分析、漏洞利用、密码攻击、无线攻击、逆向工程等各个环节。本文将从零开始,带你完成 Kali Linux 的环境搭建,了解核心工具链,并部署实战靶场环境,为后续的渗透测试学习打下坚实基础。
Kali Linux 简介
Kali Linux 由 Offensive Security 团队维护,前身是 BackTrack Linux。它的特点包括:
- 开源免费:基于 Debian,完全开源
- 工具齐全:预装 600+ 安全工具,覆盖渗透测试全流程
- 持续更新:采用滚动更新模式,工具和内核保持最新
- 多平台支持:支持 x86、ARM、VM、WSL、Docker 等多种部署方式
- 定制灵活:支持自定义 ISO 构建,满足不同场景需求
官方下载地址:https://www.kali.org/get-kali/
安装方式一:VMware / VirtualBox 虚拟机
虚拟机是最推荐的方式,隔离性好,快照方便回滚。
下载预构建虚拟机镜像
Kali 官方提供 VMware 和 VirtualBox 预构建镜像,免去手动安装过程:
# 下载完成后,VMware 直接打开 .vmx 文件
# VirtualBox 导入 .ova 文件
# 默认账户
# 用户名: kali
# 密码: kali
VMware 安装配置建议
# 推荐配置
# CPU: 2核以上
# 内存: 4GB以上(推荐8GB)
# 硬盘: 80GB以上
# 网络: NAT模式(初学推荐)或桥接模式
# 安装 VMware Tools(增强显示和共享文件夹)
sudo apt update
sudo apt install -y open-vm-tools-desktop
sudo reboot
手动 ISO 安装
如需更多定制,可下载 ISO 镜像手动安装:
# 下载 Kali Linux ISO(约4GB)
# https://www.kali.org/get-kali/#kali-installer-images
# 创建虚拟机时选择 Debian 64-bit
# 引导 ISO 后选择 Graphical Install
# 分区建议:使用整个磁盘,LVM方案
# 桌面环境推荐:Xfce(轻量)或 GNOME(功能丰富)
安装方式二:WSL(Windows Subsystem for Linux)
Windows 用户可以通过 WSL 快速体验 Kali Linux:
# 在 PowerShell(管理员)中执行
wsl --install -d kali-linux
# 安装完成后启动 Kali
wsl -d kali-linux
# 安装完整工具集(注意:体积较大,约15GB)
sudo apt update
sudo apt install -y kali-linux-large
# 如果只需要核心工具
sudo apt install -y kali-linux-default
# 安装 Win-KeX(Kali桌面体验)
sudo apt install -y kali-win-kex
# 启动带GUI的Kali桌面
kex --win -s
WSL 方式适合日常学习和工具使用,但部分功能(如无线网卡、底层网络操作)受限。
系统初始配置
更换国内软件源
默认源在国内访问较慢,建议更换为国内镜像:
# 备份原始源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 替换为中科大源
sudo tee /etc/apt/sources.list << 'EOF'
deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib
deb-src https://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib
EOF
# 也可选择阿里云源
# deb https://mirrors.aliyun.com/kali kali-rolling main non-free non-free-firmware contrib
# 更新软件包索引
sudo apt update
# 全面升级系统
sudo apt full-upgrade -y
# 清理无用包
sudo apt autoremove -y && sudo apt clean
中文环境配置
# 安装中文字体和输入法
sudo apt install -y fonts-wqy-zenhei fonts-wqy-microhei fcitx5 fcitx5-chinese-addons
# 配置中文 locale
sudo dpkg-reconfigure locales
# 选择 zh_CN.UTF-8
# 设置默认语言(可选,如果希望系统界面为中文)
sudo update-locale LANG=zh_CN.UTF-8
# 重启生效
sudo reboot
基础配置优化
# 安装常用工具
sudo apt install -y vim git curl wget tmux net-tools tree
# 配置 SSH 服务(便于远程连接)
sudo systemctl enable ssh
sudo systemctl start ssh
# 查看本机 IP
ip addr show
# 配置终端别名(提升效率)
cat >> ~/.zshrc << 'EOF'
alias ll='ls -alh'
alias ports='netstat -tulnp'
alias myip='curl -s ifconfig.me'
alias update='sudo apt update && sudo apt full-upgrade -y'
EOF
source ~/.zshrc
渗透测试工具分类概览
Kali Linux 的工具按照渗透测试流程进行分类,主要包括以下几大类别:
1. 信息收集(Information Gathering)
信息收集是渗透测试的第一步,目标是尽可能多地了解目标系统。
| 工具 | 用途 | 典型命令 |
|---|---|---|
| Nmap | 端口扫描与服务识别 | nmap -sV -sC target |
| Recon-ng | OSINT 框架 | recon-ng |
| theHarvester | 邮箱和子域名收集 | theHarvester -d target.com -b google |
| Maltego | 可视化信息关联分析 | GUI工具 |
| DNSenum | DNS 枚举 | dnsenum target.com |
2. 漏洞扫描(Vulnerability Analysis)
| 工具 | 用途 | 典型命令 |
|---|---|---|
| Nikto | Web 服务器漏洞扫描 | nikto -h http://target |
| OpenVAS | 综合漏洞评估 | Web管理界面 |
| WPScan | WordPress 漏洞扫描 | wpscan --url http://target |
| SQLmap | SQL 注入自动化 | sqlmap -u "http://target?id=1" |
3. 漏洞利用(Exploitation)
| 工具 | 用途 |
|---|---|
| Metasploit Framework | 综合渗透测试框架 |
| SearchSploit | 离线漏洞利用代码搜索 |
| BeEF | 浏览器漏洞利用框架 |
4. 密码攻击(Password Attacks)
| 工具 | 用途 | 典型命令 |
|---|---|---|
| John the Ripper | 离线密码破解 | john --wordlist=rockyou.txt hash.txt |
| Hydra | 在线暴力破解 | hydra -l admin -P pass.txt ssh://target |
| Hashcat | GPU 加速密码破解 | hashcat -m 0 hash.txt rockyou.txt |
5. 无线攻击(Wireless Attacks)
| 工具 | 用途 |
|---|---|
| Aircrack-ng | Wi-Fi 密码破解套件 |
| Wifite | 自动化无线攻击 |
| Fern WiFi Cracker | GUI 无线破解工具 |
6. 逆向工程(Reverse Engineering)
| 工具 | 用途 |
|---|---|
| Ghidra | NSA 开源逆向分析框架 |
| Radare2 | 命令行逆向工具 |
| GDB | 调试器 |
核心工具快速上手
Nmap — 网络扫描之王
# 快速扫描目标主机开放端口
nmap -sS -T4 192.168.1.100
# 全面扫描:版本探测 + 脚本扫描 + OS识别
nmap -sV -sC -O -A 192.168.1.100
# 扫描整个子网
nmap -sn 192.168.1.0/24
# 扫描特定端口范围
nmap -p 1-1000 192.168.1.100
# 使用 NSE 脚本检测漏洞
nmap --script vuln 192.168.1.100
Metasploit — 渗透测试框架
# 启动 Metasploit
msfconsole
# 搜索漏洞利用模块
msf6 > search eternalblue
# 使用模块
msf6 > use exploit/windows/smb/ms17_010_eternalblue
# 查看需要配置的参数
msf6 exploit(ms17_010_eternalblue) > show options
# 设置目标 IP
msf6 exploit(ms17_010_eternalblue) > set RHOSTS 192.168.1.100
# 执行攻击
msf6 exploit(ms17_010_eternalblue) > exploit
Burp Suite — Web 渗透利器
# Kali 中启动 Burp Suite
burpsuite
# 配置浏览器代理:127.0.0.1:8080
# 导入 Burp CA 证书以拦截 HTTPS 流量
# 核心功能:
# - Proxy: 拦截和修改HTTP请求
# - Repeater: 重放和修改请求
# - Intruder: 自动化攻击(暴力破解、模糊测试)
# - Scanner: 自动漏洞扫描(Pro版)
Wireshark — 网络流量分析
# 命令行方式捕获流量
sudo tshark -i eth0 -w capture.pcap
# 过滤特定协议
sudo tshark -i eth0 -f "tcp port 80"
# GUI 方式启动
wireshark
# 常用显示过滤器
# http.request.method == "POST"
# tcp.port == 443
# ip.addr == 192.168.1.100
# dns.qry.name contains "example"
靶场环境搭建
实战靶场是练习渗透测试的最佳方式,以下介绍几个常用靶场的部署方法。
DVWA(Damn Vulnerable Web Application)
DVWA 是最经典的 Web 漏洞练习平台,包含 SQL 注入、XSS、文件上传、命令注入等漏洞模块。
# 方式一:Docker 部署(推荐)
# 安装 Docker
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker
sudo systemctl start docker
# 拉取并运行 DVWA
sudo docker run -d -p 80:80 --name dvwa vulnerables/web-dvwa
# 访问 http://localhost
# 默认账户: admin / password
# 首次需要点击 "Create / Reset Database"
# 方式二:手动部署
sudo apt install -y apache2 mariadb-server php php-mysql php-gd
cd /var/www/html
sudo git clone https://github.com/digininja/DVWA.git
sudo cp DVWA/config/config.inc.php.dist DVWA/config/config.inc.php
sudo chown -R www-data:www-data DVWA/
sudo systemctl restart apache2
Metasploitable2
# 下载 Metasploitable2 虚拟机镜像
# https://sourceforge.net/projects/metasploitable/
# 在 VMware/VirtualBox 中导入
# 网络设置为 Host-Only 或同一 NAT 网段
# 默认账户: msfadmin / msfadmin
# 确认靶机IP
# 登录后执行 ifconfig
VulnHub 靶机
# VulnHub 提供大量渗透测试靶机
# 下载地址:https://www.vulnhub.com/
# 下载 .ova 文件后在 VirtualBox 中导入
# 推荐入门靶机:
# - Kioptrix Level 1
# - Mr-Robot
# - DC Series (DC-1 到 DC-9)
# - HackLAB: Vulnix
Hack The Box
# 注册账号:https://www.hackthebox.com/
# 下载 VPN 配置文件
# 连接 HTB VPN
sudo openvpn lab_yourname.ovpn
# 验证连接
ip addr show tun0
ping 10.10.10.x
安全建议与学习路线
- 合法授权:所有渗透测试必须在获得明确授权的环境中进行,未经授权的攻击是违法行为
- 隔离环境:靶场建议使用 Host-Only 网络或独立的虚拟网络,避免影响生产环境
- 定期快照:在虚拟机中养成打快照的习惯,方便回滚和重复练习
- 系统学习路径:信息收集 → 漏洞扫描 → 漏洞利用 → 后渗透 → 报告编写
- 工具与原理并重:不仅要会用工具,更要理解背后的原理和协议
总结
本文完成了 Kali Linux 渗透测试环境的完整搭建,包括虚拟机安装、WSL 部署、系统配置优化,以及渗透测试工具链的全面概览。我们还部署了 DVWA、Metasploitable2 等实战靶场环境。Kali Linux 是渗透测试的起点,掌握好工具环境是后续深入学习的基础。在接下来的文章中,我们将逐步深入每个渗透测试阶段,从信息收集开始,一步步完成完整的渗透测试流程。记住,技术是一把双刃剑,请始终在合法授权的范围内使用这些工具和技术。