域渗透(一)

域简析

什么是AD域

AD的全称是Active Directory(活动目录) 是指windows服务器操作系统中的目录服务,它被包含在大多数windows
sever操作系统中,负责集中式域管理及身份认证。AD域中是每个Windows域网络的基石。他负责存储域成员(包括设备和用户)的信息,验证其凭据并定义访问权限。运行此服务的服务器称为域控制器。AD域架构的常用对象包括以下四种

1.组织单位(ou):它是可以组策略设置或委派管理权限的最小作用单位
2.域(Domain):它是网路对象用户,组,计算机等的分组。域中的所有对象都存储在AD中,AD由一个或多个域构成。域是windows操作系统中的一个安全边界,安全策略和访问控制都不能跨越不同的域,每个域管理员有权限设置所属域的策略。
3.域树(domain tree):它由多个域构成,这些域共享公共的架构,配置和全局编录能力,形成一个连续的名称空间,域之间的通信通过信任关系(若域间没有信任关系,则无法传递信息)。域树中的任何两个域之间都是双向可传递的信任关系。
4.林(forest):林由一个或多个域树组成,同一林中的域可以共享同类的架构,战点,复制及全局编录能力。在新林中创建的第一个域是该林的根域,林范围的管理组都位于该域。在两个不同的林间建立信任关系(信任只能创建于根域),可以使得这两个林内的所有域都具有信任关系。

AD域主要功能

  • 服务器及客户端计算机管理:管理服务器及客户端计算机账户,将所有服务器及客户端计算机加入域管理并实施组策略
  • 用户服务:管理用户域账户,用户信息,企业通讯录(与电子邮件系统集成),用户组管理,用户身份认证及用户授权管理等,按需求实施组管理策略。
  • 资源管理:管理打印机,文件共享服务等网络资源
  • 桌面配置:系统管理员可以集中配置各种桌面配置策略,如用户使用域中的资源权限限制,界面功能限制,应用程序执行特征限制,网络连接限制及安全配置限制等。

实验开始前需要自己搭建一个域环境,这里是参照这个链接搭建的
https://www.cnblogs.com/XiaoZhou-cn/p/11364226.html

信息收集

获取的信息越多,后续横向移动提供的支持就越多。攻击者只要获得了一个额windows域用户的凭据,就可以利用这个凭据进行域环境的信息收集。

常用命令
判断当前计算机是否在域中

net config workstation

域渗透(一)_第1张图片
查询主域服务器

net time /domain

域渗透(一)_第2张图片查询域控制器共享文件

net view \\Server.com

域渗透(一)_第3张图片
(这里填域环境搭建时的域名,如果出错可能是因为服务没开,在网络设置里开启即可)

查询本地域用户管理员列表

net localgroup administrators

域渗透(一)_第4张图片
查询域中工作组列表

net group /domain

域渗透(一)_第5张图片
查询域中指定工作组信息

net group "Domain Users" /domain

域渗透(一)_第6张图片

查询域管理组用户列表

net group "domain admins" /domain

域渗透(一)_第7张图片
查询域所有用户列表

net user /domain

域渗透(一)_第8张图片
查询域指定用户详细信息

net user toy /domain

域渗透(一)_第9张图片
查询当前域计算机列表

net group "domain computers" /domain

域渗透(一)_第10张图片
查询域控制器列表

net group "Domain Controllers" /domain

域渗透(一)_第11张图片
查询域密码策略

net accounts /domain

域渗透(一)_第12张图片
这些都是最基础,常用的命令,只能获得基本信息,且不支持模糊查询。获取更详细信息可配合使用其他工具,如Dsquery/Dsget,Csvde,ADExplorer和AdFind等

Pass-the-Hash

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
域渗透(一)_第13张图片

一般情况下是能直接获取到192.168.100.100计算机的权限的,这里报了一个ruby_smb的错误,花了很长时间也没能解决

获取hash

NTDS.dit

NTDS.dit文件是AD的数据库,等同于本地计算机中的SAM文件,它的存放位置为%SystemRoot%\ntds\。。NTDS.dit 包含不限于用户名、散列值、组、GPP、OU等活动目录的信息。在渗透测试过程中,只要控制了域控制器,就可以对它进行备份,通过NTDS.dit文件可以获取NT Hash和LM Hash,然后破译得明文密码。

这里选择用Ntdsutil.exe工具来备份NTDS.dit文件。此工具为域自带的提供管理设施功能的命令行工具,需要管理员权限。适用于Windows2008及更高操作版本。

基础命令

  • 查询当前快照列表 ntdsutil snapshot “List All” quit quit
  • 查询已挂载的快照列表 ntdsutil snapshot “List Mounted” quit quit
  • 创建快照 ntdsutil snapshot “activate instance ntds” create quit quit
  • 挂载快照 ntdsutil snapshot “mount GUID” quit quit
  • 卸载快照 ntdsutil snapshot “unmount GUID” quit quit
  • 删除快照 ntdsutil snapshot “delete GUID” quit quit

测试

具体执行命令

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

域渗透(一)_第14张图片
通过命令查看
域渗透(一)_第15张图片
离线获取hash除了需要NTDS.dit之外,还需要用到system.hive文件
保存命令
reg save hklm\system system.hive
在这里插入图片描述
获取域控ntds.dit文件除了用ntdsutil,还可以用vssadmin,vshadow.exe,vssown.vbs或NinJaCopy等工具

提取Hash

1.QuarkPwDump
QuarkPwDump是Quarkslab出品的一款用户凭据开源工具,支持Windows XP/2003/7/2008等版本操作系统,且相当稳定,它可提取Windows平台下多种类型的用户凭据,包括本地账户,域账户,缓存账户和Bitlocker等。
点击下载

为了渗透测试隐蔽性,这里使用修改过的离线版本。
域渗透(一)_第16张图片
它目前可以导出 :

  • - Local accounts NT/LM hashes +history 本机NT/LM哈希+历史登录记录
  • - Domain accounts NT/LM hashes +history 域中的NT/LM哈希+历史登录记录
  • - Cached domain password 缓存中的域管理密码
  • - Bitlocker recovery information(recovery passwords & key packages)
    使用Bitlocker的恢复后遗留的信息

基本命令

  • -dhl 导出本地哈希值
  • -dhdc导出内存中的域控哈希值
  • -dhd 导出域控哈希值,必须指定NTDS文件
  • -db 导出Bitlocker信息,必须指定NTDS文件
  • -nt 导出ntds文件
  • -hist 导出历史信息,可选项
  • -t 导出类型可选默认导出为John类型。
  • -o 导出文件到本地

(这里提取Hash的时候遇到了注册表错误,只能本地导出了)
在这里插入图片描述
域渗透(一)_第17张图片

你可能感兴趣的:(内网渗透)