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