可模糊源端口數據的新型DDoS攻擊方法

最近的分佈式拒絕服務(DDoS)攻擊展現通過模糊源端口數據繞過現有防禦機制的新特性。

可模糊源端口数据的新型DDoS攻击方法

網絡安全解決方案提供商Imperva稱,除了常見的放大攻擊方法,新觀測到的攻擊使用了DDoS防禦者沒想到的非常規源端口數據。該攻擊方法利用的是著名的UPnP(通用即插即用)協議漏洞。

UPnP協議允許通過 UDP 1900 端口發現設備,並允許使用任意TCP端口進行設備控制。因此,很多IoT設備都用該協議在局域網(LAN)上相互發現並通信。

然而,開放遠程訪問的設備默認設置、身份驗證機制的缺乏,以及UPnP遠程代碼執行漏洞,令該協議構成了安全風險。

UPnP相關漏洞早在20年前就被安全研究人員披露了,除此之外,簡單對象訪問協議(SOAP) API調用也可用於通過廣域網(WAN)遠程重配置不安全設備。控制端口轉發規則的AddPortMapping指令同樣能經 SOAP API 調用遠程執行。

2018年4月11日,Imperva在緩解某簡單服務發現協議(SSDP)放大攻擊時,注意到某些攻擊載荷不是來自UDP/1900,而是來自一個非預期的源端口。幾周後的另一個攻擊中,同樣的方法再次出現。

Imperva稱:“對這些事件的調查,讓我們構建出集成了UPnP的攻擊方法的概念驗證代碼(PoC),可被用於模糊任意放大攻擊載荷的源端口信息。”

想要使用該PoC執行DNS放大攻擊,先得利用Shodan之類公開在線服務執行大範圍SSDP掃描,找出開放UPnP路由器。

此類掃描能掃出130多萬臺此類設備,當然,不是全部設備都帶有相應漏洞。但定位出一臺可利用的脆弱設備依然相當容易,因為可以用腳本自動化該過程。

接下來,攻擊者需要通過HTTP訪問該設備的XML文件(rootDesc.xml),用Shodan中的真實設備IP替換掉‘Location’ IP就行。

rootDesc.xml文件列出了所有可用UPnP服務和設備,下一步就是通過AddPortMapping指令修改設備的端口轉發規則。

運用文件中的機制,可以使用SOAP請求來創建轉發規則,將所有發送至端口1337的UDP包通過端口UDP/53(DNS端口)重路由至外部DNS服務器(3.3.3.3)。

雖然端口轉發應僅用於將外部IP的流量映射到內部IP或反之,但大多數路由器並不驗證所提供的內部IP是否真的是內部的,這就允許來自外部IP的代理請求到另一個外部IP了。

要使用該端口模糊的DNS放大攻擊,發往設備並被UPnP設備在UDP/1337端口接收的DNS請求,需通過目的端口UDP/53被代理至DNS解析器。解析器通過源端口UDP/53響應設備,而設備在將源端口改回UDP/1337後再將該DNS響應轉發回原始請求者。

可模糊源端口数据的新型DDoS攻击方法

源端口模糊的DNS放大攻擊

真實攻擊場景中,初始DNS請求會從被假冒的受害者IP發出,也就是說對該請求的響應也會返回給該受害者。

該設備可用於以能規避檢測的端口發起DNS放大DDoS攻擊,因為攻擊載荷源於非常規的源端口,通過查看源端口數據檢測放大攻擊載荷的常見防禦措施就會被繞過。該繞過檢測的方法也能用於SSDP和NTP(網絡時鐘協議)攻擊,且能與其他放大攻擊方法聯合使用,比如Memcached。

源IP和端口信息不再成為可靠的過濾因素,執行深度包檢測(DPI)是最有可能的放大攻擊載荷發現方法,但這是資源密集型過程,如果沒有專門的緩解設備支持,執行速度會很慢。


分享到:


相關文章: