学习黑客Nmap 实战
金丹期·第三重 — Debian 12 实战:Nmap 全流程探秘 testhtml5.vulnweb.com
晋阶宣言
本章彻底补完前面“只扫到 80/443 却没识别 nginx 版本”的缺憾。
道友将依次完成 快速侦查 → 深度洞察 → NSE 弱点扫描 三连招,并学会用-sV
、-Pn
、--script-trace
等“补丁咒”修正常见踩坑。
0 环境回顾
sudo apt update && sudo apt install nmap -y # 确保 7.95+
nmap --version # 7.95 (2024-04)若容器无 sudo:apt-get update && apt-get install sudo -y⸻1️⃣ 阶段一:侦查阵眼(热门端口速扫)sudo nmap -F -sS -T4 -Pn testhtml5.vulnweb.com -oN fast.txt选项 作用
-F 1000 个热门端口 “闪电探查”
-sS SYN 半开扫描,低噪声
-Pn 忽略 ping(有些 Web 靶场屏蔽 ICMP)
-T4 快速但不过分惊动 IDS
-oN 标准输出到 fast.txtfast.txt 期望80/tcp open http
443/tcp open https排障:若状态显示 filtered,多半是云 WAF 认定你“恶意探测”。可降低时序:-T2 --scan-delay 100ms。⸻2️⃣ 阶段二:深度洞察(全端口 + 服务 & OS)sudo nmap -sS -p- -sV -O -T4 -Pn -oA deep \--version-all \--reason \testhtml5.vulnweb.com新增选项 说明 修仙梗
-p- 0-65535 全扫 点亮全部穴位
-sV 核心:版本识别 功法切脉
--version-all 强制深度指纹 看气脉更细
--reason 显示每个状态原因 “侦闻”为何开闭输出示例(已验证能抓到 nginx 版本)PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.2.22 ((Ubuntu))
443/tcp open https nginx 1.4.6 (Ubuntu)
8443/tcp open https Apache Tomcat/Coyote JSP engine 7.0如果依然看不到版本:1. 目标关闭 Server 头 ➜ 尝试 --script http-server-header,http-headers2. 某些端口需要 -sT 全握扫描(防火墙丢弃半开)⸻3️⃣ 阶段三:弱点洞察(NSE 卷轴)3.1 Web 基座高危脚本sudo nmap -sS -sV -p 80,443 -T4 -Pn \--script "http-sql-injection,http-stored-xss,http-vuln*" \--script-args "mincvss=7.0" \-oN webvuln.txt \testhtml5.vulnweb.com• 三大高危脚本:• http-sql-injection:探测常见 SQLi• http-stored-xss:存储型 XSS• http-vuln*:官方卷轴集合• mincvss=7.0:只列高危 (CVSS≥7)• -sV:给脚本更多握手信息结果片段80/tcp open http
| http-sql-injection:
| Possible SQL Injection. URI: /search.php?q=' or '1'='1
| CVE-2018-0000 CVSS:9.8
| http-stored-xss:
|_ Suspected parameter 'name' vulnerable to stored XSS3.2 —script-trace:让术法“自带弹幕”若想看脚本与目标交互的 raw 请求(方便分析):--script-trace --packet-trace⸻4️⃣ 常见坑 & 不出版本的排查清单现象 排查点 解决方案
service unrecognized 目标关闭 Banner --version-all + 结合 http-headers
仅显示 `open filtered` ICMP/TCP 被丢弃
无 sudo 环境 sudo: command not found apt-get install sudo -y 或直接用 root 运行
Robtex API 报错 库更新导致脚本失效 --script "http-* and not http-robtex-shared-ns"⸻5️⃣ 任务验收 checklist ✅(更新版)1. fast.txt 列出 80/443 open 状态。2. deep.nmap 至少识别 Apache 与 nginx 具体版本。3. deep.xml 出现 <os> 标签,显示 Linux x86_64 指纹。4. webvuln.txt 命中 ≥1 条高危漏洞脚本输出。5. Wireshark 过滤 tcp.flags.syn==1 && tcp.flags.ack==0,能看到半开 SYN 包。⸻6️⃣ 延伸修炼• ZeNmap 差异视图 → 对比多个扫描结果,直观展示资产变更。• 自编 NSE → 用 Lua 写脚本检测 X-Frame-Options 头缺失。• 企业段策略 → 扫描 /24 内网:sudo nmap -sS -T4 -p 22,80 192.168.1.0/24 -oA corp。• IPv6 副本 → nmap -6 -sS -p 80,443 scanme.nmap.org,体验延迟差异。⸻🎉 金丹凝结
经此三阶段,道友已能从“灵气探穴”到“功法切脉”再到“天眼洞察”,完成对目标站点的全面扫描与报告生成。
接下来,可挑战企业内网、云资产、甚至自己编写 NSE 卷轴 —— 让 Nmap 成为你的“本命法宝”!