Post

域渗透学习(四)
Dump Password & Hash

密码与Hash转储

域渗透学习(四)
Dump Password & Hash

获取windows用户密码或者Hash,用于远程登录域内其他机器,或进行后续的哈希传递和票据传递攻击

基本信息收集

ipconfig /all

定位域控最快的方法就是查看DNS,其中也会告知当前域的完整域名。

通过ipconfig /all也能判断是否有多张网卡,如VPN网卡、多级内网等

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
PS C:\Users\liukaifeng01> ipconfig /all

Windows IP 配置

   主机名  . . . . . . . . . . . . . : owa
   主 DNS 后缀 . . . . . . . . . . . : god.org
   节点类型  . . . . . . . . . . . . : 混合
   IP 路由已启用 . . . . . . . . . . : 否
   WINS 代理已启用 . . . . . . . . . : 否
   DNS 后缀搜索列表  . . . . . . . . : god.org
                                       localdomain
以太网适配器 本地连接 2:
   连接特定的 DNS 后缀 . . . . . . . : localdomain
   描述. . . . . . . . . . . . . . . : Intel(R) PRO/1000 MT Network
2
   物理地址. . . . . . . . . . . . . : 00-0C-29-6C-C9-EE
   DHCP 已启用 . . . . . . . . . . . : 是
   自动配置已启用. . . . . . . . . . : 是
   本地链接 IPv6 地址. . . . . . . . : fe80::b1a7:a615:cfb9:6d8f%18
   IPv4 地址 . . . . . . . . . . . . : 192.168.52.147(首选)
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   获得租约的时间  . . . . . . . . . : 2025年12月15日 13:54:02
   租约过期的时间  . . . . . . . . . : 2025年12月15日 15:54:01
   默认网关. . . . . . . . . . . . . :
   DHCP 服务器 . . . . . . . . . . . : 192.168.52.254
   DHCPv6 IAID . . . . . . . . . . . : 301993001
   DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-24-F2-B2-9E-00-0

   DNS 服务器  . . . . . . . . . . . : 192.168.52.1
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用
以太网适配器 本地连接:
   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Intel(R) PRO/1000 MT Network
   物理地址. . . . . . . . . . . . . : 00-0C-29-6C-C9-E4
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是
   本地链接 IPv6 地址. . . . . . . . : fe80::5d8b:a15c:b1c9:e2d8%11
   IPv4 地址 . . . . . . . . . . . . : 192.168.52.138(首选)
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.52.2
   DHCPv6 IAID . . . . . . . . . . . : 234884137
   DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-24-F2-B2-9E-00-0

   DNS 服务器  . . . . . . . . . . . : ::1
                                       192.168.52.138
                                       8.8.8.8
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用
隧道适配器 isatap.{D7C92CB6-1939-46AC-85CE-50401CEC5056}:
   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Microsoft ISATAP Adapter
   物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是
隧道适配器 isatap.localdomain:
   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . : localdomain
   描述. . . . . . . . . . . . . . . : Microsoft ISATAP Adapter #2
   物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是

tasklist /v

详细列出进程,发现杀软、EDR等。其次还可以找域管进程,如果发现某个进程是由DOMAIN\Administrator运行的,那么就可以通过Token窃取或注入该进程直接获得域管权限

net group “domain admins” /domain

查询域管理员名单

1
2
3
4
5
6
PS C:\Users\liukaifeng01> net group "domain admins"
组名     Domain Admins
注释     指定的域管理员     成员
-------------------------------------------------------------------------------
Administrator            OWA$
命令成功完成。

net group 组查询

domain admins 域管理员名单

enterprise admins 企业管理员名单 林级别的最高权限

domain controllers 域控制器的机器名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
PS C:\Users\liukaifeng01> net group "domain admins" /domain
组名     Domain Admins
注释     指定的域管理员     成员
-------------------------------------------------------------------------------
Administrator            OWA$
命令成功完成。

PS C:\Users\liukaifeng01> net group "enterprise admins"
组名     Enterprise Admins
注释     企业的指定系统管理员    成员
-------------------------------------------------------------------------------
Administrator
命令成功完成。
PS C:\Users\liukaifeng01> net group "domain controllers"
组名     Domain Controllers
注释     域中所有域控制器        成员
-------------------------------------------------------------------------------
OWA$
命令成功完成。
PS C:\Users\liukaifeng01> net localgroup "administrators" /domain
别名     administrators
注释     管理员对计算机/域有不受限制的完全访问权   成员
-------------------------------------------------------------------------------
Administrator
Domain Admins
Enterprise Admins
liukaifeng01
命令成功完成。

横向移动目标

net use

查看当前机器是否已经连接了某个文件共享,如IPC$或映射驱动器

如果当前用户已经连接了文件服务器,就可以直接利用这个现成的通道去浏览文件而无需认证

