综合

nmap漏扫命令

时间:2010-12-5 17:23:32  作者:时尚   来源:综合  查看:  评论:0
内容摘要:直接运行 nmap -sV --script vuln 192.168.1.1,Nmap 就会在识别服务版本的同时,调用内置的漏洞脚本库对目标发起探测。这是最省事的漏扫方式,不需要额外装 Nessus

直接运行 nmap -sV --script vuln 192.168.1.1,漏扫Nmap 就会在识别服务版本的命令同时,调用内置的漏扫漏洞脚本库对目标发起探测。这是命令最省事的漏扫方式,不需要额外装 Nessus 或 OpenVAS,漏扫一条命令就能跑出初步结果。命令但别指望它能替代专业漏扫工具——Nmap 的漏扫 vuln 脚本覆盖范围有限,误报和漏报都不少,命令适合快速摸底,漏扫不适合合规审计。命令

先拆开看这条命令。漏扫-sV 做版本探测,命令这一步很关键,漏扫因为漏洞脚本需要知道目标跑的命令是什么服务、什么版本,漏扫才能匹配对应的检测逻辑。没有版本信息,很多脚本直接跳过。后面的 --script vuln 是脚本类别调用,Nmap 的脚本引擎(NSE)把脚本按类别组织,vuln 这一类专门针对已知漏洞做检测,比如 MS17-010、Heartbleed、Shellshock 这些都有对应的脚本。

实际用的时候,我一般会加上 -Pn 跳过主机发现。内网环境里很多机器禁 ping,不加这个参数 Nmap 可能直接判定主机下线,后面什么都不扫。再加 -T4 提速,默认的 -T3 在扫描大量端口时慢得让人想砸键盘。完整命令大概长这样:

nmap -sV -Pn -T4 --script vuln -p 1-65535 192.168.1.1 -oX scan_result.xml

-p 1-65535 全端口扫描,别只扫默认的 top 1000。我遇到过好几次漏洞服务跑在 8080、8443 甚至 9000 这种非标准端口上,默认扫描根本碰不到。-oX 输出 XML 格式,方便后续用脚本解析或者导入其他工具。

跑完一轮下来,输出里会看到类似这样的段落:

| vulners: | cpe:/a:apache:http_server:2.4.49: | CVE-2021-41773 7.5 https://vulners.com/cve/CVE-2021-41773 |_ CVE-2021-42013 7.5 https://vulners.com/cve/CVE-2021-42013

这是 vulners 脚本的输出,它把版本信息和 Vulners 数据库做比对,列出可能命中的 CVE。注意“可能”两个字——版本匹配不等于漏洞一定存在,有些发行版会 backport 安全补丁但版本号不变。所以看到 CVE 编号别急着报高危,手动验证一步再说。

Nmap 自带的 vuln 类脚本大概几十个,常用的有 http-vuln-cve2017-5638(Struts2)、smb-vuln-ms17-010(永恒之蓝)、ssl-heartbleed。想单独跑某个脚本,把 vuln 换成具体脚本名就行。比如只测永恒之蓝:

nmap -p 445 --script smb-vuln-ms17-010 192.168.1.0/24

直接扫一个 C 段,批量排查。这种针对性扫描比全量 vuln 快得多,结果也干净。

有个坑得提一下:Nmap 的漏洞脚本在探测过程中会发送真实攻击载荷。比如 http-vuln-cve2014-6271 检测 Shellshock 时会构造恶意的 User-Agent 头。如果目标有 WAF 或者 IDS,扫描流量大概率触发告警。生产环境用之前最好确认有授权,别扫着扫着被安全团队找上门。

速度方面,--script vuln 比普通扫描慢不少,因为每个脚本都要和目标做多轮交互。扫一台机器可能几分钟,扫一个 /24 网段建议拆开跑,或者用 --script-timeout 限制单个脚本的超时时间,避免卡死在某台不响应的主机上。

结果解读需要一点经验。Nmap 会把脚本输出按 VULNERABLE、LIKELY VULNERABLE、NOT VULNERABLE 来标记,但很多脚本只给版本比对结果,不给确定性结论。我自己的习惯是:Nmap 扫出来的线索当作入口,真正确认漏洞还得靠手工验证或者上专业工具交叉比对。它最大的价值在于快和轻——随手一条命令就能对目标有个基本判断,这个效率是其他工具给不了的。

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