目錄
- 環境搭建
- 環境資訊
- 滲透思路
- 1資訊收集
- 2漏洞發現
- 3漏洞利用
- 知識點匯總
- 參考資料
環境搭建
- 下載靶機(DC-1 靶機下載)
- 解壓后,使用 VMware 打開,并將攻擊機和靶機的網卡,設定為 NAT 模式,
NAT 模式:將攻擊機與靶機設定在同一網段下
環境資訊
- 攻擊機:kali -> IP:192.168.237.128
- 靶機:DC-1(Linux)

有多種獲得 root 的方法,但是,我已經包含了一些包含初學者線索的 flag,
總共有五個 flag,但最終目標是在 root 的主目錄中找到并讀取 flag, 您甚至不需要成為 root 即可執行此操作,但是,您將需要 root 權限,
滲透思路
1資訊收集
-
使用
nmap -sS -O 192.168.237.0/24掃描網段,找尋靶機的 IP,

-
根據掃描出的系統資訊,以及埠的開放情況,判斷
192.168.237.161是目標靶機的 IP,所以使用nmap -A -T4 -p- 192.168.237.161對靶機進行全面掃描,

-
掃描出靶機的 http 站點是一個 Drupal 站點,
-
使用
http://192.168.237.161訪問靶機的 http 站點,

-
訪問成功后根據頁面內容,再次確定該站點的 CMS 為 Drupal ,
內容管理系統(CMS):一種位于 WEB 前端(Web 服務器)和后端辦公系統或流程(內容創作、編輯)之間的軟體系統,內容的創作人員、編輯人員、發布人員使用內容管理系統來提交、修改、審批、發布內容, ——摘自百度百科
2漏洞發現
-
使用
msfconsole運行 MSF 工具, -
根據網站的 CMS 資訊,在 MSF 中使用
search drupal搜索相關的漏洞利用模塊,

-
找到了兩個與 http 相關的模塊,根據 Rank(等級)優先選擇帶顏色的模塊,使用
use 2裝載模塊, -
使用
show options查看需要進行的設定,發現只需要設定 RHOSTS(目標),所以使用set RHOSTS 192.168.237.161進行設定,設定完后如下:

-
使用
run或exploit運行模塊,

-
運行模塊后,成功建立會話,使用
shell即可獲得靶機的 WebShell ,
3漏洞利用
-
使用
whoami查看當前用戶的權限,

-
為了方便后面的操作,使用
python -c "import pty;pty.spawn('/bin/bash')"實作互動式 Shell,
互動式 Shell:可以執行一些需要背景關系的命令,并且會顯示操作的結果,
-
使用
ls -al瀏覽當前目錄中所有的檔案及其權限,

-
發現了
flag1.txt檔案,使用cat flag1.txt進行查看,

每個好的 CMS 都需要一個組態檔 - 你也一樣,
-
根據檔案內容,百度搜索 Drupal 站點的默認組態檔,得知檔案名為
settings.php, -
先使用
find /var/www/ -name settings.php在網站目錄下搜索settings.php檔案,

-
成功搜索到組態檔,使用
cat sites/default/settings.php進行查看,

蠻力和字典攻擊不是獲得訪問權限的唯一方法(您將需要訪問權限),
您可以使用這些憑據做什么?
-
查看后發現這個檔案就是我們要找的第二個 flag,并且還發現了靶機資料庫的賬戶和密碼,
-
使用
mysql -u dbuser -pR0ck3t嘗試登錄靶機資料庫,

-
登錄成功后,使用
show databases;查看所有資料庫,

-
根據庫名進行判斷,
drupaldb應該是靶機的 Drupal 站點使用的資料庫, -
使用
use drupaldb;進入資料庫,然后使用show tables;查看當前資料庫中的所有表,

-
瀏覽表名后,發現一個
users表,猜測其可能保存著網站用戶的相關資訊, -
使用
select * from users\G;縱向顯示users表中的所有欄位,

-
找到了 admin(管理員)賬號的密碼,根據密碼形式可以得知密碼經過了加密,
-
得到密碼密文后可以嘗試進行解密或修改密碼,搜索資料后發現這種加密是不可逆,并且 Drupal 提供了可以直接修改管理員密碼的方法,在
/var/www/下使用php scripts/password-hash.sh tkm即可生成 tkm 這個字串對應的 hash 值,

-
再次進入到資料庫中,使用
update drupaldb.users set pass="<hash 值>" where name='admin'即可修改 admin 的密碼為之前生成 hash 時使用的字串,此處為tkm,

-
嘗試使用
admin:tkm登錄靶機的 Drupal 站點,

-
成功使用管理員賬戶登錄站點,看到最上方有一排選項,如果看不懂,就都試一次,
-
嘗試點擊
Dashboard選項,找到了flag3.txt,點擊進行查看,


特殊權限將有助于查找密碼 - 但您需要 -exec 該命令才能確定如何獲取陰影中的內容,
-
查看后發現文本內容中有兩個特別的大寫字母
perms和find,根據此前 flag 的形式,使用find / -name "flag*"搜索所有開頭為 flag 的檔案,

-
成功找到
flag4.txt,使用cat /home/flag4/flag4.txt進行查看,

您可以使用相同的方法在 root 中查找或訪問標志嗎?
大概, 但也許這并不容易, 或者也許是?
- 根據 flag4.txt 中的內容,推測下一步需要進行提權,從而獲得 root 權限,并訪問 /root 目錄,獲得 flag5,
- 根據 flag3 中另外一個大寫字母
perms,猜測可能需要使用 SUID 提權,使用find / -user root -perm -4000 -print 2>/dev/null查找所有具有 SUID 權限且屬主為 root 的檔案,
SUID 權限:在執行程序中,呼叫者會暫時獲得該檔案的所有者權限,且該權限只在程式執行的程序中有效,

-
發現了 find 命令,并且根據 flag3 中提到的 -exec,可以確定需要使用 find 提權,
-
使用
touch tkm創建提權需要的檔案,然后使用find tkm -exec '/bin/sh' \;進行提權,

-
成功獲得 root 權限,根據提示使用
cd /root訪問 /root 目錄,找到了thefinalflag.txt,使用cat thefinalflag.txt進行查看,

做得好!!!!
希望你喜歡這個并學到了一些新技能,
您可以通過 Twitter 與我聯系,讓我知道您對這段小旅程的看法 - @DCAU7
- 滲透結束!!!
知識點匯總
- 使用
nmap找尋并掃描靶機, - 使用
MSF的對應模塊,進行漏洞利用, - 利用
Python實作互動式 Shell, - 在資料庫層面,修改 Drupal 站點的用戶密碼,
- SUID 提權
- find 提權
參考資料
DC-1 官網
內容管理系統_百度百科
密碼 HASH 特點
修改 Drupal 的管理員密碼
這是我第一次嘗試寫博客,如果您覺得哪里有問題,請在評論區進行留言,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/502016.html
標籤:其他
