资产摸底与扫描
一套不使用攻击脚本的内网摸底 SOP:被动发现、TCP 常用端口、小范围 UDP、台账整合、持续扫描,五个阶段全部安全可控。
这套扫描要回答的问题
「内网里到底有什么?」——这个问题看起来简单,实际大多数环境答不上来:IT 记得大概,文档停留在三年前,新设备悄悄上线,旧设备悄悄下线。
这套 SOP 的目标是产出一份可以持续更新的资产台账:每一台设备的 IP、主机名、操作系统大类、开放端口、服务版本。它和日志平台的关系是:台账是日志的地基——没有「这台机器本该跑什么」的基线,日志里的异常就无从判断。
它是摸底,不是渗透:全程不使用攻击脚本,不利用漏洞,不尝试认证。扫描速度刻意压慢,先小范围验证,再逐步推开。
准备工作
- 扫描机:一台管理 PC 或 Linux VM。建议 Linux VM(Ubuntu)跑扫描,工具链和脚本管理都更顺。
- 网络确认:扫描机能 ping 通内网各段;DNS 正确指向域控——服务识别依赖反向解析,DNS 不对,主机名一栏全是空的。
- 扫描范围:先定义清楚网段(如
10.10.0.0/16)和核心服务器清单(域控、NAS、文件服务器、关键业务主机),范围之外的地址一律不碰。
五个阶段
┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ ① 被动资产发现 │ │ ② TCP 端口扫描 │ │ ③ UDP 小范围 │
│ AD 计算机列表 │ │ 半开 -sS · -T3 │ │ DNS · DHCP │
│ DHCP 分配表 │ │ 常用端口 1-1024 │ │ NTP · SNMP │
│ ARP 存活探测 │ │ 服务版本 -sV │ │ 低速 · 低风险 │
└──────────┬───────────┘ └──────────┬───────────┘ └──────────┬───────────┘
│ │ │
└─────────────────────────┬─────────────────────────┘
│
┌────────────────────────────────────┴─────────────────────────────────────┐
│ ④ 结果整理:资产台账 │
│ IP · 主机名 · 操作系统 · 开放端口 · 服务版本 │
└────────────────────────────────────┬─────────────────────────────────────┘
│
┌────────────────────────────────────┴─────────────────────────────────────┐
│ ⑤ 持续扫描与自动化 │
│ 每周 TCP · 每月 UDP · 资产新增 / 下线自动发现 │
└──────────────────────────────────────────────────────────────────────────┘
阶段一:被动资产发现(零风险)
不动任何一台设备,纯读取现有信息源:
- AD 计算机列表 —— 域控上 OU/Computers 里的所有终端和服务器,这是最权威的一份名单。
- DHCP 分配表 —— 已分配 IP 与设备 MAC,对照保留表能发现「没登记就在线」的设备。
- ARP 扫描(可选) —— 快速发现局域网存活主机,输出 CSV 做初步登记。
三个来源互相对照:在 AD 里但不在 DHCP 里的(可能是静态地址的老设备)、在 ARP 里但不在 AD 里的(未加域设备)——差异本身就是第一份风险清单。
阶段二:TCP 端口扫描(安全优先)
# 常用端口 + 服务版本,速度刻意放慢
nmap -sS -p 1-1024 -sV -O -T3 -oX scan-core.xml <目标IP>
参数说明:
-sS—— TCP 半开扫描,不完成三次握手,对服务影响最小-p 1-1024—— 只扫常用端口;全端口扫描慢且容易触发服务异常-sV—— 服务版本探测,台账里「跑着旧版 OpenSSH」这种信息全靠它-O—— 操作系统指纹(粗略即可,不需要精确到小版本)-T3—— 普通速度。快扫描对生产服务的冲击是真实的,宁可慢-oX—— XML 输出,方便导入台账
先核心服务器,确认安全,再批量终端。顺序反了,第一天就把业务扫出问题,后面没人再支持你做这件事。
阶段三:UDP 扫描(小范围、低风险)
UDP 只扫常用端口:
nmap -sU -p 53,67,68,69,123,161,162 -T2 -oX scan-udp.xml <目标IP>
DNS(53)、DHCP(67/68)、TFTP(69)、NTP(123)、SNMP(161/162)。全网 UDP 扫描极慢,而且容易误伤服务——小范围、低速、按需做。
阶段四:结果整理与整合
XML 结果解析进资产台账,字段固定为五项:IP、主机名、操作系统、开放端口、服务版本。导入 Wazuh 的资产模块,或者先用电子表格顶上——小规模环境下电子表格完全够用,先让台账存在,再谈自动化。
有了台账就能做第一轮初步风险评估(只看不动):
- 未授权服务 —— 台账里没有登记的设备在响应扫描
- 异常开放端口 —— 比如办公终端上开着的 3389、445
- 高版本漏洞服务 —— 服务版本比当前基线旧,对照 CVE 库记录,但不主动利用
这一轮的风险评估是「体检报告」,处理动作(升级、关闭、隔离)走正常变更流程,不因为扫出来了就当场改生产。
阶段五:持续扫描与自动化
摸底做完一次只是起点,台账会以你想不到的速度过期:
- 每周一次 TCP 扫描(常用端口),范围逐步扩大
- UDP 每月一次,或按需
- 资产变化自动发现 —— 新增设备(在 ARP/扫描里出现但不在台账)、下线设备(在台账里但不再响应)
配合 Wazuh 定期收集日志,资产变化和日志里的新主机名可以互相印证——两份独立来源指向同一台新设备时,台账才信它。
纪律(比技术参数重要)
- 不使用攻击脚本。这是摸底,不是渗透测试;业务中断的成本远高于「多发现一点」。
- 扫描速度控制。TCP 半开 + T3,UDP 慢速。任何「扫完之后服务变慢」的报告都要当真。
- 先小范围测试。核心服务器先扫,观察一个业务周期,确认无影响再推开。
- 所有结果必须登记。扫描结果不进台账的扫描等于没扫——散落的 XML 三个月后没有任何价值。
- 结合域控信息。登录记录、权限、主机信息与扫描结果对照,「资产 ↔ 人」的链条才完整。