1. 程式人生 > >MS17-010遠端溢位漏洞 - 永恆之藍 [CVE-2017-0143]

MS17-010遠端溢位漏洞 - 永恆之藍 [CVE-2017-0143]

MS17-010遠端溢位漏洞(永恆之藍)

Ti:2019-12-25

By:Mirror王宇陽

MS17-010 CVE-2017-0143

MS17-010 CVE-2017-0144

MS17-010 CVE-2017-0145

MS17-010 CVE-2017-0146

MS17-010 CVE-2017-0148

實驗準備

漏洞原理

MS17-010漏洞出現在Windows SMB v1中的核心態函式srv!SrvOs2FeaListToNt在處理FEA(File Extended Attributes)轉換時,在大非分頁池(Large Non-Paged Kernel Pool)上存在緩衝區溢位。

函式srv!SrvOs2FeaListToNt

在將FEA list轉換成NTFEA(Windows NT FEA) list前會呼叫srv!SrvOs2FeaListSizeToNt去計算轉換後的FEA lsit的大小,因計算大小錯誤,而導致緩衝區溢位。

漏洞歷史

  • 2017-03-12,微軟釋出MS17-010補丁包

  • 2017-03-14,釋出《MS17-010:Windows SMB 伺服器安全更新說明》

  • 2017-04-14,Shadowbroker釋出漏洞利用工具

  • 2017-05-12晚上20 時左右,全球爆發永恆之藍勒索病毒

機器環境

  • Kali 【攻擊機】 192.168.2.196
  • Win7 【靶子機】 192.168.2.155

靶機環境

  • Windows7 專業版

  • 漏洞的產生

    Sbm服務 445埠

實施漏洞

目標掃描

  • 使用Nessus對目標機進行掃描,結果如下:

  • nmap掃描目標服務:

二次確認漏洞

  • 使用msf的auxiliary二次判斷是否存在“MS17-010”漏洞

    看見“Host is likely VULNERABLE to MS17-010(主機可能易受MS17-010攻擊)”可以斷定目標機存在該漏洞!

執行滲透

上面就是可以利用的漏洞模組:

  • exploit/windows/smb/ms17_010_eternalblue【成 功

  • exploit/windows/smb/ms17_010_eternalblue_win8+【系統不符】

  • exploit/windows/smb/ms17_010_psexec【無效】

配置Payloads

如上圖,當前exploit支援的Payload都在上面;

載入“reverse_tcp”,建立meterpreter會話

ps:建立會話後,有大概會導致目標機自動重啟

修復策略

漏洞自查

> systeminfo | findstr KB40

執行上述命令會返回系統補丁包的編號(盜版的嘛~~嘻嘻參考下面的表)

補丁修復

  • 下載補丁地址
    http://www.catalog.update.microsoft.com/search.aspx?q=補丁編號

  • 新增系統的入站規則;關閉445、135、138、139等埠