5月,微软在13日发布月度安全更新,其中 有KB2871997和 KB2928120两个知识库文章Knowledgeased(而KB2871997甚至不是Security Bulletin)。对于无论是作为攻击的渗透测试人员还是作为防守的管理员都不容忽视这两个更新。 KB2871997针对大名鼎鼎的PTH(pass the hash攻击方式), KB2928120针对GPP(Group Policy Preference)可参考freebuf以前的报道。下面看看安全研究人员Craig对此分析。

KB2871997

这个被称为"PTH杀手"的更新,将使本地帐号不再可以用于远程接入系统,不管是 network logon 还是 interactive login,这就包括像使用 PSEXEC工具甚至IPC远程浏览 C$ ,从表面上看这就有效的降低了一些攻击场景下的威胁。例如一台机器被攻陷后,dump出所有hash,找到本地管理员的hash,再拿着去攻击网络内其他使用相同密码的机器,往往整个网络就这样被控制下来了。

然而,在 Craig 的测试中发现,所有以上的情况都是没说错,但是唯独默认的 Administrator (SID 500)帐号例外,请注意把administrator改名了,它的SID仍然是500,只要它还是 SID 500那么以前的攻击方法还是有效。

所以作为防守方的管理员应该要禁用默认的 local admin帐号,然后重新新建常规的 local user帐号,再把它加进去管理员组。如果管理员做到这样了,那么黑客dump到的本地hash将不再在网络重放中有效,不管是hash还是实际的 credentials。Windows 7默认是禁用 Administrator帐号的,但是 Craig 发现往往在有些企业环境里,这个 Administrator帐号又会被启用起来,只是改了个名字, 也就是说仍然是SID 500,那么这个补丁将帮不了你。

Craig在MSF和powershell里用WMI和psexec_command测试过,都有同样的结果——所有 local account访问都被deny了,除了 SID 500。 Domain hashes和SID 500 的hash仍然可以 pass the hash。

在下图可以看到仍然可以在测试的域环境里一个成员中执行PSEXEC,使用的就是一个SID还是500的帐号,虽然它已经名为renamedAdmin,

如下图所示针对 renamedAdmin, pass the hash攻击仍然有效,但是rdptest就不行了。

下图你可以看到rdptest在本地管理员组,但是已经不是SID 500了。

mimikatz

提到 KB2871997不得不说的还有 mimikatz,它通常已经攻陷了管理员用RDP连接过系统后,就可以用 mimikatz拿到管理员的明文密码了。在 KB2871997补丁以前,即便管理员是正确的退出RDP连接,而不只是关掉连接窗口,仍然可以随时使用mimikatz拿到明文密码。 KB2871997补丁以后,只要你是正常的log off你的RDP连接,那么就会清除内存中的 credentials,但是如果比只是关掉连接的窗口,那么mimikatz的攻击仍然是有效的。 Craig的测试发现,系统并不会立即清除内存中的 credentials,但是大约30秒左右credentials就没有了。

针对Craig的这个说法,小编发现在Craig测试几天后, mimikatz就发布了一个更新的版本mimikatz 2.0 alphahttps://github.com/gentilkiwi/mimikatz/releases/ ,并且更新里说明可以应对 KB2871997。"Pass-The-eKeys now also working on Windows 7/8 if KB2871997 installed"是不是生活顿时又充满了希望呢!

KB2928120

再说说GPP,来自官方说法是"某些组策略首选项可以存储密码。此功能将被删除,因为通过这种方式存储的密码不安全"。

以下组策略首选项将不再允许保存用户名和密码:

,驱动器映射2,本地用户和组3,计划任务4,服务5,数据源

这将影响环境中依赖于这些首选项中包含的密码的任何现有组策略对象 (GPO) 的行为。此外,它还会阻止通过使用此功能创建新的组策略首选项。

对于"驱动器映射"、"本地用户和组"和"服务",您也许能够通过 Windows 中其他更加安全的功能实现相似的目标。

对于"计划任务"和"数据源",您将无法达到通过不安全的组策略首选项密码功能所能实现的目标。

Craig测试发现如果打完这个补丁后,再去之前创建的 admin account,双击他就会出行一个警告消息

点继续就会看到密码仍然在那里,但是已经不能被修改了。密码部分已经灰了。

当再新建帐号时,已经不能再设置密码了。

原文:

http://www.pwnag3.com/2014/05/what-did-microsoft-just-break-with.htm

MS14-025引起的问题 - 2的更多相关文章

  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. ORACLE查询某一字段重复的数据

    第一种方法: select a.*  from ASSET_MAINTAIN a inner join ASSET_MAINTAIN b on a.asset_id=b.asset_id and a. ...

  2. Java中栈结构的自我实现

    package com.pinjia.shop.common.collection; /** * Created by wangwei on 2017/1/3. */ public class MyL ...

  3. hdu 1159:Common Subsequence(动态规划)

    Common Subsequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  4. wp8 入门到精通 LINQ to SQL

    http://msdn.microsoft.com/zh-cn/library/bb397924.aspx LINQ 查询操作中的类型关系 (C#) 使用一个人类发明快速检索的方法 // Northw ...

  5. Effective C++笔记:实现

    条款26:尽可能延后变量定义式的出现时间 博客地址:http://www.cnblogs.com/ronny/ 转载请注明出处! 有些对象,你可能过早的定义它,而在代码执行的过程中发生了导常,造成了开 ...

  6. HDU 4349 Xiao Ming's Hope lucas定理

    Xiao Ming's Hope Time Limit:1000MS     Memory Limit:32768KB  Description Xiao Ming likes counting nu ...

  7. BEGIN TRAN...COMMIT TRAN 意思与用法

    BEGIN TRAN标记事务开始 COMMIT TRAN 提交事务 一般把DML语句(select ,delete,update,insert语句)放在BEGIN TRAN...COMMIT TRAN ...

  8. 【练习】使用服务下载图片并保存到sdcard

    public class StringUtils { public static String getStr(String path){ String[] strs = path.split(&quo ...

  9. LightOJ1032 Fast Bit Calculations(数位DP)

    显然数位DP. dp[i][j]表示所有末尾为j的i位二进制数相邻位的数量和 初始状态dp[2][1]=1 从长度i-1转移到长度i就是在i-1位的末尾添上0或1,转移方程就是: dp[i][0]=d ...

  10. Web 设计新趋势: 使用 SVG 代替 Web Icon Font

    如果你还在使用 Icon Font 作为网页中显示图标的实现方案,那么你可能有点 Out 了. 由于使用 Icon Font 显示图标存在一些缺陷,开发者们一直在致力于探索使用 SVG 作为替代的方法 ...