1. 程式人生 > 其它 >Vulnhub靶機滲透 -- DC6

Vulnhub靶機滲透 -- DC6

資訊收集


開啟了22ssh和80http埠
ssh可以想到的是爆破,又或者是可以在靶機上找到相應的靶機使用者資訊進行登入,首先看一下網站資訊
結果發現開啟ip地址,卻顯示找不到此網站

但是可以發現位址列上方的ip變成了域名,因此推測是進行了跳轉,所以想要連線這個ip必須得設定host檔案

linux host檔案路徑:/etc/host/
windows host檔案路徑:C:\Windows\System32\drivers\etc\host


開啟網頁後二話不說直接開掃
結果還挺多的

http://wordy/wp-login.php

後臺登陸頁面
http://wordy/wp-includes/



目錄瀏覽漏洞

首先注意到的是wordpress 5.1.1,kali有自帶關於wordpress的掃描工具

常用選項 :
--update 更新到最新版本  
--url -u 要掃描的`WordPress`站點.  
--force -f 不檢查網站執行的是不是`WordPress  
--enumerate -e [option(s)] 列舉 

其他選項: 
u 列舉使用者名稱,預設從1-10 
u[10-20] 列舉使用者名稱,配置從10-20 
p 列舉外掛 
vp 只列舉有漏洞的外掛 
ap 列舉所有外掛,時間較長 
tt 列舉縮圖相關的檔案 
t 列舉主題資訊 
vt 只列舉存在漏洞的主題
at 列舉所有主題,時間較長 
--exclude-content-based 當使用列舉選項時,可以使用該引數做一些過濾,基於正則或者字串,可以不寫正則分隔符,但要用單引號或雙引號包裹 
--config-file -c 
--user-agent -a 
--cookie 
--random-agent -r 使用隨機User-Agent 
--follow-redirection 如果目標包含一個重定向,則直接跟隨跳轉 
--batch 無需使用者互動,都使用預設行為 
--no-color 不要採用彩色輸出 
--wp-content-dir 
--wp-plugins-dir 
--proxy <[protocol://]host:port設定一個代理,可以使用HTTP、SOCKS4、SOCKS4A、SOCKS5,如果未設定預設是HTTP協議 
--proxy-auth 
--basic-auth 
--wordlist -w 
--username -U 
--usernames path-to-file指定爆破使用者名稱字典 
--threads -t 
--cache-ttl cache-ttl設定 cache TTL 
--request-timeout request-timeout請求超時時間 
--connect-timeout connect-timeout連線超時時間 
--max-threads max-threads最大執行緒數 
--throttle milliseconds當執行緒數設定為1時,設定兩個請求之間的間隔 
--help -h 輸出幫助資訊 
--verbose -v 輸出Verbose 
--version 輸出當前版本

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

攻擊

嘗試用rockyou大字典進行爆破,但是有5個賬戶,這麼大的字典要爆500+小時!
其實根據vulnhub的dc6靶機頁面是可以看到提示的

cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt That should save you a few years. ;-)

上述命令將rockyou.txt中有k01的行都取了出來放在passwords.txt中,用這個字典來進行爆破,但是還是掃的挺慢的,所以我就直接把密碼放到一個檔案裡面了

使用者名稱放到另一個檔案

hydra -L ./username.txt -P ./answer.txt 192.168.200.12 http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2Fwordy%2Fwp-admin%2F&testcookie=1:incorrect" -f


hydra的使用方法就不重複了,可以看我dc4的文章

https://www.cnblogs.com/Gh0st1nTheShell/p/15176931.html
https://blog.csdn.net/weixin_45841815/article/details/119839180?spm=1001.2014.3001.5501

最後結果確實爆出來了

mark:helpdesk01,這也驗證了語法是沒有問題的,post的內容是直接從burpsuite傳過來的
登入後臺成功,但是沒法登入ssh

一開始是搜尋wordpress相關的漏洞,但奈何沒找到對應版本的,由於不是很瞭解wordpress,上網一搜才知道下面那個activity monitor原來是外掛,不是自帶的

搜尋一下漏洞,搜到三個結果,只有第三個和wordpress相關
開啟檔案/usr/share/exploitdb/exploits/php/webapps/45274.html

我們要做的時修改的是劃線處的url和命令的ip、埠和內容,我想要在kali上設定監聽,然後讓主機連線過來,所以要把nc的命令修改為-nvv或者去掉

反彈shell後讓伺服器返回一個bash,然後嘗試提權
檢視定時任務,沒有可以利用的點
檢視suid,也沒有可以利用的點
使用sudo -l,檢視使用者使用者可執行與無法執行的指令,結果發現mark使用者需要root密碼才可以使用sudo
通過檢視mark的桌面,可以看到提示

Things to do:
- Restore full functionality for the hyperdrive (need to speak to Jens)
- Buy present for Sarah's farewell party
- Add new user: graham - GSo7isUM1D4 - done
- Apply for the OSCP course
- Buy new laptop for Sarah's replacement

重要的是- Add new user: graham - GSo7isUM1D4 - done,可以讓我們拿到graham使用者的密碼GSo7isUM1D4
使用su命令來切換使用者,然後使用命令sudo -l,可以看到使用者jens可以以無密碼執行的指令碼

檢視一下這個指令碼的作用

#!/bin/bash
tar -czf backups.tar.gz /var/www/html

作用應該是把網頁根目錄給打包,但是我們可以修改指令碼內容,讓指令碼執行bash

然後以jens的身份執行

可以看到成功切換身份
再繼續sudo -l

可以看到可以以root使用者無密碼執行nmap,而nmap可以用來提權
如果nmap的版本比較高,沒有nmap --interactive命令後可以執行nmap指令碼的方式來以執行linux命令,如果是以root許可權執行nmap,並且指令碼時返回shell的語句就可以返回一個root許可權的shell