MS14-025引起的问题 - 1
windows2008有一个叫组策略首选项(Group Policy Preference)的新特性.这个特性可以方便管理员在整个域内部署策略.本文会详细介绍这个组策略首选项的一些缺陷.尤其是当下发的策略包含用户名和认证信息的时候,一个普通的用户就可以通过这些信息或得策略里的帐号密码,从而提升自己的权限甚至控制域内其他计算机。
组策略首选项允许域管理员向域内的计算机推送各种策略.比如登录的时候自动映射网络硬盘,更新内建administrator帐号的密码,修改注册表,启动程序,新建用户等等.
更多如何创建部署策略的细节就不多说了.下面是一条更新administrator管理员帐号的策略.如下图,是一个xml的文件.

可以看到这条策略的内容是把administrator账户重命名为locadm.密码是cpassword字段,是加密过的.
当一条组策略首选项在域成员上部署之后,比如一台win7的机器部署了这条更新默认帐号的策略之后,会自动创建一个目录"C:\Users\All Users\Microsoft\Group Policy\History".部署之后的策略xml文件就会保存在这里.这个例子中路径是这样的:
C:\Users\All Users\Microsoft\Group Policy\History{A1C0C41B-D2F8-401B-A5D1-437DA197A809}\Machine\Preferences\Groups\Groups.xml
任何登录的用户对这个文件都有读权限:

关键的问题在于这个密码虽然是加密的,但是是可以破解的!它使用了256位的AES加密,这个32字节的key被微软写在文档里了…..
The 32-byte AES key is as follows:4e 99 06 e8 fc b6 6c c9 fa f4 93 10 62 0f fe e8f4 96 e8 06 cc 05 79 90 20 9b 09 a4 33 b6 6c 1b
所以任何接触到这个文件的用户都可以轻易的破解出配置文件中的密码.
而组策略首选项一般是在较大的域内应用,更改默认密码这样的策略一般都是针对多台计算机下发的.所以获得了策略中的帐号可能在其他的计算机上同样有效.
组策略首选项的配置文件是通过SMB协议下发的,内容没有加密.这就导致可以监听流量或得配置信息,从而得到帐号密码.下图是从网络流量中获取xml配置文件的截图:

工具使用

工具比较简单,解密的字符串是写在程序里的:

vialabs.portcullis.co.uk翻译整理:litdg@FreeBuF
MS14-025引起的问题 - 1的更多相关文章
- php大力力 [025节] 来不及学习和分类的,大力力认为有价值的一些技术文章合集(大力力二叔公)(2015-08-27)
php大力力 [025节] 来不及学习和分类的,大力力认为有价值的一些技术文章合集(大力力二叔公)(2015-08-27) 比较好的模版 免费模板网,提供大量DIV+CSS布局网页模板下载及后台管理 ...
- [反汇编练习] 160个CrackMe之025
[反汇编练习] 160个CrackMe之025. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...
- Python练习题 025:判断回文数
[Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ---------------------------------------- ...
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-25: ordinal not in range(128)
python报错:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-25: ordinal not in ...
- 【Python3练习题 025】 一个数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同
[Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同 x = input('请输入任意位数的数字:') if x == x[::-1]: ...
- 逆向破解之160个CrackMe —— 025
CrackMe —— 025 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 025 01 Android 零基础入门 01 Java基础语法 03 Java运算符 05 if条件结构
025 01 Android 零基础入门 01 Java基础语法 03 Java运算符 05 if条件结构 本文知识点:Java中的if条件结构语句 关系运算符回顾 生活中根据条件进行判断采取不同操作 ...
- No.025:Reverse Nodes in k-Group
问题: Given a linked list, reverse the nodes of a linked list k at a time and return its modified list ...
- 025医疗项目-模块二:药品目录的导入导出-HSSF导入类的封装
上一篇文章提过,HSSF的用户模式会导致读取海量数据时很慢,所以我们采用的是事件驱动模式.这个模式类似于xml的sax解析.需要实现一个接口,HSSFListener接口. 原理:根据excel底层存 ...
- Java for LeetCode 025 Reverse Nodes in k-Group
Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If ...
随机推荐
- Transfer-Encoding: chunked
Http1.1中 使用 chunked 编码传送时 没有CONTENT_LENGTH,下载之前无法确定要下载的大小. Wininet中已经内嵌该传输协议,要查看chunked块的大小只能socket底 ...
- Java for LeetCode 200 Number of Islands
Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surro ...
- kail ip配置
设置ip /etc/network/interfaces # This file describes the network interfaces available on your system # ...
- Instruments_Automation使用入门
Instruments 是应用程序用来动态跟踪和分析 Mac OS X 和 iOS 代码的实用工具. 这是一个灵活而强大的工具,它让你可以跟踪一个或多个进程,并检查收集的数据. 这样,Instrume ...
- 谈谈Objective-C的警告 (转)
原文地址:http://onevcat.com/2013/05/talk-about-warning/ 一个有节操的程序员会在乎自己的代码的警告,就像在乎饭碗边上有只死蟑螂那样. ——@onevcat ...
- svn利用钩子post-commit自动更新到线上测试服务器(测试中未验证)
创建一个新的版本库: [root@centos03 svn]# pwd /home/svn [root@centos03 svn]# svnadmin create webtest [root@cen ...
- 移除IIS默认的响应头
在IIS+ASP.NET的运行环境,默认情况下会输出以下的响应头(Response Headers): 那如何移除这些响应头呢?下面我们来一个一个移除. 1. 移除Server 借助IIS URL R ...
- .Net的后台服务技术有哪些?
ashx(一般处理程序)WCFWebServiceASP.NET Web API 1 ashx(一般处理程序) 一 般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展 ...
- C++的那些事:容器和泛型算法
一.顺序容器 1,标准库定义了3种类型的顺序容器:vector.list和deque.它们的差别主要在于访问元素的方式,以及添加或删除元素相关操作运算代价.标准库还提供了三种容器适配器:stack.q ...
- SU supef命令学习