一、概述
Seebug原名Sebug,最初于2006年上線,作為國內最早、最權威的漏洞庫為廣大用戶提供了一個漏洞參考、分享與學習平臺。
Seebug以打造良好的漏洞生態圈為己任,經過十余年不斷的完善與更新現已成長為國內知名安全廠商知道創宇旗下一個成熟、獨具特色的漏洞社區。
2015年,Seebug在國際上首次提出“漏洞靈魂”概念,將每個漏洞視為鮮活的個體而非一段冷冰冰的介紹或代碼,每次發現、披露、驗證與利用均構成漏洞生命周期的重要節點,共同形成一個不斷迭代的過程,為后續研究提供嚴謹、規范、有價值的參考。
此外,為了尊重白帽子的勞動成果、最大程度發揮社區優勢,Seebug還在第四屆KCon黑客大會上推出百萬獎勵計劃,使漏洞交易變得公開、透明。
2016年,Seebug國際版正式上線,攜手ZoomEye、Pocsuite共同亮相舉世矚目的黑帽大會,在國際舞臺上一展風采。
二、漏洞詳情等信息以及漏洞驗證程序(PoC)收錄狀況
Seebug統計結果顯示,截至2016年12月31日,Seebug共收錄漏洞51909個(日常維護漏洞數量),其中2016年新增漏洞2350個,占漏洞總數4.5%。收錄PoC數量44074個,其中2016年新增1920個,占PoC總數的4.4%。從漏洞危險等級來看,2016年新增高危漏洞419個,中危漏洞1748個,低危漏洞183個。從漏洞類型來看,2016年SQL注入類漏洞所占比例高達46%。
2.1漏洞驗證程序(PoC)數量統計分析
Seebug統計結果顯示,共收錄PoC數量44074個。2016年新增1920個,占PoC總數的4.4%。由下圖可見,上半年增長速度較快。
PoC總量月度統計圖
2.2收錄漏洞的危害等級分布統計分析
Seebug根據漏洞的利用復雜程度、影響范圍等將危害分為三個等級,即高危、中危、低危。2016年新增漏洞危害等級分布如圖所示,其中高危漏洞419個(占18%),中危漏洞1748個(占74%),低危漏洞183個(占8%)。高危漏洞中有我們熟知的DirtyCOW漏洞(CVE-2016-5195)、OpenSSH遠程代碼執行漏洞(CVE-2016-10010)、Nginx權限提升(CVE-2016-1247)、win32k權限提升漏洞(CVE-2016-7255)等,多數為各大主流操作系統漏洞。
2016年Seebug新增漏洞風險等級分布統計圖
2016年Seebug月度漏洞增長統計圖
2.3收錄漏洞的類型分布統計分析
2016年Seebug新增漏洞類型統計結果顯示,SQL注入漏洞最多,達1070個,占2016年新增漏洞的46%。大多數網站中常見SQL注入漏洞,這是由于網站對用戶Web表單輸入或請求內容過濾不充分造成的。攻擊者通過SQL注入很容易造成網站數據庫的信息泄露。位居第三位的跨站腳本攻擊也同樣是對Web表單或頁面請求過濾不充分造成的,攻擊者利用存在反射性XSS的網站可以構造惡意鏈接引誘用戶點擊,從而獲取到用戶的登錄cookie。利用存在存儲型XSS的網站(如留言板),通過留言板留言將惡意代碼存儲在服務器,當有用戶點擊嵌入惡意代碼的頁面也會被盜取cookie。如今大部分瀏覽器如Chrome、Safari、Firefox等都有對CSP的支持、有XSS-Audtior防護,從而使跨站腳本攻擊的漏洞數量逐漸減少很多,但這些防護并不能徹底防范跨站腳本攻擊。
2016年Seeebug收錄漏洞類型TOP10
從上表中還可以看出弱密碼和信息泄露漏洞也十分常見,通過后臺統計發現,大部分是路由器、攝像頭、工控設備的漏洞。隨著科技的發展,智能設備的使用也越來越廣泛,如何保證物聯網安全越來越被安全研究人員所重視。
2.4漏洞組件分布統計分析
Seebug收錄了可能受影響的組件3946個,通過對2016年Seebug新增漏洞受影響組件進行統計發現,WordPress組件漏洞數量最多,共133個,占新增漏洞的5.7%。另外可以從下圖看出,Top10組件全部為信息管理系統,可見像WordPress、Joomla這些管理系統依然是全球廣大白帽子關注的重點Web應用。
受漏洞影響的Top10組件統計圖
三、2016年重大漏洞記錄
3.1 Struts 2遠程代碼執行漏洞(S2-032)
漏洞簡介
Struts 2是世界上最流行的Java Web服務器框架之一,2016年Seebug共收錄Struts 2組件漏洞8個,其中嚴重的有2016年4月爆出的Struts2遠程代碼執行漏洞(S2-032),之后又曝出的(S2-033)、(S2-037)漏洞也都由于構造特殊的Payload繞過過濾觸發OGNL表達式,從而造成任意代碼執行。
漏洞影響
Apache Struts 2.3.18~2.3.28版本(除2.3.20.2與2.3.24.2版本外),在開啟動態方法調用的情況下,構造特殊的Payload繞過過濾觸發OGNL表達式,造成遠程代碼執行。
3.2 Dirty COW Linux內核漏洞
漏洞簡介
2016年10月,Linux公開了一個名為Dirty COW的內核漏洞CVE-2016-5195,號稱有史以來最嚴重的本地提權漏洞。Linux內核的內存子系統在處理寫時拷貝(Copy-on-Write)時存在條件競爭漏洞,可以使一個低權限用戶修改只讀內存映射文件,進而可能獲取root權限。
漏洞影響
在Linux內核版本在大于等于2.6.22且小于3.9時都受該漏洞的影響。攻擊者可以獲取低權限的本地用戶后,利用此漏洞獲取其他只讀內存映射的寫權限,進一步獲取root權限。
漏洞詳情
在進行需要調用內核get_user_pages()函數且force參數被置為1的寫操作時(這里以對/proc/self/mem進行寫操作為例)漏洞觸發流程大致如下:
第一次需要獲取內存對應的頁面,由于缺頁會調用faultin_page(),在調用過程中由于需要處理缺頁錯誤執行了do_cow_fault()調用,即COW方式的調頁。
第二次回到retry執行時,依舊調用faultin_page()函數,但是由于是寫只讀映射的內存所以會執行COW處理,在COW操作順利完成返回到faultin_page()函數中時,FOLL_WRITE標志位被清掉(即去掉了FOLL_WRITE的權限要求)。
由于執行線程將讓出CPU,進程轉而執行另一線程,帶MADV_DONTNEED參數的madvise()調用unmap清掉之前一直在處理的內存頁,即對應的頁表項(pte)被清空了。
第三次回到retry執行時,又會與第一次做相同的操作,但不同的是調用do_fault()函數進行調頁時FOLL_WRITE標志位被清掉了,所以執行的是do_read_fault()函數而非之前的do_cow_fault()函數。
獲取到do_read_fault()調頁后對應的頁表項后,就可以實現對只讀文件的寫入操作,造成越權操作。
3.3 Nginx權限提升漏洞(CVE-2016-1247)
漏洞簡介
2016年11月15日,國外安全研究員DawidGolunski公開了一個新的Nginx漏洞(CVE-2016-1247),能夠影響基于Debian系列的發行版,Nginx作為目前主流的一個多用途服務器危害還是比較嚴重的,目前官方已對此漏洞進行了修復。
漏洞影響
Nginx服務在創建log目錄時使用了不安全的權限設置,可造成本地權限提升,惡意攻擊者能夠借此實現從nginx/web的用戶權限www-data到root用戶權限的提升。由于Nginx服務器廣泛應用于Linux和UNIX系統,致使主流GNU/Linux發行版也都受到嚴重影響。
漏洞詳情
在Linux系統下,我們可以通過編譯一個含相同函數定義的so文件并借助/etc/ld.so.preload文件來完成此操作,系統的loader代碼中會檢查是否存在/etc/ld.so.preload文件,如果存在那么就會加載其中列出的所有so文件,它能夠實現與LD_PRELOAD環境變量相同的功能且限制更少,以此來調用我們定義的函數而非原函數。此方法適用于用戶空間的so文件劫持,類似于Windows下的DLL劫持技術。
由于Nginx在配置log文件時采用的是不安全權限設置,將PoC編譯成so文件后,可以很容易將路徑寫入到/etc/ld.so.preload文件中,這時候就可以實現對geteuid()函數的hook,進而實現www-data到root的權限提升。
3.4 Netgear R6400/R7000/R8000-Command Injection漏洞
漏洞簡介
2016年12月7日,NETGEAR R7000路由器在exploit-db上被爆出存在遠程命令執行漏洞,隨著研究不斷深入,R8000和R6400這兩款路由器也被證實有同樣的問題。2016年12月13日,NETGEAR官網上確認漏洞存在,對部分受影響的設備發出了beta版的固件補丁。2016年12月14日,受影響的設備型號增加至11種。
漏洞影響
經過測試以下類型路由器均受到該漏洞影響:NETGEAR R6250、NETGEAR R6400、NETGEAR R6700、NETGEAR R6900、NETGEAR R7000 NETGEAR R7100LG、NETGEAR R7300DST、NETGEAR R7900、NETGEAR R8000、NETGEAR D6220、NETGEAR D6400。
通過ZoomEye網絡空間探測引擎得知,暴露在公網上的R6400類型設備大約2177個,R7000大約有14417個,R8000大約有6588個,可見影響之廣。
漏洞詳情
NETGEAR的固件中的/usr/sbin/httpd文件中的會檢查請求報文中的url是否含有cgi-bin,如果含有,則進行一系列分割操作,并且cgi-bin后面的值最終會被替換代碼中/www/cgi-bin/%s>/tmp/cgi_results部分的%s,并被system()函數執行造成命令執行漏洞。
3.5 Mirai及變種Mirai
Mirai
Mirai僵尸網絡可以高效掃描IoT設備,感染采用出廠密碼設置或弱密碼加密的脆弱物聯網設備,被感染后的設備還可以去掃描感染其他IoT設備,設備成為僵尸網絡機器人后在黑客命令下發動高強度僵尸網絡攻擊。其中最嚴重的是,2016年10月21日,美國域名服務商Dyn遭受大規模DDos攻擊,造成包括Twitter、Facebook在內的多家美國網站無法被正確解析,進而造成了半個美國的網絡癱瘓,其元兇就是Mirai僵尸網絡。
變種Mirai
Mirai的逆向分析報告發布之后,變種Mirai也悄然而生。變種Mirai的感染方式已經不僅僅單純掃描23和2323端口,可以通過一系列組件漏洞(例如Eir's D1000調制解調7547端口的任意執行命令)感染其他IoT設備。隨著變種增多,Mirai系列的僵尸網絡勢必會長期威脅網絡空間安全。
四、Seebug漏洞平臺使用狀況統計分析
Seebug自2015年7月新版本上線以來,秉承賦予漏洞以靈魂的宗旨,征集懸賞收錄各種通用型漏洞信息、詳情以及PoC。2015年11月上線照妖鏡功能,用于漏洞在線檢測。2016年8月開設了Paper專欄,分享包括Web安全、二進制等類型的學習文章。
4.1 2016最受關注的10個漏洞
根據Seebug漏洞社區收錄的漏洞詳情頁面訪問量統計,2016年人氣漏洞Top10排名如下:
由點擊量可以看出,很多古老的漏洞仍然受到廣泛關注。Redis,Weblogoc,Struts,JBoss等常用開發組件因為使用特別廣泛,一旦爆發漏洞,就會產生巨大的危害。
4.2搜索次數最高的十個漏洞關鍵詞
2016年度Seebug平臺漏洞搜索關鍵詞統計結果顯示,路由器漏洞是大家關注的重點。其次,各種辦公OA系統,命令執行,代碼執行,反序列化漏洞等高危漏洞是社區用戶關注的重點漏洞。這些漏洞輕則使服務器被攻陷,重則導致企業內網淪陷,重要商業機密數據被竊取。
TOP 10關鍵詞搜索量千分比
4.3照妖鏡:快速檢測目標站點漏洞情況
自2015年11月上線以來,照妖鏡共使用82118次,可在線檢測漏洞9個。2016年共使用58564次,在線檢測漏洞新增6個:
WordPress functions.php主題文件后門漏洞
Memcached多個整數溢出漏洞(CVE-2016-8704,CVE-2016-8705,CVE-2016-8706)
Struts2遠程代碼執行漏洞(S2-037)
Struts2遠程代碼執行漏洞(S2-033)
WordPress 4.2.0-4.5.1 flashmediaelement.swf反射型XSS漏洞,
Struts2方法調用遠程代碼執行漏洞(S2-032)
五、白帽子與獎勵
5.1百萬現金-Seebug漏洞獎勵計劃
2016年,是漏洞獎勵計劃的第二年,在發放完2015年的首批百萬現金獎勵之后,Seebug漏洞社區團隊再次投入二百萬現金獎勵。從前文可以看到,2016這一年,Seebug共收到白帽子提交漏洞/PoC/詳情4983個。
漏洞現金獎勵的門檻低,但是隨著信息價值的提高,獎勵也指數級的上漲。以下方式,都是可以獲得獎勵的途徑:
補充完善PoC/漏洞詳情/漏洞修復方案等漏洞信息;
提交受影響漏洞廠商相關數據;
提交漏洞ZoomEye Dork(ZoomEye搜索關鍵詞);
提交完善漏洞分類、組件相關信息;
5.2 Seebug漏洞社區的核心白帽子
在2016年8月的KCon黑客大會上,Seebug團隊對10位核心白帽子進行了獎勵,獎品包含證書以及純銀獎章等,希望他們能夠再接再厲,提供更多的漏洞情報。
在2016年收錄的4983個漏洞中,有以下十位白帽子提供了大量的漏洞資料,其中提交漏洞數最多的是kikay,提交并被收錄漏洞達到467個之多。
漏洞提交數量排名前十名的白帽子
Seebug漏洞社區精華之處在于可以對已收錄漏洞的PoC和詳情進行補充,即便自己錯過了第一提交時間,也仍然可以通過完善漏洞信息來獲取KB。
2016年Top 10用戶提交PoC數量排名見下圖。
附錄:Seebug發展里程碑
2006年08月18日-Bug Exp Search BETA版發布,以收集國內外網絡安全缺陷與漏洞為主;
2006年10月25日-Sebug正式版發布,網站大改版,優化了部分代碼并清除了若干安全隱患;
2008年08月-Sebug Security Vulnerability DB作為封面頭條接受國內知名雜志《黑客手冊》采訪;
2009年03月-添加Paper模塊并收集國內外安全文檔、測試文檔以及歷史漏洞PoC;
2014年01月-Sebug移交知道創宇安全研究團隊維護;
2015年07月-Sebug重新改版上線內測,提出賦予漏洞靈魂概念;
2015年08月-知道創宇漏洞社區計劃發布,Sebug正式上線公測,面向白帽子懸賞百萬漏洞貢獻補貼
2015年11月-Sebug照妖鏡功能上線;
2015年12月-Sebug新版上線,全新VI與整站風格,上線綿羊墻等功能;
2016年01月-Beebeeto并入Sebug,Sebug品牌正式升級為Seebug;
2016年1月29日-Seebug漏洞數量正式突破5萬;
2016年03月28日-Seebug國際版上線;
2016年03月31日-Seebug與ZoomEye、Pocsuite共同亮相Black Hat Asia;
2016年08月–Seebug Paper專欄上線。