0x01 漏洞起源

说到ms14-068,不得不说silver ticket,也就是银票。银票是一张tgs,也就是一张服务票据。服务票据是客户端直接发送给服务器,并请求服务资源的。如果服务器没有向域控dc验证pac的话,那么客户端可以伪造域管的权限来访问服务器。所以ms14-068的来源和银票是息息相关的。

在mimikatz作者的ppt里面是这样描述的:

所以说这真的是一个大漏洞,允许域内任何一个普通用户,将自己提升至域管权限。微软给出的补丁是kb3011780。在server 2000以上的域控中,只要没有打这个补丁,那么情况将是非常糟糕的。

https://technet.microsoft.com/library/security/ms14-068.aspx

0x02 漏洞利用

2.1 windows环境下测试

在windows环境下,mimikatz的作者已经写出了一个exploit。

https://github.com/gentilkiwi/kekeo

其中的ms14-068.exe正是此漏洞的利用工具。要测试这个漏洞,前提还是要明白kerberos的整个认证协议过程,不然是不会明白原理的,测试过程中出了什么问题也不知道怎么解决。我们作为渗透测试人员,如果说对windows环境中这么重要的一个认证协议都不了解,我想内网渗透也是浮云吧。

利用这个漏洞,我们需要一个普通域用户的账户名和密码或者是哈希,哈希传递我已经在别的文章中总结了,其实哈希和密码是有相同的效果。以及域名称,该用户的sids。这些都不是重点,重点是如何获得一个域用户的账户,我们在域内的某台机器上面抓取hash或者的明文密码,或者是其他方法等等。

2.1.2 windows下利用过程

测试环境:

  • 域:xxx.com
  • Dc:dc.xxx.com
  • Win7:win7-01.xxx.com

首先我们在dc上面检测是否有这个漏洞:

很遗憾,没有打这个补丁。

下面我们在win7上面测试该漏洞。Win7是一台普通的域内机器,普通域用户jack登陆。

测试访问域控的c盘共享:

访问被拒绝。

为了使我们生成的票据起作用,首先我们需要将内存中已有的kerberos票据清除,清除方法是使用mimikatz:

#kerberos::purge

使用ms14-068来产生一张高权限的berberos服务票据,并注入到内存中:

ms14068.exe /domain:xxx.com /user:jack /password:jackpwd/ /ptt

再测试访问:

测试psexec无密码登陆

很棒,达到了我们想要的效果。

如果想生成一张kerberos票据,做票据传递攻击(ptt),可以这样:

ms14068.exe /domain:xxxcom /sid:S-1-5-21-2666969376-4225180350-4077551764 /user:jack /rid:1104 /password:jackpwd/ /aes256 /kdc:dc.xxx.com /ticket:jack_admin.kirbi

再配合mimikatz的ptt功能,将票据导入到内存中。

2.2 kali环境下测试

如果是远程内网环境,首先要做内网代理,这个就不用多说。然后将自己的dns指向域控制器。

Linux下面测试的工具也有很多,当然msf这个漏洞利用框架肯定是少不了这个模块。关于msf的利用过程我这里就不再多讲,给出国外的一篇利用过程:

https://community.rapid7.com/community/metasploit/blog/2014/12/25/12-days-of-haxmas-ms14-068-now-in-metasploit

2.2.1 goldenPac.py

Kali下面利用此漏洞的工具我是强烈推荐impacket工具包里面的goldenPac.py,这个工具是结合ms14-068加psexec的产物,利用起来十分顺手。

Kali下面默认还没有安装kerberos的认证功能,所以我们首先要安装一个kerberos客户端:

apt-get install  krb5-user

最简单的办法:

goldenPac.py xxx.com/jack:jackpwd@dc.xxx.com就可以得到一个cmd shell:

当然此工具不止是得到一个shell,我们甚至可以直接让该域控运行我们上传的程序,执行一个empire stager或者一个msf payload都不在话下。

2.2.1 ms14-068.py

https://github.com/bidord/pykek

效果和mimikatz作者写的exploit差不多,这个脚本是产生一张kerberos的票据缓存,这个缓存主要是针对linux上面的kerberos认证的,但是mimikatz也有传递票据缓存的功能(ptc),实际上和mimikatz产生的kirbi格式的票据只是格式不同而已。

当然没有kerberos客户端也不行,如果没有安装记得先安装:

apt-get install  krb5-user

这个利用过程需要sid和用户名密码(哈希也可以)。

利用方法:

ms14-068.py -u jack@xxx.com -s jacksid -d dc.xxx.com

这样生成了一张kerberos认证的票据缓存,要让这个票据在我们认证的时候生效,我们要将这张缓存复制到/tmp/krb5cc_0

注意在kali下默认的root用户,使用的kerberos认证票据缓存默认是/tmp/krb5cc_0,所以我们只要将我们生成的票据缓存复制到/tmp/krb5cc_0即可:

Klist可以列举出当前的kerberos认证票据,jack这张票据已经成功导入。

下面我们使用psexec.py来测试一下使用这张缓存的票据来得到一个域控的shell:

可以说也是很简单。

0x03 小结

Ms14-068这个漏洞可谓是威力无穷,在域渗透中,我们第一步就是应该检测域控是否有这个漏洞,一旦域控没有打上这个补丁,将会使我们的内网渗透工作变得十分简单。

