太威了!臺灣資安研究員發現臉書伺服器被植入後門程式

這也是另類臺灣之光!任職於臺灣資安公司戴夫寇爾(Devcore)資安研究員Orange Tsai,目前也是臺灣科技大學資管所碩士生,他在今年2月臉書舉辦的漏洞通報比賽(Bug Bounty)中,成功挖掘到臉書伺服器被駭客植入後門程式和其他總計7個漏洞,成功通報臉書後,獲得總計1萬美元的獎金。

Orange Tsai表示,這次挖掘臉書漏洞的過程中,意外發現先前有駭客在臉書伺服器植入後門程式的跡象,發現疑似前人留下的Webshel​​l後門,在研究漏洞的幾天內,還記錄到300名臉書員工登入的帳號和密碼。

不過,臉書資安團隊資安工程師Reginaldo Silva在Orange Tsai公佈漏洞挖掘細節後,則對外表示,Orange Tsai發現的並不是由駭客植入的後門程式,而是另外一個參與漏洞通報比賽的研究團隊的足跡。

臉書這樣的說法,是否是為了隱藏伺服器端曾被植入後門程式的隱藏之詞,不得而知,最終只有臉書內部調查才能知道實情。雖然臉書一再強調,並沒有任何使用者的帳號和密碼遭到這個後門程式外洩。不過,其他資安研究員並不相信,這個後門程式是另外一個漏洞通報團隊的足跡。

Orange Tsai從滲透測試的觀點來挖掘臉書網站的漏洞,他表示,對駭客而言,可以掌握伺服器端的漏洞比使用者端的漏洞效益更大,因為駭客就可以直接取得網站權限、為所欲為。

他強調,多數的滲透測試都會先做Google Hacking ,從網路收集目標網站有沒有一些可用資訊,例如:用了幾個B段的IP?幾個C段的IP?Whois的資料為何?反查(Reverse) Whois資料為何?用了什麼域名?內部使用的域名為何?猜測並掃描子域名為何?該公司平常愛用什麼樣技術?有哪些設備?在Github、Pastebin等網站上,是否有洩漏什麼資訊等等。

Orange Tsai表示,類似臉書這樣的大公司,因為伺服器成千上萬臺,對於網管人員而言,網路的防守相對弱勢,因為駭客只要在網路邊界上,可以找到一臺有漏洞的伺服器,就可以進行內網滲透。他說,這是在大公司進行滲透測試時,最容易發現漏洞的地方。

再者,他強調,有許多連網設備往往不會提供下指令的介面,網路管理員只能從設備本身提供的介面去做設定,如果遇到零時差漏洞的攻擊,可能已經從網路設備端被駭客入侵了還不自知。

第三點,「人」其實是資安最大的漏洞。Orange Tsai指出,有越來越多的個資外洩,不論是從公開資料找到公司的員工列表,或者是查詢許多存放大規模外洩個資的資料庫,許多駭客往往只需要查詢這些資料庫,就可以找到某一個目標網站中,有權限登入VPN的員工密碼,就可以開始進行內網滲透。

Orange Tsai先從容易找到漏洞的環節出發,在這個過程中卻發現一個疑似臉書內網的網站:tfbnw.net,而在掃描這個vpn.tfbnw.net 同網段還有哪些其他的伺服器則發現,有一臺第三方Accellion 的Secure File Transfer (簡稱FTA)加密傳輸檔案網站:files.fb.com。FTA 為一款標榜安全檔案傳輸的產品,可讓使用者線上分享、同步檔案,並整合AD、LDAP、Kerberos 等單一登入(Single Sign-on)機制,企業版更支援SSL VPN 服務。

他在這個網站總共找到7個漏洞,包括3個跨站腳本攻擊漏​​洞(Cross-Site Scripting),1個預先驗證SQL注入導致遠端程式執行(Pre-Auth SQL Injection leads to Remote Code Execution)漏洞, 1個已知密鑰導致遠端程式執行(Known-Secret-Key leads to Remote Code Execution)漏洞,和2個本地端權限提升漏洞。

找漏洞的方式除了黑箱的滲透測試外,還有白箱的原始碼檢測,Orange Tsai在此次找尋臉書漏洞的過程中,兩種手法交叉使用。在回報漏洞的過程中,Orange Tsai揭露的漏洞也取得4個獨立的CVE(Common Vulnerabilities and Exposures,通用弱點與漏洞)編號,包括:CVE-2016-2350、CVE-2016-2351、CVE-2016- 2352和CVE-2016-2353。

不過在蒐集漏洞證據的過程中,Orange Tsai在「/var/opt/apache/php_error_log」網站伺服器的日誌(Log)中,發現了一些奇怪的PHP錯誤訊息,看起來像是邊修改程式碼Code邊執行所產生的錯誤。

首先,他看到一些奇怪的PHP錯誤訊息,從錯誤訊息來看似乎像是邊改Code邊執行所產生的錯誤,之後跟隨錯誤訊息的路徑去看,則發現疑似前人留下的Webshell網站後門工具,其中有很多都是標準的PHP一句話木馬,駭客可以以任何型式,在網頁中插入一小段可供特殊語法執行的網頁程式碼。
他發現,其中比較特別的是「sclient_user_class_standard.inc」這個檔案,include_once中「sclient_user_class_standard.inc.orig」為原本對密碼進行驗證的PHP程式,駭客做了一個代理伺服器(Proxy)在中間,並在進行一些重要操作時,先把GET、 POST和COOKIE的值記錄起來。

而駭客做了一個Proxy 在密碼驗證的地方,記錄Facebook 員工的帳號密碼,並且將記錄到的密碼放置在Web 目錄下,駭客每隔一段時間使用wget 抓取。他也說,從紀錄裡面可以看到,除了使用者帳號密碼外,還有從FTA 要求檔案時的信件內容,記錄到的帳號密碼會定時Rotate(循環)。根據Orange Tsai的紀錄,他發現該疑似駭客植入後門程式的跡象時,最近一次的Rotate,是從2月1日~2月7日總共約300比帳號密碼的紀錄,其中大多是@fb .com或是@facebook.com的員工登入FTA的帳號、密碼。其中,一般使用者註冊的密碼經過Hash存在資料庫,由SHA256 + SALT(加鹽)儲存;臉書員工@fb.com則走統一認證,使用LDAP由AD認證。

Orange Tsai表示,從access.log可以觀察到,每隔數日駭客會將記錄到的帳號密碼清空,接著會打包檔案,並對內部網路結構進行探測,使用Shell Script進行內網掃描(但忘記把STDERR導掉),嘗試對內部LDAP進行連接,接著嘗試訪問內部網路資源,並試圖找SSL私鑰(Private Key )。透過上述種種方式,他才確定,臉書伺服器極有可能遭到駭客植入網路掛馬,也有臉書員工帳號密碼外洩的風險。

對於Orange Tsai,找到網站漏洞並獲得網站主的肯定,是他最大成就感來源。而戴夫寇爾執行長翁浩正則表示,現在有許多國內外大型網站採用Bug Bounty計畫,鼓勵熱血的資安人員勇於告訴企業漏洞的所在,並給予對等的尊重與獎勵,達成資安圈所期望的正向循環,而Orange Tsai從滲透的角度看Facebook Bug Bounty 計畫,就是一種駭客思維的呈現,也是企業資安防禦者所應該學習的角度。

 

資料來源:http://www.ithome.com.tw/