windows后渗透中常用的信息收集命令
最近学完了web方向的知识复习,比如像sql,xss漏洞等的靶场,那么现在就是复习内网的知识,在我以前的文章中我已经有相关的知识点了,大家可以看我的专栏内网渗透_jieyu1119的博客-CSDN博客,从信息收集,权限提升,横向移动,权限维持,域控制器安全我都有提及,现在再进行一次复习可以发现很多地不足,那么现在就进行补充,那么这里就从信息收集开始,内网的信息收集除了工具以外,系统命令也是很重要的,那么这里就讲述windows通过系统命令来收集域信息。
一、基础系统与域状态判断
首先需确认当前主机是否加入域、所在域名称、登录用户权限等基础信息,为后续渗透方向提供依据。
命令 | 作用 | 关键输出 / 说明 |
ipconfig /all | 查看网络配置(DNS、网关、主 DNS 后缀) | - 主 DNS 后缀:若存在类似corp.com的后缀,说明主机已加入域(非工作组环境); |
systeminfo | 查看系统详细信息(域、补丁、登录服务器) | - 域:直接显示 “域” 字段(如CORP),无则为 “工作组”; |
echo %USERDOMAIN% | 快速获取当前用户所属的域名称 | 输出域短名(如CORP),若为WORKGROUP则未加入域。 |
echo %LOGONSERVER% | 快速获取当前登录的域控制器(DC) | 输出 DC 的 NetBIOS 名(如\\DC01),直接定位核心域控。 |
net config workstation | 查看工作站配置(域、DC、登录用户) | - 工作站域:显示域名称; |
二、域用户信息收集
获取域内用户列表、用户详情(密码策略、所属组)、当前登录用户等,用于后续密码爆破、权限横向。
命令 | 作用 | 关键输出 / 说明 |
net user | 列出所有域用户 | 输出域内所有用户的用户名、全名、注释(如 “管理员账号”“财务用户”),可筛选关键用户(如admin、svc_sql)。 |
net user [用户名] | 查看单个域用户的详细信息 | - 密码过期时间、账户是否禁用、最后登录时间; |
query user 或 quser | 查看当前主机的登录用户 | 显示本地 / 远程登录的用户(包括 RDP 登录)、登录时间、会话 ID,判断是否有管理员在线(避免操作冲突或触发告警)。 |
whoami /all | 查看当前用户的完整权限信息 | - 当前用户名(如CORP\user1); |
`net user /domain [用户名] | findstr "Password"` | 筛选域用户的密码相关信息 |
三、域内计算机信息收集
获取域内所有计算机列表、IP 与主机名对应关系、活跃主机,确定横向渗透的目标范围。
命令 | 作用 | 关键输出 / 说明 |
net view | 列出域内所有计算机(NetBIOS 名) | 输出域内在线 / 离线计算机(如\\PC-01、\\SERVER-02),但仅显示开启文件共享a(SMB)的主机,离线主机可能不显示。 |
net group "Domain Computers" /domain | 通过 “域计算机组” 查询所有加入域的计算机 | 输出所有加入域的计算机 |
ping -a [IP地址] | 反向解析 IP 对应的计算机名 | 结合内网 IP 段扫描(如ping -a 192.168.1.100),建立 “IP - 主机名” 映射,定位关键服务器(如DC01的 IP)。 |
arp -a | 查看本地 ARP 缓存表 | 显示同一网段内最近通信过的主机 IP 和 MAC 地址,识别活跃主机(避免扫描全网段触发告警)。 |
nbtstat -A [IP地址] | 查询目标 IP 的NetBIOS 信息 | 输出目标主机的 NetBIOS 名、域归属(如CORP <00>表示属于CORP域)、是否为 DC(DC <20>标识)。 |
gpresult /r | 查看当前主机应用的域组策略 | “计算机配置 - 安全设置”“用户配置 - 脚本”,可发现密码策略、登录脚本等敏感信息 |
dsquery computer -domain corp.com -limit 0 | 从 AD 直接获取所有域计算机 | 输出所有域计算机 |
四、域组与权限信息收集
域组决定用户权限,核心目标是找到Domain Admins(域管理员组)、Enterprise Admins(企业管理员组)等高权限组及其成员。
命令 | 作用 | 关键输出 / 说明 |
net group /domain | 列出所有域组 | 输出域内预设组(如Domain Admins、Domain Controllers)和自定义组(如IT_Admin)。 |
net group "Domain Admins" /domain | 查看域管理员组(DA)成员 | 渗透核心命令!输出所有域管理员账号(如CORP\admin、CORP\it_manager),直接定位高权限用户。 |
net group "Enterprise Admins" /domain | 查看企业管理员组(EA)成员 | 多域 / 森林环境中,EA 拥有全森林权限,优先级高于 DA。 |
net group "Domain Controllers" /domain | 查看域控制器组(DC)成员 | 输出所有域控制器主机名(如\\DC01、\\DC02),确认 DC 数量和名称。 |
net localgroup Administrators | 查看当前主机的本地管理员组 | 输出本地管理员(可能包含域用户,如CORP\admin),判断域用户是否拥有本地管理员权限(用于横向)。 |
icacls [文件/目录路径] | 查看文件 / 目录的 ACL 权限 | 分析敏感路径(如C:\Share、\\DC01\SysVol)的权限,判断当前用户是否有读写权限(如(F)为完全控制)。 |
五、域控制器(DC)
DC 是域环境的核心,需获取其 IP、健康状态、复制情况等,为后续攻击(如 DCSync、黄金票据)做准备。
命令 | 作用 | 关键输出 / 说明 |
dcdiag /s:[DC名/IP] | 检查DC 的健康状态 | 需域管理员权限,输出 DC 的 DNS、AD 复制、服务状态等,判断 DC 是否存在配置漏洞(如复制失败)。 |
repadmin /showrepl /s:[DC名/IP] | 查看AD(活动目录)复制状态 | 输出 DC 之间的复制拓扑、最近复制时间,判断是否有复制延迟(影响凭证同步,如黄金票据生成)。 |
net time /domain | 查看域时间服务器(通常是 DC) | 输出域时间和时间服务器(如\\DC01),间接确认 DC(域环境中 DC 默认作为时间源)。 |
net share | 查看DC 的共享文件夹 | DC 默认共享SysVol(组策略脚本)、NetLogon(登录脚本),这两个共享是渗透关键(如利用组策略漏洞、查找敏感脚本)。 |
六、网络与服务信息收集
了解内网网段、活跃端口、运行服务,定位漏洞点(如未打补丁的服务、弱口令服务)。
命令 | 作用 | 关键输出 / 说明 |
netstat -ano | 查看当前主机的网络连接与端口 | 输出: |
tasklist /svc | 查看进程与关联服务 | 结合netstat -ano的 PID,定位监听端口对应的服务(如445端口对应lanmanserver服务),判断是否有敏感服务(如mssql、rdp)。 |
route print | 查看路由表 | 输出内网所有网段(如192.168.1.0/24、10.0.0.0/8),确定横向渗透的网段范围(避免遗漏子网)。 |
sc query | 列出当前主机的所有服务 | 查看服务状态(RUNNING/STOPPED)、启动类型(AUTO/MANUAL),寻找可利用的服务(如未授权访问的服务、可提权的服务)。 |
sc query "TermService" | 查看远程桌面服务(RDP)状态 | 判断目标主机是否开启 RDP(RUNNING表示开启),用于后续 RDP 登录(如获取明文密码后)。 |
nbtstat -A 192.168.1.100 | 通过 NetBIOS 协议解析主机名 | 输出IP地址等相关信息 |
七、敏感文件与凭证信息收集
搜索域内敏感文件(如密码文档、配置文件)、注册表中的凭证信息,可能直接获取高权限账号。
命令 | 作用 | 关键输出 / 说明 |
`dir /s /a /b *.txt *.doc *.xls *.xlsx | findstr /i "pass|cred | 密码 | 凭证"` | 搜索敏感文件,递归搜索所有磁盘中的文档,筛选包含 “密码”“凭证” 关键词的文件(如password.txt、财务凭证.xlsx),/a显示隐藏文件。 |
dir /s /a /b \\DC01\SysVol\*.ps1 *.bat | 搜索DC 共享中的脚本文件 | SysVol共享存储组策略脚本,可能包含管理员编写的明文密码(如登录脚本中的net use命令)。 |
type "C:\Program Files\某软件\config.ini" | 查看配置文件内容 | 部分软件(如数据库、中间件)的配置文件中可能存储明文账号密码(如username=admin;password=123456)。 |
reg query HKLM\SAM\SAM | 查看SAM 注册表(本地用户哈希) | SAM 存储本地用户的 NTLM 哈希,但默认只有SYSTEM权限可读取,需提权后导出(如用mimikatz)。 |
reg query HKLM\SECURITY\Policy\Secrets | 查看安全注册表中的敏感信息 | 存储系统敏感数据(如 LSA 密钥),需SYSTEM权限,可用于后续破解或生成票据。 |
C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\Login Data | Chrome 保存的密码,用 mimikatz读取 | 得到相关用户服务的登录账号密码 |
\\DC01\SysVol\corp.com\Policies\*\Machine\Preferences\Groups\Groups.xml | 组策略敏感文件 | 含加密密码,用gpp-decrypt解密,对应 MS14-025 漏洞 |
C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Terminal Server Client\Default.rdp | 保存 RDP 登录记录 | 输出远程桌面记录 |
上面有些重要的命令我也提供一些实例,然后像敏感文件与凭证信息收集这个能够进行尝试一下,现在的系统权限之类的管理的很完善,不太可能直接通过低权限读取高权限的文件,除非是文件的配置错误或者权限的配置缺陷。