• CVE20201301 SMBLost漏洞浅析


    0x01 CVE-2020-1301简介

      该漏洞是SMBv1漏洞影响win7-Win10的所有版本。漏洞原因在srv驱动模块,在处理NT_TRANSACT_IOCTL的子命令(该命令又是SMB_COM_NT_TRANSACT 命令的子命令),FSCTL_SIS_COPYFILE请求时,没有验证请求中的SI_COPYFILE结构字段,导致随后可能造成造成了整形溢出。与之前的SMBv3漏洞 SMBGhost相比,该漏洞出现在老版本的SMB v1中,触发需要先通过身份认证,危害程度相对小很多。

      更准确地说,是SrvSmbNtIoctl函数在处理SI_COPYFILE结构时,仅验证了SourceFileNameLength和DestinationFileNameLength是否有效及它们的最大值,没有验证最小值,而函数中代码,会对两个文件名长度-2,当SourceFileNameLength或DestinationFileNameLength过小时会引发整形溢出,触发漏洞;

      详细的分析报告可以参考,此处不再赘述:

      https://airbus-cyber-security.com/diving-into-the-smblost-vulnerability-cve-2020-1301/

      

            

       SMB_COM_NT_TRANSACT 命令的SMB_Parameters部分:

      

    0x 热补方案思路:

      还是WFP网络过滤,FWPM_LAYER_STREAM_V4(同V6)数据流层过滤,判断以下字段:

      1.SMB header的ProtocoID;

           2.SMB_COM_NT_TRANSACT 命令的SMB_Parameters部分的FunctioN字段为2;

           3.FSCTL_SIS_COPYFILE请求对应的值0x00090100;

           4.SourceFileNameLength或DestinationFileNameLength任意一个值小于4

      以上的条件2,条件3和条件4,需要计算以下,指定字段在数据包中的偏移值

      

        

      

  • 相关阅读:
    DRBD试用手记
    hibernate get load difference
    4招将PPT文本转换成Doc文本
    about lucene merepolicy
    关于Lucene索引合并解决方法
    网站优化工具帮助
    A/B Experiments with Google Website Optimizer
    about lucene grouping and facet history
    Spring IDE 1.2.4发布
    HTML meta refresh 刷新与跳转(重定向)页面
  • 原文地址:https://www.cnblogs.com/lsh123/p/15772872.html
Copyright © 2020-2023  润新知