当前位置: 首页 > news >正文

跨域攻击分析和防御(上)

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

c79e6108ff81608e9474a6319831073d.png

跨域攻击

在大型公司或大型跨国企业中都拥有自己的内网,跨国公司都有各个子公司一般以建立域林进行共享资源。根据不同职能区分的部门,从逻辑上以主域和子域进行划分以方便统一管理。在物理层使用防火墙将各个子公司以及各个部门划分为不同区域。我们在渗透测试过程中如果拿到其中某个子公司或是某个部门的域控制器权限后,如果没有得到整个组织机构全部权限或我们需要寻找的资料不在此域中,往往需要其他部门或域的权限,这时候就需要选择继续进行跨域攻击拿下其他部门的域控制器或控制根域控制器的权限完成渗透工作。

跨域攻击的方法简介

常见的跨域渗透方式有常规渗透方法,如利用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所示。

241df06c8b5eb28f4fde7e8016a4db0b.png

图7-1查看当前权限

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

830e22602e54146d3d57a058ee4520a3.png

图7-2查看当前权限

枚举本域中用户组,指定Domain name为lab域,输入如下命令,如图7-3所示。

lg.exe lab\.

df7c13233ebcb3934e30961784ba42b8.png

图7-3枚举本域中用户组

枚举远程机器本地组用户,指定其他域中机器名为DC的计算机, 输入如下命令,结果如图7-4所示,表示没有信任关系。

lg.exe \\dc

6785ab8c6da929f4d78bfbd56bfd6091.png

图7-4枚举远程机器本地组用户

如果两个域中存在域信任且当前权限也被另一个域信任,输入上述命令,结果如图7-5所示。

cab6c046486eb2e26331ad46b55253e7.png

图7-5枚举远程机器本地组用户

获取远程系统全部用户SID,输入下列命令,如图7-6所示。

lg.exe \\dc -lu -sidsout

c2d49972ee9a1745428929fee4647bfa.png

图7-6获取远程系统全部用户SID

这里可以使用\groupname指定获取某个组所有成员的sid,如图7-7所示。

19bf5fef6980c8a12111220ba5c5c1a4.png

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

e3b10d2c7578eff58a6db8bd3c10ac1c.gif

MS08067安全实验室视频号已上线

欢迎各位同学关注转发~

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

05051025886e4e55523fc5c08610dfdf.png

c5cdec0d36cc6164023530adc1b4fdf6.jpeg

a8f4f85325a5108946f31dfeb7faba74.jpeg6e0a175a46e7b79ebb46946f003486b7.png

891fd9c758d5cdcffd76674b5461810a.png

549b8e874eaff69a2c05216d1e235805.jpeg

7c89dbe943c5259888bfb7ea28338dfb.jpeg

168f11b637f980007fc5aa6620a41830.jpeg

74dac8e795bf390c7523b8bffc399da3.png

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

f3aec84c00ed20f669f59106f06f10c9.gif

相关文章:

跨域攻击分析和防御(上)

点击星标,即时接收最新推文 跨域攻击 在大型公司或大型跨国企业中都拥有自己的内网,跨国公司都有各个子公司一般以建立域林进行共享资源。根据不同职能区分的部门,从逻辑上以主域和子域进行划分以方便统一管理。在物理层使用防火墙将各个子公…...

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" >…...

篮桥云课-摆玩具

思维好题 一开始掉进了二分的陷阱&#xff0c;发现看看逐个位置的差&#xff0c;我们要分成k段就是要取消k-1个最大的逐差 然后将剩余的加起来就可以了 因为本体保证是从小到大给出的 这一点保证了答案的正确性&#xff0c;自己没想出来 还是太菜了 #include<bits/stdc.h&…...

【python】python进阶知识点

eval函数用法 函数参数&#xff1a;字符串 # 计算表达式 print(eval("12*3")) # 把字符串当成python程序运行 print(eval("random.random()")) # 字符串转成列表 print(type(eval("[1,2,3,4]"))) # 字符串转成字典 print(type(eval("{name…...

LeetCode算法题解(动态规划)|LeetCode322. 零钱兑换、LeetCode279. 完全平方数

一、LeetCode322. 零钱兑换 题目链接&#xff1a;322. 零钱兑换 题目描述&#xff1a; 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一…...

Python Web开发基础知识篇

一&#xff0c;基础知识篇 本片文章会简单地说一些python开发web中所必须的一些基础知识。主要包括HTML和css基础、JavaScript基础、网络编程基础、MySQL数据库基础、Web框架基础等知识。 1,Web简介 Web&#xff0c;全称为World Wide Web&#xff0c;也就是WWW&#xff0c;万…...

