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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章