zoukankan      html  css  js  c++  java
  • PtH(hash传递攻击)原理探秘

    背景知识



    Windows 横向渗透的两种方式


    • 1、hash传递攻击,通过传递NTLM-Hash,登录机器,简称PtH;
    • 2、ticket传递攻击,通过传递kerberos的ticket,登录机器,简称PtT;

    以上两种都是常见的域内或者叫做内网渗透的横向移动的常见手段。

    NTLM协议机制简述


    在hash传递攻击中。传递的就是NTLMhash值,这里我们就要简述一下NTLM的过程。

    NTLM的诞生


    早期SMB协议在网络上传递是明文的username和password,后来出现了简称为LM的局域网管理挑战应答机制(LAN Manager Challenge/Response),后来微软又开发了WinNT LAN Manager Challenge/Response,简称NTLM。

    验证过程


    1.用户输入username、password、domainname(交互式才需要这个步骤),客户端会计算hash值保存在本地;
    2.客户端将username明文发给DC;
    3.DC生成一个16Byte的随机数(challenge)发送给客户端;
    4.客户端通过运算生成一个响应值response=f(hashes,challenge,other)=>other根据版本变化,例如时间戳来防止回访等;
    5.客户端将响应值发送给DC;
    6.DC经过同样的运算result = f(hashes,challenge,other),然后比较result和response,一直就验证通过,不一致则验证不通过;
    7.备注:目标不一定是DC,hash对应的账号所登录的(有缓存的)工作站也可以。
    

    SMB渗透至Hash传递攻击的原理



    SMB可以直接基于TCP协议或者NetBIOS over TCP,SMB的认证可以基于SMB,也可以基于kerberos,,这两种认证方式,前者本质上使用了hash,后者本质上使用了ticket,导致了SMB的PtH和PtT攻击存在的基础。

    鸣谢(参考文献)



    刨根问底:Hash传递攻击原理探究
    NTLM 协议

  • 相关阅读:
    习题三 答案
    习题二 答案
    Python开发【第三篇】:Python基本数据类型
    习题四 答案
    第一个python程序-判断登陆用户名和密码是否正确
    BFPRT算法 查找第k小的数
    设计模式----单例模式
    设计模式----原型模式
    非本地跳转
    链接器如何使用静态库解析引用
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/9455196.html
Copyright © 2011-2022 走看看