这周我鸽了,与小伙伴py了一下,有请大陆彭法师 Master-Perng
当在红队行动中碰到带有域结构的内网时,为了扩大战果,如何精准的定位DC机以及如何向域管靠拢是至关重要的
✔ 0x01 定位DC的几种姿势
1.1 通过DNS服务器来定位DC
1.1.1 默认DNS服务器就是DC
由于带有域环境的内网结构需要有一套单独的域名系统,所以在内网的DNS服务器大有可能为DC服务器
命令行输入nslookup命令,输出的Address就是DNS的IP地址

1.1.2 通过DNS查询域名来定位DC

1.1.3 通过DNS查询SRV记录来定位DC
SRV记录(服务器资源记录)是DNS服务器数据库中的一种资源记录类型,它的作用是说明一个服务器能够提供什么样的服务,在SRV记录当中存在四个分组,其中包含_tcp分组,在这个分组中,搜集了DNS区域中所有DC
nslookup -type=SRV _ldap._tcp.<domain name>
1.2 通过net命令来定位DC
1.2.1 通过寻找校时服务器来定位DC
NTP服务器(校时服务器)是通过原子钟、天文台、卫星来获取时间并同步到网络当中的服务器。在一些大型的工业企业当中,由于工业控制系统需要高精度的时间,会使用独立的校时服务器,但在一些对时间精度要求不高的企业并不会设置独立的校时服务器。通常情况下,在存在域环境的内网且没有独立的校时服务器的,DC机会承担域内的校时服务。
net time /domain该命令执行后会存在以下三种情况
存在域,并通过DC获取到了时间

存在域,但当前用户不是域用户

不存在域

1.2.2 通过查寻Domain Controllers组来定位DC
net group "Domain Controllers" /domain由于在域中DC机可能存在主备冗余,查询结果很可能不止一台,但它们都是DC

再通过查寻到的机器名,使用nslookup命令进行解析,得到ip地址

1.3 通过nltest.exe定位DC
nltest是微软自带的一个命令行工具,利用该工具可以执行获取DC列表、查询信任状态等一些列操作。
nltest /DCLIST:<domain name>
1.4 利用netview.exe定位DC
netview.exe是枚举工具,使用WinAPI枚举系统,利用NetSessionEnum找寻登陆会话,利用NetShareEnum找寻共享,利用NetWkstaUserEnum枚举登陆用户,同时大多数功能不需要管理员权限。
下载地址:https://github.com/mubix/netview/releases/tag/latest
netview.exe -g <group name>
✔ 0x02 定位域管的几种方法
2.1 利用PsLoggendon.exe定位域管
PsLoggendon.exe是PsTools工具套件中的一员,用来查看通过资源共享登陆的用户,该工具的一些功能需要管理员权限。
下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools

2.2 利用PVEFindADUser.exe定位域管
PVEFindADUser.exe是用来枚举域用户以及登陆过特定系统的用户的一款工具,需要管理员权限。
下载地址:https://raw.githubusercontent.com/chrisdee/Tools/master/AD/ADFindUsersLoggedOn/PVEFindADUser.exe
PVEFindADUser.exe -current "<Domain admin name>"
2.3 利用PowerView.ps1定位域管
powerView.ps1是一款依赖powershell和wmi对内网进行查询的常用渗透测试脚本,集成在powersploit工具包中,是一个收集域信息很好用的脚本。
源码地址:https://github.com/PowerShellEmpire/PowerTools/blob/master/PowerView/powerview.ps1
利用该工具的Invoke-UserHunter模块获取域管登陆过的机器信息
powershell.exe -exec bypass -Command "& {Import-Module <绝对路径>; Invoke-UserHunter}"




