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 协议

  • 相关阅读:
    Bootstrap 、AngularJs
    spring boot 随手记
    STOMP
    socket、web socket
    spring boot (2):spring boot 打包tomcat、tomcat 部署多个项目、服务器部署项目SSL 设置(阿里云)
    spring boot (1):初尝
    SOA、SOAP、RFC、RPC、IETF
    Django中级篇(上)
    面向对象进阶篇
    面向对象基础 反射
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/9455196.html
Copyright © 2011-2022 走看看