跨域攻击分析和防御(上)
点击星标,即时接收最新推文

跨域攻击
在大型公司或大型跨国企业中都拥有自己的内网,跨国公司都有各个子公司一般以建立域林进行共享资源。根据不同职能区分的部门,从逻辑上以主域和子域进行划分以方便统一管理。在物理层使用防火墙将各个子公司以及各个部门划分为不同区域。我们在渗透测试过程中如果拿到其中某个子公司或是某个部门的域控制器权限后,如果没有得到整个组织机构全部权限或我们需要寻找的资料不在此域中,往往需要其他部门或域的权限,这时候就需要选择继续进行跨域攻击拿下其他部门的域控制器或控制根域控制器的权限完成渗透工作。
跨域攻击的方法简介
常见的跨域渗透方式有常规渗透方法,如利用Web漏洞跨域拿下其他域的权限;利用已知域Hash进行PTH或PTT,如域控制器本地管理员密码可能相同;利用域信任关系完成跨域渗透。
在内网中的Web应用相比较于放置在公网的Web应用更具有脆弱性,公网中放置的Web应用服务器往往会配有WAF等设备,定期还有专业的渗透测试人员对其进行检测,但是在内网中的Web应用服务器大多为内部办公使用或作为测试服务器使用,所以内网中的Web应用服务器安全性受重视程度较低,往往会出现弱口令或是补丁未及时进行修复,该方法属于常规Web渗透,不作为本书重点讲解。
如果在已经控制当前域的域控制器权限后,我们可以检查域控制器的本地管理员密码,是否有其他域的域控制器本地管理员密码相同,在两个域之间的网络没有被隔离的情况下可以使用PTH进行横向渗透拿下其他域的域控制器权限。在很多公司中,虽然划分不同的域,但是为了节省资源管理员可能都为同一批人员,可能会出现域管理员中用户名相同的情况,可以尝试其密码是否也相同或相近。
本章着重讲解的是如何利用域信任关系进行跨域渗透。
利用域信任关系跨域攻击
域信任的作用是为了解决如何在多域环境中进行跨域资源共享,域环境不会无条件的接受来自其他域的凭证,他们只会接受来自受信任域的凭证。默认情况下,特定Windows域中的所有用户都可以通过该域中包含的资源进行身份验证。通过这种方式,域可以为其用户提供对该域中所有资源的安全访问。如果需要扩展访问到超出当前域边界的资源,需要使用域信任,域信任作为域的一种机制,允许另一个域的用户验证身份后访问本域中的资源。域信任又是利用了DNS服务器进行定位两个不同子域的域控制器,如果两个域中的域控制器不能找到另一个域,也就不存在通过域信任进行跨域资源共享了。
域信任关系简介
域信任分为单向信任和双向信任两种信任关系。单向信任是指在两个域之间创建单向的信任路径,在一个方向上的信任流,另一个方向上的访问流。在受信任域和信任域之间的单向信任中,受信任域中的用户或计算机可以访问信任域中的资源。但是,信任域中的用户无法访问受信任域中的资源,也就是说若A域信任B域,即B域中受信任的主体是可以访问A域中信任B域的资源。双向信任是指两个面向对立的单向信任的组合,信任和受信任的域彼此信任,两个方向上的信任流和访问流。这意味着可以两个方向上在两个域之间传递身份验证请求。Active Directory林中的所有域信任都是双向可传递信任。创建新子域时,将在新子域和父域之间自动创建双向可传递信任,从下级域发出的身份验证请求通过其父级向上流向信任域。
域信任还可分为外部信任和内部信任两种信任关系。默认情况下,使用Active Directory安装向导将新域添加到域树或林根域时,会自动创建双向可传递信任。在现有林中创建新域树时,将建立新的树根信任,当前域树中的两个或多个域之间的信任关系被称为内部信任,这种信任关系是可以进行传递的,如果有三个子域分别为BA域、CA域、DA域,BA域信任CA域、CA域又信任DA域,则BA域也信任DA域。外部信任是指两个不同林中的域的信任关系,外部信任不可传递。但是林信任可以是非传递性的或可传递的,具体取决于所使用的林间信任的类型,并且只能在位于不同林中的域之间创建。
在早期的域中,域信任仅限于两个域之间,也就是说域信任是不可以传递的,并且域信任都是单向的。随之Windows系统的发展,一直到Windows Server 2003时域信任变为双向信任关系并且可以进行通过信任关系进行传递。在Windows系统中,只有Domain Admins组中的用户可以管理域信任关系。
获取域信息
在域中的Enterprise Admins组(仅出现在林的根域中),该组的成员具有对目录林中所有域的完全控制作用。默认情况下,该组是林中所有域控制器上Administrators的成员。
这里要利用到一个工具lg.exe,该工具是一款使用C++编写用于管理本地用户组和域本地用户组的命令行工具。使用lg.exe工具可以帮助我们枚举远程主机用户和组的信息。
查看lab域内电脑当前权限,输入命令,如图7-1所示。

