1. 程式人生 > >dedecms漏洞組合拳拿站(滲透筆記)

dedecms漏洞組合拳拿站(滲透筆記)

dedecms漏洞組合拳拿站(滲透筆記)

前言

之前也寫過幾篇關於dedecms漏洞復現的文章了,光是復現也沒什麼意思,於是利用google hacking技巧,找到了一個使用dede的站點,正好用上了之前幾篇文章裡提到的所有的技術。所以特地寫出來,也當做一個總結吧。

利用漏洞組合更改管理員的密碼

之前幾篇文章的連結:
https://blog.csdn.net/he_and/article/details/80988550
https://blog.csdn.net/he_and/article/details/80988550
當我們按照上面兩篇文章的方法成功更改了管理員的密碼過後,我們訪問member/edit_baseinfo.php
同樣的,訪問這個頁面的時候還是需要修改cookie,不然你改的就是你自己賬戶的密碼。
mark


替換了過後,返回的頁面如下:
mark
原密碼就是我們通過任意使用者密碼修改漏洞修改的密碼,在這個頁面修改了密碼就會真正修改管理員的密碼,這也是dede設計的一個缺陷——前臺修改管理員的密碼可以影響後臺的密碼。可能設計者沒想到有人能夠通過前臺登入管理員賬戶(正常情況下,dede不能再前臺登入管理賬戶),但是他卻爆出了一個前臺任意使用者登入漏洞!

修改完密碼過後,就是需要找後臺了,預設後臺路徑被修改了,所以只有掃一下後臺了。我用的是DirBuster,主要是感覺它內建字典還是挺好用的。
mark
掃著掃著就發現了一個manage目錄,這一看就有貓膩呀,訪問了一下果然是後臺,用剛剛修改的密碼登入:
mark

這裡需要更正一下,我在拿到這個站的時候,先是掃了一下目錄,畢竟要先確定是否找得到後臺,不然拿到密碼也沒用。

getshell

關於dedecms後臺getshell我之前也復現過了,文章連結:
https://blog.csdn.net/he_and/article/details/80890664
按照文章中的方法寫入一句話木馬,使用菜刀連線
mark
接下來就是提權了,提權的過程還是挺曲折的。一開始掃目錄的時候還掃出來了phpmyadmin,所以我直接root賬戶以及隨便猜的一個密碼登入了一下,沒想到直接就上去了,都不需要我找密碼了。想著有資料庫的root賬戶提權應該就很簡單了,直接傳了一個帶有mysql提權的大馬上去了。

mark

根據回顯,講道理我已經拿到了system許可權,但是當我執行net user命令時,返現沒有回顯,我一開始以為管理員只是禁用了net.exe,於是使用了net1.exe執行命令依然沒有回顯。猜測可能是管理員刪除了net.exe與net1.exe,於是自己上傳了一個,結果依然不能執行。

見識比較少,沒搞懂管理員做了什麼,於是想換一種方式,利用埠反彈得到一個cmdshell試試。資料庫中執行如下語句

mark

然後我這邊的主機用netcat監聽4455這個埠

mark

用反彈的shell執行net命令還是不行,emmmmm,net命令不能執行,有點麻煩,但是我們是想用net命令新增使用者以及開啟遠端桌面服務。是不是可以不用net.exe來實現呢?

於是找到了一個不用net.exe與net1.exe建立使用者,並新增到Administrators組的可執行檔案。上傳上去,提示新增使用者成功但是新增到管理員組失敗。我當時就感覺有點奇怪,但是至少可以建立使用者了,是個好的開頭。

接下來就是開啟遠端桌面的埠,我試了網上提到的好幾種方法然後掃描埠發現3389一直都是關閉的。於是猜測會不會是埠被修改了?直接通過操作登錄檔的方式檢視和開啟遠端桌面服務

開啟:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
查詢:
REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber

mark
轉換為10進位制就是9991,掃了一下果然開啟了。你以為現在能登入了嗎?真是和我一樣天真!
mark
用剛剛建立的賬戶登入不了,提示找不到配置檔案,看來管理員訪問控制做的比較好,現在陷入了僵局——不能建立管理員賬戶,普通的使用者又登入不了。

我突然想起我還有個神器沒上場呢——mimikatz,這個神器可以直接抓取系統中sa檔案的賬戶密碼,只需兩行命令

privilege::debug
sekurlsa::logonpasswords

我吧神器傳上去執行一下:

mark
mark

反正就是拿到管理員的密碼了,直接登上伺服器,在本地執行了一下net命令,還是不能用,那我就不用唄,我直接去賬戶管理裡操作,建立使用者沒什麼問題,就是到了新增管理員時,禁止訪問!我真的服了,直接新增不了,難怪一開始那個可執行檔案失敗了。想著都拿到伺服器了,就先放著了,這個問題也還沒解決….望大佬告知

需要練手的可以關注我的公眾號,向我留言
關注web安全與python