尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Kali Linux零基础快速入门:从虚拟机安装到渗透测试实战指南

Kali Linux零基础快速入门:从虚拟机安装到渗透测试实战指南 很多朋友看到Kali Linux的第一反应是“黑客系统”“渗透神器”第二反应就是“装都装不明白”“满屏英文看不懂”“工具找不着”。标题这句话我自己说过也听不少同行说过——学习Kali Linux最快的方式还真不是抱着那本一千多页的《Kali Linux渗透测试》从头啃而是先把环境跑起来、把基础操作摸熟、把工具链捋顺然后带着问题去查、去用、去理解。这篇内容我就根据自己这些年折腾Kali、给团队带新人、帮网友排查问题的经验把从下载安装到日常使用再到进入渗透测试实战的一条完整快路给你串起来。不堆废话每个环节都给你能直接照做的步骤顺便把我踩过的坑、跳过的弯路也一并讲清楚。适合完全没接触过Linux的小白也适合想快速建立起Kali使用体系的初学者。1. 装Kali之前先想清楚这三件事1.1 你到底需不需要Kali还是只需要它的工具这是很多人绕过的第一个大坑。Kali Linux本质上是基于Debian的Linux发行版它和Ubuntu、CentOS最大的区别不是系统本身有多高端而是它预装了六百多个用于网络安全测试、数字取证、逆向工程的专业工具。换句话说Kali就是一个“自带兵器库的Linux”。但要注意这套兵器库里的很多东西你日常可能根本用不上。如果你只是临时想用某个工具做测试比如用nmap扫一下自家网络的开放端口其实完全没必要专门装一个Kali系统——在Ubuntu上sudo apt install nmap装一下就行。Kali的价值在于“开箱即用的工具全集成”和“渗透测试场景下的系统性”如果你打算长期学习渗透测试相关技能或者工作中确实需要一套现成的测试环境那装Kali是合理的。先把这个逻辑想清楚了后面就不会觉得“装了Kali又不会用纯属瞎折腾”。1.2 实体机、虚拟机还是云主机直接决定你的学习速度我见过太多新手的痛苦都是装在了实体机上——装完开机黑屏、无线网卡驱动直接不识别、登录进去之后桌面起不来折腾一晚上还没进系统热情先没了。学习阶段强烈建议用虚拟机跑Kali。原因很简单虚拟机里的Kali就是个普通文件装坏了、玩崩了删掉重来就行几分钟的事实体机重装系统至少半小时起步。虚拟机支持快照功能做实验之前存个快照比如测试某个工具把网络配置改坏了一键回滚学习成本极低。渗透测试经常需要在“攻击机”和“靶机”之间切换虚拟机里开两三个系统非常方便实体机就没这么灵活了。云主机也是个选择比如买一台按量付费的云服务器装Kali系统镜像跑远程桌面或命令行。优点是不占本地资源缺点是很多云平台上Kali镜像调节度不高、网络环境受限而且部分云厂商对渗透类工具的使用有额外要求。新手阶段关起门来折腾的最优解就是VirtualBox或VMware配合虚拟机镜像成本为零还不影响宿主机休息时挂机下载资料。1.3 下载镜像别走弯路官方源和国内镜像站这样选Kali官方提供的镜像文件叫Kali Linux ISO官网下载页会根据架构和桌面环境给你几个选择。新手直接认准“Installer”版本即可不要选“Live”版——Live版是类似U盘启动的临时体验每次开机配置不保留学起来折腾。桌面环境如果不知道选什么就默认选GNOME或者XfceXfce更轻量、跑起来更流畅老一点的电脑也不卡。说到下载速度很多新手卡在这一步因为官网服务器在国外下载可能很慢或者中途断掉。不用硬扛国内有几家大镜像站在同步Kali的发行包像阿里云的镜像站点、清华大学的镜像站点都有kali-images目录根据版本号和架构选择下载即可。下载完之后记得核对一下SHA256校验值官网每个镜像旁边都列了对应哈希值官方源和镜像站也有别嫌这一步麻烦镜像文件损坏导致安装中途报错的概率比你想象的高。2. 虚拟机安装Kali的最快路径2.1 直接用官方虚拟机镜像比手动安装快半小时如果你已经装了VirtualBox或者VMware那我必须给你说个能让你省半小时的捷径——Kali官方为每个大版本都提供了现成的虚拟机镜像Kali Virtual Machines里面的系统已经装好了你下载下来导入虚拟机就能直接开机使用不用走那个安装向导。怎么做在Kali官方下载页找到VirtualBox或VMware对应的镜像压缩包一般是.7z格式先解压出来得到一个.ova文件VirtualBox用或者.vmx文件VMware用。VirtualBox里点击“管理-导入虚拟电脑”选择.ova文件然后调整一下内存大小和CPU核数其他默认就能导入了。VMware里直接双击.vmx文件或者用“打开”菜单选这个文件也能导入。我实测对比过手动从ISO安装Kali到能进入桌面大概需要20到40分钟中间还要选择语言、配置分区、设置账号密码期间还要踩各种坑而导入虚拟机镜像解压加上导入不到五分钟开机直接用非常适合想快速入门的同学。唯一的缺点是官方镜像默认采用的配置比较保守比如内存只分配了2GB你导入后记得根据自己的硬件提高配置。提示不管用哪种方式安装虚拟机内存建议至少分配4GB处理器核心给2个以上显存调到128MB否则跑桌面环境和工具会明显卡顿。硬盘空间虚拟分配给20GB以上Kali系统本身不大但后续装工具、存扫描报告、开多个容器都会占用空间。2.2 手动安装时这些选项这样选最省心如果你还是想体验一次完整的手动安装过程那下面几个选项听我的能少走很多坑语言建议选中文或英文。如果选了中文目录名会出现“下载”“桌面”这类中文文件夹名部分命令行工具在处理路径时偶尔会出问题所以更推荐安装时选英文进系统后再额外配置中文支持后面章节会讲。主机名填什么都可以kali即可。域名留空不用填。账号只创建普通用户你需要使用的管理权限时在终端输入sudo命令配合密码千万不要直接用root登录桌面安全性和习惯上都不好。分区那里新手直接选“使用整个磁盘”并选择“将所有文件放在同一个分区中”不要手动分区特别是不要把分区表改成LVM或ZFS——这些对新手来说只会增加排查问题的概率等你对系统熟悉了再回来折腾也不迟。安装完成重启后第一次进入桌面可能会遇到分辨率不适配、网卡驱动没加载等问题如果用的是官方虚拟机镜像基本上不会出现这些如果是手动装的绝大多数源因为VMware或VirtualBox的“增强功能”没装好后面这块我单独说。2.3 导入虚拟机镜像后必做的三件小事用途就是让你从一个“能开机”的系统变成“能干活”的系统。第一件事是安装虚拟机增强工具VirtualBox叫“安装增强功能”VMware叫“VMware Tools”装好后才能正常共享剪贴板、调整分辨率、拖拽文件。第二件事是设置共享文件夹把你需要的工具放进去比如GPU列表、字典文件、报告模板这样在虚拟机里也能直接访问宿主机上的资料。第三件事是调整网络模式默认NAT模式下虚拟机可以访问外网但其他设备访问不到你的虚拟机如果你要做Web渗透测试靶机联调可以把Kali和靶机都配置在“桥接模式”或“仅主机模式”下让它们处于同一个局域网内。这三件事做完你的Kali才算真正“入了门”。命令行下安装增强工具一般是通过挂载ISO文件后运行安装脚本如果报缺少内核头文件可以先执行sudo apt update然后sudo apt install linux-headers-$(uname -r)解决这一步非常常见先记住。3. 装完第一件事换源、更新、输入法一个都不能少3.1 换国内软件源不然你装工具会等到怀疑人生Kali默认的软件源指向官方服务器国内网络环境下载速度通常很慢apt install一个稍大点的工具包能卡在那里半天不动。所以进系统第一件事把软件源换成国内镜像站的地址。操作方式终端里执行sudo nano /etc/apt/sources.list把里面的源地址替换成镜像站提供的kali源。比如阿里云的Kali源地址一般是“https://mirrors.aliyun.com/kali”清华的“https://mirrors.tuna.tsinghua.edu.cn/kali”文件里写上如下这样的行deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib保存后执行sudo apt update刷新软件列表看到新的源里面软件包数量正常就说明换源成功了。注意不要同时写多个镜像站的源容易造成依赖版本冲突选一个稳定的就行我自己长期用的是清华源速度和稳定性都很不错。3.2 更新系统apt update、upgrade和dist-upgrade的区别换完源之后顺手把系统更新一下。sudo apt update是刷新软件包列表sudo apt upgrade是升级已经安装的软件包sudo apt full-upgrade老版本叫dist-upgrade会处理升级过程中出现的依赖变化可能引入新依赖或删掉旧依赖。新手经常搞混upgrade和full-upgrade我的建议是日常就执行sudo apt update sudo apt upgrade如果提示有部分软件包需要额外处理再运行sudo apt full-upgrade。Kali是滚动发行版它的基础包更新频率很高不用每次开机都全量更新一两周更新一次就够。更新过程中如果看到内核相关的包升级了一定记得重启虚拟机否则内核模块和已加载的驱动会不匹配。3.3 给Kali配一个能用的中文输入法Kali默认装完系统界面是英文的虽然你完全可以在英文环境下用它干活但很多人还是希望至少能打中文。我给新手推荐装的是fcitx5输入法框架配合中文拼音输入法它比旧的fcitx4稳定配置也简单。终端执行这串命令一次性装好sudo apt update sudo apt install fcitx5 fcitx5-chinese-addons装完之后重启系统或者注销重新登录然后在“设置-区域与语言”或“输入法配置”里把拼音添加进去。如果开机后输入法没自动启动可以在终端执行fcitx5启动一次再把fcitx5加到开机自启项里。还有其他输入法方案比如ibus但Kali桌面环境默认是GNOME或Xfcefcitx5在两种桌面下适配都更稳建议选它。这里有一个小坑如果装完fcitx5之后仍然无法呼出输入法多半是环境变量没有加载。在/etc/environment文件里加入下面两行然后重启GTK_IM_MODULEfcitx QT_IM_MODULEfcitx XMODIFIERSimfcitx4. 界面和工具按钮那点事怎么把Kali折腾成顺手的样子4.1 工具按钮为什么不在底部教你把快捷方式固定到任务栏很多新手刚进Kali桌面时一脸懵——桌面上明明有一堆工具图标左侧的“收藏夹”或任务栏里根本没有几个终端、浏览器、文件管理器这些基础的倒是都在但像Burp Suite、Wireshark这种常用工具找不到入口。想把它固定到底部任务栏方法很简单在“显示应用程序”菜单里找到你要的工具图标比如Wireshark鼠标右键点击图标选择“添加到收藏夹”或“固定到任务栏”它就会出现在底部面板上。如果用的是Xfce桌面可能叫“添加到面板”或者“添加到收藏夹”名称略有差别意思一样。不过说实话学习Kali的过程里鼠标点菜单找工具是低效的更推荐的做法是记住工具的启动命令。比如Wireshark的启动命令是wiresharkBurp Suite是burpsuiteSQLmap是sqlmapMetasploit是msfconsole。直接在终端输入命令启动比翻菜单快得多这也是Kali这类工具和普通办公软件的使用习惯上最大的差异点。4.2 桌面环境不顺手Kali的GNOME和Xfce自行切换Kali中文社区里经常有人问“为什么别人的Kali界面长得不一样”其实Kali官方提供了多种桌面环境版本最常见的是GNOME和Xfce。GNOME观感现代但吃内存Xfce轻快简洁老机器也能带得动。你完全可以装一个桌面版本再额外安装另一个桌面环境登录的时候在登录界面选择用哪个桌面会话就行。比如我现在用的是Xfce版Kali但我又想偶尔用GNOME可以执行sudo apt install kali-desktop-gnome装好后注销再登录在登录界面的会话菜单里选GNOME即可。反过来也一样GNOME版基础上执行sudo apt install kali-desktop-xfce。桌面之间切换不互相删除只是占了些磁盘空间随时可以换。这种多桌面并存的方式对学习没什么坏处还能让你在了解不同桌面环境的差异之后找到适合自己的那一个。4.3 调整终端和字体长时间用的舒适度很重要如果你要长时间泡在终端里敲命令、看扫描结果终端的字体大小、配色、滚动回滚行数、快捷键这些细节就很影响体验。Kali默认终端是GNOME Terminal或者Xfce4 Terminal在菜单“首选项”里可以调整字体建议选“等宽字体”monospace字号14到16之间比较舒适太小盯着吃力太大又显示不了几行内容。配色方案可以选Kali主题自带的绿底黑字或者黑底绿字或者自己调护眼配色主要原理是降低亮度和蓝光比例。滚动回滚行数放大到5000行以上跑扫描的时候输出量特别大回滚范围太小会漏掉关键信息。我自己的习惯是把终端的“透明度”开一个很小的数值背景半透明能看到后面的窗口对多任务操作比较友好。还有一个小技巧如果你经常在多个终端窗口之间切换可以把每个终端窗口的标题改成当前任务的名字比如“nmap扫描”“目录爆破”避免切来切去找不到窗口。5. 渗透测试系列从零到实战的学习路径5.1 不要一上来就msfvenom和抓鸡先学信息收集提到Kali大家想到的就是“渗透”但真正的渗透测试流程是有一套成熟方法论支撑的顺序大概是信息收集 - 漏洞扫描 - 漏洞利用 - 权限提升 - 后渗透。新手上来就研究生成木马反连那是短视频里博眼球的玩法现实中你连目标IP范围都没搞清连开放的端口都没摸清做任何攻击都无从谈起。信息收集阶段最关键的工具是nmap。学nmap不要贪多先掌握这几个最基础但使用率最高的用法nmap -sP 192.168.1.0/24 # 主机发现找出局域网内哪些IP在线 nmap -sS -p- 192.168.1.10 # SYN半开扫描扫所有端口需要sudo nmap -sV -sC 192.168.1.10 # 版本探测和默认脚本扫描-p-会扫全部65535个端口速度会慢一些但能保证不漏掉非常规端口扫描的时候如果遇到性能瓶颈可以加上--min-rate参数控制发包速率。用nmap学会看三种信息开放的端口、端口上的服务版本、系统指纹和脚本扫描结果这些东西组合起来才能判断目标大概跑着什么服务、可能有哪些漏洞。5.2 理解“工具帮不了你思考”以漏洞利用环节为例Kali最常见的入门教材就是教人用Metasploit打同一个靶场比如Metasploitable2或者HackTheBox上的简单机器照着命令走能打通但换个环境就抓瞎。原因在于很多人根本不知道自己敲的这串exploit到底触发了什么。我建议新手入门Metasploit时先搞清楚几个核心概念模块类型exploit、auxiliary、payload、post、载荷payload和漏洞利用exploit之间的关系、监听handler的作用。举个最经典也最简单的例子如果你想利用某个远程服务漏洞拿shell完全不会解释命令的话你会连下面这串命令中每个关键词是什么意思都理解不了msfconsole use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 你的IP set lport 4444 exploit -j这里每个set都是在告诉Metasploit“你要返回的连接到哪里”而不是简单地抄PPT。学习的时候多按几次tab键多读一下模块自带的描述show info比背命令有效得多。还有要在受控的靶场环境里测试模拟攻击行为绝不能拿真实生产系统练手这既是法律底线也是职业伦理底线。5.3 创建你的第一个靶场有目标的练习才有效没有目标的练习就是鬼打墙所以学习期间给自己搭一个靶场非常重要。新手最快能搭起来的是Metasploitable2它是一台故意布满漏洞的Linux虚拟机直接下载镜像导入虚拟机就能用和Kali不同网段没关系桥接或仅主机模式下让它们互相能ping通即可。搭好之后给自己排一个练习计划第一天用nmap扫全端口和识别版本第二天用searchsploit搜一下目标服务的公开漏洞第三天用Metasploit尝试利用某个漏洞获取初始权限第四天在拿到权限之后尝试提权。每做完一步就在笔记里记一行包括使用的命令、返回的关键信息、遇到的问题和思考这个过程比看十个小时教程都顶用。Kali系统里另一个非常好用的靶场管理工具叫DVWADamn Vulnerable Web Application它是专门用来练Web安全的包含SQL注入、XSS、文件上传等经典漏洞部署方式很简单内网下一个LAMP环境再拷贝源码就能跑。把CVWA练完一遍你对Web渗透的基本环节就会建立非常清晰的认识。6. 使用Kali时一定会遇到的常见问题和排查技巧6.1 网络问题速查连不上网、ping不通虚拟机、DNS解析失败Kali用着用着突然网络不通是最常见的场景别慌按下面顺序排查90%能解决先ping网关一般是192.168.1.1或192.168.0.1如果网关都不通说明虚拟机的网络适配器或者宿主机网络有问题检查虚拟机网络模式有没有从NAT换成桥接后网卡没重新获取IP。如果网关通但外网不通多半是DNS问题Kali的resolv.conf文件偶尔会被覆盖执行sudo systemctl restart systemd-resolved试试或者检查/etc/resolv.conf里的nameserver是不是指向了有效地址比如8.8.8.8。检查虚拟机的DHCP是否正常工作执行ip a看网卡有没有获取到IP。如果网卡没有IP可以sudo dhclient eth0强制获取一次。如果你是Kali和靶机之间不通两台虚拟机同一个网络模式下还要检查防火墙虽然Kali默认不开防火墙但有些版本可能会启用ufw执行sudo ufw status查看。没有网络渗透测试举步维艰所以宁可在网络环境上多花点时间。6.2 内核头文件缺失导致VMware Tools装不上前面提到安装虚拟机增强工具时会遇到内核头文件缺失这个问题在Kali上尤其常见因为Kali是滚动发行版内核更新频繁而它自己带的头文件包不一定跟着新内核同步。解决办法是先同步更新内核再安装头文件sudo apt update sudo apt full-upgrade sudo reboot sudo apt install linux-headers-$(uname -r)重启之后再装VMware Tools或VirtualBox增强功能这次一般就顺利了。需要注意的是如果安装过程中弹出来说找不到gcc或者make在真实环境中同样要先装编译工具链执行sudo apt install build-essential。上面这套流程100%能解决“头文件找不到”的问题记得存下来。6.3 工具装了打不开权限、依赖、Java环境的那些坑新手最容易踩的坑就是命令敲下去提示“command not found”或者工具打开后闪退。command not found基本就是没装好得重新安装对应工具闪退的常见原因一般是缺Java运行环境、Python版本不匹配、动态链接库缺失。用dpkg或者apt安装的Kali工具一般会自动拉依赖但如果手动下载的二进制包就要自己排查。举个例子Burp Suite是Java写的如果没有安装Java运行环境会导致启动失败执行sudo apt install default-jre就能解决。还有一个小技巧很多工具启动报错时会把真正的报错原因输出在终端里注意最下面一行如果你直接忽略滚动窗口里的东西问题永远找不到源头。几乎所有打不开的工具都能通过下面这串命令查到它的调用依赖缺什么装什么ldd /usr/bin/wireshark | grep not found如果输出里有not found说明对应库缺失用apt提供对应库就可以了。6.4 漏了安全性配置密码太简单、SSH默认没关、端口暴露既然是学习渗透测试就必须养成好的安全习惯。练习阶段虽然是在虚拟机里但配置不当一样会有风险比如Kali默认开启了SSH服务并且初始账号密码是kali/kali这个组合在真实网络环境下等于裸奔。建议第一时间修改密码、配置SSH密钥登录、关闭不需要的远程服务至少用的时候再临时开。还有一点很多新手不知道Kali默认的root账户是启用了的但公开的默认密码是toor这就意味着如果你启用了SSH别人用默认密码就能直接连进来。务必将root密码和普通用户密码都改掉最好设置复杂一些的密码。学习环境也别图方便全用123456这是基本的安全素养。7. 学习Kali最快的捷径三份资源和个人项目实战7.1 资源推荐官方文档、靶场平台、可复现的教程你看多少篇博客都不如看官方的东西。Kali Linux的官方文档地址是www.kali.org/docs里面从安装到工具用法都有覆盖特别是Kali Tools分类页把每个工具的简介、同类替代品、实际参考链接全都整理好了。还有一个被很多人忽略的资源是Kali官网自带的“Kali NetHunter”和“Kali ARM”板块虽然前者是手机版Kali但能让你理解Kali在不同平台上的应用场景。靶场方面除了Metasploitable和DVWA有条件的话也试试国内的渗透测试靶场平台或者合规的在线闯关平台很多平台提供初学者友好的引导式思路做完一个靶场就相当于做完了一整套完整的渗透流程。这类平台的特点是每个题目都有对应的提示特别适合锻炼“自己看提示、自己找突破口”的能力。最难能可贵的资源其实是那些知乎、博客、论坛里带完整过程的渗透测试文章。但要注意务必要挑选带有“已授权测试”“本文仅用于学习”字样的文章原因是这类文章通常会严格说明场景、限制条件和适用范围不搞那种“某站实战”的擦边文章。我自己学习的时候每看到一篇好文章就会把它的思路画成流程图然后关掉文章自己动手复现一遍遇到卡壳再回头开文章这个方法效果比朗读式阅读好上十倍不止。7.2 给自己定一个“60天计划”从安装到完整复现一次测试为了不让学习“三天打鱼两天晒网”我根据自己的带人经验给你一个可以照抄的60天计划每天最多投入两小时第1周完成系统安装、换源、更新、装VMware Tools掌握终端基本命令cd、ls、mkdir、grep、awk、find会用桌面环境。第2周掌握nmap的全面扫描思路学会用浏览器代理掌握curl和wget的常用参数能够从目标网站里提取有效信息。第3周学习使用searchsploit、exploit-db检索公开漏洞通过metasploitable复现一次远程漏洞利用。第4周学会一句话木马、蚁剑、sqlmap在DVWA上复现SQL注入全过程。第5周学习Burp Suite的基本配置和拦截改包抓取一个真实Web请求并改包重放。第6周掌握Linux提权的基本手段利用内核漏洞和sudo配置错误在metasploitable上完成一次提权。第7周把前面所有技能按一个渗透测试项目的标准流程串起来从授权信息收集到出报告写一份流程完整、步骤完整的渗透测试报告。第8周复盘整个周期整理自己的工具集和命令速查表针对薄弱环节做定向补强。这个计划不强调数量强调把每一步做扎实。完成之后你会发现你所掌握的不只是几个命令而是一套完整的测试方法论。7.3 记录你的“命令日志”一句一句写清楚为什么最后一招是我自己用了很久、也一直推荐给新人的学习方法建一个Markdown文件当命令日志每次执行什么重要命令就记录下来并配上我自己对这一句命令为什么这么写的理解。比如# 扫描目标开放端口 nmap -sS -p- -T4 192.168.1.105 # -sSSYN半开扫描速度快且不容易被日志记录 # -p-扫描1~65535全部端口避免遗漏非常规端口 # -T4提高发包速度但不要太激进避免影响目标正常服务这样写到后面你就有了一个属于自己的“Kali速查手册”。这个手册比网上任何一份教程都更适合你自己因为它是你用实际验证过的知识沉淀。不要嫌写日志麻烦学任何东西都一样输出是最好的输入哪怕只是写上几十行回头翻看时你会感谢当时的自己。我在实际带人过程中还有一个体会学习Kali这件事最大的门槛从来不是技术而是心态。很多人看了几篇“花活文章”就以为自己的目标是“一键拿shell”结果打开Kali面对满屏英文和无穷无尽的命令就退缩了。其实你只要把它当成一个普通的Linux系统来学先能让它跑起来、用起来再一点一点往里加“武器库”里的东西不知不觉你就已经超过了大多数人。最后再分享一个小技巧每次更新系统或配置完环境之后给你的Kali虚拟机存一个快照命名成“基础配置完成版”或者“环境干净版”。以后再折腾坏什么恢复快照只需要几秒钟省下来的时间拿去学点真东西这笔账怎么算都划算。
返回列表