图7-1查看当前权限
查看pentest域内机器名为DC的电脑当前权限,如图7-2所示。

图7-2查看当前权限
枚举本域中用户组,指定Domain name为lab域,输入如下命令,如图7-3所示。
lg.exe lab\. 
图7-3枚举本域中用户组
枚举远程机器本地组用户,指定其他域中机器名为DC的计算机, 输入如下命令,结果如图7-4所示,表示没有信任关系。
lg.exe \\dc 
图7-4枚举远程机器本地组用户
如果两个域中存在域信任且当前权限也被另一个域信任,输入上述命令,结果如图7-5所示。

图7-5枚举远程机器本地组用户
获取远程系统全部用户SID,输入下列命令,如图7-6所示。
lg.exe \\dc -lu -sidsout 
图7-6获取远程系统全部用户SID
这里可以使用\groupname指定获取某个组所有成员的sid,如图7-7所示。

图7-7 指定获取某个组所有成员的sid

MS08067安全实验室视频号已上线
欢迎各位同学关注转发~
— 实验室旗下直播培训课程 —








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

相关文章:
跨域攻击分析和防御(上)
点击星标,即时接收最新推文 跨域攻击 在大型公司或大型跨国企业中都拥有自己的内网,跨国公司都有各个子公司一般以建立域林进行共享资源。根据不同职能区分的部门,从逻辑上以主域和子域进行划分以方便统一管理。在物理层使用防火墙将各个子公…...
GEE:梯度提升树(Gradient Boosting Tree)分类教程(样本制作、特征添加、训练、精度、参数优化、贡献度、统计面积)
作者:CSDN @ _养乐多_ 本文将介绍在Google Earth Engine (GEE)平台上进行梯度提升树(Gradient Boosting Tree)分类的方法和代码,其中包括制作样本点教程(本地、在线和本地在线混合制作样本点,合并样本点等),加入特征变量(各种指数、纹理特征、时间序列特征、物候特征…...
ubuntu22.04 arrch64版在线安装redis
脚本 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 echo "deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse" >…...
篮桥云课-摆玩具
思维好题 一开始掉进了二分的陷阱,发现看看逐个位置的差,我们要分成k段就是要取消k-1个最大的逐差 然后将剩余的加起来就可以了 因为本体保证是从小到大给出的 这一点保证了答案的正确性,自己没想出来 还是太菜了 #include<bits/stdc.h&…...
【python】python进阶知识点
eval函数用法 函数参数:字符串 # 计算表达式 print(eval("12*3")) # 把字符串当成python程序运行 print(eval("random.random()")) # 字符串转成列表 print(type(eval("[1,2,3,4]"))) # 字符串转成字典 print(type(eval("{name…...
LeetCode算法题解(动态规划)|LeetCode322. 零钱兑换、LeetCode279. 完全平方数
一、LeetCode322. 零钱兑换 题目链接:322. 零钱兑换 题目描述: 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一…...
Python Web开发基础知识篇
一,基础知识篇 本片文章会简单地说一些python开发web中所必须的一些基础知识。主要包括HTML和css基础、JavaScript基础、网络编程基础、MySQL数据库基础、Web框架基础等知识。 1,Web简介 Web,全称为World Wide Web,也就是WWW,万…...
企业计算机服务器中了360勒索病毒怎么办,360勒索病毒解密文件恢复
计算机技术的不断发展,为企业的生产运营提供了极大便利,不仅提升了办公效率,还促进了企业的发展。企业计算机在日常工作中一定加以防护,减少网络威胁事件的产生,确保企业的生产生产运营。最近,网络上的360后…...
LeetCode无重复字符的最长字符串的Java实现
题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长连续子字符串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子字符串是 "abc",所以其长度为 3。示例 2: 输入: s "bbbbb" 输…...
opencv-图像平滑
高斯平滑 高斯平滑即采用高斯卷积核对图像矩阵进行卷积操作。高斯卷积核是一个近似服从高斯分布的矩阵,随着距离中心点的距离增加,其值变小。这样进行平滑处理时,图像矩阵中锚点处像素值权重大,边缘处像素值权重小。 import cv2 …...
【开源】基于Vue.js的天然气工程运维系统的设计和实现
项目编号: S 022 ,文末获取源码。 \color{red}{项目编号:S022,文末获取源码。} 项目编号:S022,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统角色分类2.2 核心功能2.2.1 流程…...
数据丢失抢救神器之TOP10 Android 数据恢复榜单
在快节奏的数字时代,我们的生活越来越与智能手机交织在一起,使它们成为重要数据和珍贵记忆的存储库。由于意外删除、软件故障或硬件故障而丢失数据可能是一种痛苦的经历。值得庆幸的是,技术领域提供了 Android 数据恢复软件形式的解决方案。这…...
梨花声音教育,动作电影中配音也能带来听见“冲击力”
在为动作电影提供配音服务时,配音员家需要通过声音的力量来增强画面上的动作张力、传递角色的活力,以及呈现出电影中的紧迫感。动作片充斥着快节奏的场景交替、紧张的格斗和惊险的逃逸等元素,配音需要精确、生动且充满动力。为动作电影配音应…...
Elaticsearch学习
Elaticsearch 索引 1、索引创建 PUT /index_v1 {"settings": {"number_of_shards": 3,"number_of_replicas": 1},"mappings": {"properties": {"aaa": {"type": "keyword","store&qu…...
【腾讯云云上实验室】向量数据库+LangChain+LLM搭建智慧辅导系统实践
目录 一、搭建智慧辅导系统——向量数据库实践指南1.1、创建向量数据库并新建集合1.2、使用 TKE 快速部署 ChatGLM1.3、部署 LangChain PyPDFVectorDB等组件1.4、配置知识库语料1.5、基于 VectorDB LLM 的智能辅导助手 二、LLM时代的次世代引擎——向量数据库2.1、向量数据库L…...
从0开始学习JavaScript--深入了解JavaScript框架
JavaScript框架在现代Web开发中扮演着关键角色,为开发者提供了丰富的工具和抽象层,使得构建复杂的、高性能的Web应用变得更加容易。本文将深入探讨JavaScript框架的核心概念、常见框架的特点以及它们在实际应用中的使用。 JavaScript框架的作用 JavaSc…...
【教3妹学编程-算法题】二叉树中的伪回文路径
3妹:好冷啊, 冻得瑟瑟发抖啦 2哥 : 又一波寒潮来袭, 外面风吹的呼呼的。 3妹:今天还有雨,2哥上班记得带伞。 2哥 : 好的 3妹:哼,不喜欢冬天,也不喜欢下雨天,要是我会咒语…...
快速上手Banana Pi BPI-M4 Zero 全志科技H618开源硬件开发开发板
Linux[编辑] 准备[编辑] 1. Linux镜像支持SD卡或EMMC启动,并且会优先从SD卡启动。 2. 建议使用A1级卡,至少8GB。 3. 如果您想从 SD 卡启动,请确保可启动 EMMC 已格式化。 4. 如果您想从 EMMC 启动并使用 Sdcard 作为存储,请确…...
Node.js入门指南(三)
目录 Node.js 模块化 介绍 模块暴露数据 导入模块 导入模块的基本流程 CommonJS 规范 包管理工具 介绍 npm cnpm yarn nvm的使用 我们上一篇文章介绍了Node.js中的http模块,这篇文章主要介绍Node.js的模块化,包管理工具以及nvm的使用。 Node…...
Leetcode—2824.统计和小于目标的下标对数目【简单】
2023每日刷题(三十九) Leetcode—2824.统计和小于目标的下标对数目 实现代码 class Solution { public:int countPairs(vector<int>& nums, int target) {int n nums.size();sort(nums.begin(), nums.end());int left 0, right left 1;i…...
如何快速解决苹果设备Windows连接问题:一键驱动安装终极指南
如何快速解决苹果设备Windows连接问题:一键驱动安装终极指南 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/…...
从‘小白人转圈’到丝滑移动:详解UE角色蓝图里4种方向向量的正确用法
从‘小白人转圈’到丝滑移动:详解UE角色蓝图里4种方向向量的正确用法 在虚幻引擎的角色开发中,方向向量的选择往往决定了角色行为的精准度与自然度。许多开发者都遇到过这样的场景:明明按照教程连接了移动输入节点,角色却开始原地…...
LaTeX新人避坑指南:用gbt7714-numerical.bst和gbt7714.sty排版参考文献,如何避免‘上标’陷阱与版本冲突报错
LaTeX参考文献排版实战:从版本冲突到样式控制的完整解决方案 第一次用LaTeX写中文论文时,我对着满屏的红色编译错误和诡异的参考文献上标差点崩溃。直到凌晨三点才发现,原来从不同地方下载的.bst和.sty文件就像不兼容的USB接口——看似能插&a…...
深入Linux PCIe EP驱动:从数据结构pci_epc到硬件配置dw_pcie_setup的完整链路解析
Linux PCIe EP驱动深度解析:从pci_epc到dw_pcie_setup的完整链路 PCI Express(PCIe)作为现代计算机系统中至关重要的高速串行总线标准,其Endpoint(EP)模式在嵌入式系统、数据中心加速卡等领域有着广泛应用。…...
别再怕JESD204B了!手把手带你用FPGA(Vivado 2023.1)调试ADC(AD9680)高速数据接口
实战指南:FPGA与AD9680的JESD204B接口调试全解析 当一块崭新的AD9680评估板与Xilinx UltraScale FPGA开发板摆在面前,JESD204B协议的技术文档堆满桌面时,很多工程师的第一反应是既兴奋又忐忑。这种高速串行接口能实现多通道GSPS级别ADC数据的…...
Windows Terminal + WSL2 真香搭配:从安装到高效配置的完整指南
Windows Terminal WSL2 终极配置指南:打造开发者专属命令行工作流 在Windows生态中,WSL2的出现彻底改变了开发者的工作方式。它不再是简单的Linux模拟环境,而是通过完整的Linux内核支持,提供了近乎原生的性能体验。但要让这套系统…...
【技术演进】从交叉熵到广义焦点损失:目标检测损失函数的统一与进化之路
1. 目标检测中的损失函数演进背景 目标检测作为计算机视觉的核心任务之一,其性能提升很大程度上依赖于损失函数的优化。早期的目标检测器主要使用交叉熵损失进行分类任务,但随着应用场景复杂化,这种基础损失函数逐渐暴露出三个关键问题&#…...
AI通过MRI革新帕金森病诊断:技术原理与临床价值
1. AI如何通过常规MRI扫描革新帕金森病诊断作为一名长期关注医疗AI应用的从业者,最近佛罗里达大学团队开发的AIDP平台让我眼前一亮。这个基于深度学习的系统能够从常规MRI扫描中识别帕金森病(PD)、多系统萎缩(MSA)和进…...
从图像模糊到语音识别:卷积在AI中的实战应用与Python代码示例
从图像模糊到语音识别:卷积在AI中的实战应用与Python代码示例 卷积运算在人工智能领域扮演着至关重要的角色,它不仅是计算机视觉和语音处理的基础,更是现代深度学习架构的核心组件。对于希望将理论知识转化为实际应用的开发者而言,…...
Qt程序里调用Shell脚本,用QProcess还是system?一个ROS开发者的踩坑实录
Qt中调用Shell脚本的终极指南:QProcess与system的深度对比与实战避坑 在机器人操作系统(ROS)开发中,我们经常需要在Qt开发的图形界面中集成各种命令行工具和脚本。无论是启动一个ROS节点,还是执行复杂的环境配置脚本,如何在Qt应用…...

