<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    微軟再爆 “死亡之 ping” 漏洞

    Andrew2020-10-14 18:12:07

    微軟將在10月的補丁周二發布中再次發布大量安全修補程序,其中11個被微軟評為”關鍵”。但是,在修補的漏洞中,有兩個漏洞比這些漏洞更突出:CVE-2020-16898和 CVE-2020-16899。這些漏洞(由 Windows的 TCP/IP 驅動程序中的 Bug 引起)堪比2013 年 Windows 中修復的”死亡ping”漏洞。通過精心制作的數據包使拒絕服務和潛在的遠程代碼執行成為可能。

    tcpip.sys 中的漏洞是驅動程序分析 ICMP 消息的邏輯錯誤,可以使用包含遞歸 DNS 服務器 (RDNSS) 選項的精心制作的 IPv6 路由器播發數據包遠程觸發。RDNSS 選項通常包含一個或多個遞歸 DNS 服務器的 IPv6 地址列表。

    tcpip.sys 存在邏輯缺陷,可以通過創建包含比預期更多的數據的路由器播發數據包來利用該缺陷,這會導致驅動程序在其內存堆棧上將數據字節數超過驅動程序代碼中提供的數據字節數,從而導致緩沖區溢出。

    開發一個”藍屏死亡”的DoS攻擊是可以的。但是實現遠程代碼執行(RCE)比較困難。

    首先,TcpIp.sys 使用 GS 標志編譯,這可以防止典型的堆棧溢出直接控制返回地址。

    Stack Cookie 也稱為stackcanary,是加載時產生的隨機值。其值是 XOR’d 與堆棧指針,使得它極難可靠地預測。

    RCE 漏洞利用的第二個困難是內核地址空間布局隨機化 (kASLR)。即使有可能可以可靠地預測stack canary落在系統外殼在用戶模式下還需要正確(并再次遠程)確定Windows內核的基本地址。

    針對此漏洞的防護

    此處提供一個Lua腳本用于此漏洞的檢測可以集成到IDS中。

    function init(args)
       local needs = {}
       needs["packet"] = tostring(true)
       return needs
    end
    
    function match(args)
       local packet = args["packet"]
       if packet == nil then
           print("Packet buffer empty! Aborting...")
           return 0
       end
    
       -- SCPacketPayload starts at byte 5 of the ICMPv6 header, so we use thepacket buffer instead.
       local buffer = SCPacketPayload()
       local search_str = string.sub(buffer, 1, 8)
       local s, _ = string.find(packet, search_str)
       local offset = s - 4
    
       -- Only inspect Router Advertisement (Type = 134) ICMPv6 packets.
       local type = tonumber(packet:byte(offset))
       if type ~= 134 then
           return 0
       end
    
       -- ICMPv6 Options start at byte 17 of the ICMPv6 payload.
       offset = offset + 16
    
       -- Continue looking for Options until we've run out of packet bytes.
       while offset < string.len(packet) do
    
           -- We're only interested in RDNSS Options (Type = 25).
           local option_type = tonumber(packet:byte(offset))
    
           -- The Option's Length field counts in 8-byte increments, so Length = 2means the Option is 16 bytes long.
           offset = offset + 1
           local length = tonumber(packet:byte(offset))
    
           -- The vulnerability is exercised when an even length value is in anRDNSS Option.
           if option_type == 25 and length > 3 and (length % 2) == 0 then
               return 1
    
           -- Otherwise, move to the start of the next Option, if present.
           else
               offset = offset + (length * 8) - 1
           end
       end
    
       return 0
    end

    如何防御:

    1、如果不使用,請禁用 IPv6

    2、netsh int ipv6set int int=INTERFACENUMBER rabaseddnsconfig=disable

    參考鏈接:

    https://news.sophos.com/en-us/2020/10/13/t...

    https://github.com/advanced-threat-researc...

    原文鏈接:https://mp.weixin.qq.com/s/nx7RJY4Ov62FsNV...

    漏洞offset
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    CVE-2020-25223-Sophos UTM WebAdmin 遠程命令執行漏洞分析。
    最新提權漏洞原理深入分析
    攻擊者通過利用CVE-2022-0847-DirtyPipe漏洞,可覆蓋重寫任意可讀文件中的數據,從而可將普通權限的用戶提升到root權限
    Windows SMB Ghost CVE-2020-0796漏洞分析與利用(一)
    ftp程序,需要使用rxraclhm賬號登錄,提供了get、put、dir三個功能,分別讀文件、上傳文件、查看目錄。
    聲明:本篇文章由 可可@QAX CERT 原創,僅用于技術研究,不恰當使用會造成危害,嚴禁違法使用 ,否則后
    漏洞發布的時候一直有項目,沒時間去看這個漏洞,當時只大體看了一下代碼
    內核漏洞學習-HEVD-NullPointerDereference
    在所有函數調用發生時,向棧幀內壓入一個額外的隨機 DWORD,隨機數標注為“SecurityCookie”。在函數返回之前,系統將執行一個額外的安全驗證操作,被稱做 Security check。
    Andrew
    暫無描述
      亚洲 欧美 自拍 唯美 另类