圖片來源: 

甲骨文

安全研究人員發現,Java與Python的一項FTP服務漏洞,可讓攻擊者藉由在FTP URL注入惡意指令碼,繞過防火牆對個人或企業發動攻擊。

安全公司BlindSpot Security研究人員Timothy Morgan發現到的攻擊情境,和Java及Python的一個名為FTP 協定注入(protocol injection)的程式碼漏洞有關。這漏洞存在於處理FTP連結的程式碼之中,攻擊者可以在FTP URL中注入換行符(CRLF),使Java及Python程式誤以為URL的某一段為新指令,來達到注入特定指令的目的。

這項2014年首度被揭露的漏洞,上周才有另一名研究人員公佈,它可被用來攻擊在Java中中的XXE或SSRF漏洞,使駭客可以經由Java應用程式透過SMTP協定發出未授權電子郵件。

而緊接著就是Morgan的新研究。他的一項研究發現,Java和Python的FTP協定注入漏洞可使攻擊者突破受害者防火牆防護,而讓來自網際網路上的(惡意)TCP連線,能存取內部主機系統的1024到65535連接埠。

在Java攻擊中,攻擊者將惡意的FTP URL植入JNLP(Java Network Launch Protocol)檔案中,等使用者存取Java web app時,即可將JNLP檔案送入受害者電腦。受害者本機必須安裝Java,但個人用戶即使未開啟Java瀏覽器外掛,也一樣會遭到攻擊。JNLP檔案甚至可以植入多個FTP URL,讓攻擊者得以執行多道或多階段攻擊。同樣的漏洞也發生在Python的urllib2、urllib函式庫中。只要誘騙或促使用戶存取伺服器上的Java或Python應用程式,就可突破防火牆。

他解釋,FTP協定注入漏洞是FTP協定Classic模式的安全問題,現在已經被較安全的FTP被動模式中取代,然而大部份防火牆還是支援Classic模式。在研究人員檢視的少數產品中,發現Palo Alto 及思科(Cisco)ASA 防火牆預設支援FTP classic模式。但他認為大部份市面上的防火牆都有這項問題。

Morgan分別在2016年1月及11月向Python及甲骨文通報,但表示迄今兩者都未加以修補,促使他公佈發現。在此之前,他呼籲企業網路管理員立刻檢查防火牆是否預設開啟Classic模式FTP,如是則應儘速改成被動模式。


Advertisement

更多 iThome相關內容