参考连接:

(转)MS14-068域内提权漏洞总结的更多相关文章

  1. [提权]域内提权神器 MS14-068 完整EXP

     可以让任何域内用户提升为域管理员     c:\python27\python.exe ms14-068.py -u k8test3@k8.local -p k8team!@# -s S-1-5-2 ...

  2. CVE-2020-1472 域内提权

    攻击者通过NetLogon(MS-NRPC),建立与域控间易受攻击的安全通道时,可利用此漏洞获取域管访问权限.成功利用此漏洞的攻击者可以在该网络中的设备上运行经特殊设计的应用程序. 影响版本 Wind ...

  3. MS14-068域提权漏洞复现

    MS14-068域提权漏洞复现 一.漏洞说明 改漏洞可能允许攻击者将未经授权的域用户账户的权限,提权到域管理员的权限. 微软官方解释: https://docs.microsoft.com/zh-cn ...

  4. Linux内核通杀提权漏洞CVE-2016-5195验证

    一.漏洞简介 CVE-2016-5195这个漏洞是linux内核级的本地提权漏洞,原理是linux内核内存子系统在 处理私有只读存储映射的写入时复制机制发现了一个冲突条件.这个漏洞官方给出的影响范围是 ...

  5. Redis配置不当致使root被提权漏洞

    Redis配置不当致使root被提权漏洞 Dear all~ 最近Redis服务被曝出因配置不当,可能造成数据库被恶意清空,或被黑客利用写入后门文件造成进一步入侵,请关注! 一.漏洞发布日期 2015 ...

  6. Intel产品AMT本地及远程提权漏洞(CVE-2017-5689)复现 【转载自freebuf.com】

    零.绪论: 1.鸣谢freebuf的文章,主要是学习这个漏洞,文章地址: Intel产品AMT本地及远程提权漏洞(CVE-2017-5689)复现 2.在shadon上找了多个该漏洞尝试复现失败(评论 ...

  7. 9.CVE-2016-5195(脏牛)内核提权漏洞分析

    漏洞描述: 漏洞编号:CVE-2016-5195 漏洞名称:脏牛(Dirty COW) 漏洞危害:低权限用户利用该漏洞技术可以在全版本Linux系统上实现本地提权 影响范围:Linux内核>=2 ...

  8. CVE-2016-1240 Tomcat 服务本地提权漏洞

    catalogue . 漏洞背景 . 影响范围 . 漏洞原理 . 漏洞PoC . 修复方案 1. 漏洞背景 Tomcat是个运行在Apache上的应用服务器,支持运行Servlet/JSP应用程序的容 ...

  9. Android提权漏洞CVE-2014-7920&CVE-2014-7921分析

    没羽@阿里移动安全,更多安全类技术干货,请访问阿里聚安全博客 这是Android mediaserver的提权漏洞,利用CVE-2014-7920和CVE-2014-7921实现提权,从0权限提到me ...

随机推荐

  1. javaweb(二十四)——jsp传统标签开发

    一.标签技术的API 1.1.标签技术的API类继承关系 二.标签API简单介绍 2.1.JspTag接口 JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属 ...

  2. 行驶证识别/行驶证OCR识别全方位解析

    本文全面解析行驶证OCR识别,包括什么是行驶证OCR识别.如何选择行驶证识别软件.如何操作行驶证识别软件,以及该软件应用的领域等. 一.了解行驶证识别/行驶证OCR识别 行驶证OCR识别技术,也叫行驶 ...

  3. Mac下布置appium环境

    1.下载或者更新Homebrew:homebrew官网 macOS 不可或缺的套件管理器 $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githu ...

  4. 牛客网暑期ACM多校训练营(第一场):E-Removal(DP)

    链接:E-Removal 题意:给出序列 s1, s2, ..., sn ,1<=s[i]<=10.问删除m个数后,有多少种不同的序列. 题解:定义dp[i][j]代表长度为i,最末尾的数 ...

  5. Linux系统服务(daemon)(鸟哥Linux私房菜笔记)

    Linux系统服务(daemon) 一.SystemV的init管理机制(脚本式启动)1.服务启动分类stand alone 独立启动模式super daemon 总管程序 2.服务的启动.关闭与观察 ...

  6. VLP16线用户手册.md

    VLP16线用户手册 文档  传感器数据 分组类型和定义 传感器产生两种类型的数据包:数据包和位置数据包.位置包有时也被称为遥测包或GPS包. 数据包包括传感器测量到的三维数据以及返回光脉冲的表面的校 ...

  7. New begin

    Purpose 今天更换了id,希望重新沉淀. 晚上看到国外一个博客,落款有个中文: 敬惜字纸. 共勉.

  8. New York Comic Con 2013 - 2013年纽约动漫展

    New York Comic Con - 2013年纽约动漫展 New York Comic Con is the largest pop culture event on the East Coas ...

  9. 学习GIT 你只要这一篇(转)

    http://blog.csdn.net/afei__/article/details/51476529 安装之后第一步 安装 Git 之后,你要做的第一件事情就是去配置你的名字和邮箱,因为每一次提交 ...

  10. USACO 1.2.2 Transformations 方块转换

    Description 一块N x N(1<=N<=10)正方形的黑白瓦片的图案要被转换成新的正方形图案.写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式: 1:转90度 ...