1. 2021.2 发布:为什么说这一版值得从旧版升上来
2021年5月底,KaliLinux 2021.2正式放出。很多老用户的第一个反应是"又来一波工具更新",但实际把旧环境升上去用了两周之后,我的感受是:这一版的变化远比新增工具列表要深。默认桌面从 Xfce 4.14 跳到 4.16,内核与无线驱动同步刷新,树莓派镜像也做了针对性优化。如果你平时主要用虚拟机,可能觉得只是壁纸变了;但如果你和我一样会拿实体笔记本、ARM 小板子做现场测试,这一版的底层改动是能明显感知到的。
这篇内容适合三类人:一直用 Kali 做日常安全评估的从业者、刚开始接触渗透测试想找个稳定环境的学生、以及手里有树莓派想搭便携检测设备的人。我会把升级过程里遇到的坑、新工具的实际表现、以及我自己的选型标准都写清楚,争取让你看完之后不用再花一个下午踩我踩过的坑。
1.1 第一直观感受:桌面更好用了
Kali 从 2020.1 开始就把 Xfce 设为默认桌面,这两年我用下来觉得这个决定是对的。安全测试工具大部分是命令行,桌面环境越轻越快越好,Xfce 比之前的 GNOME 3 省资源,虚拟机里流畅度提升明显。2021.2 把 Xfce 升到了 4.16 系列,变化主要在几个不容易一眼看到的细节:
- 新的通知系统,弹窗不再突兀,也不会遮挡终端上方区域
- 图标主题和 GTK 主题整体重做,高 DPI 缩放表现更好
- 窗口管理更跟手,拖拽、切换工作区时掉帧少了
- 默认终端模拟器针对多标签场景做了优化
这些升级单独拿出来都不算大新闻,但叠加在一起,日常操作手感会上一个档次。尤其是高 DPI 缩放,之前我在 4K 屏上开 Kali 虚拟机,界面字小到要贴屏幕看;4.16 修了一部分缩放问题,虽然不是完美解决,但至少不用再手动改一堆配置文件了。
1.2 内核与驱动层的升级:无线网卡才是关键
对做无线安全检测的人来说,桌面上加什么新功能都是次要的,最关心的是内核和驱动有没有跟上。2021.2 基于 Debian 的滚动更新,内核来到了 5.10 系列,这意味着两件事:
第一,对新硬件平台的支持更好了。比如近两年的笔记本网卡、蓝牙模块、显卡驱动,在 5.10 上基本都能正常识别。我手头有一台 2020 年买的 AMD 平台的笔记本,之前装旧版 Kali 需要手动折腾显卡驱动,升级到 2021.2 后开箱即用。
第二,无线网卡的兼容性有改善。做无线测试离不开外接 USB 网卡,老型号比如 Atheros 系列一向没问题,但一些较新的 802.11ac 网卡芯片在新内核下才被完整支持。如果你手里有吃灰的 USB 网卡,升级后插上去跑一下airmon-ng,说不定之前不识别的那张卡这次就认出来了。
1.3 ARM 设备支持:从"能跑"到"能用"
这一版对树莓派的支持明显用心了。官方针对 Raspberry Pi 4 的镜像做了专门优化,Pi 400 也能直接使用。实测下来,在树莓派 4 8GB 版本上跑 2021.2,系统启动速度和磁盘 I/O 都比旧版好,插上 USB 无线网卡做无线检测工具很顺。
为什么 ARM 设备对安全测试人员重要?因为便携。你不能每次去现场都抱着一台游戏本,但一个小板子加一块充电宝就能撑起基础的信息收集、无线检测和密码嗅探工作。2021.2 把 ARM 镜像做得更稳,等于给"现场快速部署"这个场景补上了重要一块拼图。
1.4 细节层面:壁纸、主题与开箱体验
每个版本 Kali 都会换壁纸,2021.2 的默认壁纸走的是暗色几何风,不抢眼但耐看。真正值得提的是两件小事:一是安装器流程更顺了,全盘加密安装时对新手更友好;二是默认账户kali的权限设计、sudo 配置等保持了之前版本的简洁风格,没有为了"安全"把日常操作搞复杂。
还有一个容易忽略的点:2021.2 的 live 镜像对持久化存储的支持更稳定。把系统启动进 live 模式,再配合一个持久化分区,可以做出"插上 U 盘就是一套完整测试环境"的效果。我有一条常备 U 盘就是这种配置,走到哪插到哪,不用担心把宿主机的系统弄脏。
2. 新增工具大盘点:哪些进入了我的日常工作流
Kali 每个版本都会新增一批工具,但"收录"和"值得用"是两回事。我习惯的做法是:先看工具列表,再逐个翻文档,确认它和现有工具链的定位差异,最后才决定要不要装。下面这份盘点是我在 2021.2 里实际用过、并且现在还在用的工具,按场景分类整理。
2.1 先看一张总表
| 工具 | 所属方向 | 核心用途 | 是否值得日常使用 |
|---|---|---|---|
| Dirsearch | Web 路径扫描 | 发现站点目录与备份文件 | 值得,速度快 |
| Feroxbuster | Web 内容发现 | 递归目录爆破,Rust 编写 | 值得,性能强 |
| Naabu | 端口扫描 | 快速发现开放端口 | 值得,适合资产测绘 |
| Sublist3r | 子域名枚举 | 收集目标子域名 | 值得,信息收集必用 |
| Photon | Web 爬虫 | 提取页面中的 URL、文件、密钥 | 看场景 |
| Hijacker | 无线管理 | 无线攻击自动化界面 | 实验室可用 |
| Crackle | 蓝牙低功耗 | 检测 BLE 通信加密弱点 | 看场景 |
| RouterSploit | 嵌入式设备 | 路由器/物联网设备漏洞探测 | 值得,测路由器用 |
| Quark | 移动安全 | APK 静态分析 | 值得,安卓测试友好 |
| VNCrack | 口令检测 | VNC 服务口令强度验证 | 授权测试可用 |
这张表里我特意没列"装了但从来没打开过"的工具,只列真正干过活的。下面展开讲几个代表性工具,包括命令示例和我的实测感受。
2.2 Web 资产信息收集:Dirsearch、Feroxbuster、Naabu、Sublist3r
Dirsearch是老牌 Web 路径扫描器,Python 写的,依赖少,跑起来稳定。它的核心能力就是根据字典爆破网站的目录结构。2021.2 自带的版本支持--exclude-status排除特定状态码、支持从文件读字典、也支持自定义请求头。常用命令大概是这样:
dirsearch -u http://target.example -w /usr/share/wordlists/dirb/common.txt --exclude-status=404,403Feroxbuster是这批新工具里我最喜欢的。Rust 写的,性能比同类工具高一大截,而且内置了智能递归:扫到一个目录后会自动往下钻,不用你手动一层层跑。它还支持通过--extensions参数自动追加常见扩展名,比如.php、.bak、.txt,这对发现备份文件很有效。
feroxbuster -u http://target.example -w /usr/share/wordlists/seclists/Discovery/Web-Content/raft-medium-directories.txt -x php,txt,bak --depth 3Naabu是从资产测绘视角设计的快速端口扫描器,它的特点是"快"。默认只扫 Top 1000 端口,几秒钟就能给出一份开放端口清单,适合在信息收集阶段快速圈定攻击面。之后再用 Nmap 做深度扫描,两者配合效率远高于直接用 Nmap 全端口跑。
naabu -host target.example -top-ports 1000 -o open_ports.txtSublist3r是子域名枚举工具,主要利用搜索引擎和证书透明度日志来收集子域名。注意一点:它的-d参数后只写域名主体,不要带www前缀。
sublist3r -d target.example -o subdomains.txt这些工具本身不复杂,但你组合使用时能明显提升前期信息收集的效率。我的习惯是:Naabu 先扫端口,Sublist3r 收集子域名,Feroxbuster 对主站做目录递归扫描,Dirsearch 作为补充再扫一轮常见敏感路径。
Photon是一个爬虫工具,能帮你在目标站点里提取链接、文件地址、甚至 JS 里的 API 端点和密钥。它不适合单打独斗,但配合信息收集流程做数据整合很好用。我通常在拿到目标授权后,用它快速梳理一个站点的所有 URL 关联关系。
2.3 无线与嵌入式设备检测:Hijacker、Crackle、RouterSploit
Hijacker我之前在树莓派上装过手动版,2021.2 直接收录了,省事不少。它本质是一个操作界面,把 Aircrack-ng 那套命令行流程封装成可视化操作,配合触摸屏可以在现场完成无线网络的扫描、抓包和信号检测。注意,它依赖外置无线网卡,树莓派自带网卡不支持监听模式。如果你没有专门的无线网卡,装了这个工具也只能看看界面。
# 安装后先确认无线网卡是否支持 sudo airmon-ngCrackle面向蓝牙低功耗(BLE)设备,专门检测 BLE 通信链路中的漏洞。智能手环、蓝牙锁、部分物联网传感器都使用 BLE 通信,这类设备的安全测试在物联网评估中越来越常见。Crackle 的用法不是简单一条命令,它会要求你先抓取 BLE 通信包,再分析配对过程,所以实际操作门槛不低。如果你是第一次接触,建议先用实验室环境里的 BLE 开发板跑通全流程,再去评估真实设备。
RouterSploit是路由器和物联网设备的漏洞利用框架,内置了大量常见嵌入式设备的漏洞检测模块。它的命令风格和 Metasploit 类似,上手成本不高。
routersploit # 进入交互界面后 use scanners/router_scan set TARGET 192.168.1.1 run这里要提醒一句:家用路由器不是你自己的设备时,不要随便扫。RouterSploit 只应在自己拥有或获得书面授权的设备上使用,我用它最多的地方是给客户做设备安全评估,以及测试家里的旧路由器固件。
2.4 移动应用与口令安全:Quark、VNCrack
Quark是安卓 APK 静态分析工具,可以一键检测权限、危险调用和已知的检测规则。相比之前手动反编译 APK 再查敏感 API 的方式,Quark 自动化程度高很多,适合在移动应用安全评估里做第一轮快速筛选。
quark -a path/to/app.apk -o result.jsonVNCrack是 VNC 服务的口令强度检测工具。很多老旧设备开了 VNC 远程桌面但口令很弱,VNCrack 就是在获得授权后验证这些口令是否存在明显弱点。这类工具我在内部合规测试里的定位很明确:不是用来"进别人系统",而是用来证明"这个系统需要改口令"。
3. 从 2021.1 及更早版本升上来:三种路径实测对比
升级 Kali 不难,难的是别把自己的配置搞丢、别在升级过程中把系统搞坏。我这次升级总共走了三条不同的路径,分别对应不同需求,这里直接对比给大家参考。
3.1 路径 A:全新安装 ISO
全新安装适合两类情况:一是旧环境已经乱到不想收拾,二是需要一台干净设备给客户演示。
操作流程并不复杂:到官网下载 2021.2 的 ISO 镜像,建议先做一次 SHA256 校验,避免下载到损坏文件。然后用dd命令写入 U 盘:
sudo dd if=kali-linux-2021.2-installer-amd64.iso of=/dev/sdX bs=4M status=progress写入完成后,用 U 盘启动进入安装界面。这里我强烈建议勾选全盘加密,虽然每次开机要多输一次密码,但做测试的人手里经常有敏感数据,全盘加密能省掉很多麻烦。安装过程大约十五分钟,装完第一件事是更新系统:
sudo apt update && sudo apt full-upgrade -y全新安装最干净,但代价是你要重新配置所有环境。如果你之前存了~/.bashrc、~/.zshrc、工具导出配置,记得提前备份。
3.2 路径 B:滚动升级(apt full-upgrade)
如果你只是在旧版本基础上小版本升级,完全不用重装。Kali 是滚动发布模型,只要软件源配置正确,一条命令就能升到最新:
sudo apt update && sudo apt full-upgrade -y sudo apt autoremove -y sudo reboot注意这里一定要用full-upgrade而不是upgrade。因为跨版本升级时会有依赖变更,upgrade不会安装新依赖,容易留下残缺包。我见过好几个朋友直接用apt upgrade升 Kali,升完一堆工具报"缺依赖"错误,其实就是这个原因。
升级过程中系统可能会提示配置文件冲突,比如你以前改过某个守护进程的配置,更新包想覆盖它。处理原则是:看不懂就先保留旧配置(按 N),等确认新版本行为后再手动合并。
升级完成后检查一下内核版本:
uname -r如果还是旧内核,在 GRUB 菜单里选择新内核重启一次就行。
3.3 路径 C:容器内体验
如果你只是想在新版本里测试某个工具是否满足需求,不想动当前环境,可以直接用容器。Kali 官方维护的镜像可以在 Docker 里直接跑:
docker run -it kalilinux/kali-rolling /bin/bash apt update && apt install kali-linux-headless -y这个路径不适合跑需要无线网卡、需要 GUI 的工具,但做纯命令行工具测试、写脚本验证场景足够了。我的习惯是:不确定某个新工具是否好用,先丢到容器里跑两天,确认值得用再装进主力环境。这样做的好处是,不会因为装了一堆工具就把系统依赖搞得乱七八糟。
3.4 升级后的环境校验清单与常见坑
升级完别急着开工,先花三分钟做一个快速体检:
- 检查系统版本:
cat /etc/os-release - 检查内核版本:
uname -r - 检查工具列表是否有缺漏:
ls /usr/share/kali-tools/或直接跑一次kali-tools-top10相关命令 - 检查网卡状态:
iwconfig、airmon-ng - 检查虚拟化增强功能是否失效(VMware 或 VirtualBox 的共享文件夹、剪贴板同步)
我在升级时踩过一个大坑:旧环境里装过第三方工具源,升级后 apt 依赖冲突,整个系统的包管理直接卡住。排查下来是第三方源写进了/etc/apt/sources.list.d/,和 Kali 官方源冲突。解决方法是把多余的第三方源注释掉,只保留官方源,再做一次full-upgrade。
所以升级前备份/etc/apt/目录、备份~/下的配置文件,这是一个能救命的习惯。
4. 新工具落地的选型原则与使用边界
新增工具多不代表都要装。我用 Kali 这些年最大的体会是:工具链的核心是"顺手"而不是"齐全"。下面聊几个自己的经验。
4.1 工具多不等于效率高:我的过滤标准
每次新版本发布,我会从三个维度判断一个新工具值不值得进入日常工作流:
第一,看它与现有工具的差异化程度。比如 Feroxbuster 和 Dirsearch 功能上有重叠,但 Feroxbuster 的递归能力和性能明显更强,两者可以形成互补:一个跑深递归,一个跑特定字典补充。如果只是重复造轮子,我一般不装。
第二,看维护活跃度。安全工具跟不上时代就是废铁。拿 2021.2 里几个新增工具来说,Feroxbuster、Naabu 都是社区维护很活跃的项目,文档更新及时,遇到问题网上能找到答案。
第三,看依赖复杂度。有些工具装的时候要拖一堆库,装完还可能破坏现有环境。除非它不可替代,否则我不接受。比如之前一个工具依赖旧版 Python,装完直接把我虚拟环境搞坏了,后来再没碰过。
拿这套标准来筛 2021.2 的新工具,真正值得长期用的名单会缩到一半左右。这不是说其他工具没用,而是它们更适合特定场景,比如 Crackle 有专门需求时再装也不迟。
4.2 自动化与报告产出:让新工具真正"可用"
工具跑完输出一堆终端文本,对实际工作没有价值;真正有用的输出是结构化的报告。以信息收集为例,我通常会把流程串起来:
naabu -host target.example -top-ports 1000 -o ports.txt sublist3r -d target.example -o subs.txt feroxbuster -u http://target.example -w /usr/share/wordlists/seclists/Discovery/Web-Content/raft-medium-directories.txt -o dirs.json三个工具的结果汇总之后,再统一转成表格或 HTML 报告。这样一次测试下来,交付给客户的不是散乱的文本,而是一份看得懂的资产画像。Kali 2021.2 里的这些新工具大部分都支持-o指定输出格式,有的支持 JSON,有的支持 CSV,拿到结果后用脚本转成统一模板,效率提升很明显。
如果你经常做重复性收集工作,建议给常用命令配置 shell 别名。比如把最常用的 Naabu 命令保存为别名,每次少敲一长串参数:
alias portscan='naabu -host $1 -top-ports 1000 -o'4.3 授权边界:所有检测都必须在可控范围内
这一条我必须说得很重。千万别因为工具装得齐全就到处乱扫。你手里的 Dirsearch、Naabu、RouterSploit,本质上和撬棍、螺丝刀没有区别——工具本身是中性的,但使用场景决定了是否越界。
我自己的执行标准是三条:
- 目标必须是自己拥有、或在项目中拿到明确书面的授权
- 测试范围和深度严格按照授权书执行,不越界扩展
- 所有敏感数据只在加密环境中处理,测试结束及时清理
在内部做合规测试时,我会先输出一份测试计划,写清楚扫描范围、使用工具、风险等级,等确认完再动手。这既是对自己的保护,也是对客户的尊重。
另外一个容易被忽略的点:在虚拟机、Docker 或者树莓派上练手,和实际测试是两回事。如果你刚接触 Kali,最稳妥的练习方式是本地搭靶机环境。自己搭一套漏洞靶机,用 2021.2 里的新工具反复练,比任何文档都有用。工具的使用能力是在靶机上磨出来的,不是装上就会的。
最后分享一个小习惯:每次装完一批新工具,我会在笔记里记下它们的用途、常用参数和输出格式,隔一段时间还会更新一遍。几个月后再回头看,哪些工具真正常用、哪些应该卸载,一目了然。这套习惯帮我避免了很多"装了不用、找的时候想不起来"的低效情况,也算是我用 Kali 这么多年沉淀下来的一个小经验。