事件危害:黑客誘導原本想訪問正常銀行網站的受害者訪問到釣魚網站,並惡意竊取受害者的銀行帳目密碼信息。
事件還原:事件發生在2018年。黑客利用D-Link路由器的漏洞,入侵了至少500個家用路由器。黑客入侵後更改受害者路由器上的DNS配置,將受害者的DNS請求重定向到黑客自己搭建的惡意DNS伺服器上。黑客入侵後更改受害者路由器上的DNS配置,將受害者的DNS請求重定向到黑客自己搭建的惡意DNS伺服器上,最終誘導原本想訪問正常銀行網站的受害者訪問到釣魚網站,並惡意竊取受害者的銀行帳目密碼信息。
圖片參考:bankinfosecurity
上面兩個案例都是觸目驚心啊。接下來我們來介紹一下黑客們是怎麼做到DNS劫持的?
DNS解析原理介紹劫持原理前,你需要先了解典型的DNS解析流程。
客戶端發起遞歸DNS請求,本地遞歸DNS(大多數情況下為運營商DNS)或者公共DNS通過迭代查詢請求多級的DNS權威伺服器,並最終將查詢結果返回給客戶端。可以看到,一次完整的DNS查詢:
• 鏈路長。查詢過程包含多次,多級的網絡通信。
• 參與角色多。查詢過程涉及客戶端,DNS遞歸伺服器,權威伺服器等角色。在一次完整DNS查詢鏈路的各個環節,其實都有可能被DNS劫持,下面的章節會逐一分析各種類型的DNS劫持。
我們按照客戶端側--遞歸DNS伺服器--權威DNS伺服器的路徑,將DNS劫持做如下分類:
【一、本地DNS劫持】
客戶端側發生的DNS劫持統稱為本地DNS劫持。本地DNS劫持可能是:
黑客通過木馬病毒或者惡意程序入侵PC,篡改DNS配置(hosts文件,DNS伺服器地址,DNS緩存等)。
黑客利用路由器漏洞或者破擊路由器管理帳號入侵路由器並且篡改DNS配置。
一些企業代理設備(如Cisco Umbrella intelligent proxy)針對企業內部場景對一些特定的域名做DNS劫持解析為指定的結果。
【二、DNS解析路徑劫持】DNS解析過程中發生在客戶端和DNS伺服器網絡通信時的DNS劫持統一歸類為DNS解析路徑劫持。通過對DNS解析報文在查詢階段的劫持路徑進行劃分,又可以將DNS解析路徑劫持劃分為如下三類:
• DNS請求轉發通過技術手段(中間盒子,軟體等)將DNS流量重定向到其他DNS伺服器。
案例:
利用分光等設備將DNS查詢複製到網絡設備,並先於正常應答返回DNS劫持的結果。
案例:一個DNS查詢抓包返回兩個不同的應答。
• DNS請求代答網絡設備或者軟體直接代替DNS伺服器對DNS查詢進行應答。
案例:一些DNS伺服器實現了SERVFAIL重寫和NXDOMAIN重寫的功能。
三、篡改DNS權威記錄】篡改DNS權威記錄 我們這裡指的黑客非法入侵DNS權威記錄管理帳號,直接修改DNS記錄的行為。
案例:黑客黑入域名的管理帳戶,篡改DNS權威記錄指向自己的惡意伺服器以實現DNS劫持。
黑客黑入域名的上級註冊局管理帳戶,篡改域名的NS授權記錄,將域名授權給黑客自己搭建的惡意DNS伺服器以實現DNS劫持。
黑客黑入域名的上級註冊局管理帳戶,篡改域名的NS授權記錄,將域名授權給黑客自己搭建的惡意DNS伺服器以實現DNS劫持。