当获取了一台在域内的Windows服务器权限,就需要我们尽可能地去收集所能获取到的域的相关信息,收集的域的信息越多,拿下域控的成功率越高。


01、判断是否存在域

(1)一般我们在进行本机信息收集,查询IP网络或系统信息时,就很容易发现存在域控。

ipconfig /all 命令
systeminfo 命令

(2)查看当前登录域及域用户

net config workstation

(3)域服务器都会同时作为时间服务器,所以使用下面命令判断主域。

运行 net time /domain 该命令后,一般会有如下三种情况:
1.存在域,但当前用户不是域用户,提示说明权限不够  C:\Users>bypass>net time /domain  发生系统错误 5  拒绝访问。
2.存在域,并且当前用户是域用户   C:\Users\Administrator>net time /domain   \\dc.test.com 的当前时间是 2020/10/23 21:18:37
   命令成功完成。
3.当前网络环境为工作组,不存在域   C:\Users\Administrator>net time /domain   找不到域 WORKGROUP 的域控制器。

02、查找域控制器

(1)一般来说,域控服务器IP地址为DNS服务器地址,找到DNS服务器地址就可以定位域控。

nslookup/ping 域名,解析到域控服务器IP地址

(2)查看域控制器的机器名

nltest /DCLIST:test.com

(3)查看域控制器

net group "Domain Controllers" /domain

03、获取域内用户和管理员

(1)查询域内所有用户组列表

net group /domain

(2)查询域管理员列表

net group "Domain Admins" /domain

(3)获取所有域用户列表

net user /domain

(4)获取指定域用户bypass的详细信息

net user bypass /domain

(5)查询域内置本地管理员组用户

net localgroup administrators /domain

04、定位域管理员

如果我们可以找到域管理员登录了哪些服务器,就可以通过攻击这些服务器并进行尝试利用,以获得域管理员权限。

(1)PowerView

PowerView.ps1集成在PowerSploit框架中,该脚本完全依赖于PowerShell和WMI查询。

域用户权限,能够获取的信息与用户权限有关,本地管理员用户无法查询。

下载地址:

https://github.com/PowerShellEmpire/PowerTools

获得所有域管理员的登录位置信息:

(2)PsLoggedOn

PsLoggedOn是PSTools工具包中的一个小程序,它显示本地登录的用户和通过本地计算机或远程计算机的资源登录的用户。

域用户权限,本地管理员无法查询。

下载地址:

https://docs.microsoft.com/en-us/sysinternals/downloads/psloggedon

查看域控当前登录的用户:

(3)PVEFindADUser

下载地址:

https://github.com/chrisdee/Tools/tree/master/AD/ADFindUsersLoggedOn

使用域用户执行,查看域中所有计算机的登录用户:

05、查找域管理进程

通过域管理员列表与本机进程及进程用户进行对比,就可以找到域管理员所运行的进程。

net group "domain admins" /domain   //获取域管理员列表tasklist /v        //列出本机所有进程和进程用户