时尚

msfconsole漏洞扫描

时间:2010-12-5 17:23:32  作者:休闲   来源:综合  查看:  评论:0
内容摘要:msfconsole漏洞扫描:别把它当扫描器用 很多人打开msfconsole,第一反应是输入search找漏洞,或者直接use auxiliary/scanner/portscan/tcp。这没错,

msfconsole漏洞扫描:别把它当扫描器用

很多人打开msfconsole,漏洞第一反应是扫描输入search找漏洞,或者直接use auxiliary/scanner/portscan/tcp。漏洞这没错,扫描但把Metasploit当Nmap用,漏洞就像拿菜刀开瓶盖——能用,扫描但糟蹋了工具。漏洞

我见过最离谱的扫描用法,是漏洞有人用auxiliary/scanner/smb/smb_version扫完一圈,发现几台Windows 7,扫描然后兴奋地喊“漏洞扫描完成”。漏洞可漏洞呢?扫描版本号不等于漏洞。真正的漏洞扫描是验证“这个版本是否真的能被打穿”,而不是扫描“这个版本是否存在已知CVE”。

拿auxiliary/scanner/ssl/ssl_version举例。漏洞它只能告诉你目标跑了什么SSL协议版本。可你要判断“心脏滴血”是否存在,得用auxiliary/scanner/ssl/openssl_heartbleed。前者是侦察,后者才是漏洞确认。这中间隔着一次真实的发包和回包验证。

msfconsole里最被低估的是check命令。大多数exploit模块都带check功能,它不像exploit那样直接打payload,而是温和地发探测包,判断目标是否存在漏洞。比如exploit/multi/http/struts2_content_type_ognl,你直接exploit可能触发WAF拦截,但check往往能绕过——因为探测流量更接近正常请求。

有一次我测试内网某老旧Tomcat,用auxiliary/scanner/http/tomcat_mgr_login跑弱口令,没跑出来。换成exploit/multi/http/tomcat_mgr_upload的check,它返回“The target is vulnerable.”。同一个目标,扫描器说“没弱口令”,但check告诉我“上传接口存在且可执行代码”。这就是差距。

还有个细节容易被忽略:msfconsole的db_nmap可以把Nmap结果直接存进PostgreSQL数据库,然后你用hosts、services、vulns命令查询。但真正好用的是vulns命令配合search——先跑一遍auxiliary/scanner/vuln/下的模块,把结果写进库,再vulns -p 445看哪些主机有SMB相关漏洞。这比手动记录IP和端口高效十倍。

别迷信exploit按钮。真实的漏洞利用往往需要前置条件,比如setg设置全局变量,或者先use auxiliary/admin/smb/ms17_010_command执行一条命令测试连通性,再上exploit/windows/smb/ms17_010_eternalblue。直接打容易崩服务,尤其对生产环境。

我个人的习惯是:先用nmap -sV -p-做全端口服务识别,再用msfconsole的search按服务名找对应auxiliary模块,然后逐个check。整个过程不追求覆盖所有CVE,只关心“哪些端口对应的服务真的可被利用”。扫描不是目的,拿到shell才是。

最后说句得罪人的话:如果你只是想要漏洞清单,别用msfconsole,用OpenVAS或Nessus。msfconsole的扫描模块是给“后续攻击”铺路的,不是用来出报告的。它的价值在于扫描结果直接衔接exploit,形成一个闭环——扫到漏洞,立刻验证,马上利用。中间省去人工切换工具的功夫,这才是它的设计初衷。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap