哈希传递PTH(pass the hash)

pass the hash原理:

在Windows系统中,通常会使用NTLM身份认证,NTLM认证不使用明文口令,而是使用口令加密后的hash值,hash值由系统API生成(例如LsaLogonUser) ,其中hash(哈希)分为LM hash和NT hash,如果密码长度大于15,那么无法生成LM hash。

从Windows Vista和Windows Server 2008开始,微软默认禁用LM hash,如果攻击者获得了hash,就能够在身份验证的时候模拟该用户(即跳过调用API生成hash的过程)



这类攻击适用于:

域/工作组环境

演示:

靶机:win08 r2
攻击:win08 r2

1.靶机中进行读取NTLM HASH:

2.攻击机执行:

mimikatz.exe "privilege::debug" "sekurlsa::pth /user:administrator /domain:top.pentest.top /ntlm:044dfa0c35b979ed369f7335b5ea20e0"

会反弹一个cmd窗口回来 发现hash成功传递!!!



总结:在内网渗透中,当我们能够读取ntlm,但是发现抓取不到明文的时候,可以通过hash传递的方式进行横向移动。

对于哈希传递不只是通过mimikatz,还可以通过wce,impacket工具包进行攻击。

原文地址:https://www.cnblogs.com/zpchcbd/p/11729691.html

时间: 2024-08-02 15:21:45

哈希传递PTH(pass the hash)的相关文章

如何对Windows系统进行哈希传递攻击(Pass-Hash-Attack)

『面向对象』本篇博文主要面向信息安全渗透测试初级人员以及信息安全攻防技术爱好者. 『主要内容』主要介绍在后渗透测试阶段如何对Windows操作系统进行哈希传递攻击(Hash-Pass-Attack). -------------------------------------------菜鸟起飞系列------------------------------------------------ 渗透测试任务:利用Hash-Pass-Attack获取Windows操作系统控制权 攻击测试目标:wi

Hacking Windows Passwords with Pass the Hash

Hacking Windows Passwords with Pass the Hash Leave a reply In Windows, you don’t always need to know the actual password to get onto a system (believe it or not).  All you need is the hash of that password, and you can get in just as easily. Setup Yo

Hash哈希(二)一致性Hash(C++实现)

一致性Hash 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,经常用于分布式.负载均衡等. 原理 一致哈希是一种特殊的哈希算法.在使用一致哈希算法后,哈希表中平均只需要对 个关键字重新映射,其中 是关键字的数量,是映射节点数量.然而在传统的哈希表中,添加或删除一个映射节点的几乎需要对所有关键字进行重新映射. 原来的映射大概是这样的,如下图,没当加入或删除一个新的节点可能都会造成每个节点的映射发生变化,如果

【 python 学习笔记 -- 数据结构与算法 】哈希表 Implementation of a Hash Table

Python内建的字典就是用 hash table实现的.这里我们只是通过实现自己的hash table来加深对hash table 和hash functions的理解. [ 概念1: Mapping (映射)] 字典通过键(Key)来索引.一个key对应一个存储的value.任意不可变的数据类型均可作为key. [ 概念2:Hash Table (哈希表)] Hash Table根据key直接访问在内存存储位置的数据结构,因而加快了查找速度 (O(1)). 下图是一个size为11的空的Ha

雷林鹏分享:Ruby 哈希(Hash)

Ruby 哈希(Hash) 哈希(Hash)是类似 "employee" => "salary" 这样的键值对的集合.哈希的索引是通过任何对象类型的任意键来完成的,而不是一个整数索引,其他与数组相似. 通过键或值遍历哈希的顺序看起来是随意的,且通常不是按照插入顺序.如果您尝试通过一个不存在的键访问哈希,则方法会返回 nil. 创建哈希 与数组一样,有各种不同的方式来创建哈希.您可以通过 new 类方法创建一个空的哈希: months = Hash.new 您也

oracle 表连接 - hash join 哈希连接

一. hash 连接(哈希连接)原理 指的是两个表连接时, 先利用两表中记录较少的表在内存中建立 hash 表, 然后扫描记录较多的表并探測 hash 表, 找出与 hash 表相匹配的行来得到结果集的表连接方法. 哈希连接仅仅能用于等值连接条件(=). 如果以下的 sql 语句中表 T1 和 T2 的连接方式是哈希连接, T1 是驱动表 select * from T1, T2 where T1.id = T2.id and T1.name = 'David'; oracle 运行过程例如以下

上传图片用图片文件的对象hash哈希值判断图片是否一样,避免重复提交相同的图片到服务器中

/// <summary> /// 上传企业logo /// </summary> /// <returns></returns> public ActionResult UploadLogo(string comid) { HttpFileCollection files = System.Web.HttpContext.Current.Request.Files; if (files.Count == 0) return Json("没有没文件

PHP关联数组与哈希表(hash table) 不指定

PHP中有一种数据类型非常重要,它就是关联数组,又称为哈希表(hash table),是一种非常好用的数据结构. 在程序中,我们可能会遇到需要消重的问题,举一个最简单的模型: 有一份用户名列表,存储了 10000 个用户名,没有重复项: 还有一份黑名单列表,存储了 2000 个用户名,格式与用户名列表相同: 现在需要从用户名列表中删除处在黑名单里的用户名,要求用尽量快的时间处理. 这个问题是一个小规模的处理量,如果实际一点,2 个表都可能很大,比如有 2 亿条记录. 我最开始想到的方法,就是做一

2016 -Nginx的负载均衡 - 一致性哈希 (Consistent Hash)

Nginx版本:1.9.1 算法介绍 当后端是缓存服务器时,经常使用一致性哈希算法来进行负载均衡. 使用一致性哈希的好处在于,增减集群的缓存服务器时,只有少量的缓存会失效,回源量较小. 在nginx+ats / haproxy+squid等CDN架构中,nginx/haproxy所使用的负载均衡算法便是一致性哈希. 我们举个例子来说明一致性哈希的好处. 假设后端集群包含三台缓存服务器,A.B.C. 请求r1.r2落在A上. 请求r3.r4落在B上. 请求r5.r6落在C上. 使用一致性哈希时,当