域控制器相当于一个门卫,其中包含由这个域的账户密码、管理策略等信息构成的数据库。当一台计算机登录域时,域控制器要鉴别这台计算机是否属于这个域,以及用户使用的登录账号和密码是否正确。如果正确,则允许计算机登录这个域,使用该域内其有权限访问的资源,如文件服务器、打印服务器(也就是说,域控制器仅起到验证作用,访问其他资源并不需要再跟域控制器扯上关系);如果不正确,则不允许计算机登录,这时计算机将无法访问域内的资源,这在一定程度上保护了企业网络资源。
域服务器的作用如下。
域控服务器是网络安全渗透的重点对象。获取了域控服务器的权限,就意味着掌控了整个网络的资源和权限,在渗透过程中获取域控服务器用户账号和密码是基础和必需的一步。本节将对域控渗透思路、内网渗透常见命令及域控用户账号和密码的获取进行探讨。
域控服务器的渗透思路,仁者见仁,智者见智,笔者将实际工作经验总结如下。
总之,在内网渗透中需要对各种信息进行收集和研判,通过信息进行大胆的推断和渗透测试,不断扩大权限,最终获取域控服务器的权限。
下面介绍内网域控服务器渗透的常见命令。
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个用户要如何写?
01 获取IP配置信息
打开命令提示符窗口,如图1-22所示,输入命令“ipconfig /all”,查看该服务器的IP地址等信息,并通过该信息探测是否存在域控服务器。如果存在内部域控,在DNS服务器中一定会有内部IP地址,如10.168.10.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所示。
图1-23 显示当前域的计算机列表
图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所示,代码如下。
图1-25 获取域控服务器权限
图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所示。
图1-27 查看并整理域控用户密码
06 破解域控用户密码
将整理好的文件导入Ophcrack中进行破解。如图1-28所示,可以快速破解域控用户的密码。
图1-28 破解域控用户的密码
技巧
有些情况下,由于管理员设置了超过14位的密码,所以通过gsecdump获取的Hash值也无法通过Ophcrace工具进行破解。这时,可以使用WCE进行破解。执行“wce -w”命令直接获取登录用户的明文密码,如图129所示。
图1-29 获取登录用户的明文密码
还可以使用Mimikatz获取系统曾经登录用户的明文密码,示例如下。
mimikatz privilege::debug sekurlsa::logonpasswords