1
2
3
4
5
6
7
PS C:\Users\liukaifeng01> net use
会记录新的网络连接。
状态       本地        远程                      网络

-------------------------------------------------------------------------------
OK                     \\192.168.52.143\c$       Microsoft Windows Network
命令成功完成。

net view

发现网络领居

net group “domain computers” /domain

domain computrs组是域内主机名列表

可以通过主机名快速判断该主机用途 制定攻击优先级

1
2
3
4
5
6
7
PS C:\Users\liukaifeng01> net group "domain computers"
组名                      Domain Computers
注释                   加入到域中的所有工作站和服务器    成员

-------------------------------------------------------------------------------
DEV1$                    ROOT-TVI862UBEH$         STU1$
命令成功完成。

net group

列出所有组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
PS C:\Users\liukaifeng01> net group
\\OWA 的组帐户
-------------------------------------------------------------------------------
*DnsUpdateProxy
*Domain Admins
*Domain Computers
*Domain Controllers
*Domain Guests
*Domain Users
*Enterprise Admins
*Enterprise Read-only Domain Controllers
*Group Policy Creator Owners
*Read-only Domain Controllers
*Schema Admins
命令成功完成。

关注像IT-Support,HelpDesk,DB-Admins,VPN-Users之类的组,它们虽然不是Domain Admins,但往往拥有服务器的高级权限。

策略与凭据

net accounts

决定爆破的频率和字典的长度。比如锁定阈值是5,那么做密码喷洒和爆破的话每个账号最多尝试2-3此,超过的话可能引起运维警觉或账号锁定。密码最小长度比如是7,那么尝试小于7位数的密码就没有意义。

1
2
3
4
5
6
7
8
9
10
11
PS C:\Users\liukaifeng01> net accounts /domain
强制用户在时间到期之后多久必须注销?:     从不
密码最短使用期限(天):                    1
密码最长使用期限(天):                    42
密码长度最小值:                          7
保持的密码历史记录长度:                  24
锁定阈值:                                5
锁定持续时间(分):                        30
锁定观测窗口(分):                        30
计算机角色:                              PRIMARY
命令成功完成。

net user /domain

查询所有用户名,用于建立用户名字典。

1
2
3
4
5
6
PS C:\Users\liukaifeng01> net user /domain
\\OWA 的用户帐户
-------------------------------------------------------------------------------
Administrator            Guest                    krbtgt
liukaifeng01
命令成功完成。

net user {username}

可以根据上次登录时间判断是活跃账号还是死账号

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
PS C:\Users\liukaifeng01> net user liukaifeng01
用户名                 liukaifeng01
全名
注释
用户的注释
国家/地区代码          086 (中国)
帐户启用               Yes
帐户到期               从不

上次设置密码           2025/12/12 23:41:31
密码到期               2026/1/23 23:41:31
密码可更改             2025/12/13 23:41:31
需要密码               No
用户可以更改密码       Yes

允许的工作站           All
登录脚本
用户配置文件
主目录
上次登录               2025/12/12 23:41:33

可允许的登录小时数     All

本地组成员             *Administrators       *Users
全局组成员             *Domain Users
命令成功完成。

nltest /domain_trusts

nltest是network location test的缩写,/domain_trusts可以查看信任域

下面代码块中的执行结果表示只有god.org这一个根域,没有下级子域

1
2
3
4
5
PS C:\Users\liukaifeng01> nltest /domain_trusts
域信任的列表:
    0: GOD god.org (NT 5) (Forest Tree Root) (Primary Domain) (Native)
此命令成功完成
PS C:\Users\liukaifeng01>

SPN

SPN(ServicePrincipal Names)是服务实例,可以理解为一个服务的唯一标识符,比如HTTP、MySQL。Kerberos身份验证使用SPN将服务实例与服务登录账户相关联。如果在整个林或域中的计算机上安装多个服务实例,则每个实例都必须具有自己的SPN。如果客户端可能使用多个名称进行身份验证,则给定服务实例可以具有多个SPN。SPN始终包含运行服务实例的主体的名称,因此服务实例可以为其主机的每个名称或别名注册SPN。

SPN格式与配置

SPN的格式严格遵循以下语法结构,不区分大小写:

1
ServiceClass/Host:Port/ServiceName

组成部分详解:

ServiceClass:服务类型,标识该服务是干什么的

Host:主机名,运行该服务的计算机的FQDN或NetBIOS名

Port(可选):端口号,如果服务运行在非默认端口,则必须制定

ServiceName:服务名称,用于五分统一主机上的多个服务实例

例:

为SQL Server服务账户注册SPN:

1
setspn -S MSSQLsvc/myhost.god.org:1433 owa

