被忽視的大型網際網路企業安全隱患:第三方開源WiKi程式

wyzsk發表於2020-08-19
作者: 我是小號 · 2015/08/14 12:31

0x00 前言


Wiki一詞來源於夏威夷語的“wee kee wee kee”, 是一種多人協作的寫作工具。在大型網際網路企業(如騰訊、360、小米)的業務線中筆者都有遇見過他們的身影,而其常被用作介紹業務功能的說明書以及內部專案工作協同平臺。目前常見且使用率較高的WiKi程式有Miediawiki、DoKuWiKi、HDWiki等,但由於這些程式平時受到關注度不足,程式存在很多設計上面的缺陷並沒有被公開和修復,很多甚至足以可以導致伺服器被輕鬆getshell,使其成為網際網路企業資訊保安的一顆“隱形炸彈”。本文將著重介紹滲透第三方Wiki程式常用的思路,然後附上攻擊兩個被廣泛使用WiKi系統的Expolit和例項危害證明,最後給出解決方案。

0x01 常用思路


一、前期準備:批次收集大型企業滲透目標

1)使用百度或者是谷歌等搜尋引擎,關鍵詞”site:XXXX.com inurl:wiki”,可以輕鬆獲取很多目標,

enter image description here

2)使用子域名爆破工具,批次收集企業子域名,然後分離出wiki站點

二、著手攻擊:分析Wiki品牌,收集管理員列表,爆破進入後臺

不同品牌的Wiki程式的滲透方式略為不同,大型網際網路企業常用的Wiki程式有兩個:Mediawiki和Dokuwiki,這兩個程式都可以透過技巧快速蒐集到管理員的使用者名稱,然後透過沒有限制登入次數以及驗證碼的登入頁面爆破弱口令進入系統,下面分別做介紹:

滲透Mediawiki系統思路: 如果你看到位址列中有如下結構的wiki程式,那一定就是Meidawiki沒錯了,接下來您只需要三步就能滲透進入目標了:

enter image description here

Step1: 透過MediaWiki預設攜帶的搜尋功能查詢,搜尋“使用者建立日誌”,MediaWiki系統中的使用者列表: Expolit:http://www.xxx.com/index.php?title=%E7%89%B9%E6%AE%8A%3A%E6%97%A5%E5%BF%97&type=newusers&user=&page=&year=&month=-1

enter image description here

Step2: 透過MediaWiki預設攜帶的搜尋功能,搜尋“許可權變更日誌”,幫助我們快速分離出系統中的管理員進一步獲得使用者名稱: Expolit: http://www.xxx.com/index.php?title=%E7%89%B9%E6%AE%8A%3A%E6%97%A5%E5%BF%97&type=rights&user=&page=&year=&month=-1

enter image description here

Step3: MediaWiki系統預設登入入口,沒有任何次數驗證和驗證碼,所以最後一步就是直接載入之前使用者名稱和字典進行弱口令爆破: Expolit: http://www.xx.com/index.php?title=Special:UserLogin

enter image description here

如果運氣好的話管理員存在常見弱口令就可以登入後臺,修改WiKi的內容,由於MediaWiki管理員後臺上傳許可權並不高,並不能上傳php檔案,getshell可能有些困難,不過現在您已經足以可以修改整個企業業務介紹網站的內容了,這些業務以企業重點開放平臺居多,影響已經足夠大了。

滲透DokuWiki系統思路

如果您看到下面UI風格的WIKI程式,那它就是Dokuwiki沒錯了,接下來只需要三步就能滲透進入目標了。值得注意的是,因為Dokuwiki後臺的設計缺陷,只要能夠登入管理員賬戶就意味著可以getshell接著滲透內網:

enter image description here

Step1: 查詢DoKuWiki系統中使用者列表:

在Dokuwiki的媒體管理器中,每一個檔案修訂歷史中明確羅列了系統中存在的使用者和使用者名稱

Expolit: http://www.xxx.com/doku.php?id=start&do=media&ns=

在Dokuwiki的Wiki修訂歷史中,也可以輕鬆收集到系統中使用者的蛛絲馬跡

Expolit: http://www.xxx.com/doku.php?id=start&do=revisions

有些WIKI系統甚至直接開放了註冊的許可權,你甚至可以嘗試透過下面的Expolit連結註冊一個使用者,試著進入企業WIKI系統內部

Expolit: http://www.xxx.com/doku.php?id=start&do=register

Step2: 查詢DoKuWiki系統預設登入入口,同樣沒有任何次數驗證和驗證碼,所以直接載入之前使用者名稱和字典進行弱口令爆破,Doku的預設登入入口

http://www.xxx.com/doku.php?id=start&do=login

enter image description here

Step3:登入管理後臺,利用Dokuwiki的外掛管理功能Getshellhttp://www.xxx.com/doku.php?id=start&do=admin&page=extension

enter image description here

0x02 真實案例


[例一] 某Dokuwiki系統管理員弱口令,直入後臺getshell 白帽子發現某DokuWiki系統的管理員存在弱口令,登入以後,直接透過上文滲透Dokuwiki思路中提到的進入外掛管理介面成功getshell到了伺服器的許可權。

[例二] 網易某內部門戶WIKI未設定註冊許可權驗證,直接註冊使用者竊取內部資訊 筆者曾透過百度搜尋引擎發現網易內部WIKI系統對外,並且開放了註冊功能,只要透過自己的郵箱註冊就可以成功獲取賬號登入進入該系統,獲得了少量的內部資訊,因為做了一定的防護,對使用者組許可權進行了隔離,所以筆者並沒有獲得更高階別的許可權。

0x03 解決方案


  1. 其實第三方開源Wiki的漏洞有點類似於之前很火的Wordpress和Discuz後臺弱口令漏洞,很顯然,目前前面提到的兩個型別的第三方建站系統已經被給與了足夠的重視,而目前Wiki系統卻並沒有。只要在開發完成以後對對預設的登入和註冊頁面進行刪除或者修改名稱,企業後端WAF進行訪問限制配置,同時強化員工安全意識,杜絕弱口令,就能有效防止企業Wiki系統被攻擊者滲透,從而喪失伺服器的最高許可權。

  2. 使用第三方開源WIKI作為內部協同平臺時應特別注意對每個頁面設定許可權以及嚴格限制外部使用者註冊系統的使用者。

3.GitBook 是一個基於 Node.js 的命令列工具,可使用 Github/Git 和 Markdown 來製作精美的電子書,如果產品需要做說明介紹的話,完全可以用Gitbook替代這些第三方Wiki,不失Wiki的美觀和簡潔方便。

enter image description here

官網:https://www.gitbook.com/

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章