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

跨域攻击
在大型公司或大型跨国企业中都拥有自己的内网,跨国公司都有各个子公司一般以建立域林进行共享资源。根据不同职能区分的部门,从逻辑上以主域和子域进行划分以方便统一管理。在物理层使用防火墙将各个子公司以及各个部门划分为不同区域。我们在渗透测试过程中如果拿到其中某个子公司或是某个部门的域控制器权限后,如果没有得到整个组织机构全部权限或我们需要寻找的资料不在此域中,往往需要其他部门或域的权限,这时候就需要选择继续进行跨域攻击拿下其他部门的域控制器或控制根域控制器的权限完成渗透工作。
跨域攻击的方法简介
常见的跨域渗透方式有常规渗透方法,如利用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…...
FPGA点阵显示翻车实录:从“鬼影”到“闪烁”,我的16*16点阵调试避坑指南
FPGA点阵显示实战:从“鬼影”到“闪烁”的深度调试指南 第一次看到自己设计的16*16点阵屏亮起时,那种成就感难以言表——直到屏幕上开始出现诡异的残影和闪烁。作为一名FPGA开发者,你可能已经掌握了基础的点阵驱动原理,但真正让点…...
用STM32F103C8T6+ESP8266搞定OneNET数据上传,手把手教你从零配置到云端显示(附完整代码)
从零构建STM32ESP8266物联网终端:OneNET平台数据上传与命令下发实战指南 引言:为什么选择STM32ESP8266组合? 在智能家居、工业监测等物联网应用场景中,低成本、高可靠性的硬件组合始终是开发者的首选。STM32F103C8T6作为ARM Corte…...
W25Q128 SPI Flash读写速度实测:对比标准、双线、四线模式,你的代码可能拖了后腿
W25Q128 SPI Flash读写速度实测:对比标准、双线、四线模式,你的代码可能拖了后腿 在嵌入式开发中,存储性能往往是制约系统整体效率的关键瓶颈。W25Q128作为一款128M-bit容量的SPI Flash芯片,凭借其出色的性价比和灵活性࿰…...
从‘删库到跑路’梗说起:聊聊rm -rf的设计哲学与Windows命令的替代方案
从‘删库跑路’到系统设计哲学:命令行删除操作的深层思考 "删库跑路"这个梗在技术圈流传已久,它戏谑地描述了一个极端场景——当管理员执行了rm -rf /这样的危险命令后,数据被彻底删除,只能选择"跑路"。这个玩…...
魔兽争霸III终极优化指南:用WarcraftHelper让经典游戏在现代电脑完美运行
魔兽争霸III终极优化指南:用WarcraftHelper让经典游戏在现代电脑完美运行 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还在为魔兽…...
大疆无人机开源项目实战:用Eclipse Paho库搞定MQTT双通道通信(TCP vs WebSocket)
大疆无人机开源项目实战:用Eclipse Paho库搞定MQTT双通道通信(TCP vs WebSocket) 当开发者基于大疆无人机开源项目进行二次开发时,通信协议的选择往往成为影响系统性能的关键因素。MQTT作为轻量级物联网协议,其传输层的…...
单智能体 vs 多智能体:架构选型指南,90% 的效率提升不等于 17 倍的错误放大!
本文深入探讨了单智能体和多智能体架构的优劣,指出正确的架构选择应基于任务结构而非技术野心。单智能体适合紧密耦合工作,而多智能体在可并行化任务中效率高,但错误放大风险大。行业领导者 Anthropic、OpenAI 等建议从单智能体开始ÿ…...
保姆级教程:用STM32CubeMX+Keil5驱动AS5045磁编码器(附Modbus调试精灵配置)
基于STM32CubeMX与Keil5的AS5045磁编码器全流程开发指南 在工业自动化与机器人控制领域,高精度角度检测是不可或缺的基础功能。AS5045作为一款通过RS485接口输出绝对位置信息的磁旋转编码器,以其12位分辨率(4096步/转)和Modbus通信…...
亚马逊至多330亿美元追加投资Anthropic,十年合作超千亿美元剑指AI大模型
亚马逊330亿美元投资Anthropic,十年合作超千亿4月21日,亚马逊宣布向美国AI大模型独角兽Anthropic投资50亿美元(约合人民币341亿元),未来还将根据商业里程碑情况追加至多200亿美元(约合人民币1364亿元&#…...
告别鬼影!用PyTorch复现动态场景HDR融合论文,手把手教你搞定多曝光图像对齐与融合
动态场景HDR融合实战:PyTorch实现多曝光图像对齐与去鬼影技术 在数字摄影领域,高动态范围(HDR)成像技术一直是突破相机硬件限制的重要手段。当面对阳光直射的窗户与昏暗室内共存的场景时,单张照片往往难以同时保留亮部和暗部细节。传统解决方…...

