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的更多相关文章

  1. php大力力 [025节] 来不及学习和分类的,大力力认为有价值的一些技术文章合集(大力力二叔公)(2015-08-27)

    php大力力 [025节] 来不及学习和分类的,大力力认为有价值的一些技术文章合集(大力力二叔公)(2015-08-27) 比较好的模版 免费模板网,提供大量DIV+CSS布局网页模板下载及后台管理 ...

  2. [反汇编练习] 160个CrackMe之025

    [反汇编练习] 160个CrackMe之025. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...

  3. Python练习题 025:判断回文数

    [Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ---------------------------------------- ...

  4. 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 ...

  5. 【Python3练习题 025】 一个数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同

    [Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同 x = input('请输入任意位数的数字:') if x == x[::-1]: ...

  6. 逆向破解之160个CrackMe —— 025

    CrackMe —— 025 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  7. 025 01 Android 零基础入门 01 Java基础语法 03 Java运算符 05 if条件结构

    025 01 Android 零基础入门 01 Java基础语法 03 Java运算符 05 if条件结构 本文知识点:Java中的if条件结构语句 关系运算符回顾 生活中根据条件进行判断采取不同操作 ...

  8. 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 ...

  9. 025医疗项目-模块二:药品目录的导入导出-HSSF导入类的封装

    上一篇文章提过,HSSF的用户模式会导致读取海量数据时很慢,所以我们采用的是事件驱动模式.这个模式类似于xml的sax解析.需要实现一个接口,HSSFListener接口. 原理:根据excel底层存 ...

  10. 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 ...

随机推荐

  1. Java中必须了解的常用类

    1.Java的包装类 基本数据类型我们都很熟悉,例如:int.float.double.boolean.char等,基本数据类型不具备对象的特征,不能调用方法,一般能实现的功能比较简单,为了让基本数据 ...

  2. Python多线程(2)——线程同步机制

    本文介绍Python中的线程同步对象,主要涉及 thread 和 threading 模块. threading 模块提供的线程同步原语包括:Lock.RLock.Condition.Event.Se ...

  3. codeforces 479B Towers 解题报告

    题目链接:http://codeforces.com/problemset/problem/479/B 题目意思:有 n 座塔,第 i 座塔有 ai 个cubes在上面.规定每一次操作是从最多 cub ...

  4. ECSHOP去版权与标志

    前台部分: 1:去掉头部TITLE部分的ECSHOP演示站 Powered by ecshop 前者在后台商店设置 - 商店标题修改 后者打开includes/lib_main.php $page_t ...

  5. Android之数据库操作

    安卓数据库帮助类 /** * 数据库帮助类,用于管理数据库 * @author Administrator * */ public class PersonSQLiteOpenHelper exten ...

  6. JUC回顾之-ScheduledThreadPoolExecutor底层实现原理和应用

    项目中经常使用定时器,比如每隔一段时间清理下线过期的F码,或者应用timer定期查询MQ在数据库的配置,根据不同version实现配置的实时更新等等.但是timer是存在一些缺陷的,因为Timer在执 ...

  7. VBScript [ 译 ]

    VBScript ( Visual Basic Scripting Edition) 使用COM 来和宿主环境交互.从Microsoft Windows 98 开始的所有的微软桌面操作系统的relea ...

  8. win32_11gR2_database安装教程

  9. java抽象类的使用

    当多个类中出现相同功能,但是功能主体不同,这是可以进行向上抽取.这时,只抽取功能定义,而不抽取功能主体. 抽象:看不懂. 抽象类的特点:1,抽象方法一定在抽象类中.2,抽象方法和抽象类都必须被abst ...

  10. Menu菜单

    选项菜单 1.菜单的生命周期 * onCreateOptionsMenu() 选项菜单创建时调用(启动Activity时调用 只调用1次) * onPrepareOptionsMenu() 选项菜单准 ...