2013/09/07

AppServ 懶人包的資安問題與檢測(請不要再使用 APPSERV 懶人包)

此文同時刊載於 http://www.openfoundry.org/tw/foss-programs/9073-appserv-
----
APPSERV (http://www.appservnetwork.com/)是一個 Windows 下很成功的懶人包專案,它把 Apache 、PHP、MySQL以及 PHPMyAdmin 整合打包成為一個安裝檔案,對於入門的程式開發人員很方便。也因為它在 2006 年就推出所以到現在仍是下載率很高的專案,每個月約有 10 萬次下載。

圖1:APPSERV每月下載次數


但是問題就在這裡,它目前的版本為 2008-06-10 的版本(http://sourceforge.net/projects/appserv/files/?source=navbar),作者已經有 5 年多沒有更新了,但是還是有那麼多人下載使用。

在 2009 、2010 有很多 phpMyAdmin 的漏洞陸續被公開,以 CVE-2009-1151(http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-1151) 為例,它說明在 phpMyAdmin 的 setup.php 程式中有個程式碼可以寫入檔案的漏洞存在。如果找一下還會發現已經有人將它寫成自動化入侵的工具程式。

圖2:CVE-2009-1151自動化入侵工具

如果知道漏洞存在並補強其實不會造成什麼問題,但問題在於使用 APPSERV 的大多為初學者或對於系統程式不熟悉的使用者,只求網站能工作不會注意這些細節的問題。如果你用 google 的 inurl + site + intext 搭配搜尋你會發現真的很多人不在意,且甚至把這個網站它放到公開的網路上工作。關鍵字:「phpmyadmin  scripts  setup.php win32」

圖3:google「inurl:phpmyadmin/scripts/ site:edu.tw」

圖4: 沒有保護的 scripts 目錄,透過 google 就可找到
在 2013/05 月的時候 TACERT 已經針對這部份的入侵細節做了一份攻擊行為的分析報告(http://cert.tanet.edu.tw/pdf/phpmyadmin.pdf),攻擊者針對這部份的目的性是對於安裝 APPSERV 的主機植入 IRC BOT 並控制該主機成為殭屍網路(http://zh.wikipedia.org/wiki/%E6%AE%AD%E5%B1%8D%E7%B6%B2%E7%B5%A1 )的一部分。

如果稍微有些概念的話你會發現,每月APPSERV 懶人包 10 萬的下載量轉換為殭屍網路主機如果有 1%  轉換成功的話那就是 1000 台主機,所以只要透過 APPSERV 的漏洞幾個月內就可入侵控制數萬台以上的主機,屆時如需要發動網路攻擊也就非常的容易。底下紀錄是我手上隨便一台機器的 apache 紀錄檔,隨便找一下網路上四處都有機器人在掃描這個漏洞。

圖5: robot 掃描主機的漏洞紀錄
所以你也可以寫個程式掃描你所在的網路,看是否有人在使用 APPSERV 。底下是我寫的小工具檢測 phpmyadmin/scrips 網址是否存在、setup.php 是否存在以及是否為 Win32 主機,用來檢測我的網路有沒有這種「肥羊」主機的存在。程式碼我放在 GITHUB (https://github.com/mtchang/test/blob/master/test_appserv.sh) 內,使用說明在這裡(https://github.com/mtchang/test/blob/master/test_appserv.README)。


圖6 : APPSERV 檢測程式

所以這裡要請大家幫忙的是不要在教學、研究及正式網站上使用 APPSERV 了,目前國內的資管、資工科系在網站教學課程上面很多是使用 APPSERV 當作教學練習的工具,且根據我的經驗發現很多大學生、研究生是用 APPSERV 架設網站收集研究資料,顯示該套件已經被很多人接受不易改變。

圖7: 網路上的APPSERV 教學文件

對於初學者 APPSERV 的替代方案建議可使用 WampServer (http://www.wampserver.com) 或是 XAMPP (http://www.apachefriends.org/zh_tw/xampp-windows.html) ,這些活躍的懶人包套件專案,如果網站是放到公開網路上更是需要注意安全性的細節。

當然,最好的方法是請官方網站的維護者更新修正,我想它可能(?)有聽到所以在 2013-5-7 更新了一個檔案(http://sourceforge.net/projects/appserv/?source=navbar),但我看了之後發現有點怪怪的這個檔案是 2007-07-25 就已經發佈的檔案且沒有更新任何新的內容,但是 SOURCEFORGE 的網站上的時間看起來像是已有更新的樣子。詳細案情就有請各位鍵盤科南幫忙找找原因了。

圖8: 目前 sourceforge 上面的 AppServ 專案 Summary 頁面

以上是因為在 2013-05 月時發生了一件大規模的 DDOS 案例影響範圍很廣甚至影響整個 TANET ,直到現在網路內的使用者因為 APPSERV 所造成的電腦問題及網路問題仍十分的頻繁。有的機器表現出來的外顯症狀為 Windows 登入後速度很慢,因為被入侵的主機在開機的時候不斷的重製 IRC 程式並寫入 windows 註冊表。當然各種入侵的方式不一樣,但都是由 APPSERV 懶人包漏洞延伸而來的。另一種是該機器當成網路 Server 不常登入,使用者一點都不感覺他有異狀直到被發資安通報 IP 成為 DDOS 攻擊別人的一份子,最後遇到較糟糕的狀況是引發起另外一團殭屍網路的攻擊,造成整個組織的網路湧入大量的垃圾封包影響所有的網路服務。這是經過幾個月的沈澱後得到的結論:資安通報及中毒現象是其表徵,APPSERV 是根源的一部分。


參考:
1. TACERT http://cert.tanet.edu.tw/pdf/phpmyadmin.pdf
2. EXPLOIT  http://www.exploit-db.com/exploits/16913/


張貼留言

like