查询SPN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
PS C:\Users\liukaifeng01> setspn -Q */*
正在检查域 DC=god,DC=org
CN=OWA,OU=Domain Controllers,DC=god,DC=org
        ldap/owa.god.org/ForestDnsZones.god.org
        ldap/owa.god.org/DomainDnsZones.god.org
        NtFrs-88f5d2bd-b646-11d2-a6d3-00c04fc9b232/owa.god.org
        Dfsr-12F9A27C-BF97-4787-9364-D31B6C55EB04/owa.god.org
        DNS/owa.god.org
        GC/owa.god.org/god.org
        RestrictedKrbHost/owa.god.org
        RestrictedKrbHost/OWA
        HOST/OWA/GOD
        HOST/owa.god.org/GOD
        HOST/OWA
        HOST/owa.god.org
        HOST/owa.god.org/god.org
        E3514235-4B06-11D1-AB04-00C04FC2DCD2/fef2b3c9-4cec-410a-9d24-baba7891c01
4/god.org
        ldap/OWA/GOD
        ldap/fef2b3c9-4cec-410a-9d24-baba7891c014._msdcs.god.org
        ldap/owa.god.org/GOD
        ldap/OWA
        ldap/owa.god.org
        ldap/owa.god.org/god.org
CN=krbtgt,CN=Users,DC=god,DC=org
        kadmin/changepw
CN=ROOT-TVI862UBEH,CN=Computers,DC=god,DC=org
        HOST/ROOT-TVI862UBEH
        HOST/root-tvi862ubeh.god.org
CN=stu1,OU=dev,DC=god,DC=org
        RestrictedKrbHost/STU1
        HOST/STU1
        RestrictedKrbHost/STU1.god.org
        HOST/STU1.god.org

定位域控

环境变量

这种方法完全查询本地信息,不发送任何网络数据包,是动静最小的定位方案

1
echo %LOGONSERVER%

ipconfig /all推理

ipconfig /all会直接暴露根域名,而域环境DNS大概率就是DC

net time /domain

域环境的时间服务器一般是域控

1
2
3
4
PS C:\Users\liukaifeng01> net time /domain
\\owa.god.org 的当前时间是 2025/12/15 20:01:31

命令成功完成。

nltest

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
PS C:\Users\liukaifeng01> nltest /dclist:god.org
获得域“god.org”中 DC 的列表(从“\\owa.god.org”中)。
    owa.god.org [PDC]  [DS] 站点: Default-First-Site-Name
此命令成功完成
PS C:\Users\liukaifeng01> nltest  /dsgetdc:god.org
           DC: \\owa.god.org
      地址: \\192.168.52.138
     Dom Guid: a350098d-b47a-4dc3-b602-68713c90fda4
     Dom 名称: god.org
  林名称: god.org
 DC 站点名称: Default-First-Site-Name
我们的站点名称: Default-First-Site-Name
        标志: PDC GC DS LDAP KDC TIMESERV GTIMESERV WRITABLE DNS_DC DNS_DOMAIN D
NS_FOREST CLOSE_SITE FULL_SECRET WS
此命令成功完成

spn枚举

枚举spn,ServiceClass为LDAP的,FQDN大概率就是域控

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
PS C:\Users\liukaifeng01> setspn -Q ldap/*
正在检查域 DC=god,DC=org
CN=OWA,OU=Domain Controllers,DC=god,DC=org
        ldap/owa.god.org/ForestDnsZones.god.org
        ldap/owa.god.org/DomainDnsZones.god.org
        NtFrs-88f5d2bd-b646-11d2-a6d3-00c04fc9b232/owa.god.org
        Dfsr-12F9A27C-BF97-4787-9364-D31B6C55EB04/owa.god.org
        DNS/owa.god.org
        GC/owa.god.org/god.org
        RestrictedKrbHost/owa.god.org
        RestrictedKrbHost/OWA
        HOST/OWA/GOD
        HOST/owa.god.org/GOD
        HOST/OWA
        HOST/owa.god.org
        HOST/owa.god.org/god.org
        E3514235-4B06-11D1-AB04-00C04FC2DCD2/fef2b3c9-4cec-410a-9d24-baba7891c01
4/god.org
        ldap/OWA/GOD
        ldap/fef2b3c9-4cec-410a-9d24-baba7891c014._msdcs.god.org
        ldap/owa.god.org/GOD
        ldap/OWA
        ldap/owa.god.org
        ldap/owa.god.org/god.org

发现存在 SPN!

端口扫描

开放了389(LDAP),88(Kerberos),52(DNS)的机器大概率是域控

1
1..254 | % { if (Test-Connection 192.168.1.$_ -Count 1 -Quiet) { try { $s=New-Object Net.Sockets.TcpClient("192.168.1.$_", 389); "IP 192.168.1.$_ is DC"; $s.Close() } catch {} } }
This post is licensed under CC BY 4.0 by the author.