企业计算机服务器中了360勒索病毒怎么办,360勒索病毒解密文件恢复

计算机技术的不断发展&#xff0c;为企业的生产运营提供了极大便利&#xff0c;不仅提升了办公效率&#xff0c;还促进了企业的发展。企业计算机在日常工作中一定加以防护&#xff0c;减少网络威胁事件的产生&#xff0c;确保企业的生产生产运营。最近&#xff0c;网络上的360后…...

LeetCode无重复字符的最长字符串的Java实现

题目 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长连续子字符串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子字符串是 "abc"&#xff0c;所以其长度为 3。示例 2: 输入: s "bbbbb" 输…...

opencv-图像平滑

高斯平滑 高斯平滑即采用高斯卷积核对图像矩阵进行卷积操作。高斯卷积核是一个近似服从高斯分布的矩阵&#xff0c;随着距离中心点的距离增加&#xff0c;其值变小。这样进行平滑处理时&#xff0c;图像矩阵中锚点处像素值权重大&#xff0c;边缘处像素值权重小。 import cv2 …...

【开源】基于Vue.js的天然气工程运维系统的设计和实现

项目编号&#xff1a; S 022 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S022&#xff0c;文末获取源码。} 项目编号&#xff1a;S022&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统角色分类2.2 核心功能2.2.1 流程…...

数据丢失抢救神器之TOP10 Android 数据恢复榜单

在快节奏的数字时代&#xff0c;我们的生活越来越与智能手机交织在一起&#xff0c;使它们成为重要数据和珍贵记忆的存储库。由于意外删除、软件故障或硬件故障而丢失数据可能是一种痛苦的经历。值得庆幸的是&#xff0c;技术领域提供了 Android 数据恢复软件形式的解决方案。这…...

梨花声音教育,动作电影中配音也能带来听见“冲击力”

在为动作电影提供配音服务时&#xff0c;配音员家需要通过声音的力量来增强画面上的动作张力、传递角色的活力&#xff0c;以及呈现出电影中的紧迫感。动作片充斥着快节奏的场景交替、紧张的格斗和惊险的逃逸等元素&#xff0c;配音需要精确、生动且充满动力。为动作电影配音应…...

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开发中扮演着关键角色&#xff0c;为开发者提供了丰富的工具和抽象层&#xff0c;使得构建复杂的、高性能的Web应用变得更加容易。本文将深入探讨JavaScript框架的核心概念、常见框架的特点以及它们在实际应用中的使用。 JavaScript框架的作用 JavaSc…...

【教3妹学编程-算法题】二叉树中的伪回文路径

3妹&#xff1a;好冷啊&#xff0c; 冻得瑟瑟发抖啦 2哥 : 又一波寒潮来袭&#xff0c; 外面风吹的呼呼的。 3妹&#xff1a;今天还有雨&#xff0c;2哥上班记得带伞。 2哥 : 好的 3妹&#xff1a;哼&#xff0c;不喜欢冬天&#xff0c;也不喜欢下雨天&#xff0c;要是我会咒语…...

快速上手Banana Pi BPI-M4 Zero 全志科技H618开源硬件开发开发板

Linux[编辑] 准备[编辑] 1. Linux镜像支持SD卡或EMMC启动&#xff0c;并且会优先从SD卡启动。 2. 建议使用A1级卡&#xff0c;至少8GB。 3. 如果您想从 SD 卡启动&#xff0c;请确保可启动 EMMC 已格式化。 4. 如果您想从 EMMC 启动并使用 Sdcard 作为存储&#xff0c;请确…...

Node.js入门指南(三)

目录 Node.js 模块化 介绍 模块暴露数据 导入模块 导入模块的基本流程 CommonJS 规范 包管理工具 介绍 npm cnpm yarn nvm的使用 我们上一篇文章介绍了Node.js中的http模块&#xff0c;这篇文章主要介绍Node.js的模块化&#xff0c;包管理工具以及nvm的使用。 Node…...

Leetcode—2824.统计和小于目标的下标对数目【简单】

2023每日刷题&#xff08;三十九&#xff09; 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…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...

go 里面的指针

指针 在 Go 中&#xff0c;指针&#xff08;pointer&#xff09;是一个变量的内存地址&#xff0c;就像 C 语言那样&#xff1a; a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10&#xff0c;通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

TJCTF 2025

还以为是天津的。这个比较容易&#xff0c;虽然绕了点弯&#xff0c;可还是把CP AK了&#xff0c;不过我会的别人也会&#xff0c;还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...