1. 实验环境与工具准备
在开始正式实验前,我们需要先搭建好实验环境并熟悉相关工具。本次实验主要使用Nmap和Burp Suite两款安全测试工具,它们分别用于网络探测和Web应用安全测试。
1.1 实验环境搭建
实验采用Windows 10作为攻击机,靶机同样为Windows 10系统。两者通过虚拟网络连接,靶机IP地址为192.168.56.1。靶机上运行了以下服务:
- Microsoft IIS httpd 10.0(80端口)
- MySQL数据库服务(3306端口)
- DVWA(Damn Vulnerable Web Application)漏洞测试平台
注意:DVWA是一个专门用于安全测试的Web应用,包含多种常见漏洞,建议在隔离环境中使用。
1.2 工具安装与配置
Nmap安装:
- 从官网下载最新版Nmap安装包
- 安装时勾选所有组件,包括Npcap驱动
- 安装完成后,在CMD中运行
nmap --version验证安装
Burp Suite配置:
- 下载Burp Suite Community Edition
- 启动后,在Proxy→Options中确认监听端口为8080
- 在浏览器中配置代理为127.0.0.1:8080
实操心得:首次使用Burp Suite时,需要安装CA证书才能拦截HTTPS流量。可以在Proxy→Intercept中点击"CA Certificate"下载并安装证书。
2. 信息收集与系统识别
2.1 基础端口扫描
端口扫描是信息收集的第一步,通过扫描可以了解目标系统开放了哪些服务。我们使用Nmap的-p参数指定扫描3306端口:
bash复制nmap -p 3306 192.168.56.1
扫描结果显示3306端口处于开放状态,运行的是MySQL服务。这里有几个关键点需要注意:
- 默认情况下MySQL使用3306端口,但管理员可能修改为其他端口
- 开放的数据库端口往往是攻击者首要目标
- 如果看到端口状态为"filtered",可能是防火墙阻止了探测
2.2 操作系统识别
识别目标操作系统类型对后续攻击很有帮助。使用-O参数进行操作系统检测:
bash复制nmap -O 192.168.56.1
Nmap通过分析TCP/IP协议栈指纹来识别操作系统。结果显示目标系统是Windows 10 64位,准确率98%。实际操作中可能会遇到:
- 结果不明确(如"Aggressive OS guesses")
- 系统安装了防指纹混淆工具
- 网络设备干扰导致识别错误
2.3 服务版本探测
了解服务具体版本有助于查找已知漏洞。使用-sV参数进行服务版本探测:
bash复制nmap -sV 192.168.56.1
扫描结果显示:
- 80端口运行Microsoft IIS httpd 10.0
- 3306端口运行MySQL数据库
注意事项:服务版本探测会产生较多网络流量,在真实环境中可能触发安全告警。
2.4 全面扫描
-A参数启用全面扫描模式,相当于同时使用-O、-sV和脚本扫描:
bash复制nmap -A 192.168.56.1
全面扫描会获取:
- 开放端口和服务
- 操作系统信息
- 服务版本详情
- 脚本检测结果(如目录遍历风险)
3. 漏洞扫描与脚本利用
3.1 默认脚本扫描
Nmap提供了丰富的脚本用于漏洞检测。首先使用默认脚本扫描:
bash复制nmap --script=default 192.168.56.1
扫描发现:
- 多个不必要端口开放,增加了攻击面
- 部分服务配置过于宽松
- 没有发现严重漏洞
3.2 HTTP服务专项扫描
针对Web服务的扫描使用http相关脚本:
bash复制nmap --script "http-*" 192.168.56.1
重点检查:
- http-csrf:跨站请求伪造漏洞
- http-sql-injection:SQL注入漏洞
- http-vuln-*:已知Web漏洞
本次扫描未发现CSRF漏洞,但实际测试中应该尝试更多脚本。
3.3 MySQL服务检测
MySQL是常见攻击目标,我们检测两种常见问题:
空口令检测:
bash复制nmap --script=mysql-empty-password 192.168.56.1
暴力破解测试:
bash复制nmap --script=mysql-brute 192.168.56.1
结果显示:
- 当前主机未被授权连接MySQL
- 暴力破解未成功(测试了50009种组合)
安全建议:MySQL应配置为仅允许特定IP访问,并使用强密码。
4. Web应用暴力破解实战
4.1 Burp Suite代理配置
- 启动Burp Suite,确保Proxy监听8080端口
- 在浏览器中设置代理为127.0.0.1:8080
- 访问DVWA登录页面,确认能拦截到请求
常见问题:如果无法拦截HTTPS流量,可能需要安装Burp的CA证书。
4.2 Sniper模式破解(已知用户名)
- 拦截登录请求并发送到Intruder
- 清除所有变量,仅标记密码字段
- 攻击类型选择Sniper
- 加载密码字典并开始攻击
通过分析响应长度差异,发现密码"password"对应的响应长度明显不同,破解成功。
4.3 Cluster bomb模式破解(未知账号)
- 重新拦截请求并发送到Intruder
- 标记用户名和密码两个字段
- 攻击类型选择Cluster bomb
- 分别加载用户名和密码字典
最终发现有效组合:admin/password
5. 安全防护建议
基于本次实验结果,提出以下防护措施:
针对Nmap扫描的防护:
- 关闭不必要的服务和端口
- 配置防火墙限制扫描行为
- 修改默认服务banner信息
防止暴力破解:
- 实施账号锁定机制
- 使用验证码等二次验证
- 强制使用复杂密码
MySQL安全加固:
- 限制访问IP
- 禁止root账号远程登录
- 定期更新补丁
6. 实验心得与进阶技巧
在实际测试中,有几个实用技巧值得分享:
-
Nmap性能优化:
- 使用
-T4加快扫描速度 --min-rate 100控制发包速率--max-retries 2减少重试次数
- 使用
-
Burp Suite使用技巧:
- 使用Logger记录所有请求
- 配置Match and Replace自动修改请求
- 利用Sequencer分析会话令牌随机性
-
规避检测的方法:
- 使用
--scan-delay降低扫描速度 - 通过代理链隐藏真实IP
- 分散扫描时间避开监控
- 使用
最后强调,所有安全测试必须在授权范围内进行,未经授权的扫描可能涉及法律问题。建议在专门的实验环境如DVWA、Metasploitable等靶机上进行练习。